ShannonChenCHN/iOSDevLevelingUp

周报(2019)

ShannonChenCHN opened this issue · 25 comments

关于

Good good study, day day work.  

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

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

  • Algorithm:每周至少做一道 LeetCode 算法题
  • Reading:阅读并点评至少一篇英文技术文章
  • Tip:学习至少一个技术点或者技能点或者技巧
  • Sharing:至少分享一篇有观点和思考的技术文章

2019 年的目标:

  • 应用层
    • 大前端、跨平台
      • React Native
      • JavaScript
      • Flutter
    • iOS
      • 性能优化
  • 基础知识
    • CS:APP
    • 操作系统、计算机网络
    • 程序设计、编程**

目录


模板:

## 2018.12.17~2018.12.23


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

### 计划
- 工作
- 学习  


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




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

2019.01.01~2019.01.13

回顾

  • 【工作、亮点、难点】
    • 工作
      • HT+IM 修 bug、发版(原生)
      • 订单详情页积分礼遇修 bug(RN)
    • 亮点、难点
  • 【问题、知识点、学习收获】
    • 知识点、收获、tips
      • 断点调试 block 时的追溯
      • JavaScript 中的可选参数和参数默认值
      • 读 RN 源码
        • RN 的 debug 原理
      • RN 开发中的 Hot reloading
      • VS code 快捷键:代码格式化等
      • JavaScript术语:shim 和 polyfill
    • 问题
      • RN 在 Android 上的数据类型转换的问题:Android 传数字给 JS 时是数字,而 iOS 传给 JS 的是字符串,导致两端的结果不一致,所以以后判断数字是否相等,可以统一用非严格模式 ==
    • 工作流程
      • 如果有些产品设计上的问题,先把问题抛出来,让 PM 给答复,而不是跟测试扯半天
      • 总是问测试要一些场景的数据,她们不耐烦?自己可以尝试用 Mock 数据的方式来实现
      • 写代码时,做完需求后要注意检查一下是否考虑到各种场景下的不同 case 以及各种边界条件,不然测试反复提各种 bug 会烦你也烦
  • 【分享、输出】
    • 2018 年终总结
  • 【阅读】
    • 读 CS:APP(3.9)
  • 【算法】
  • 【其他】
    • 深圳广州行
    • 周六瑜伽课
    • 英语发音课试听
    • stormzhang 斗鱼直播

计划

  • 工作
    • 开始 8.2 版本的开发工作
  • 学习
    • CMD+R 到 React Native 应用的第一屏展示,这个过程发生了什么
    • 读完 CS:APP 第 3 章剩下的内容
    • 读 《新生:七年就是一辈子》
  • 输出
    • 写 RN 原理解析系列(一)

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

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

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

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

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

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

2. 持续输出的重要性

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

上坡路总是难走的。

一些不错的文章

2019.01.14~2019.01.19

回顾

  • 【工作、亮点、难点】
    • 工作
      • 房型浮层(RN)
      • 积分兑换说明浮层(RN)
    • 亮点、难点
      • cbundle 拉其他 bu 的静态库后编译时经常报错,所以自己看了脚本源码并做了简单修改
  • 【问题、知识点、学习收获】
    • Git 相关:rel/8.1.2 和 refs/for/rel/8.1.2 分别代表什么?
    • flexbox 问题:如何实现 css 里面的 table 效果,行高由其中最高的那一栏决定,其他栏的单元块自动充满容器。
    • shell 脚本解析命令行参数
  • 【分享、输出】
  • 【阅读】
    • 《新生》(第 1、2 节)
  • 【算法】
  • 【其他】
    • 周一部门年会
    • 周六瑜伽课

计划

  • 工作
    • 8.2 版本 s1 剩下任务
    • 完善拉 bundle 的脚本
    • 改进 RN 页面的拉包功能(让测试知道是不是最新的包,可以自己去拉)
  • 学习
    • CMD+R 到 React Native 应用的第一屏展示,这个过程发生了什么⭐️
    • 读完 CS:APP 第 3 章剩下的内容(3.10 和 3.11)
    • 读 《新生:七年就是一辈子》
  • 输出
    • 写 RN 原理解析系列(一)⭐️
    • 体验 Flutter

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

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

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

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

1. 一个线上故障

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

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

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

