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

随想录(三) #80

Open
13 tasks
ShannonChenCHN opened this issue Oct 5, 2017 · 17 comments
Open
13 tasks

随想录(三) #80

ShannonChenCHN opened this issue Oct 5, 2017 · 17 comments

Comments

@ShannonChenCHN
Copy link
Owner

ShannonChenCHN commented Oct 5, 2017

“未经反思的生活不值得过。” ——苏格拉底

从这个 issue 开始,记下对自己每天的生活的一点思考,虽然之前也一直在记事本上记,但是更喜欢 Github 的排版和清净。

随想录系列

Checklist



好习惯

  • 坚持每天写作、写日记
  • 坚持每天学英语、用英语
  • 坚持记账
  • 坚持记笔记
  • 坚持阅读
  • 坚持不断摸索、探索、实践
  • 坚持做好每一件事的原则
  • 坚持不断反省、积极改进、更新自我
  • 坚持敢于接受挑战的态度

每天/周都要看的(回顾、检查一下,自己的行动方式是否正确,执行是否到位)

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 5, 2017

2017/10/05 周四

今日回顾

  • 完成《淘宝技术这十年》阅读笔记

明日计划

  • 理发

学习计划

  • 了解业界新动态
  • 深入研究(解决问题、达到目的)
    • 架构学习
      • 杂谈 MVC...之 MVP、MVVM
  • 源码学习
  • 知识点总结、查漏补缺
    • 算法、数据结构学习
  • 读书
    • 计算机科学概论
    • Objective-C 编程之道
  • 产出(解决了什么问题,有什么好的创新优化)

碎片化阅读

1. 读放翁的《一个阿里巴巴码农的六年回眸》

作者大概讲了下自己六年来在阿里的一些经历,我个人比较感兴趣的还是文章最后的问答。

  • 怎么看待老板?
    • 老板就像老婆,他能容忍你的个性就是最大的幸福
    • 要换老板的时候看看离开了他是否一样找不到“幸福”,如果是,那么问题在你,“离不离婚”其实不是那么重要。
  • 怎么看待晋升?
    • 对晋升的人来说
      • 有时候不多想反而就成了,事在人为,不强求,尽力争取就行了
      • 挫折未必是坏事,心态要好
    • 对 Leader 来说
      • 给兄弟们创造更好的环境,你不是管人来的,你是来“创收”的,管人谁都会,“创收”才是真本事
      • 让兄弟放心的去做事,自己做好各种准备来帮助到他们
  • 怎么看待带人?(这个以后估计会用得上)
    • 让每个人都能够满意和满足就需要让所有人认同这个团队要做的事情,以及每一步的结果都是团队的结果
    • 靠“管”其实不太靠谱,更多的是靠“感染”
    • 先让自己相信,别人才会相信,每个人都相信了,人就不是“管”出来的。
  • 怎么看待技术兼顾业务?
    • 最重要的是代码背后的思考和理解,做业务也好,做架构也好,要放空自己
    • 学会看问题的本质,要有自己的方法论
    • 要有设计思想
  • 如何学习技术
    • 不用急着什么都学,珍惜每一次不同工作的机会,挖深做细,几年以后回过头来原来自己积攒了那么多
    • 码农活下来很容易,活的好不容易,好像各行各业都是这样,所以码农和其他行业的人一样,技能仅仅是一方面,更重要的是人的素质和能力,你要活的被动,那么生活就会赶着你走,你要活的主动,那么你就可以走走看看。

2. 读放翁的关于技术从业从哪一端开始落地

  • 一个毕业生要对技术做选择,优先是考虑自己的兴趣
    • 自己了解一个领域,非常喜欢投入,那就不要管别人说什么,每一行做到极致都是牛逼的,否则都是混日子的。
  • 资深开发和普通开发最大的区别是什么:重构代码次数的多少
  • 了解 -> 掌握 -> 熟练 -> 喜欢 -> 深入、创新

