Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

周报(2017) #62

Open
ShannonChenCHN opened this issue Jul 2, 2017 · 33 comments
Open

周报(2017) #62

ShannonChenCHN opened this issue Jul 2, 2017 · 33 comments

Comments

@ShannonChenCHN
Copy link
Owner

ShannonChenCHN commented Jul 2, 2017

关于

Good good study, day day work (overtime).  

子曰:一日三省吾身。

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

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 2, 2017

2017.03.06 ~ 2017.03.12

1.本周工作

  • 熟悉 YHouse 代码,列出主要功能、模块、类的信息,以及项目中可改进的地方、可学习的地方
  • 初步实现社区帖子的快照功能(已实现截图、排版)

2.下周计划

  • 实现新需求
  • 提出改进建议

3.学习成长

  • CocoaPods 管理子项目
  • 逻辑思维的重要性
  • 如何降低崩溃出现的概率
  • 学完 Swift 文档的 protocol 、generic type 和 access control 部分的内容

4.感想收获

  • 接触新项目,怎么读源码?不能光看,要“动笔”记下来,按逻辑列出来,带着问题去看去思考,读代码也要掌握方法
  • 现在是最好的时机,也是一份新的挑战,接下来尽力把自己的工作做到极致,沉淀下来,静下心来学习
  • 多想想如何既能更多滴对团队对公司做贡献,又能提高自己的价值,实现双赢
  • 要不断地区发现问题,积极解决问题,"解决问题是成长的最佳方式"
  • 基础知识要全面、深入掌握,进阶知识可以根据具体应用、具体需求专门研究

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 2, 2017

2017.03.13 ~ 2017.03.19

1.本周工作

  • 完善快照功能(二维码、主流程、性能评测、图片裁剪、下载完成后的处理)
  • 分享菜单中增加朋友圈快照入口,重新设计了一下添加按钮的逻辑
  • 拆分图文快照的逻辑,解耦
  • 点赞动画
  • 对于 CocoaPods 和 xcworkspace 进行进一步了解,尝试改造现有项目

2.下周计划

  • 继续完善图文快照相关功能
  • 了解图片下载、图片压缩、二维码的细节
  • 了解 CoreGraphics 和 CoreImage 的细节
  • 修复测试提的 bug

3.学习成长

  • CocoaPods 的原理
  • xcworkspace 管理子项目
  • 架构思想

4.感想收获

  • 写代码本身并没什么技术含量,要想写出好的代码,一要有架构思想,思路清晰,二要考虑底层原理和性能问题
  • 成败在于细节,实现需求、做东西出来并不难,要想提升自己的核心竞争力和不可替代性,只有更深入地了解每个细节,力争在关键点上做到极致,很多人只愿意去想第一步到第二步,而不愿意再去深度思考了,成长也就在这里停滞不前了
  • 时间宽裕才有时间和精力去思考优化、去做优化,这样的机会一定要好好把握,学会自己给自己提问题
  • 做得好不好除了直观感觉,还要看数据、看事实,做技术要学会怎么做评测和数据分析
  • 代码的优化是循序渐进的,通过不停的重构也可以提高自己的编程水平

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 2, 2017

2017.03.20 ~ 2017.03.26

1.本周工作

  • 尝试解决切换城市时崩溃的 bug(感受到了学习内存管理和多线程的用处)
  • 自定义一个 actionSheet,内部实现点击按钮时的登录操作和确认弹窗(贯彻了 DRY 原则,还要考虑高内聚低耦合)
  • 优化网络层日志打印功能,方便调试时看到更专业、更详细、更规范的网络日志(接触到了更多网络相关的知识)
  • 处理图文快照在 6 plus 上图片元素显示不正常的问题(弄清楚 @2x@3x 的作用了)
  • 解决图文快照功能的几个 bug

2.下周计划

  • 为 4.3.0 版本新需求做准备
  • 解决 4.2.0 版本中的 bug (如果有的话)
  • 读完《Objective-C 高级编程》
  • 梳理一下网络相关的知识
  • 把上次没写完的博客结束掉

3.学习成长

  • 因为要解 bug,被逼之下去读了 AFNetworking 的源码,知道了一个请求是怎么发出去的了,以及 AFNetworking 的设计,体会比较深的是意识到了自己在网络和内存管理上的基础打得还不够扎实,所以也打算后面先把这两块部分的内容补一补,然后再把 AFNetworking 精读一边。
  • 在优化网络层日志打印功能的过程中,对 HTTP 请求的了解也更深了,网络是基本功,这块内容一定要吃透。
  • 总算是搞明白了 @2x@3x 的意义了,也知道了 UIImage 的 size 和 scale 是什么意思了
  • 周末重读了《Objective-C 高级编程》,一边跟着敲,一遍记笔记,比第一次读时要理解更透彻了。