几个痛点:

  • 数据传递:原生发起请求 -> 拿到数据后,再转一次 -> 最后再传给 RN。这样导致的问题是,每次改功能都需要原生这边扒数据,转数据,本身这个浮层的数据就相当复杂,所以加大了维护成本,另外调试起来也不方便。
  • 业务划分:几个组同时在维护这个页面,所以每次在改的时候,都“只知其一不知其二”,如果是由专人维护固定的模块,维护成本会下降很多,也会降低出错率。

一些不错的文章

2019.01.20~2019.01.26

回顾

  • 【工作、亮点、难点】
    • 工作
      • 房型浮层“可部分取消”标签样式
      • 酒店详情页提醒文案修改
      • EBK IM 首页的小红点
      • 读 CRN 文档
      • 解决 Debug 模块中 AB Test 开关工具 bug
      • 解决 Debug 模块打包失败的问题
    • 亮点、难点
      • 完善 cbundlehelper 脚本
      • 改进 RN 页面的拉包功能,可以直接在房型浮层上跳转到拉的页面(让测试知道是不是最新的包,可以自己去拉)
  • 【问题、知识点、Tips,学习收获】
    • Gerrit 的原理
    • 用了下同事推荐的 Git 客户端 Tower,果然是最好用的 Git 客户端
    • 静态库、动态库、framework
  • 【分享、输出】
  • 【阅读】
    • 《新生》(第 3~7 节)
  • 【算法】
  • 【其他】
    • 周四同事聚会
    • 周五晚 Tom's Club 聚会
    • 周六英语角
    • 周日篮球

计划

  • 工作
    • 8.2 版本 s2 剩下的任务
    • 完善 RN 页面的拉包功能
      • 能够拉到生产环境灰度的包?
      • 所有 RN 相关的页面都能有这个拉包的快捷入口
    • 研究 CRN 的实现
  • 学习
    • 读 CS:APP 第 7 章
    • 读完 《新生:七年就是一辈子》
  • 输出
    • 写 RN 原理解析系列(一)⭐️
      • 《从 CMD+R 到 React Native 应用的第一屏展示,这个过程发生了什么》
    • 体验 Flutter

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

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

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

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

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

1. 学习与模仿

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

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

行业动态

一些不错的文章

2019.01.27~2019.02.10

回顾

  • 【工作、亮点、难点】
    • 工作
      • 修复调试工具 bug
      • 完成 s2 的需求
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • 编译、链接的原理
  • 【分享、输出】
  • 【阅读】
    • 读完了《新生》剩下的章节
    • 读 CS:APP 第 7 章(7.1~7.6)
  • 【算法】
  • 【其他】
    • 过年
    • 参加老领导的婚礼

计划

  • 工作
    • 8.2 版本 s2 剩下的任务
    • 研究 CRN 的实现
  • 学习
    • 读 CS:APP
      • 第 7 章剩下的章节(7.7~7.14)
      • 读 9 章
    • 读《原则》
  • 输出
    • 编译和链接
    • 写 RN 原理解析系列(一)
      • 《从 CMD+R 到 React Native 应用的第一屏展示,这个过程发生了什么》
    • 体验 Flutter
  • 读书笔记
    • 《富爸爸穷爸爸》
    • 《新生》
    • 《财务自由之路》

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

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

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

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

  • 留意身边的商机
  • 做个程序员,但不要只做个程序员

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

  • 不看书(学习)是不行的,读死书也不行
  • 进步最大的阻碍是缺乏上进心
  • 人一开始碰到全新的东西,总是恐慌的,学习就是一个慢慢熟悉的过程,一个由浅到深的过程

3. ggtalk 的笔记

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

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

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

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

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

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

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

4. 沟通能力真的很重要

  • 多交流沟通可以消除隔阂,改进关系
  • 比起说话本身,心理和认知对沟通的影响更大
  • 人与人之间拉进距离是需要时间的
  • 人与人之间为什么需要交流沟通?
    • 让双方感到快乐
    • 求发展和进步,有明确目的
    • 责任与义务

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

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

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

6. 预演

  • “凡事预则立,不预则废”
  • 跟教练当初教我们学车一样,考试前一定要预演很多遍,保证每做一个动作就能自然而然很快地想到下一个动作是什么
  • 生活中的其他事也是一样,比如旅行的行程、行李安排
  • 赶车:宁可早起半小时,也不要冒着赶不上车的风险贪睡

行业动态

一些不错的文章

2019.02.11~2019.02.17