我只想说,做技术的人,刚毕业很多时候可能都不知道喜欢什么,那么没问题,做了再喜欢,但是1年内都是工具的熟悉,2年开始就差别出来了,有些是用工具的,有些开始修工具了,3年开始基本有能力的就自己造工具了。别管别人说什么重复造轮子的事情,重复造一个轮子的部件开始先大胆的做,谁说hadoop里面不能自己写组件替换他默认的组件。
希望每一个爱技术的人,让工具熟悉就想筷子一样,不动脑子也会用的很溜,剩下的就是不断的让自己的好奇心在技术上凸显。

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 7, 2017

2017/10/06 周五

今日回顾

  • 完成《杂谈:MVC/MVP/MVVM》的第二部分
  • 理发
  • 🏀

明日计划

学习计划

  • 了解业界新动态
    • InfoQ
    • 公众号
  • 深入研究(解决问题、达到目的)
    • 架构学习
      • 完成《杂谈:MVC/MVP/MVVM》的第三部分
  • 源码学习
  • 知识点总结、查漏补缺
    • 算法、数据结构学习
  • 读书
    • 计算机科学概论
    • Objective-C 编程之道
  • 产出(解决了什么问题,有什么好的创新优化,创造了什么价值)

阅读

读『落地机器学习前,我们应该思考清楚的几个问题

  • 机器学习适合解决什么样的问题?

    • 应用案例:杀手级应用互联网广告、电商内容平台推荐、风控欺诈识别以及共享出行
    • 应用范围:解决复杂的预测优化问题
    • 对于企业来讲,应当思考业务环节中任何涉及优化策略的业务都可以尝试实践机器学习,比如新产品目标用户推广、销售策略优化、客户流失预警等等
  • 企业落地机器学习的最佳路径是什么

    • 以目标为导向,快速响应,持续演进,这一点其实跟我们做其他技术是一样的道理

    始终以业务优化作为指导,无论是任何一个步骤,都需要思考是否是有利于达到最终的优化目标。最佳路径是在构建整个流程管道和平台的同时,力争快速部署模型到系统中去。当模型部署上去之后,通过反馈结果再持续的迭代和改进机器学习平台和整个管道,此过程中没有必要去追求完美的模型和完美的系统,快速响应业务和持续演进能力是关键。

  • 在落地机器学习的过程中,企业应该注意避开哪些坑?

    • 目标清晰、简单、可量化。这一点对于我们个人的行动也很有指导意义。

    学习目标应尽可能的简单以及可以量化,如果目标定义模棱两可,很难想像能做出很好性能的模型。

读『《阿里巴巴Java开发手册》背后的故事

接手别人的代码时,因为没有注释,变量名五花八门,模块之间逻辑关系如麻,弄得满头雾水,一脸茫然,痛定思痛之后不得不推倒重来,这些都是不注重编程规范造成的,事倍功半。

宜未雨而绸缪,毋临渴而掘井

国内的开发者大多重技能,轻规范。此前有这么一个段子,程序员A和B,A每天只写100行代码,字里行间规范清晰,其余大部分时间都在整理文档,备注的非常详细,B每天写50000行代码,却很少写注释,天马行空,为此还嘲笑A不够高效。随着业务越来越复杂,客户需求随时可变,两个人都开始组建团队,这个时候,功夫不负苦心人,A之前的努力都派上了用场,B只能佩服加惭愧。

编程规范,对于程序员而言,不是要靠强制约束,更关键的还是要让其从认知,思想觉悟上提高,骨子里意识到规范也是一种生产力

现在软件发展到现在,只是造一句hello world走天下的时代,已经过去了,需要团队紧密协作。

编程风格的不一致,明显影响了团队研发效能。

个性化应尽量表现在代码质量和算法效率的提升上,而不是对于合作规范上纠缠不休的争论。

有时候,就是一个规定,就像交规靠左行,还是右行一样,大家这么做了,协作效率自然就提升了,正所谓无规矩不成方圆,无规范难以协作。

简单,适用的代码规约背后,所传递的是技术上的追求卓越,协同合作的精神,是每个技术团队不可缺失的重要利器。

