ShannonChenCHN / iOSDevLevelingUp

A journey of leveling up iOS development skills and knowledge.
365 stars 105 forks source link

周报(2019) #120

Open ShannonChenCHN opened 5 years ago

ShannonChenCHN commented 5 years ago

关于

Good good study, day day work.  

这个 issue 用来记录每周的工作和思考,包括做了什么、遇到了什么问题、如何解决的、做了什么优化、有什么思考和进步。

另外,左耳朵耗子也提出了 ARTS 的建议——每周至少做到一次下面几点:

2019 年的目标:


目录


模板:

## 2018.12.17~2018.12.23

### 回顾
- 【工作、亮点、难点】
- 【知识点、学习收获、分享】
- 【阅读】
- 【算法】
- 【其他】

### 计划
- 工作
- 学习  

### 小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

### 随笔(简单聊聊这周的一些见闻和感悟)
ShannonChenCHN commented 5 years ago

2019.01.01~2019.01.13

回顾

计划

小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

最近这两周主要在写 RN 的业务代码,同时也在看 RN 的源码实现,打算后期再看一下公司内部的基础框架,然后再写一系列的 RN 原理分析和实践优化的文章。

随笔(简单聊聊这周的一些见闻和感悟)

1. 我们公司内部宣布放弃使用 JSPatch

貌似是因为苹果审核的缘故,前两天收到邮件说是放弃使用 JSPatch 进行热修复了,准备采取其他方式来替代。

JSPatch 的作者 bang 在他的博客透露到,苹果在 2018 年对热修抓的更严了,即便做了足够的安全防护措施,苹果还是不能容忍。

2. 持续输出的重要性

最近写年终总结时,才发现最近一年很少有输出了,所以明显能感觉到自己没什么进步了,专注度下降了,思考也更少了。

上坡路总是难走的。

一些不错的文章

ShannonChenCHN commented 5 years ago

2019.01.14~2019.01.19

回顾

计划

小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

在工作方面,这一周主要做了三件事,做了两个 RN 浮层,以及优化拉静态库的脚本。个人学习方面没什么进展,技术学习和其他学习都没有。

所以打算后面改变一下策略,把个人学习放到早上,工作时间更注重实用性,另外,业余时间需要分一点到娱乐和运动上,否则生活未免太单调。

随笔(简单聊聊这周的一些见闻和感悟)

1. 一个线上故障

由于有人改动了基础库的代码并自己提交上去了,而且他改动的代码中存在问题,但是却没有及时告知其他业务团队,导致其他业务团队把有问题的代码发布到线上,最终出现了线上 bug。

这其实是一个本可以完全避免的问题,关键在于流程上没有规范。我们可以采取的规避措施是,限制基础库的修改和提交权限,只允许一两个人去修改和提交,并在要提交前,发邮件通知会受影响的团队;另外,在测试人员这边,上线前每一次发布都要验证,而且必须要确认验证的 RN 包是最新的版本。

2. 改房型浮层代码的痛苦

几个痛点:

一些不错的文章

ShannonChenCHN commented 5 years ago

2019.01.20~2019.01.26

回顾

计划

小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

这周的需求不多,所以主动做了一些技术改进的需求,同时更深入地了解了原来只知道表象的工具和框架,比如 cbudle、CRN、Gerrit。就像李笑来在《把时间当作朋友》书中说的那样,平时遇到的问题既不要死磕,也不要无视,可以先记下来,等后面时机合适时再花时间弄明白。

在输出方面还是没有执行下去,这段时间看书也看得比较少了。

调整策略:早上早起输出,碎片时间阅读。

随笔(简单聊聊这周的一些见闻和感悟)

1. 学习与模仿

前两天看到一个朋友在朋友圈分享的关于学习的内容,大意说的是,学习从模仿开始,当我们在学习某项技能或者某个知识时,首先要做的就是模仿,比如我们上小学时要背课文。模仿的好坏在于你是否学到精髓,学得越好,你的表现就越稳定,这说明你抓住了关键点。比如科比模仿乔丹。