一、回顾

  • 【工作、亮点、难点】
    • 工作
      • 旗舰店合辑(RN)
      • 大双床(iOS)
      • 修复 bug
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • 问题
      • 与测试的沟通问题:如何应对态度不好的测试?
        • 尽量保持冷静和克制,把该做的事做好
        • 避免正面冲突,改用企业微信沟通,这样可以屏蔽掉一些消极情绪,双方都能保持冷静,就事论事
        • 不值得为一些小事情动怒、伤和气
      • 本地调试 RN 时遇到的问题
        • 使用 openURL 的方式跳转到同一个频道的页面时,会导致当前页面“死掉”,后来发现发布后再测试时是没问题的
        • 分析:在本地调试模式下,解析 js 代码的引擎是 Chrome,所以打开同一频道的页面时,会把内存中原来的代码和数据覆盖掉
        • TODO:待进一步验证
      • 在做 RN 需求时遇到状态栏样式会跟随导航栏透明度改变的问题,第一天没有找到原因,找了个取巧的办法绕过去了,第二天重新复盘了一下,最终找到了原因
        • 查了一下修改 status bar 样式的相关资料,发现状态栏并不能自动跟着导航栏颜色改变
        • 所以,打开了项目工程 RN 库的源码,一步一步调试后,最终找到了根本原因
        • 结论:找问题时,要深入源码中找细节
    • Tips
      • React Native
        • 设置 ScrollView 的属性 contentInset 和 contentOffset 时,不产生效果
        • marginTop 可以设置为负值
    • 学习收获
      • iOS 代码签名初探
      • React 组件的生命周期
  • 【分享、输出】
  • 【阅读】
    • 读 CS:APP
      • 第 7 章剩下的章节(7.7~7.14)链接
      • 第 8 章 异常控制流
  • 【算法】
  • 【其他】
    • 英语角
    • 羽毛球🏸

二、计划

  • 工作
    • 8.2 版本 s2 剩下的任务
    • React Native
      • 研究 CRN 的实现
      • 继续研究一下为什么上次使用 openURL 打开同一频道的页面会出现问题
  • 学习
    • 读 CS:APP
      • 第 9 章虚拟内存
    • 读《原则》
    • 体验 Flutter
  • 读书笔记
    • 《富爸爸穷爸爸》
    • 《新生》
    • 《财务自由之路》
    • CS:APP

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

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

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

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

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

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

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

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

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

2. 刨根究底的专业态度

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

五、行业动态

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

1. 技术

2.楼市

  • 房产下一轮大涨何时到来?重磅干货分享

    • 未来这两年一线城市极有可能会继续上涨
    • 二线城市行情要晚于一线城市半年到一年的时间
  • 买房还能不能赚大钱?正确认识房产财富观

    • 正确认识买房的财富观:保值很容易,赚钱有难度,暴富很难
    • 房价上涨最大一部分原因来自于货币宽松
    • 大部分人以为的房价上涨赚钱,其实只是保值而已
    • 买房四大难
      • 选筹上的困难:真正值得买房的只有20个左右的一二线大城市(长沙也算在其中),越值得买的城市,限购越是严格
      • 负债的运用:全款买房是打平货币宽松,借贷买房是掘金货币宽松
      • 交易策略上的误区:我们要用发展的眼光来看待地段
      • 时机的掌握:过去楼市周期三年一个轮回,现在的周期越来越像五年循环。虽然我们不知道什么时候会大涨,但是我们还是能够回避掉楼市的阶段性顶部,尽可能买在楼市的底部,避开不必要的等待。

3.其他

  • 如何避免成为一个无趣的人
    • 做好三点:
      • 做你自己,像单纯的小孩一样,做一些发自内心的事情
      • 敢于做第一个发言或者行动的人
      • 走出舒适区,尝试一些不同的事情

2019.02.18~2019.02.24

一、回顾

  • 【工作、亮点、难点】
    • 工作
      • 埋点
      • 房型浮层交互优化
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • 跟着『Deep Diving React Native Debugging』这篇文章一边调试一边读源码,把上周遇到的 RN 调试问题搞明白了
    • 深入理解 iOS 代码签名原理
    • 什么是 ABI?Swift ABI 稳定意味着什么?
  • 【分享、输出】
  • 【阅读】
    • 读 CS:APP(虚拟内存部分 9.1 ~ 9.5)
    • 听 《原则》(第一部分的第2~4节)
  • 【算法】
  • 【其他】
    • 英语角
    • 打篮球🏀
    • 羽毛球🏸

