戴铭的博客 - 星光社

我为什么写了《跟戴铭学iOS编程》这本书
在我改了几次封面后,书已上架。 为什么写《跟戴铭学iOS编程》又到了新的一年开始换工作的季节,我身边好多熟人也都开始寻找机会,看起来离职原因各有不同,有绩效不好的、和领导处不好的、多年难晋升的、做的事情难提升自己的、有更好机会的。但究其核心,我觉得还是危机感,想着如果脱离现在所处公司环境,没有现在的级别位置,自己还剩下什么,在一群候选人里,自己有没有胜于其他人的亮点,是否能够脱颖而出。我时常会思考这些问题,做了多年技术,一直在想,相同时间里接触和学习什么知识才是物有所值的。 计算机领域,作为开发者最开始接触,同时也是运用最多的就是编程语言,现在学习 iOS 开发一定要选择用 Swift...
Apple 操作系统可执行文件 Mach-O
介绍Mach-O 的全称是 Mach Object File Format。可以是可执行文件,目标代码或共享库,动态库。Mach 内核的操作系统比如 macOS,iPadOS 和 iOS 都是用的 Mach-O。Mach-O 包含程序的核心逻辑,以及入口点主要功能。 通过学习 Mach-O,可以了解应用程序是如何加载到系统的,如何执行的。还能了解符号查找,函数调用堆栈符号化等。更重要的是能够了解如何设计数据结构,这对于日后开发生涯的收益是长期的。了解这些对于了解编译和逆向工程都会有帮助,你还会了解到动态链接器的内部工作原理以及字节码格式的信息,Leb128字节流,Mach 导出时 Tri...
在快手做分享、无用类检查、在广州做 SwiftUI 学习笔记分享、InfoQ二叉树视频
在快手做分享 前滴滴同事邀请我去快手做分享。下面是分享时的 Slides: 详细文章介绍:如何对 iOS 启动阶段耗时进行分析 | 星光社 - 戴铭的博客 代码:GitHub - ming1016/MethodTraceAnalyze: 方法耗时分析 无用类检查如果包里有一堆没用的类,不光会影响用户下载速度,也会影响启动加载速度。检查无用类,一次是无法获得全部无用类的,因为无用的类里用了其他无用的类就算是有用了,所以需要进行递归查找,这样才能够连根拔起。这个过程如果是手动做比较费劲、收益无法一次评估,很难推动。同时还需要在线上灰度运行时检查实际类的使用情况,很多静态层面关联的类使用,实...
日本游玩
从羽田机场到酒店 秋叶原 从银座回酒店 浅草寺 新宿 涉谷 藤子不二雄博物馆 镰仓 台场 东京迪斯尼海洋 大阪 大阪环球影城 大阪海洋馆 京都晴鸭楼 清水寺 晴空塔 山鹰市 东京迪斯尼 下北泽 东京皇宫 上野 Mandarake 表参道 吉祥寺 京都站 岚山 京都国际漫画博物馆 大阪城 道顿掘
如何对 iOS 启动阶段耗时进行分析
前言启动优化一役后,超预期将所负责的 App 双端启动的耗时都降低了65%以上,iOS 在iPhone7上速度达到了400毫秒以内。就像产品们用后说的,快到不习惯。由于 App 日活用户过亿,算一下每天为用户省下的时间,还是蛮有成就感的。 启动阶段性能多维度分析要优化,先要做到的是对启动阶段各个性能纬度做分析,包括主线程耗时、CPU、内存、I/O、网络。这样才能够更加全面的掌握启动阶段的开销,找出不合理的方法调用。启动越快,更多的方法调用就应该做成按需执行,将启动压力分摊,只留下那些启动后方法都会依赖的方法和库的初始化,比如网络库、Crash 库等。而剩下那些需要预加载的功能可以放到...
iOS 开发舆图
43篇 《iOS开发高手课》已完成,后面会对内容进行迭代,丰富下内容和配图。最近画了张 iOS 开发全景舆图,还有相关一些资料整理,方便我平时开发 App 时参看。舆图如下: 接下来,我按照 iOS 开发地图的顺序,和你推荐一些相关的学习资料。 实例学习 iOS 开发最好是从学习一个完整的 App 入手,GitHub上的Open-Source iOS Apps项目,收录了大量开源的完整 App 例子,比如 Hacker News Reader 等已经上架了 App Store 的应用程序,所有例子都会标注是否上架 App Store的、所使用开发语言、推荐等级等信息,有利于进行选择学习...
白龙班
前言这是我十二年前写的一篇小说。当年每天早上8点半上班,为了写这篇,我四点起床,写到早饭前,坚持了好几周才完成。 正文秋天的白龙山上,茂密的树叶渐渐枯萎,风中开始透着丝丝寒意。白龙班里多了五十来个一级成员。这些优秀的学生分布在不同的老师手上,如今飞逸老师手下已经有了九个一级成员,两个二级成员。 在这九名一级成员中,有一个学生名叫暴,沙西德星人,白发,常穿一套深紫底色黑花纹紧身衣,带着荧光坠子。她只用一年时间就升级成为一级成员。她为人十分冷淡,行事冷静,极少与人交谈。在升级竞赛中她选择的科目是作曲,她的参赛乐谱《清心宁静》, “宫,商,角,徵,羽”五音协调,吹坃器奏出,这是非常传统的一种谱...
这次swift大会分享准备的幻灯片和 demo
第三届在北京举办的@swift大会,我分享了用 swift 写解释器的思路,这个解释器 demo 我放在了 github 上,地址在 https://github.com/ming1016/HTN/tree/master/Sources/Core/OC 。demo 支持简单的几个 OC 语法,按照这个架子和思路大家可以当作一个去支持一个语言,和设计自己特定语法的雏形来练手。当年前端人人都在用的 babel 转义器的作者也写过一个雏型例子,看完这个雏型就大致了解了 babel 这个工程整个解析的思路,工程代码看起来轻松不少,从里面也能很快的学到了很多自己需要的知识。大会上我还提到了一个 d...