另外,模仿时尽量向高手模仿。正所谓“取法乎上得其中 取法乎中得其下”。

行业动态

一些不错的文章

ShannonChenCHN commented 5 years ago

2019.01.27~2019.02.10

回顾

计划

小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

最近一个工作周临近春节,所以大家基本上都提前进入“划水”状态了。就我个人而言,把计划中的任务完成后,主要是集中学习了一下编译、链接相关的知识点,毕竟这块以前没怎么了解过,算是对基础知识的查漏补缺。就跟 20 多岁谈恋爱一样,有些在某个阶段必须要做的事,没有做的话,就可能会永远错过了,毕竟有些事情最适合在特定的阶段做。

随笔(简单聊聊这周的一些见闻和感悟)

1. IT 行业的需求仍然热度不减

2. 人和人之间的差距是怎么拉开的?

3. ggtalk 的笔记

(1)个人象限 薪酬取决于你给公司带来的价值 行业的趋势决定你的发展前景(猪站在风口上也会飞) 业务部门比架构部门更有话语权,更吃香 跟人打交道的能力是非常重要的 核心部门表面看上去最稳定,新部门风险高,但是实际上真正重要的是是否有成长,是否走在行业的前面

(2)个人品牌 开源项目和个人独立作品、博客是建立个人品牌的最好方式,还有做分享

聚焦到一个点更容易成为领域专家

真正的影响力取决于你给大家带来多大的价值。

评价分享最重要的一个标准在于给听众带来多大的价值。受众很重要。

(2)其他 不要太相信别人的经验,避免教条主义

绩效评比的关键在于你所做的对业务的影响,而不是技术本身的高低。

4. 沟通能力真的很重要

5. 我们需要懂得平衡工作生活

平衡工作学习和生活娱乐,走出去,交朋友

静下心来做点事,80%工作和技术+15%其他技能+5%生活娱乐

6. 预演

行业动态

一些不错的文章

ShannonChenCHN commented 5 years ago

2019.02.11~2019.02.17

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

这一周主要是做完了之前遗留的两个需求,提测改 bug,在实现 React Native 相关的需求时,依然会踩到一些坑,不过还好花了些功夫后都完美解决了。

这周在与我们组的测试 s 沟通时,又遇到了一点问题,人与人之间的合作是需要不断磨合的,找到合适的“合作模式”就很好解决。对于我们自己来说,做好该做的事,没必要纠结一些小事情,不要被牵着鼻子走就行了。

这周在读 CS:APP ,但是《原则》这本书基本上没怎么看。

在学习新知识的过程中,有些“假努力”的倾向,学习的效果不是以看完了多少篇文章或者读完了多少书、记了多少笔记为准,而是要看是否理解了所学的内容,形成自己的框架和逻辑,并能够用自己的话讲出来或者自己能够在实践中做出来。检验学习效果是学习过程中很重要的一个环节,学习前最好定一个目标和标准

让人头疼的是,最近越发感觉到长时间看电子屏幕和久坐对身体的影响了。

四、随笔(简单聊聊这周的一些见闻和感悟)

1. 不论什么情况下,都不要因为冲动而进行言语上的人身攻击

因为人都是情感动物,说难听的话比打人造成的杀伤力还要大。交流的目的是为了求同存异,实现共同目标。

2. 刨根究底的专业态度

找问题时,要尽量找到根本原因,虽然有时候用一些“取巧”的方式确实也能解决问题,但是这种解决可能会隐藏一些更深层次的问题,会带来一些隐患,另一方面,在“刨根究底”的过程中,我们收获的远远不止解决问题的答案,因为你了解的越多,学到的也就越多,另外,在这个探索的过程中,锻炼了逻辑思维能力和巩固知识,更重要的是,这是一种专业态度的表现,也就是所谓的“靠谱”。

五、行业动态