二、计划

  • 工作
    • 8.2 版本 s3 的需求
    • React Native
  • 学习
    • 读 CS:APP
      • 搞懂操作系统的虚拟内存是什么
    • 读《原则》(第一部分第 5~7 节)
    • 体验 Flutter
  • 读书笔记
    • 《富爸爸穷爸爸》
    • 《新生》
    • 《财务自由之路》
    • CS:APP

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

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

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

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

1. 光说不练假把戏

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

2. 学习不要太有功利心

- 一开始看不太懂很正常,正所谓 “书读百遍其义自见”,所以,不要太着急想马上就能学会,也不要因为没看太懂就着急,不妨放松心态,学到多少算多少,“怕什么真理无穷,进一步有一步的欢喜” - 定期复盘,尤其是那些以前没看懂的书 - 不能光看书不实践,一定要实践

3. 圈子外的世界

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

  • 走出舒适区才能有所突破
  • 1 + 1 > 2
  • 重新认识自己的工作和圈子

五、新闻动态

1. 互联网

2. 其他

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

2019.02.25~2019.03.03

一、回顾

  • 【工作、亮点、难点】
    • 工作
      • 清理崩溃问题
      • 房型浮层标签样式调整(React Native)
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • CocoaPods 的原理
    • 体验 Flutter,搭好了环境,run 了一下
    • 协程
  • 【分享、输出】
    • [
  • 【阅读】
    • 读 CS:APP(系统级 I/O)
    • 读 《原则》(第一部分的第1~7节)
  • 【算法】
  • 【其他】
    • 英语角
    • 羽毛球🏸

二、计划

  • 工作
    • 8.3 版本 s1 的需求
  • 学习
    • 读 CS:APP
      • 搞懂操作系统的虚拟内存是什么(第9章)
      • 网络编程部分(第 11 章)
    • 读《原则》(第二部分)
  • 学习复盘
    • 《富爸爸穷爸爸》
    • 《新生》
    • 《财务自由之路》
    • 《原则》
    • 《暗时间》
    • CS:APP

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

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

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

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

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

1. 不读书会变傻

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

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

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

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

2. 关于选择和努力

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

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

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

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

4. 解决问题的点和面

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

5. 抽象和具体

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

6. 语言表达能力的练习

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

7. be passionate

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

五、新闻动态

1. 互联网

2. 其他

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

2019.03.04~2019.03.10

一、回顾

  • 【工作、亮点、难点】
    • 工作
      • 改 bug
        • 房型浮层上的房型名称
        • 填写页床型选择问题
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • 为什么C/C++要分为头文件和源文件?
    • C语言头文件、库文件的查找路径
  • 【分享、输出】
  • 【阅读】
    • 读 CS:APP(网络编程、并发编程、虚拟内存)
  • 【算法】
  • 【其他】
    • 英语角
    • 羽毛球🏸

二、计划

  • 工作
    • 8.3 版本 s1 的需求
  • 学习
    • 读《现代操作系统》的第二章(进程和线程)和第三章(虚拟内存)
    • 学习 WWDC 关于内存和多线程的演讲
    • 读《原则》(第二部分)
    • 《Advanced_Apple_Debugging_&_Reverse_Engineering》
    • 《iOS应用逆向工程》
    • 《The Linux Command Line》
  • 学习复盘
    • 《富爸爸穷爸爸》
    • 《新生》
    • 《财务自由之路》
    • 《原则》
    • 《暗时间》
    • CS:APP
      • 汇编
      • 链接
      • 虚拟内存
      • 并发编程

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

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

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

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

五、新闻动态

1. 互联网

2. 其他

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

2019.03.11~2019.03.24

一、回顾

  • 【工作、亮点、难点】
    • 工作
      • RN
        • 礼盒外露
        • 升级 0.59
        • 旗舰店
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
  • 【分享、输出】
  • 【阅读】
    • 读《现代操作系统》
      • 第 1~6 章
    • 读 《Advanced_Apple_Debugging_&_Reverse_Engineering》第 1~13 章
  • 【算法】
  • 【其他】
    • 英语角
    • 打篮球

二、计划

  • 工作
    • 8.3 版本 s1 的需求
  • 学习
    • 读《Advanced_Apple_Debugging_&_Reverse_Engineering》14 ~ 24 章⭐️
    • 读《程序员的自我修养》⭐️
    • 学习 WWDC 关于内存和多线程的演讲
    • 读《原则》(第二部分)
    • 《iOS应用逆向工程》
    • 《The Linux Command Line》
  • 学习复盘
    • 《富爸爸穷爸爸》
    • 《新生》
    • 《财务自由之路》
    • CS:APP 和《现代操作系统》
      • 汇编
      • 链接
      • 虚拟内存
      • 并发编程

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

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

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

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

五、新闻动态

1. 互联网

2. 其他

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

2019.03.25~2019.03.31

一、回顾

  • 【工作、亮点、难点】
    • 工作
      • RN
        • 修复旗舰店 bug
      • SOTP 升级
      • 入住人限制样式修改
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • RN
      • 调试时数据转换的问题,导致日历控件在真机上无法打开
        • 由于 Chrome 和模拟器中的 JS 运行环境的差异导致的
      • Android 物理返回键失灵的问题(待解决)
  • 【分享、输出】
  • 【阅读】
    • 读《程序员的自我修养》
      • 第 2~6 章
  • 【算法】
  • 【其他】
    • 英语角

二、计划

  • 工作
    • 8.3 版本 s3 的需求
  • 学习
    • 读《Advanced_Apple_Debugging_&_Reverse_Engineering》14 ~ 24 章⭐️
    • 读《程序员的自我修养》⭐️
    • 学习性能优化相关实践
    • 读《原则》(第二部分)
    • 《iOS应用逆向工程》
    • 《The Linux Command Line》
  • 学习复盘
    • 《富爸爸穷爸爸》
    • 《新生》
    • 《财务自由之路》
    • CS:APP 和《现代操作系统》
      • 汇编
      • 链接
      • 虚拟内存
      • 并发编程

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

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

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

五、新闻动态

1. 互联网

2. 其他

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

2019.04.01~2019.04.07

一、回顾

  • 【工作、亮点、难点】
    • 工作
      • 品牌升级 UI 风格调整
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • Android 物理返回键失灵的问题
      • 从基础架构部门的同事那边了解到,MCD 上打包和本地调试的代码有区别,而他改动了某个地方导致 MCD 上打包后的代码有问题
  • 【分享、输出】
  • 【阅读】
    • 读《程序员的自我修养》
      • 第 7,8,10,11,12 章
  • 【算法】
  • 【其他】

二、计划

  • 工作

    • 8.3 版本 s3 的需求
  • 学习

    • 读《Advanced_Apple_Debugging_&_Reverse_Engineering》14 ~ 24 章⭐️
    • TODO
      • 读《The Linux Command Line》 ⭐️
      • 读《iOS应用逆向工程》
      • 学习性能优化相关实践
      • 系统学习 C++
    • 读《原则》(第二部分)
  • 学习复盘

    • 《富爸爸穷爸爸》
    • 《新生》
    • 《财务自由之路》
    • CS:APP 和《现代操作系统》
      • 汇编
      • 链接
      • 虚拟内存
      • 并发编程

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

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

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

五、新闻动态

1. 互联网

2. 其他

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

2019.04.08~2019.04.14

一、回顾

  • 【工作、亮点、难点】
    • 工作
      • 品牌升级 UI 风格调整(上周剩下的工作)
      • 价格明细入口调整
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
  • 【分享、输出】
  • 【阅读】
    • 读《Advanced_Apple_Debugging_&_Reverse_Engineering》
      • 第 14~18 章
  • 【算法】
  • 【其他】

二、计划

  • 工作

    • 8.4 版本 s1 的需求
  • 学习

    • 读《The Linux Command Line》第一部分和第二部分⭐️
    • TODO
      • 学习编译原理(一周)
      • 系统学习 C++(2~4周)
      • 读《iOS应用逆向工程》 (2周)
      • 实战优化
    • 读《原则》(第二部分)
  • 学习复盘

    • 《富爸爸穷爸爸》
    • 《新生》
    • 《财务自由之路》
    • 技术书
      • 图解 HTTP
      • 图解 TCP/IP
      • CS:APP
      • 现代操作系统
      • 程序员的自我修养
      • Advanced Apple Debugging & Reverse Engineering

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

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

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

五、新闻动态

1. 互联网

2. 其他

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

2019.04.15~2019.04.21

一、回顾

  • 【工作、亮点、难点】
    • 工作
      • 8.3 版本发布
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • 同一个页面,iOS 平台上是使用 RN 开发的,而 Android 平台没有使用 RN 开发,两端没有保持一致,结果还以为是 Android 拉下来的包有问题
    • 公共底层框架的 bug,导致 RN 官方的 API Platform.OS 在 Android 上获取到的值是 'ios'。
    • 借助 WebDAV 在 Mac 上访问 iOS 应用的沙盒
  • 【分享、输出】
  • 【阅读】
    • 读《The Linux Command Line》第一部分和第二部分
  • 【算法】
  • 【其他】

二、计划

  • 工作

    • 8.4 版本 s1 的需求
  • 学习

    • 读《The Linux Command Line》第三部分和第四部分⭐️
    • TODO
      • 学习编译原理(一周)
      • 系统学习 C++(2~4周)
      • 读《iOS应用逆向工程》 (2周)
      • 实战优化
    • 读《原则》(第二部分)
  • 学习复盘

    • 《富爸爸穷爸爸》
    • 《新生》
    • 《财务自由之路》
    • 技术书
      • 图解 HTTP
      • 图解 TCP/IP
      • CS:APP
      • 现代操作系统
      • 程序员的自我修养
      • Advanced Apple Debugging & Reverse Engineering

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

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

五、新闻动态

1. 互联网

2. 其他

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

2019.04.22~2019.05.04

一、回顾

  • 【工作、亮点、难点】
    • 工作
      • 8.4 版本 s1(原生开发)
        • 涉及详情页房型列表
        • 涉及列表页头部和banner排序
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • 开发调试房型浮层 RN 时经常出现各种问题(TODO)
    • 标签增量拉取失败
    • 开发流程相关:小版本上开发,每提交一次就合并到大版本上,避免后期合并代码的冲突
    • 本地 Mock 数据,顺便了解网络请求的逻辑(TODO)
    • cherry-pick 时 remove source
    • 根据关键字查找 git 提交历史修改内容
  • 【分享、输出】
  • 【阅读】
    • 读《The Linux Command Line》第三部分和第四部分
    • 系统学习 C++
      • 读 《Accelerated C++》第 0~3 章
  • 【算法】
  • 【其他】

二、计划

  • 工作

    • 8.4 版本 s2 的需求
    • 反爬
  • 学习

    • 系统学习 C++⭐️
      • 读 《Accelerated C++》第 4~8 章
    • TODO
      • 读《iOS应用逆向工程》 (2周)
      • 学习编译原理(一周)
      • 实战优化
    • 读《原则》(第二部分)
  • 学习复盘

    • 《富爸爸穷爸爸》
    • 《新生》
    • 《财务自由之路》
    • 技术书
      • 图解 HTTP
      • 图解 TCP/IP
      • CS:APP
      • 现代操作系统
      • 程序员的自我修养
      • Advanced Apple Debugging & Reverse Engineering

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

最近被调到另外一个组单独负责这个组的需求开发,由于之前主要负责 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. 其他

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

2019.05.05~2019.05.12

一、回顾

  • 【工作、亮点、难点】
  • 【问题、知识点、Tips,学习收获】
  • 【分享、输出】
  • 【阅读】
    • 系统学习 C++
      • 读 《Accelerated C++》第 4~5 章
  • 【算法】
  • 【其他】

二、计划

  • 工作

    • 8.4 版本 s2 的需求
    • 反爬
  • 学习

    • 系统学习 C++⭐️
      • 读 《Accelerated C++》第 6~8 章
    • TODO
      • 读《iOS应用逆向工程》 (2周)
      • 学习编译原理(一周)
      • 实战优化
    • 读《原则》(第二部分)
  • 学习复盘

    • 《富爸爸穷爸爸》
    • 《新生》
    • 《财务自由之路》
    • 技术书
      • 图解 HTTP
      • 图解 TCP/IP
      • CS:APP
      • 现代操作系统
      • 程序员的自我修养
      • Advanced Apple Debugging & Reverse Engineering

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

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

五、新闻动态

1. 互联网

2. 其他

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

2019.07.08~2019.07.14

一、回顾

  • 【工作】
    • 日常工作
      • 修复小地图的 bug
      • 8.7 发版
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • 如何给文字颜色变化添加动画效果
    • Swift 中的属性和方法
  • 【分享、输出】
    • Swift 中的属性和方法
  • 【阅读】
    • The Swift Programming Language
    • Swifter
    • Advanced Swift
  • 【算法】
  • 【其他】

二、计划

  • 工作
    • 8.8
  • 学习

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

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

五、新闻动态

1. 互联网

2. 其他

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

2019.07.15~2019.07.21

一、回顾

  • 【工作】
    • 日常工作
      • 低价日历调整
      • 地图专项
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
  • 【分享、输出】
  • 【阅读】
    • 《黑客与画家》
  • 【算法】
  • 【其他】

二、计划

  • 工作
    • 8.8 发布
  • 学习
    • SwiftUI
    • 其他
      • Flutter
      • 函数式编程
      • iOS 逆向
      • C++
      • Python 进阶
  • 阅读
    • 《亲密关系》
    • 《黑客与画家》
    • 《Swifter》
    • 《Advanced Swift》

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

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

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

五、新闻动态

1. 互联网

2. 其他

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

2019.07.22~2019.07.28

一、回顾

  • 【工作】
    • 日常工作
      • 8.8 发布
      • 8.9 启动
        • 地图相关
        • 港澳台看总价
    • 亮点、难点
      • 地图缩放动画失效:改成在 dispacth_async 中执行缩放动画,就解决了
        • 相关知识点:CoreAnimation 和 runloop 以及 GCD 之间的关系
  • 【问题、知识点、Tips,学习收获】
    • 在 Redux 中使用 saga
    • SwiftUI 初体验
  • 【分享、输出】
  • 【阅读】
    • 《黑客与画家》
  • 【算法】
  • 【其他】

二、计划

  • 工作
    • 8.9 版本的开发
  • 学习
    • SwiftUI
    • 其他
      • Swift
      • Flutter
      • iOS 逆向
      • C++
      • Python 进阶
  • 阅读
    • 《亲密关系》
    • 《黑客与画家》
    • 《Swifter》
    • 《Advanced Swift》

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

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

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

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

五、行业动态

1. 互联网

2. 其他

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

2019.07.29~2019.08.04

一、回顾

  • 【工作】
    • 日常工作
      • 8.9
        • 地图相关
        • 港澳台看总价
        • 直线距离实验分流调整
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
  • 【分享、输出】
  • 【阅读】
    • 《黑客与画家》
  • 【算法】
  • 【其他】

二、计划

  • 工作
    • 8.9 版本发版
  • 学习
    • SwiftUI
    • 其他
      • Swift
      • Flutter
      • iOS 逆向
      • C++
      • Python 进阶
  • 阅读
    • 《亲密关系》
    • 《黑客与画家》
    • 《Swifter》
    • 《Advanced Swift》

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

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

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

五、行业动态

1. 互联网

  • GitHub 封禁伊朗

2. 其他

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

2019.08.05~2019.08.11

一、回顾

  • 【工作】
    • 日常工作
      • 8.9 发版
        • 改 bug
      • 8.10 启动
        • 列表页唯一结果外露多晚推荐
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • 问题:两个 bug 带来的反思
      • 背景:一个是在 PM 私底下跟我沟通的需求导致的 bug,最后在发版前测试人员回归后发现有问题及时回退了;另一个是 leader 单独让我优化一个现有的功能导致的线上 bug
      • 反思:如无特殊情况,绝不要在项目计划外私自“接需求”;如果对方强烈要求的话,也需要同组内相关人员协商一致后再做决定;如果接了这个计划外的需求,除了自测外,务必及时通知测试回归一遍。
  • 【分享、输出】
  • 【阅读】
    • 《当我跑步时,我谈些什么》
    • 《亲密关系》
  • 【算法】
  • 【其他】

二、计划

  • 工作
    • 8.10 版本开发
  • 学习
    • SwiftUI
      • 完成 SwiftUI 教程
      • 总结体会
    • 整洁架构
    • 其他
      • Swift
      • Flutter
      • iOS 逆向
      • C++
      • Python 进阶
  • 阅读
    • 《当我跑步时,我谈些什么》
    • 《亲密关系》
    • 《黑客与画家》
    • 《Swifter》
    • 《Advanced Swift》

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

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

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

五、行业动态

1. 互联网

2. 其他

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

2019.08.12~2019.08.18

一、回顾

  • 【工作】
    • 日常工作
      • 8.10 需求开发
        • 地图相关
        • 其他
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • 问题:在实现海外地图谷歌切百度的需求时,发现基础架构部门提供的 API 不方便使用,跟同时讨论后,再和他们沟通,改进了 API
      • 总结:发现不合理的地方,及时沟通,用正确的方式做正确的事
    • 学习:
      • WWDC 2015:Protocol-Oriented Programming in Swift
  • 【分享、输出】
    • 周末分享:Git 的使用总结
  • 【阅读】
    • 《当我跑步时,我谈些什么》
    • 《亲密关系》
  • 【算法】
  • 【其他】

二、计划

  • 工作
    • 8.10 版本发版
  • 学习
    • 整洁架构
    • SwiftUI
      • 完成 SwiftUI 教程
      • 总结体会
    • 其他
      • Swift
      • Flutter
      • iOS 逆向
      • C++
      • Python 进阶
  • 阅读
    • 《当我跑步时,我谈些什么》
    • 《亲密关系》
    • 《黑客与画家》
    • 《Swifter》
    • 《Advanced Swift》

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

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

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

五、行业动态

1. 互联网

2. 其他

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

2019.08.26~2019.09.01

一、回顾

  • 【工作】
    • 日常工作
      • 8.11 版本需求
        • 地图相关
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • 学习:
      • Protocol Oriented Programming in Swift
  • 【分享、输出】
    • 周末分享:Protocol Oriented Programming in Swift
  • 【阅读】
  • 【算法】
  • 【其他】

二、计划

  • 工作
    • 8.11 版本发版
  • 学习
    • Swift 相关
    • 整洁架构
    • SwiftUI
      • 完成 SwiftUI 教程
      • 总结体会
    • 其他热点技术
  • 阅读
    • 《我的职业是小说家》
    • 《亲密关系》

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

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

五、行业动态

1. 互联网

2. 其他

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

2019.09.02~2019.09.08

一、回顾

  • 【工作】
    • 日常工作
      • 8.11 发版
        • 地图相关的 bug
      • 8.12 版本
        • 目的地搜索交互调整
        • 地图新增收藏样式
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • 学习:
      • Building Better Apps with Value Types in Swift - WWDC 2015
  • 【分享、输出】
    • 周一组内分享:Protocol Oriented Programming in Swift
    • 周末分享:Swift 中的值类型和引用类型
  • 【阅读】
  • 【算法】
  • 【其他】

二、计划

  • 工作
    • 8.12 版本开发
    • URL Handler 逻辑重构
  • 学习
    • Swift 相关
    • 整洁架构
    • SwiftUI
      • 完成 SwiftUI 教程
      • 总结体会
    • 其他热点技术
  • 阅读
    • 《我的职业是小说家》
    • 《亲密关系》

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

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

五、行业动态

1. 互联网

2. 其他

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

2019.09.09~2019.09.15

一、回顾

  • 【工作】
    • 日常工作
      • 8.12 版本开发
        • 列表地图新增查看收藏和领券入口
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】
    • 学习:
      • URL Routing in iOS apps: Compass Beginner Guide
      • Building Better Apps with Value Types in Swift - WWDC 2015 上周剩余的部分
  • 【分享、输出】
  • 【阅读】
    • 《我的职业是小说家》
  • 【算法】
  • 【其他】

二、计划

  • 工作
    • 8.12 发版改 bug
    • URL Handler 逻辑重构
  • 学习
    • 组件化和 URL 路由设计
    • Swift 相关
    • App 架构
    • SwiftUI
      • 完成 SwiftUI 教程
      • 总结体会
    • 其他热点技术
  • 阅读
    • 《Learn More Study Less》
    • 《我的职业是小说家》
    • 《指数基金投资指南》

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

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

五、行业动态

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

2019.09.16~2019.09.22

一、回顾

  • 【工作】

    • 日常工作
      • 8.12 版本发版
      • 8.13 版本开发
        • 地图规划路径画线样式调整
    • 亮点、难点
  • 【问题、知识点、Tips,学习收获】

  • 【分享、输出】

  • 【阅读】

    • 《我的职业是小说家》
  • 【算法】

  • 【其他】

二、计划

  • 工作
    • 8.13 版本开发
    • URL Handler 逻辑重构
  • 学习
    • 组件化和 URL 路由设计
    • Swift 相关
    • App 架构
    • SwiftUI
      • 完成 SwiftUI 教程
      • 总结体会
    • 其他热点技术
  • 阅读
    • 《Learn More Study Less》
    • 《我的职业是小说家》
    • 《指数基金投资指南》

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

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

几点教训:

  • 调研需求时尽量细化,提前分析可能会遇到什么问题
  • 测试时要覆盖每个场景、涉及的每个页面、各个不同的AB实验、国内海外、各个不同的系统版本
  • 如果是回退代码,一般是回退整个需求的代码,而不是单个功能的代码
  • 发版值班时等测试同学都回归完了才能走

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

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

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

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