0. 本文知识目录
1. 计算机渲染原理
CPU 与 GPU 的架构
对于现代计算机系统,简单来说可以大概视作三层架构:硬件、操作系统与进程。对于移动端来说,进程就是 app,而 CPU 与 GPU 是硬件层面的重要组成部分。CPU 与 GPU 提供了计算能力,通过操作系统被 app 调用。
CPU(Central Processing Unit):现代计算机整个系统的运算核心、控制核心。GPU(Graphics Processing Unit):可进...
下一站“内存”:成为《黑客帝国》中的尼奥并不难
你有没有想过,尼奥深陷“母体”时是如何设法改变它的?
他又是如何把子弹从崔妮蒂身上清除的?显然,“母体”只是机器编写的一个程序,尼奥能在程序运行时更改程序的二进制代码,并在矩阵中交换子弹的位置。
如果说,你们也可以这么做,也可以成为你程序中的尼奥,你会作何感想?我的意思是,或许各位很难与电影里的尼奥相匹敌,不过也差不多了。
程序运行过程中如何访问和更改内存?使用Swift的不安全A...
Swift if let / var 连用语法与guard let 语法笔记
1.if let / var 连用语法
//MARK: if let / var 连用语法,目的就是为了判断值
func demo(name :String? ,age :Int?)
{
//事例1.用if语法判断值是否为空
if name != nil && age != nil
{
//强行解包有风险
//print(name! + String(age!))
}
else
{
//print("name或者age为nil")
}
...
iOS UILabel显示带颜色边的文字
原文:https://blog.csdn.net/dolacmeng/article/details/81204469
需求如图,UILabel要实现带红色边的文字显示。
1、新建UILabel的子类JXBorderLabel
2、重写drawRect:方法
#import "JXBorderLabel.h"
@implementation JXBorderLabel
- (void)drawRect:(CGRect)rect {
//1.获取上下文
CGContextRef context = UIGraphicsGetCurrentContext();
//2.给上下文线段设置线宽,...
iOS WKWebView+UITableView混排
目录
做内容展示页的时候,经常会用到WKWebView+UITableView的混排功能,现在此做一个总结,该功能的实现我采用了四种方法。
1、 tableView.tableHeaderView = webView 撑开webView2、[webView.scrollView addSubview:tableView] + 占位Div3、tableView.tableHeaderView = webView 不撑开webView (推荐)4、scrollView addSubView: webView & tableView (推荐)5、结尾
方案1:
webView...
10款主流的软件测试工具,你用过吗
随着软件快速交付需求的增长,越来越多的企业开始通过DevOps方法加速软件开发速度但这样的话,有时候就无法保证质量,所以今天小编就来给大家介绍10款主流的软件测试工具,供大家参考。
1、UFT / QTP
UFT,前身为Quick Test Professional (QTP),是跨平台测试自动化工具,能为软件应用程序和环境提供回归和功能测试自动化。它可以用于自动化桌面、移动、web、net、SAP、ActiveX、Flex、Delphi、...
12万行代码堆出来个「蔡徐坤」
有个程序猿,用12万行代码堆出来个「蔡徐坤」,编译还能通过?!
它是这样的:
不是简单的灰度字符画!也不是控制台控制颜色!而是在唱、跳、rap的代码!
连肩带,都是有灵魂的。
这样的作品,来自B站UP主NyeJu。他利用代码编辑器为不同关键词显示不同的颜色的原理,生成代码,然后滑动形成视频。
这项技术的关键在于:
在正确的位置上放上符合规范的代码,显示不同的颜色。
...
如何让自己看起来不像编程菜鸟?别犯这9个编程错误
在我们刚开始走进IT行业时,写代码总会战战兢兢,不断地向前辈大神请教,经过反复确认之后才敢发布代码,发布代码后也会时不时看后台,会不会产生BUG......
下面我来列举一些我作为一个菜鸟时,经常犯的一些错误,希望能帮助大家及早改正,早日成为编程老鸟。
1.代码没有可读性
写好代码很难,但是理解错误的代码更难。虽然在我们刚入行的时候,这个体现得不是很直观。
下面是我整理的一些关...
iOS开发之模拟器测试远程推送
Xcode 11.4 之前必须使用第三方和真机来测试远程推送(APNS)。 但 Xcode 11.4 之后可以通过simctl命令在模拟器上进行测试。
使用命令行
Xcode 命令行工具允许从终端上使用模拟器:启动模拟器,触发通用链接等。 其中有一个命令就是将远程推送通知发送到 iOS 模拟器。
查看帮助
xcrun simctl push --help
Send a simulated push notification
Usage: simctl push <device> [<bundle ide...
算法-LRU存储算法(OC、Python)
需求场景
数据缓存或者持久化一般分为磁盘缓存和内存缓存,如果从读写速度上我们当然希望数据读取的书读越快越好,所以内存缓存倍受青睐,但是内存缓存由于成本限制,我们不能把全部的数据放在内存缓存里,我们该如何取舍呢?
LRU
LRU是Least Recently Used的缩写,意思是最近最少使用的数据,也就是最近使用的数据在未来的一段时间内任然被使用,已经使用很久的数据在未来的一段时间内任然...