每个人在未来的世界,最重要的不是做的多久,而是在于做的多好

都说普通程序员到优秀程序员的过程,无非就是量变到质变的过程。其实不然,代码多少行才会产生质变,很难量化,但是如果没有深度地思考,就是写再多的代码也是枉然。就像一个泥水工,如果没有胸怀,没有思考,永远只是垒砖头的。

对于任何一个项目,从重要性上来说,分为核心业务、非核心业务。前者更重视产品文档、技术方案、规范化编程。从需求时效上来说,分为临时性需求、长远型需求。临时性需求,相对来说更加讲究快速实现、快速迭代。而长远型需求,一定要考虑到,可能由不同的人在不同的阶段进行开发,这个时候的效率和质量就会受到很大的挑战。

其实,任何事情,都是一个度的哲学问题。如果只写文档,代码编写效率低,不行;如果天马行空,只写代码,不写任何文档和注释,更不行,表面上诗意盎然,事实上是暗流涌动。这就需要权衡好代码和文档,两者都要抓都要硬。

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 8, 2017

2017/10/07 周六

今日回顾

  • 学习 MVVM 和 ReactiveCocoa
    • 链式语法
    • 函数式编程
    • 响应式编程
    • ReactiveCocoa

明日计划

学习计划

  • 了解业界新动态
    • InfoQ
    • 公众号
  • 碎片化阅读
    • Limboy 的博客
    • Draveness 的博客
  • 深入研究(解决问题、达到目的)
    • 架构学习
      • 学习 MVVM 的应用
      • 完成《杂谈:MVC/MVP/MVVM》的第三部分:MVVM
  • 源码学习
  • 知识点总结、查漏补缺
    • 算法、数据结构学习
  • 读书
    • Objective-C 编程之道
    • 计算机科学概论
  • 产出(解决了什么问题,有什么好的创新优化,创造了什么价值)

阅读

1. 读『架构师(2017年10月)卷首语:论AI时代的融合型人才

  • IT 人才分为两种:
    • 优秀的工程型人才:熟悉计算机系统和理论,有1-2门拿手的语言,能写出优雅而高效的代码,设计高可用的架构。讲究快、稳、准,应对千亿压力而从容自如
    • 优秀的算法型人才,精通各种数学公式和推导,了解各种优化理论,对于一个或者多个领域的模型有深入的研究。讲究深、精、妙,直达事物之本质而化繁为简
  • AI 需要融合型的人才:
    • 工程型人才,如果不懂一点算法,那么做出来的系统依然和AI绝缘,只怕是再快也无济于事
    • 算法型人才,如果不懂一点架构,那么写出来的算法、设计出来的模型,在大数据下根本行不通,再精妙也不过是纸上谈兵

@ShannonChenCHN
Copy link
Owner Author

2017/10/08 周日

今日回顾

  • 学习 MVVM 和 ReactiveCocoa
    • 完成了两个 demo
  • 🏀

明日计划

  • 网络日志工具的改进

学习计划

  • 了解业界新动态
    • InfoQ
    • 公众号
  • 碎片化阅读
    • Limboy 的博客
    • Draveness 的博客
  • 深入研究(解决问题、达到目的)
    • 架构学习
      • iOS Architecture Pattern
  • 源码学习
  • 知识点总结、查漏补缺
    • 算法、数据结构学习
  • 读书
    • Objective-C 编程之道
    • 计算机科学概论
  • 产出(解决了什么问题,有什么好的创新优化,创造了什么价值)

阅读

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 9, 2017

2017/10/09 周一

今日回顾

  • 网络日志工具的改进
    • 新增请求耗时功能

明日计划

  • 着手 5.0 版本的开发

学习计划

  • 了解业界新动态
    • InfoQ
    • 公众号
  • 碎片化阅读
    • Limboy 的博客
    • Draveness 的博客
  • 深入研究(解决问题、达到目的)
    • 架构学习
      • 完成 《iOS Architecture Pattern》中 MVP、MVVM、VIPER 部分的学习
  • 源码学习
  • 知识点总结、查漏补缺
    • 算法、数据结构学习
  • 读书
    • Objective-C 编程之道
    • 计算机科学概论
  • 产出(解决了什么问题,有什么好的创新优化,创造了什么价值)