4.感想收获

  • 基本功,还是基本功最重要
  • 成长的路很长,找到方向不容易,但要一直坚持下去
  • 工作中遇到问题,去解决问题是提高自己和检验自己水平的最佳机会,可以利用这个机会查漏补缺。

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 2, 2017

2017.03.27 ~ 2017.04.04

1.本周工作

  • 补上了生活头条 h5 中的图文快照分享功能,中间碰到两个问题,一个是相关的文档没有及时更新,要改东西时也没办法明确,影响了效率,二是发现项目实践中最常见的问题就是 model 的传递,包括最近碰到的两次崩溃问题,都是因此导致的,当我们需要把不同的数据结构、字段传到同一个地方处理,怎么做才能做到高内聚低耦合、DRY呢?
  • 配合调查埋点问题,顺便把埋点相关逻辑看了一下,加上了 log(进一步熟练了怎么系统读别人的代码,学会了在实践中去改进)。
  • 发了 4.2.0 版本后,有了空闲时间,读了 SDWebImage 源码,刚开始时效率不高,但多读几遍就好多了,中间遇到很多自己平时不用的知识,正好可以了解了解(读读经典的源码还是蛮爽的,好代码就要反复看,以后可以尝试自己实现一个图片下载的试试)。
  • 个人中心编辑个人信息逻辑优化,顺便熟悉了一下个人中心页面、编辑个人信息页面以及用户信息数据管理(YHUser)的逻辑,感觉原来写的逻辑还是不太清晰。读的时候发现 2 个问题,一是通知的不恰当使用,二是 NSUserDefault 的非常规用法(用到了 resetStandardUserDefaults 方法和 - initWithSuiteName: 方法)。
  • 分析、拆解 4.3.0 版本的新需求(“挑战”页面,新功能引导蒙版,crash 收集平台的选用)
  • “挑战”页面的初稿
    • 实现 “挑战”页面的整体框架
    • 横向滚动卡片列表的大致展示
    • 横向滚动卡片列表左拉到底时进入下一页的效果

2.下周计划

  • 基本完成 4.3.0 版本的需求
    • 封装一个横向的类 “pull-to-refresh” 控件
    • 研究一下 UITableView 和 UICollectionView 的不同特点和适用场景、实现原理
    • 看看那些优秀的第三方的引导蒙版都是怎么做的
    • Crash 收集工具调研
  • 看完 SDWebImage 源码
    • SDWebImageDownloadOperation
    • SDWebImageManager
  • 看完 《Effective Objective-C 2.0》(重读)

3.学习成长

  • 如何系统阅读别人代码
  • 在知乎上听了一场 vczero 的 live(具体收获见笔记📒)
    • 知道技能和能力的区别
    • 基本功很重要
    • 方法论很重要,学会思考
    • 做事情要落到实处,养成总结和记录的好习惯
  • 清明三天假读完了《Objective-C 高级编程》
    • 对 block 的原理有了更深入的了解
    • 对 GCD 的使用有了全面的认识

4.感想收获

  • 继续夯实基本功,能找到自己现在的目标,感觉很棒
  • 国外的资料太棒了,以后多花点时间看看官方文档和国外的资料
  • 计划不要定的太理想,不然总是做不完
  • 对于什么是重要的,什么是不那么重要的,还在摸索中
  • 每个星期都要看看书、看看直播什么的,新学一些思想和观点

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 2, 2017

2017.04.05 ~ 2017.04.09

1.本周工作

  • 完成挑战页的内容
    • 将挑战页的列表由 UICollectionView 改成了更简单的 UITableView 来实现。
    • 封装了一个横向滚动的 collection view,只需要实现几个简单的接口就可实现横向滚动卡片流。
    • 封装了一个左拉查看更多控件,有点横向版本的 MJRefresh 的感觉,使用起来非常简单,没有耦合和侵染性。
    • 完善挑战页的 UI 细节,包括 cell、header、footer,其中碰到了两个小问题:
      • 项目中没有自定义的图文按钮控件,自己又花时间重新写了一个。
      • 图片上的文字究竟是由 UI 直接做在图上,还是由开发用代码写在图上呢。
    • 挑战列表的接口联调,使用 Mantle 进行数据转换,使用协议代替继承复用 Model 代码
    • 添加挑战列表的接口数据缓存逻辑,由网络层的 APIManager 负责缓存,理论上网络层的缓存逻辑可以写成通用的
    • 其他相关逻辑,包括下拉刷新、无网络提示页、点击事件、占位图设置、加载时的 loadingHUD。
  • 更换用于生成图文快照二维码的 URL 的字段

