极客学伟
码龄10年
  • 1,330,768
    被访问
  • 413
    原创
  • 1,644,472
    排名
  • 477
    粉丝
关注
提问 私信

个人简介:Stay Hungry, Stay Foolish

  • 目前就职: 百度
  • 加入CSDN时间: 2012-09-24
博客简介:

极客学伟的技术分享社区

博客描述:
不积跬步,无以至千里;不积小流,无以成江海。
查看详细资料
个人成就
  • 博客专家认证
  • 获得295次点赞
  • 内容获得184次评论
  • 获得825次收藏
  • GitHub 获得455Stars
创作历程
  • 1篇
    2021年
  • 4篇
    2020年
  • 12篇
    2019年
  • 24篇
    2018年
  • 6篇
    2017年
  • 129篇
    2016年
  • 129篇
    2015年
  • 1篇
    2014年
  • 115篇
    2013年
  • 52篇
    2012年
成就勋章
TA的专栏
  • ❶ iOS开发
    256篇
  • ❷ 算法和数据结构
    30篇
  • ❸ 设计模式和架构
    15篇
  • ❹ 读书笔记和心得
    6篇
  • ❺ 性能优化
    15篇
  • ❻ 网络
    30篇
  • ❼ 数据库
    16篇
  • ❽ 编程语言-C++
    40篇
  • ❾ 编程语言-Java
    21篇
  • ❿ 编程语言-C语言
    24篇
  • ⑪. iOS修炼之道
    116篇
  • ⑫. Swift 学习进阶
    8篇
  • ⑬ 计算机基础
    3篇
兴趣领域 设置
  • 移动开发
    flutter
  • iOS
    swiftobjective-cswiftuirxswift
交个朋友
个人技术博客:www.qiuxuewei.com
微信公众号:极客学伟
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Git-合并两个不同的仓库

Git-合并两个不同的仓库有时候我们需要合并两个不同地址的Git仓库,比如:其中一个仓库A我们在GitHub上部署,另外一个仓库B我们在国内的Coding上部署,两者为同一个工程,如果我们希望将仓库A的所有改动合并到仓库B上。整个操作的思路是伪造伪造其中一个远程仓库作为另一个仓库的一个分支,然后进行分支合并。背景:A仓库地址为:git@github.com:qxuewei/notebook.gitB仓库地址为:git@e.coding.net:qxuewei/notebook/notebook.g
原创
发布博客 2021.02.10 ·
712 阅读 ·
0 点赞 ·
2 评论

Java基础课-MySQL语法

MySQL - 基础语法SQLStructured Query Language:结构化查询语言定义了了操作所有关系型数据库的规则SQL 通用语法SQL 语句可以单行或多行书写,以分号结尾可使用空格和缩进来增强语句的可读性MySQL 数据库的SQL语句不区分大小写,关键字建议大写注释:单行注释:-- 注释内容 或 # 注释内容 (MySQL独有)多行注释:/* 注释内容 */SQL 分类DDL(Date Definition Language) 数据库定义语言:定义数据.
原创
发布博客 2020.07.02 ·
3327 阅读 ·
12 点赞 ·
1 评论

Java基础课 - 笔记(二)

Java - 基础语法二① 常用 APIObject 类java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。常用 API:public String toString(): 返回该对象的字符串表示public boolean equals(Object obj) : 与其他对象比较...
原创
发布博客 2020.03.31 ·
280 阅读 ·
0 点赞 ·
0 评论

Java基础课 - 笔记(一)

Java - 基础语法一① 基础语法JVM(Java Virtual Machine): Java 虚拟机,简称 JVM,是运行所有 Java 程序的假想计算机,是 Java 程序的运行环境,是 Java 最具吸引力的特性之一。我们编写的 Java 程序,都运行在 JVM 之上。JRE(Java Runtime Environment):Java 程序的运行环境,包含 JVM 和运行时所需...
原创
发布博客 2020.03.28 ·
678 阅读 ·
3 点赞 ·
0 评论

内存管理、磁盘和文件拾遗

内存管理、磁盘和文件拾遗Part1. 内存管理一个程序的可执行文件在内存中的结果,从大的角度可以分为两个部分:只读部分和可读写部分。只读部分包括程序代码(.text)和程序中的常量(.rodata)。可读写部分(变量)大致可分为下面几个部分:.data:初始化了的全局变量和静态变量.bss:即 Block Started by Symbol,未初始化的全局变量和静态变量heap:堆...
原创
发布博客 2020.01.01 ·
691 阅读 ·
1 点赞 ·
0 评论