六、一些不错的文章和资源

1. 技术

2.楼市

3.其他

ShannonChenCHN commented 5 years ago

2019.02.18~2019.02.24

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

这一周工作量不是很多,大部分时间都花在自我学习上了,花了不少时间研读了一下几篇讲解 iOS 代码签名的文章,还看了一下讲解 CocoaPods 原理的文章,另外,把上周遗留的 RN 调试问题搞明白了。平时经常听到 ABI 这个词,特地查了下资料,对 ABI 也不再陌生了。

这个礼拜继续在读 CS:APP 和《原则》这两本书,但是缺乏一些专注度,进度比较慢,明显能感觉到大脑细胞没有活跃起来。

四、随笔(简单聊聊这周的一些见闻和感悟)

1. 光说不练假把戏

学编程跟学校里面学知识是两码事,学编程一定要动手,不亲自动手实践一下,永远都是纸上谈兵。

2. 学习不要太有功利心

3. 圈子外的世界

要尝试跟不同圈子的人打交道,对于平时圈子小的人尤为重要:

五、新闻动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.02.25~2019.03.03

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

这一周的精力主要花在了个人学习上了,研究了一下 CocoaPods 的原理,系统学习了一下 Crash report 相关的知识,把 CS:APP 的系统 I/O 部分看完了。

把《原则》的第一部分看完了,瑞达利欧真是个牛的不行的异类。

这周去配了一副近视防蓝光眼镜,人生第一次带近视眼睛,希望能给缓解下眼睛不舒服的问题。

四、随笔(简单聊聊这周的一些见闻和感悟)

1. 不读书会变傻

个人的认知范围和知识水平是有限的,而通过读书可以跨越空间和时间的障碍,获取新知识和不一样的想法。(这里的“读书”是广义上的读书)

如果我很久没看书了,整个人都会进入一种“停滞”状态。

对于不自律的人来说,读书也是一种清醒剂。

读书能让人清醒,能让人启发,能刺激大脑,能让人打鸡血,能让人充满力量。

2. 关于选择和努力

对于大多数的普通人来说,一开始我们没有太多的选择,我们只能不断地努力为自己积累资本,以后才能有选择的机会。

3. 讨论能促进思考,带来灵感,产生化学反应

有时候我们遇到问题时,一个人在那里想半天也想不明白,然后与别人聊天,讨论这些问题,获得启发,心中的疑惑也全都解决了。

头脑风暴就是一种很棒的工作方法。

4. 解决问题的点和面

遇到问题去解决,这是点;把遇到的问题总结归纳,和已知的知识和经验串起来,这是线;自己搭建一个框架,建立一个全面的知识体系,这是面。

5. 抽象和具体

抽象概念原则和具体事例,前者是固定的,永恒的,而后者是多变的,前者是后者的本质。

6. 语言表达能力的练习

语言表达能力也是需要不断练习和不断学习的。

7. be passionate

对自己做的事情一定要有足够的激情,才能真正把一件事做成做好。

五、新闻动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.03.04~2019.03.10

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

这一周是发版周,除了改 bug,其余时间主要是在看 CS:APP,一口气把网络编程、并发编程和虚拟内存这几章都看完了,也算是完成了对这本书的核心内容的学习了,从更深的层面了解了计算机系统的全貌。

专业之外的书基本上没有进展。

四、随笔(简单聊聊这周的一些见闻和感悟)

五、新闻动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.03.11~2019.03.24

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

最近的精力主要是放在计算机底层知识上了,一直在看 CS:APP、《现代操作系统》和 《Advanced Apple Debugging & Reverse Engineering》这几本书,对进程和线程、虚拟内存、文件 I/O,以及汇编有了更深的认识。

CS:APP 中讲了一些关于汇编的知识,但是主要还是偏理论,这两天跟着《Advanced Apple Debugging & Reverse Engineering》动手调试了一下汇编的代码,一步一步跟着教程“近距离”观察了函数调用的过程,感觉像是豁然开朗。