2.下周计划

  • 基本完成 4.3.0 版本剩下的需求:新功能引导蒙版和第三方崩溃监控服务选型
  • 研究一下 UITableView 和 UICollectionView 的不同特点和适用场景、实现原理
  • 看看那些优秀的第三方的引导蒙版都是怎么做的
  • Crash 收集工具调研
  • 读《Effective Objective-C 2.0》(重读)
  • 精读几篇 must-read 的 Apple 官方文档

3.学习成长

  • 重读了《Effective Objective-C 2.0》的内存管理部分的内容,对于内存管理这块又有了更深的理解。
  • 浏览了 Apple 官网提供的 Guides and Sample Code 和 API Reference 目录,自己梳理了一下比较重要的一些资料,脑海里也有了个知识轮廓图,以前也不怎么关心这些文档,现在才发现都是好东西啊,接下来就是好好花时间啃了。

4.感想收获

  • 做事情要有“产品”的思维,就像要做一件产品来卖一样,要想把一件产品做好,是要花很多心血的,但是如果不这么做的话,也就产出不了什么有价值的了。“产品”思维怎么体现呢,比如,写一个拿得出手的 APP(参考 pin 和 奇点、GitBucket),写一个读书笔记系列(比如 唐巧、vczero),写一个读源码系列(比如 Draveness),写一本书(比如 唐巧、vczero、phodal)。
  • 写代码本身并不重要,重要的是思想。从上个版本实现图文快照的需求到这个版本的挑战页,感受最深是将不同的独立的逻辑、控件拆分成可拆卸的组件,从而实现独立解耦的结构,创造的收益是让维护代码的人一看就一目了然、神清气爽的、而且本身出现 bug 的概率也大大降低。很多经典书籍其实都会提到这些思想,实践之后再回头看看那些书估计感受会更深。

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 2, 2017

2017.04.10 ~ 2017.04.16

1.本周工作

  • 参考其他第三方框架,设计了一个引导蒙层控件 SCInstructionSpotlightView,其中用到了 CAAnimation,CAShapeLayer 和 UIBezierPath 的结合
  • 调研崩溃收集工具(具体分析见详细文章)
  • 保存快照功能
  • 重构挑战页,实践了 objc.io 中提到的将 UITableView 的 delegate 相关内容单独交给一个类去处理
  • 修改测试提的一些 bug

2.下周计划

  • 4.3 版本发版,修复 bug
  • 学习崩溃监控的原理,KSCrash 的实现
  • 学习 EGOTableViewPullRefresh 的实现
  • 学习 Mantle 的实现细节

3.学习成长

  • 粗读 Mantle 源码(具体收获见笔记)
  • 参加了英语流利说的 Open L · Tech 活动,在会上用英语跟 Saul Mora 交流了一个问题(具体收获见笔记)
  • 读完 The Swift Programming Language(做了前 3 章的笔记,后面的待补充)

4.感想收获

  • 货真价实的产出就是最好的总结
  • 伟大从来都不是一蹴而就的,需要一步一步完善
  • 是时候把 Swift 用起来了

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 2, 2017

2017.06.26 ~ 2017.07.02

1.本周工作

  • 梳理 web 页相关的逻辑
  • 调研 Hybrid 方案(Rexxar等)
  • 通用 web 页的迁移(UIWebView -> WKWebView)
  • 针对会员页 400 错误的问题进行处理
  • 针对原来 UIWebView 的 mediaPlaybackRequiresUserAction、 allowsInlineMediaPlayback、scalesPageToFit 属性,对 YHWebBrowserView 进行适配
  • 解决因 cookie domain 不对导致的第三方账号绑定手机号时出现的问题

2.下周计划

  • 着手 4.6 版本
  • 进一步完善 Hybrid 方案
  • React Native 学习
    • 封装原生模块
    • 封装原生UI组件
    • 链接原生库
    • 在原生和 React Native 间通信
    • 热更新
    • 做一个完整的 APP

3.学习成长

  • React Native
    • 使用第三方库
    • 嵌入到现有原生应用

4.感想收获

  • 由于之前对于 cookie 的处理不够完善,导致出现了一个小 bug,bug 虽小,但是还是暴露出了不严谨的问题。所以,我针对这次出现的问题,做了一个简单的反省:对于 cookie 处理问题的几点反思
  • Hybrid 方案调研的效率还有待提高
  • React Native 学习进度也落下了,争取下周赶上来

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 10, 2017