阅读

1. 读『架构师(2017年9月)卷首语

文章中提到了一个“技术圈追赶潮流”的问题,看到区块链 ICO 火了就去追,看到 AI 火了,也要追,看到微服务架构火了,也不能落下,这种现象并不少见。
学习新事物不是坏事,但是盲目跟风并不是件好事。就像作者所说的那样,“先不要看大众的走向,静下来,反思一下自己的需求去做选择......我们要做的,就是不要停止学习”。

我们要海纳百川,去学习各种知识,但是学习了之后用不用、怎么去用,这些是需要另外思考的问题。但往往这个应该另外去思考的问题就被“看现在主流怎么样,就跟呗”给简单地解决掉了。运气好的话,各方面条件相适应,你就能在目前得到相应的好处,运气不好的话,那就是你跟错了风、随错了流,也许就要感冒,也许就会溺亡。

当一个架构师在做技术选型的时候,先不要看大众的走向,静下来,反思一下自己的需求去做选择。众人追捧的,可能是明星,也许是传销。那到底用什么标准去判断这个“风”要不要跟,也许永远找不到。我们本身也并不在技术上站队,只是不停地分享各家的理论与实践;而你要做的,就是不要停止学习。

@ShannonChenCHN
Copy link
Owner Author

2017/10/10 周二

今日回顾

  • 代码混淆
  • iOS 11 适配预调研
  • 5.0 版本需求会

明日计划

  • 着手 5.0 版本的开发

学习计划

  • 了解业界新动态
    • InfoQ
    • 公众号
  • 碎片化阅读
    • 操作系统
    • 网络
    • iOS 相关
    • iOS 逆向
    • Limboy 的博客
    • Draveness 的博客
  • 深入研究(解决问题、达到目的)
    • 架构学习
      • 完成 《iOS Architecture Pattern》中 VIPER 部分的学习
  • 源码学习
  • 知识点总结、查漏补缺
    • 算法、数据结构学习
  • 读书
    • Objective-C 编程之道
    • 计算机科学概论
  • 产出(解决了什么问题,有什么好的创新优化,创造了什么价值)

阅读

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 15, 2017

2017/10/11 周三

今日回顾

  • 代码混淆调研

问题与收获

  • shell 脚本、awk、sed 脚本
  • 在 Xcode 中配置预编译时的脚本

@ShannonChenCHN
Copy link
Owner Author

2017/10/12 周四

今日回顾

  • iOS 11 适配
  • 4.10 任务启动

@ShannonChenCHN
Copy link
Owner Author

2017/10/13 周五

今日回顾

  • 4.10 签到弹窗的开发
  • iOS 11 导航栏按钮适配问题

收获与问题

  • 触摸事件的传递与响应

@ShannonChenCHN
Copy link
Owner Author

2017/10/14 周六

今日回顾

  • 完成 iOS Design Pattern 的研读

收获与问题

  • MV(X) 与 VIPER 架构

@ShannonChenCHN
Copy link
Owner Author

2017/10/15 周日

今日回顾

  • 读『Model object - Apple Developer Documentation』
  • WOWO 英语沙龙

明日计划

  • 5.0 版本的开发
  • 完成签到弹窗

学习计划

  • 了解业界新动态
    • InfoQ
    • 公众号
  • 碎片化阅读
    • 操作系统
    • 网络
    • iOS 相关
    • iOS 逆向
    • Limboy 的博客
    • Draveness 的博客
  • 深入研究(解决问题、达到目的)
    • 架构学习
      • 研读 iOS 架构谈
  • 源码学习
    • Mantle
  • 知识点总结、查漏补缺
    • 算法、数据结构学习
  • 读书
    • Objective-C 编程之道
    • 计算机科学概论
  • 产出(解决了什么问题,有什么好的创新优化,创造了什么价值)