四、随笔(简单聊聊这周的一些见闻和感悟)

五、新闻动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.03.25~2019.03.31

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

这个礼拜略忙,RN 这块的 bug 有点棘手,读了 《程序员的自我修养》讲目标文件和静态链接的部分。

四、随笔(简单聊聊这周的一些见闻和感悟)

五、新闻动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.04.01~2019.04.07

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

四、随笔(简单聊聊这周的一些见闻和感悟)

这个礼拜主要在做品牌升级相关的需求,也就是调调 UI,利用空余时间和清明假期读完了 《程序员的自我修养》剩下的部分,包括动态链接、动态库、内存管理和系统调用等内容。

五、新闻动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.04.08~2019.04.14

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

印象最深的只有一件事,那就是读《Advanced Apple Debugging & Reverse Engineering》的动态库和自定义 LLDB 命令这两块内容,之前正好学过动态库相关的知识以及 Python,正好串联起来了。基础知识非常非常重要,深度和广度要双管齐下,深度优先。

四、随笔(简单聊聊这周的一些见闻和感悟)

五、新闻动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.04.15~2019.04.21

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

四、随笔(简单聊聊这周的一些见闻和感悟)

五、新闻动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.04.22~2019.05.04

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

最近被调到另外一个组单独负责这个组的需求开发,由于之前主要负责 RN 相关的业务,对原生项目的代码了解不多,各种不顺利,但在新组 Android 搭档和同事 zw 的帮助下,总算是硬着头皮把 s1 的需求搞定了。

很多时候,有些坎你必须得迈过去,这是躲不过的,一开始你可能会各种痛苦各种逃避,但是最终迈过去了就是晴空万里。

上周把《The Linux Command Line》剩下的部分看完了,读完这本书对操作系统的命令行有了一个全面的了解,比如以前不知道为啥像 pod install 这种命令可以直接被系统识别,在这本书中就找到了答案,相比《鸟哥的私房菜》和《LINUX命令行与SHELL脚本编程大全》这两本书更精简,适合有一定基础,但想要快速地系统地了解 Linux 命令行的学习者阅读。

五一这几天假期开启了 C++ 的学习之旅,一开始打算跟着《C++ Primer》这本书学习,但是后来发现这本书太厚了,然后又到网上看了一下网友分享的经验,试了以菜鸟教程的教程为主、《C++ Primer》为辅的方式学习,但是发现效果也不是很好,比较死板,最后发现了《Accelerated C++》这本经典神书,很多“前辈”都推荐了这本书,于是最终就以这本当做教材,《C++ Primer》作为辅助手册,慢悠悠地学了 3 章。

个人认为,《Accelerated C++》这本书适合有编程基础的学习者学习,而且这本书的内容不包含 C++11 的新特性,学习时可以结合其他书和文档一起看,这本书的最大特点是不是想官方文档一样从罗列语言特性的角度出发,而是从使用语言解决问题的角度出发来编写的。

四、随笔(简单聊聊这周的一些见闻和感悟)

五、新闻动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.05.05~2019.05.12

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

四、随笔(简单聊聊这周的一些见闻和感悟)

五、新闻动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.07.08~2019.07.14

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

四、随笔(简单聊聊这周的一些见闻和感悟)

五、新闻动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.07.15~2019.07.21

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

最近有点忙,有点累也有点懒了。

四、随笔(简单聊聊这周的一些见闻和感悟)

五、新闻动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.07.22~2019.07.28

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

这个礼拜主要工作是发布 8.8 版本,花了一两天的业余时间了解了一下 SwiftUI,完成了官方教程的第一部分,在阅读方面没有太多的进展,每天依然觉大脑得有些疲惫。

四、随笔(简单聊聊这周的一些见闻和感悟)

编程给我们带来的最大乐趣是创作的成就感,所以如果我们一整天面对的只有 bug 的话,这份工作也就失去了活力和吸引力。