2017.07.03 ~ 2017.07.09

1.本周工作

  • 解决图文快照引导提示 bug
  • 调研 JS<->Native 的三种交互方式
  • 会员页白屏问题
  • 会员页 cookie 同步问题(需要根据 domain 进行筛选)
  • 开始个人名片的开发
    • 接口联调
    • 对 UI 稿
    • 拆分任务
    • 初步实现主体效果

2.学习成长

  • JS<->Native 的三种交互方式
  • React Native
    • 封装原生模块
    • 封装原生UI组件
    • 组件的封装之一:二级联动菜单

3.下周计划

  • 完成个人名片分享的功能
  • 完成商户快照分享的功能
  • 完成图文快照分享的调整
  • 完成拔草足迹快照分享的功能
  • React Native
    • 组件的封装之二:日历
    • 在原生和 React Native 间通信
    • 热更新
    • 完整项目:豆搜 APP
  • Hybrid 相关的总结

4.感想收获

  • Hybrid 方案具体怎么实践、怎么优化还需要继续深入,目前的目标和方向,以及如何落实都还没有清晰的路线,后面得抽空尽早定下来
  • 在会员页上出现的 bug,导致两次重新发版,其实在一定程度上是可以避免的,比如说降级处理——还原成 UIWebView。针对 bug 的问题,我觉得有个问题值得我们去思考一下——软件开发人员应该如何减少 bug 的产生?以及如何解决发现的 bug?

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 16, 2017

2017.07.10 ~ 2017.07.16

1.本周工作

  • 完成个人名片分享的功能
  • 完成商户快照分享的功能
  • 完成图文快照分享的调整
  • 基本完成拔草足迹快照分享的功能

2.学习成长

  • React Native
    • 组件的封装之二:日历
    • 热更新

3.下周计划

  • 完成每日福利快照
  • 完成拔草足迹快照
  • 重构快照相关的代码
  • 完成 Hybrid 相关调研文章和落实计划
  • React Native
    • 一个完整的 APP(豆搜、f8、美团)
    • 原生与 React Native 之间的通信
    • 总结前面所学
      • flex 布局
      • 组件和 API 的用法

4.感想收获

『谈谈业务开发与优化』
这周跟“小陈”同学大概交流了一下,关于开发过程中的业务开发与优化的看法,后来我自己也想了一下,一个正常的开发流程应该是怎样的呢?

  • 了解需求
  • 调研、摸索、并最终确定实现思路
  • 初步实现功能
  • 梳理回顾、重构代码,进行代码上的优化
  • 针对体验、性能方面的优化
  • 提交测试

优化是肯定要做的,这里的关键在于优化什么时候去做,从不影响开发进度的角度上来讲,一切以功能实现为目标,毕竟如果任务都不能完成,还谈什么优化。
而且在主题功能完成之前,很多问题都还不够清晰,只能对已知的东西做最好的选择(也就是基于现有经验和调研,有一个思路,了解一些别人踩过的坑),这个阶段把能做的做好就够了。
优化从来就不是一蹴而就的,其实很多东西是通的,跟画画类似,程序代码的优化也是先有了大体框架,然后再一步一步完善细节。
我们要做的是针对问题想解决方案,而不是一上来就想把所有问题都考虑清楚。
当然,如果你自己心里有数,觉得时间足够,你也可以慢慢做,边做边优化,但那终归不是最好的选择。

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 30, 2017

2017.07.17 ~ 2017.07.23

1. 本周工作

  • 完成拔草足迹快照
  • 重构快照相关的代码
  • 每日福利 h5 交互
  • 埋点
  • 快照引导气泡(改回原来的)
  • 修改一些 bug

2. 学习成长

3. 感想收获

  • 忙成狗了
  • h5 部分的逻辑一定要优化一下,重复代码太多了

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 30, 2017

2017.07.24 ~ 2017.07.30

1.本周工作

  • 完成每日福利 h5 交互
  • 快照引导弹窗关闭无响应
  • 二维码 logo 不清晰的问题
  • 改其他 bug

2.学习成长

  • React Native
    • 完成精简版豆瓣 APP
  • 读完 WebViewJavaScriptBridge 源码

3.下周计划

  • 推进 Hybrid 改进计划
  • 改进快照图片下载逻辑
  • 写博客
    • WebViewJavaScriptBridge 源码阅读笔记
    • Web View 的调试方式
    • SCWebBrowserView 的实现
    • CoreGraphics 的学习
  • 写豆瓣 APP
  • 学习 JavaScript 语法