并发技术、进程、线程和锁拾遗

并发技术、进程、线程和锁拾遗Part1. 多任务计算机发展起初,CPU 资源十分昂贵,如果让 CPU 只能运行一个程序那么当 CPU 空闲下来(例如等待 I/O 时),CPU 资源就会被浪费,为了使 CPU 资源得到更好的利用,先驱编写了一个监控程序,如果发现某个程序暂时无需使用 CPU 时,监控程序就把另外的正在等待 CPU 资源的程序启动起来,以充分利用 CPU资源。这种方法称为 - 多...
原创
发布博客 2019.12.31 ·
782 阅读 ·
1 点赞 ·
0 评论

体系结构与操作系统拾遗

体系结构与操作系统拾遗Part1. 体系结构基础1. 冯·诺依曼体系结构计算机处理的数据和指令一律用二进制数表示顺序执行程序计算机运行过程中,把要执行的程序和处理的数据首先存入主存储器(内存),计算机执行程序时,将自动地并按顺序从主存储器中取出指令一条一条地执行,这一概念称作顺序执行程序。计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。2. 数据的机内...
原创
发布博客 2019.12.28 ·
767 阅读 ·
0 点赞 ·
1 评论

网络拾遗

网络拾遗Part.1 - HTTP 协议1. HTTP 特性HTTP 协议构建于 TCP/IP 协议之上,是一个应用层协议,默认端口号是 80。HTTP 是无连接无状态的。2. HTTP 报文HTTP 协议是以 ASCII 码进行传输的,建立在 TCP/IP 协议上的应用层规范。规范把 HTTP 分为三个部分:状态行、请求头、请求主体。HTTP 定义了与服务器交互的不同方法,常用的...
原创
发布博客 2019.12.25 ·
482 阅读 ·
1 点赞 ·
1 评论

《Objective-C高级编程 iOS与OS X多线程和内存管理》读书笔记

iOS高级编程-iOS与OS+X多线程和内存管理第一章:自动引用计数自己生成的对象,自己所持有。非自己生成的对象,自己也能持有不再需要自己持有的对象时释放非自己持有的对象无法释放对象操作Objective-C方法生成并持有对象alloc/new/copy/mutableCopy等持有对象retain释放对象release废弃对象deal...
原创
发布博客 2019.09.21 ·
309 阅读 ·
0 点赞 ·
0 评论

《图解HTTP》读书笔记

《图解HTTP》读书笔记第一章:了解Web及网路基础TCP/IP协议把互联网想关联的协议集合起来总称为TCP/IP协议TCP/IP 协议族按层次分为:应用层,传输层,网络层,数据链路层应用层决定了向用户提供应用服务时通信的活动。TCP/IP 协议族内预存了各类通用的应用服务,比如:FTP 和 DNS 服务就是其中两类HTTP 协议也处于该层传输层传输层对上层应用层,提供处于网络...
原创
发布博客 2019.08.27 ·
8390 阅读 ·
90 点赞 ·
8 评论

iOS进阶 - 如何制定一套适合自己团队的 iOS 编码规范?

iOS进阶 - 如何制定一套适合自己团队的 iOS 编码规范?统一的编码规范,能有限的避免团队成员由于代码风格不一致而导致的相互认同感缺失的问题。好的代码规范,需要从如下八个方面进行约束:常量、变量、属性、条件语句、循环语句、函数、类、分类常量在常量的使用上,建议尽量使用类型常量,而不是宏定义。比如定义一个字符串常量,可以写成:static NSString * const kStrin...
原创
发布博客 2019.07.08 ·
476 阅读 ·
4 点赞 ·
0 评论

iOS进阶 - iOS如何监控崩溃

iOS进阶 - iOS如何监控崩溃几种常见的崩溃数组越界;给数组添加 nil;多线程问题: 在子线程更新UI, 不同线程操作同一个数据。主线程无响应:主线程超过系统规定时间无响应就会被 Watchdog 杀掉。野指针:指针指向一个已删除的内存区域会出现野指针崩溃。KVO 问题后台任务超时iOS 后台保活的五种方式1. Background ModeApp 审核时会提高对 A...
原创
发布博客 2019.06.03 ·
1947 阅读 ·
14 点赞 ·
1 评论

iOS进阶 - 包大小:如何从资源和代码层面实现全方位瘦身