五、行业动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.07.29~2019.08.04

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

工作状态是由可分配资源和需求量之间的关系来决定的,目前来看我们对需求的时间评估基本上是没问题,但是却仍然存在忙不过来疲于奔命的状态,原因就在于人力不够,实际可消化的需求比预估的要少。

四、随笔(简单聊聊这周的一些见闻和感悟)

五、行业动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.08.05~2019.08.11

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

最近三个月一直处于疲于奔命忙不过来的状态,都快扛不住了,庆幸的是,这周由于 xx 专项,需要重新调整人员配置,领导给我找了帮手,后面总算是能松口气了,也有时间学习一些新东西以及实践优化了。

四、随笔(简单聊聊这周的一些见闻和感悟)

五、行业动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.08.12~2019.08.18

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

最好的学习方式是一遍实践一遍学习,边学边用,最好的亮点是能解决日常工作中的痛点(比如整洁架构)。

四、随笔(简单聊聊这周的一些见闻和感悟)

五、行业动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.08.26~2019.09.01

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

四、随笔(简单聊聊这周的一些见闻和感悟)

五、行业动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.09.02~2019.09.08

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

四、随笔(简单聊聊这周的一些见闻和感悟)

五、行业动态

1. 互联网

2. 其他

六、一些不错的文章和资源

ShannonChenCHN commented 5 years ago

2019.09.09~2019.09.15

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

四、随笔(简单聊聊这周的一些见闻和感悟)

五、行业动态

1. 互联网

2. 其他

六、一些不错的文章和资源

二进制重排 https://mp.weixin.qq.com/s/Drmmx5JtjG3UtTFksL6Q8Q https://mp.weixin.qq.com/s/79tAFx6zi3JRG-ewoapIVQ https://mp.weixin.qq.com/s/_IZOXjwaeSmRJ2tcpdd8kg https://juejin.im/post/5d5a05255188251f4705fb8b

Matrix-iOS 耗电监控 https://mp.weixin.qq.com/s/HS4DJDpCS6uppQ9WmVR_Tg

高德地图:崩溃率从万分之8降到十万分之8的架构奥秘 https://mp.weixin.qq.com/s/J9qhY6gtsqrNuJDHVxByBw

美团 iOS 工程 zsource 命令背后的那些事儿 https://mp.weixin.qq.com/s/3qcv1NW4-ce87cvAS4Jsxg lldb 入坑指北(2)-​ 15行代码搞定二进制与源码映射 https://mp.weixin.qq.com/s/Bc8AJe7qRi2ED-otK0qPRA

深入理解 iOS 事件机制 https://juejin.im/post/5d396ef7518825453b605afa#heading-24

Modular Architecture in iOS https://medium.com/flawless-app-stories/a-modular-architecture-in-swift-aafd9026aa99

马蜂窝视频编辑框架设计及在 iOS 端的业务实践 https://mp.weixin.qq.com/s/-GGbakkEe7dmC23HT0k3ow

ShannonChenCHN commented 4 years ago

2019.09.16~2019.09.22

一、回顾

二、计划

三、小结(一两句话概括一下,这一周做了什么,哪些地方做的好,做的不好的是什么,有什么感受)

这周四发版的前一个晚上 11 多的时候,正准备睡觉了,结果接到测试同学打来电话,说是发现了一个 bug,我不得不爬起来查问题,但是没查出来,第二天早上一大早过去继续修复,最后直到下午 1 点半才完全解决掉。

几点教训:

四、随笔(简单聊聊这周的一些见闻和感悟)

周日参加了公司组织的骑行活动,很久没有这么高强度的运动了,晚上回来睡得真香。

人到了一定年纪后,就会越来越意识到身体健康的重要性,尤其是当你生病的时候。

杨神在《Learn More Study Less》中提到了一个 Energy Management 的建议,就是每周至少留一天专门给自己放松的(体力劳动也是一种放松),这样才能避免身体“被掏空”。