4.感想收获

  • 实践出真理,只有多尝试、多实践、多折腾,才会有真正的收获。
  • 迭代思想、重构思想,写新需求遇到旧代码时,要及时改进一些不好的地方,防止破窗效应。

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Aug 9, 2017

2017.07.31 ~ 2017.08.04

本周工作

  • 落实 Hybrid 改进计划
    • 原生与 h5 交互改为桥接方式
    • 只用一个 web view controller 来打开 h5
  • 准备 4.7 版本的开发
    • 了解需求
    • 实现会员中心首页的主体效果
  • 完成快照图片下载的逻辑的改进
  • 优化快照交互

学习成长

  • 学习 JavaScript 基础语法(输入)
  • 阅读 CTJSBridge 源码(输入)
  • 读豆瓣 Rexxar 源码(输入)
  • WebViewJavascriptBridge 学习笔记(输出)
    • 简介部分
    • 流程图(初始化、JS 调用原生)
    • 主要流程

下周计划

  • 完成会员中心首页部分的开发
  • 完成 WebViewJavascriptBridge 学习笔记(输出)
    • 流程图(原生调用 JS)
    • 源码解读
    • 最佳实践
    • 问题讨论
  • UICollectionView 相关总结(输入+输出)
    • UICollectionView 的基本用法
    • 如何自定义 UICollectionViewLayout
    • IGListKit
  • 架构、数据流:如何写好一个列表(输入+笔记)

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Aug 21, 2017

2017.08.07 ~ 2017.08.13

本周工作

  • 基本完成会员首页部分的开发
  • 完成 WebViewJavascriptBridge 学习笔记

下周计划

  • 完成会员首页和会员中心

问题和反思

1.压力管理

要看一个人究竟怎么样,就看他在高压环境下、逆境下如何度过。所以,学会如何面对压力很重要,What's can't kill will make you stronger。

2.估时

软件工程领域中,造成加班的一部分原因就在于估时不准确。估时的最重要的一项原则就是尽量细化到小时级。

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Aug 21, 2017

2017.08.14 ~ 2017.08.20

本周工作

  • 完成会员首页
  • 基本完成会员中心

下周计划

  • 完善会员用户中心
    • 进度条
    • 卡片动画
  • 读 Mantle 源码
  • 复习 Runtime(周二、周三)
  • 动画总结(周四)
  • 2D 绘图总结(周五)
  • Collection View 总结(周末)

反思

1.学说话

  • 说话要过脑子,跟熟的朋友说是这样,跟不熟的朋友说话也应该是这样,工作中更应该如此
  • 思维决定说话方式,首先要做到平常心,不刻意
  • 不会说好话没关系,但是最好不要说不好的话
  • 宁愿自嘲也不要去秀什么所谓的优越感

@ShannonChenCHN
Copy link
Owner Author

2017.08.21 ~ 2017.08.27

本周工作

  • 完成会员用户中心
    • 进度条
    • 卡片动画
  • 修 bug
  • 二维码图案优化
  • 会员中心新手引导
  • 埋点
  • 4.8 需求评估

下周计划

  • 完成 4.8 开发任务
  • 正则表达式(周一、周二)
  • runtime(周三)
  • Mantle 源码

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Sep 8, 2017

2017.08.28 ~ 2017.09.03

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Sep 9, 2017

2017.09.04 ~ 2017.09.08

本周工作

  • 会员中心收尾
  • 快照

学习

  • 如何写好一个列表
  • 架构

下周计划

  • 4.8 发版
  • 4.9 版本启动

下周学习计划

  • 架构、设计模式、ReactiveCocoa(以会员中心、社区为例)
  • 网络层(CTNetwork、YTKNetwork)
  • AFNetworking、Mantle
  • 计算机基础知识(数据结构、算法)
  • iOS 基础知识
    • runtime(周一)
    • 多线程(周二)
    • 网络(周三)
    • 内存管理(周四)

所遇问题

  • 非技术问题
    • 交流过程中情绪的控制
    • 对于需求评审,我们到底是在做什么
  • 技术问题
    • 如果严格按照我们平时所理解的 MVC 来划分,那么 C 就会专门负责业务逻辑,以及 V 和 M 的通信,比如 table view 的 cell 可以通过代理等方式来跟 C 通信,这样的逻辑会很清晰,但是会存在下面几个问题:
      • 随着 cell 的增多,定义的 delegate 方法也就越多,这样的话就需要写很多“通信代码”——定义一大堆 delegate 方法,然后实现他们
      • 如果把各个 cell 中的业务逻辑都传出来交给 C 去做,那么就会存在一个复用的问题,因为有些 Cell 或者 view 是可以在不同的页面中复用的(比如社区里的各种 cell),如果把点赞等逻辑跟着 cell 走,就可以少些很多重复代码,不用在每个 controller 中实现这些 delegate 逻辑
    • 会员频道首页的网络请求为什么要用 delegate 的方式来调用,而不是 block