阅读

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 16, 2017

2017/10/16 周一

今日回顾

  • 基本完成签到弹窗部分的任务(除 loading 动画外)

问题与收获

  • NSDate 和日期处理问题
  • 签到动画(CAShapLayer、UIBezierPath、CABasicAnimation)
  • Mantle 转换时的数据类型映射
  • 因为使用了 autolayout,所以设置背景渐变色需要在 layoutSubviews 中,但是这样设置代码就比较分散,是否有更好的办法?
  • MVP

明日计划

  • 完成签到弹窗部分
    • 签到按钮 loading
    • 弹完这一次需要清掉数据
  • 开始做金币兑换部分

学习计划

  • 碎片化阅读、了解业界新动态
    • 泛读源码
    • 资料
  • 深入研究(解决问题、达到目的)
    • 架构学习
      • 研读 iOS 架构谈
  • 源码学习
    • Mantle
  • 知识点总结、查漏补缺
    • 事件响应
    • 链表、队列
  • 读书
    • Objective-C 编程之道
  • 产出(解决了什么问题,有什么好的创新优化,创造了什么价值)

阅读

@ShannonChenCHN
Copy link
Owner Author

2017/10/17 周二

今日回顾

  • 给签到弹窗的签到按钮添加 loading 动画
  • 配置文件新增签到弹窗开关
  • 个人主页弹窗逻辑

问题与收获

  • @available
  • 签到按钮 loading 动画、DGActivityIndicatorView
  • CAReplicatorLayer

明日计划

  • 个人主页签到按钮的图片展示逻辑
  • 开始做金币兑换部分

学习计划

  • 碎片化阅读、了解业界新动态
    • 泛读源码
    • 资料
  • 深入研究(解决问题、达到目的)
    • 架构学习
      • 研读 iOS 架构谈
  • 源码学习
    • Mantle
  • 知识点总结、查漏补缺
    • 事件响应
    • 链表、队列
  • 读书
    • Objective-C 编程之道
  • 产出(解决了什么问题,有什么好的创新优化,创造了什么价值)

阅读

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 18, 2017

2017/10/18 周三

今日回顾

  • 更换个人主页签到 icon
  • 新增金币页面 scheme 配置
  • 我的金币
    • 我的金币
    • 金币明细

问题与收获

  • 优雅地使用 KVO:KVOController、blocksKit
  • MVP + Protocol
  • autolayout 是否对 transform 有影响?
  • loadView 方法的使用

明日计划

  • 研究遗留问题

学习计划

  • 碎片化阅读、了解业界新动态
    • 泛读源码
    • 资料
  • 深入研究(解决问题、达到目的)
    • 架构学习
      • 研读 iOS 架构谈
  • 源码学习
    • Mantle
  • 知识点总结、查漏补缺
    • 事件响应
    • 链表、队列
  • 读书
    • Objective-C 编程之道
  • 产出(解决了什么问题,有什么好的创新优化,创造了什么价值)

阅读

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 22, 2017

2017/10/20 周五

今日回顾

  • 我的金币
    • 金币明细小调整
    • 金币兑换页

问题与收获

  • 文字排版
    • UITextView 和 UILabel
    • UITextView 的 lineTextAttributes 属性
    • NSMutableParagraphStyle

下周一计划

  • 金币兑换页的弹窗
  • 提测,修复 bug

学习计划

  • 碎片化阅读、了解业界新动态
    • 泛读源码
    • 资料
  • 深入研究(解决问题、达到目的)
    • 架构学习
      • 研读 iOS 架构谈
  • 源码学习
    • Mantle、Aspects
  • 知识点总结、查漏补缺
    • 事件响应
    • 队列
  • 读书
    • Objective-C 编程之道
  • 产出(解决了什么问题,有什么好的创新优化,创造了什么价值)

阅读

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 24, 2017

2017/10/23 周一

今日回顾

  • 金币兑换页的弹窗
  • 提测

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 24, 2017

2017/10/24 周二

今日回顾

  • 完善我的金币部分
  • 埋点

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