iOS进阶 - 包大小:如何从资源和代码层面实现全方位瘦身官方 App ThinningApp Thinning 是由苹果公司推出的一项可以改善 App 下载进程的新技术,主要为了解决用户下载 App 耗费过高流量的问题,同时还可以节省用户 iOS 设备的存储空间。App Thinning 会专门针对不同的设备来选择只适用于当前设备的内容以供下载。比如,iPhone 6 只会下载 @2x 分...
原创
发布博客 2019.06.03 ·
1221 阅读 ·
1 点赞 ·
0 评论

iOS进阶 - 链接器:符号是怎么绑定到地址上的?

iOS进阶 - 链接器:符号是怎么绑定到地址上的?链接器的作用就是将符号绑定到地址上。iOS 为什么使用编译器iOS 编写的代码是先使用编译器将代码编译成机器码,然后在 CPU 上执行机器码,直接在 CPU 上执行机器码,之所以不用解释器运行代码是因为Apple希望 iPhone 的执行效率更高,运行速度能达到最快。为什么运用解释器运行代码速度不够快呢?因为解释器会在运行时解释执行代码,...
原创
发布博客 2019.05.31 ·
1250 阅读 ·
0 点赞 ·
0 评论

iOS进阶 - 组件化架构设计

iOS进阶 - 组件化设计探究组件化架构的设计需要解决三个主要问题:模块粒度如何划分如何分层多团队如何协作模块粒度如何划分模块粒度划分需遵循五个原则:单一功能原则:对象功能要单一,不要在一个对象里添加很多功能开闭原则:扩展是开放的,修改是封闭的里式替换原则:子类对象时可以替代基类对象的接口隔离原则:接口的用途要单一,不要在一个接口上根据不同入参实现多个功能依赖反转原则:...
原创
发布博客 2019.05.29 ·
414 阅读 ·
0 点赞 ·
0 评论

iOS进阶 - AutoLayout 是如何自动布局的,性能如何?

iOS进阶 - AutoLayout 是如何自动布局的,性能如何?AutoLayout 是iOS6引入到系统中的,在 WWDC2018 中苹果介绍 iOS 12 将大幅提高 AutoLayout 的性能。AutoLayout 的生命周期AutoLayout 不只有布局算法 Cassoway,还包含了布局在运行时的生命周期等一整套布局引擎系统,用于统一管理布局的创建、更新和销毁。这一整套...
原创
发布博客 2019.05.28 ·
1990 阅读 ·
0 点赞 ·
0 评论

iOS进阶 - App启动优化

iOS进阶 - App启动优化App启动三个阶段main() 函数执行前main() 函数执行后首屏渲染完成后main() 函数执行前加载可执行文件(App的 .o 文件的集合)加载动态链接库,进行 rebase 指针调整和 bind 符号绑定Objc 运行时的初始处理,包括 Objc 相关类的注册、category 注册、selector 唯一性检查等初始化,包括了执行 ...
原创
发布博客 2019.05.17 ·
427 阅读 ·
0 点赞 ·
0 评论

iOS - 最易用的数据库工具类 `XWDatabase` 开源

iOS - 最易用的数据库工具类 XWDatabase 开源XWDatabase 将数据库操作简化到难以想象的程度,你甚至不需要知道数据库的存在,当然更不需要写 SQL 语句,你只需要直接操作模型即可对模型进行增删改查的操作,她会根据模型动态在数据库中创建以当前模型类名为名称的数据库表,当然你也可以自定义表名;她会根据模型的成员变量和成员变量的类型动态进行字段的设计,有多少成员变量,表中自然就会...
原创
发布博客 2018.12.14 ·
825 阅读 ·
2 点赞 ·
0 评论

iOS底层原理 - 常驻线程

iOS底层原理 - 常驻线程在 AFN 2.0 时代,会经常看到 AFN 创建一个常驻线程的方式:0️⃣ AFN 2.0 时代的常驻线程+ (NSThread *)networkRequestThread { static NSThread *_networkRequestThread = nil; static dispatch_once_t oncePredicate;...
原创
发布博客 2018.10.16 ·
1330 阅读 ·
0 点赞 ·
0 评论

iOS底层原理-KVO本质探究

iOS底层原理-KVO本质探究先说结论,KVO 的本质:在对一个已知类的某个属性进行 KVO 监听时,系统会在运行时动态创建一个已知类的子类 NSKVONotifying_某类名,并在子类实现 setter 方法,set方法实现内部会顺序调用willChangeValueForKey 方法、原来的 setter 方法实现、didChangeValueForKey 方法,而 didChangeV...
原创
发布博客 2018.10.11 ·
540 阅读 ·
0 点赞 ·
0 评论
加载更多