感想收获

  • 在交流中碰撞出思维的火花:与人交流,才会有不一样的视角和启发,否则自己也不会有动力去提问题,容易陷入坐井观天的困境
  • 专业知识只是表象,真正重要的是基础(本质);技能和能力,真正重要的是能力专业知识和技能有可能会过时,但是基础和能力是不会变的
  • 心态和思维方式决定我们的言行,心态和思维方式又是由我们的认知所决定的

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Sep 24, 2017

2017.09.11 ~ 2019.09.17

本周工作

  • 改 4.8 版本的 bug
  • 基本完成 4.9 版本的开发任务
    • 挑战列表
    • 图文发布
  • 引入 In-App 网络日志查看工具 NetworkEye

学习、收获

  • 图片展示问题(contentMode)
  • 架构学习
  • 代码质量的疑问和思考
  • 学习 sed 脚本
  • 创建自己的 pods
  • 复习正则表达式

所遇问题

  • 适配问题

感想收获

  • 只要多动脑多动手,去解决问题、痛点,就能带来学习动力和工作激情

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Sep 24, 2017

2017.09.18 ~2019.09.24

本周工作

  • 完善 4.9 版本的需求
  • 基本完成新项目的架构搭建

学习、收获

  • 实现渐变色的几种方案
  • 自定义 collection view 的 layout
  • UICollectionView 的 insert/delete cell 的动画
  • 算法和数据结构
  • block 的递归调用
  • 架构学习

业界新动态

  • iOS 11 发布
  • iPhone X 适配

下周计划

  • 完善新项目的架构
  • 4.9 发版准备
  • 版本回顾,并抽取框架到 GitHub 上
  • 5.0 版本准备

学习计划

  • 深入研究(解决问题、达到目的)
    • 架构学习
  • 看书
    • Objective-C 编程之道
  • 知识点总结、查漏补缺
    • 数据结构和算法
    • runtime 总结
  • 源码学习
    • Mantle
    • YTKNetwork
  • 新的实践
    • MVVM
    • 前端开发

思考几个新问题

  • 为什么总是对自己要做的事没底?(估时,复盘,总结)
  • 如何保证正确的工作节奏?(番茄法,编码前写下思路、边界条件)
  • 我们为什么总是忙于写业务代码?真的是有写不完的业务吗?

感想收获

  • 要有的放矢,要明确自己的方向,不可眉毛胡子一把抓,人迷茫、矛盾的原因,就在于不懂得选择和舍弃,对于我们来说,最重要的不是把 100 件事做一遍的能力,而是把一件事做 100 遍的能力。一定要有自己的杀手锏。

@ShannonChenCHN
Copy link
Owner Author

2017.09.25 ~2019.09.29

本周工作

  • 完成西餐项目的任务

学习、收获

  • 架构学习

@ShannonChenCHN
Copy link
Owner Author

2017.10.05 ~2019.10.15

本周工作

  • 网络日志工具的改进
  • 西餐项目代码混淆调研
  • iOS 11 适配
  • 开始 4.10 版本的开发
    • 签到弹窗

学习、收获

  • shell 脚本的使用、sed、awk
  • Xcode 配置中的预编译脚本
  • 架构学习
  • 触摸事件的传递与响应

业界新动态

  • iOS 11 发布
  • iPhone X 适配

下周计划

  • 完善新项目的架构
  • 4.9 发版准备
  • 版本回顾,并抽取框架到 GitHub 上
  • 5.0 版本准备

学习计划

  • 深入研究(解决问题、达到目的)
    • 架构学习
  • 看书
    • Objective-C 编程之道
  • 知识点总结、查漏补缺
    • 数据结构和算法
    • runtime 总结
  • 源码学习
    • Mantle
    • YTKNetwork
  • 新的实践
    • MVVM
    • 前端开发

思考几个新问题

  • 为什么总是对自己要做的事没底?(估时,复盘,总结)
  • 如何保证正确的工作节奏?(番茄法,编码前写下思路、边界条件)
  • 我们为什么总是忙于写业务代码?真的是有写不完的业务吗?

感想收获

  • 要有的放矢,要明确自己的方向,不可眉毛胡子一把抓,人迷茫、矛盾的原因,就在于不懂得选择和舍弃,对于我们来说,最重要的不是把 100 件事做一遍的能力,而是把一件事做 100 遍的能力。一定要有自己的杀手锏。

@ShannonChenCHN
Copy link
Owner Author

2017.10.08 ~2019.10.15

本周工作

  • 网络日志工具的改进
  • 西餐项目代码混淆调研
  • iOS 11 适配
  • 开始 4.10 版本的开发
    • 签到弹窗

学习、收获

  • shell 脚本的使用、sed、awk
  • Xcode 配置中的预编译脚本
  • 架构学习
  • 触摸事件的传递与响应

业界新动态

这周没怎么关注。。。

下周计划

  • 完成 4.10 的开发任务
  • 找出代码混淆的最佳实践

学习计划

  • 深入研究(解决问题、达到目的)
    • 架构学习
  • 看书
    • Objective-C 编程之道
  • 知识点总结、查漏补缺
    • 数据结构和算法:队列、树、堆、哈希表
    • runtime
    • runloop
  • 源码学习
    • Mantle
  • 新的实践
    • MVVM

感想收获

  • 解决问题不要急躁,要静下心来找出问题背后的原理

@ShannonChenCHN
Copy link
Owner Author

2017.10.16 ~2019.10.22

@ShannonChenCHN
Copy link
Owner Author

2017.10.23 ~2019.10.29

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Nov 6, 2017

2017.10.30 ~2017.11.05

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Nov 12, 2017

2017.11.06 ~2017.11.12

本周工作

  • 完善城市指南
  • 基本完成 A/B 测试
  • 会员卡海报

学习、收获

  • 自定义 UICollectionViewFlowLayout,实现指定的 section header 持续吸顶的特效
  • Masonry 与自动布局

下周计划

  • 配合测试完善城市指南
  • 完善 A/B 测试
  • 完成会员招牌菜海报
  • 代码开源+总结
    • 提高效率
    • 提升性能
    • 解决问题

学习计划

  • 深入研究(解决问题、达到目的)
    • 架构学习
    • Masonry、自动布局
    • UICollectionView、IGListKit、XLForm
  • 看书
    • Objective-C 编程之道
    • 计算机是怎么跑起来的
  • 知识点总结、查漏补缺
    • 数据结构和算法:队列、树、堆、哈希表
    • runtime
    • runloop
  • 源码学习
    • Masonry
    • Mantle
  • 新的实践

感想

  • 如果觉得工作没有难度、没意思,可以自己给自己增加难度、提高要求,如果平时自己不去做一些有难度、有深度的东西,自己的能力就很难得到提升,面试找工作时也没有优势

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Nov 20, 2017

2017.11.13 ~2017.11.19

本周工作

  • UI 还原
  • 修复 bug
  • AB 测试
  • 埋点
  • 完成会员招牌菜海报快照

学习收获

  • IGListKit 源码学习
  • Masonry 的详细使用
  • 消息转发

下周计划

  • 准备 5.0 版本的开发

学习计划

  • Mantle 源码学习
  • 算法和数据结构学习
  • 计算机科学概论
  • iOS 知识点查漏补缺

感想

  • 工作之外的充电很重要
  • 做技术的能从中找到快乐很重要
  • 要有主动思维,而不是被动思维,所以我们主动为自己制定学习计划,而不是被业务代码、被需求牵着鼻子走
  • 除了自己平时经常接触的东西之外,还要扩大边界,比如图像处理、音视频处理、AI、楼市、理财.......

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Nov 26, 2017

2017.11.20 ~2017.11.26

本周工作

  • 修复一些小 bug
  • UI 还原

学习收获

  • 数据结构和算法
    • 队列
    • 哈希表
    • 二维数组
    • 静态数组
    • 有序表
  • 设计模式
    • 备忘录模式
    • 依赖注入(控制反转)
    • 依赖倒置原则
    • 状态(机)模式

下周计划

  • 优化城市之南的列表框架
  • 准备 5.1 版本的开发

学习计划

  • 完成算法和数据结构的学习
  • 计算机科学概论(TODO)
  • 网络是怎么连接的(TODO)
  • iOS 知识点查漏补缺
  • Mantle 源码学习

感想

  • 站在巨人的肩膀上——模仿轮子比埋头自己造轮子更有收获
  • 只有不断学习,不断更新自我才能得到真正的成长
  • 要学习的东西太多怎么办,抓重点才是关键,基础知识一定要弄明白,工作过程中不太明白的地方要花时间弄明白
  • 精力管理
    • 分清轻重缓急
    • 不要总是尝试清空 TODO List
    • 有节奏地安排任务:轻松-紧张-轻松-紧张 交替

@ShannonChenCHN
Copy link
Owner Author

2017.11.27 ~2017.12.03

本周工作

  • 优化城市指南的列表框架
  • 广场频道的 UI、接口数据解析

学习收获

  • 数据结构和算法
    • 二叉树
    • 二分查找树
    • AVL 树
    • 优先队列
    • 二分查找
    • 顺序查找
    • 插入排序
    • 八大排序概览

下周计划

  • 广场频道
    • 视频播放
  • 城市之南-城中优惠
    • 轮播效果

学习计划

  • 完成算法和数据结构的学习
  • 计算机科学概论(TODO)
  • 网络是怎么连接的(TODO)
  • iOS 知识点查漏补缺
  • Mantle 源码学习

感想

  • 不要性急
  • 良好的沟通很重要

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Dec 12, 2017

2017.12.04 ~2017.12.10

本周工作

  • 广场频道
    • 接口数据解析
    • UI 细节
    • 视频下载、缓存和播放逻辑
  • 附近商圈的轮播图效果
  • 我的券包小调整

学习收获

  • 数据结构和算法
    • 希尔排序
    • 选择排序
    • 堆排序
    • 冒泡排序
    • 快速排序
    • 归并排序
    • 基数排序
    • 广度优先搜索(WFS)
    • 深度优先搜索(DFS)
    • 算法设计思想
  • 视频缓存+播放逻辑的处理

下周计划

  • 广场频道
    • 视频加载逻辑完善
    • 解决含有视频的列表的滚动流畅性的问题

学习计划

  • 网络是怎么连接的
  • 视频相关知识的学习
  • Mantle 源码学习
  • iOS 知识点查漏补缺
  • 计算机科学概论(TODO)

感想

  • 不要性急,慢下来,良好的沟通很重要
  • 静下心来才能把事情做好,才能学的进去
  • 光完成功能是远远不够的,还需要深挖、优化

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Dec 17, 2017

2017.12.11~2017.12.17

本周工作

  • 修复 5.0 的 bug

学习收获

  • AVAssetReader 和 AVAssetReaderOutput
  • 列表滚动性能调优

下周计划

  • 准备 5.1 版本的开发

学习计划

  • 小程序
  • 网络是怎么连接的
  • iOS 知识点查漏补缺
    • 视频相关知识的学习
    • 网络相关、NSURLSession
    • 多线程相关、NSOperation、锁
  • 源码学习
    • Mantle
    • AFNetworking
    • MBProgressHUD
  • 计算机科学概论(TODO)

感想

  • 不要急,找好节奏
  • 万丈高楼平地起,基本功很重要
  • 定期查看 Bugly 崩溃日志
  • 写代码时要注意边界条件和异常安全性
  • 代码的质量取决于 3 点:规范性、完整性、鲁棒性。今天才发现,我平时把注意力更多地放在了规范性上,却没有意识到完整性和鲁棒性才是更重要的。

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Dec 24, 2017

2017.12.18~2017.12.24

本周工作

  • 开始 5.1 版本的开发
    • 完成首页瀑布流的 UI 调整
    • 基本完成会员中心容器的功能
    • 我的 YPASS 列表第一个 cell

学习收获

下周计划

  • 完成 5.1 版本剩余的任务
    • 切换城市的逻辑
    • 我的 YPASS
    • 咖啡特权
    • 酒店特权
    • 消费记录

学习计划

  • 小程序
  • 网络是怎么连接的
  • iOS 知识点查漏补缺
    • 视频相关知识的学习(TODO)
    • 网络相关、NSURLSession
  • 源码学习
    • Mantle
    • AFNetworking
    • MBProgressHUD(TODO)
  • 计算机科学概论(TODO)

感想

  • 查漏补缺,打好基础
  • 不要仅仅满足于实现功能,把分内工作做好是应该的,除此之外,还有有自己的亮点

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jan 6, 2018

2017.12.25~2017.12.31

本周工作

  • 5.1 版本的开发
    • 切换城市的逻辑
    • 我的 YPASS
    • 咖啡特权
    • 酒店特权

学习收获

下周计划

学习计划

感想

  1. 开发效率的提升在于:
  • 专注
  • 流程化:技术评估,UI 构建(复用性越好,效率越高),API 联调,数据解析
  1. 2017 年又过去了。

@ShannonChenCHN ShannonChenCHN changed the title 周报 周报(一) Jan 6, 2018
@ShannonChenCHN ShannonChenCHN changed the title 周报(一) 周报(2017) Jan 6, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant