Skip to content

colourful987/2018-Read-Record

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6d5b035 · Dec 23, 2018
Apr 1, 2018
Mar 4, 2018
Apr 1, 2018
May 3, 2018
Jun 11, 2018
Jun 30, 2018
Jul 31, 2018
Aug 30, 2018
Sep 29, 2018
Dec 23, 2018
Nov 30, 2018
Dec 18, 2018
Dec 13, 2018
Jan 31, 2018
Dec 5, 2018

Repository files navigation

2018年学习历程记录

Learning Recording Timeline

Theme: RunLoop主题、年度整理 Source Code Read Plan:

  • MachPort的设计思路以及写Example;

  • Main RunLoop 默认添加了哪些 Mode,各适用于哪些场景;

  • GCD Dispatch 的MachPort是怎么玩的;

  • RunLoop 的休眠,休眠时候真的什么都不做吗?那视图渲染呢?

  • Window 的 UI 渲染更新机制,是放在RunLoop哪个阶段做的;

  • 昨日的 CFRunLoopDoBlocks 执行的是?

  • RunLoop 的使用场景有哪些,具体实现又是怎么样的?

  • GCD 为什么会有个 gcdDispatchPort?

  • Observer 休眠前、休眠后等事件可以玩一些什么花样呢?

  • 2018 十一月学习记录

Theme: 编译器/解释器 Source Code Read Plan:

  • 实现一个计算器解释器;
  • 实现pascal解释器 ;
  • 指标平台公示解释器;
  • AST source to source 解释成诸如C语言的其他形式,或者是自定义一门标记语言解释成OC的button或是html的元素;
  • 编译器的话,可能就是要基于 source to source 到汇编或者C代码,再用对应的编译器编译成可执行文件。

十一月份的完成度较高,专注度也不错,另外每日会读一些杂书,比如关于物理、天文、逻辑等方面知识,对拓展思维很有帮助,毕竟每日满脑的编程是很无趣且限制思维的。

Theme: 待定 Source Code Read Plan: objc_msgSend 收尾,另外实现以下知乎和App Store中的几个转场动画。

Core: 温顾了编译器/解释器相关知识,对于一个非科班出生的半吊子程序员,感觉收获还是蛮大,但是心中自知浮于表层,收效甚微。现在想来帮主之前分享读书经验时曾道:一鼓作气,再而衰,三而竭,读书亦是如此,虽知枯燥乏味,但仍久坐书桌前。11月尝试下,不说钻研,但求专心。

Theme: Computer underlying knowledge && Custom UIViewController Transitions (收尾) Source Code Read Plan:学习了 objc_msgSend 汇编实现,实现了一些Custom UIViewController Transition。 Reference Book List:

Summary:本月学习到的收获主要是转场动画,以及最近几天的 asm 学习,收获颇丰,对理解堆栈,内存对齐,指令调用等等都算是近了一步。说实在的,汇编入门难,毕竟偏底层,暂时没有实际应用场景过,基本都停留在分析已有的源码上。

Theme: Custom UIViewController Transitions TransitionWorld写了一些转场动画。转场其实考验的是交互设计,代码上尽管实现起来也稍有难度,但是如果分解成各个子动画,还是都能写出来,感觉转场动画在复用上实在...比较困难...很难统一

Theme: JS Native Communication 总结: 阅读了 WebViewJavascriptBridge ,JSPatch部分源码,然后又稀里糊涂开始补 raywenderlich 网站上的 tutorial,看了 AVPlayer 的两篇文章,以及 NSOperation 使用等;如何封装一个 framework 入门文章非常推荐,不仅学习如何构建一个framework,又能学习cocoapods制作pod的一个过程。

不好的点:感觉学的东西依旧很杂,没有章法,实际记住的东西也非常有限,感觉始终在门口溜达转圈,并非是瓶颈,而是一种迷茫,希望八月能够走出来。

Theme: 待定 Source Code Read Plan: Reference Book List:

完成了如下内容:

  • AppLord

  • 《THE INNOVATORS》本月看了三分之二

  • 《Curious git》

Theme: Charts For Stock Source Code Read Plan: Charts
Reference Book List: 《Just For Fun》

Theme: Low-programming(Compiler & Interpreter)
Source Code Read Plan: Charts
Reference Book List: objc App Architecture
总结:本月2/3时间都是学习如何实现一个简单的解释器,基于 BNF 巴克斯-诺儿范式来写解释器,Tokenizer -> Lexical Analyzer -> Syntax Analyzer -> Interpreter。总的来看,本月完成度一般,最终没有实现自己的一门语言,这个会补上。

Theme: 计算机底层知识
Source Code Read Plan: Aspect
Reference Book List: 《Code》《程序员的自我修养》
总结:本月略感成就的是写了关于如何用 C语言实现面向对象编程,文章传送门

总结:杂记

感想

前言:一月中旬萌生了记录日常学习经历的想法,那时候看到各位大佬都在总结 2017 年的收获以及展望2018。而自己回顾过去,学了很多,也忘了很多,感觉进步着实不大,拿不出任何值得称道的作品。为此,我再三思索之后,决定按月指定大计划,每月指定一个主题,或是一些目标:要看的书或文章,完成一个小作品等,规划好大方向后开始一步步实施,最终达成每月成就。目前来看,事实证明这种方式是非常适合我,不必受外界过多“打扰”,分散注意力,而是在月初制定的大方向中学习和探索,要知道新技术不断冒泡,而我的精力是有限的,不可能一会学习 AI,一会又是区块链,这么说并非意味着我闭门造车,而是暂时将其加入关注列表中,可能会为其制定一个Theme,抽空了解一番。

当然目前也遇到了一些问题,比如制定的计划和实际完成度稍有偏颇,效率感觉不算很高,工作时间之外挤时间学习真得很不容易,坚持更不容易。

不过遇到问题就要解决问题,计划可以实时校准修正;效率不高对于我来说是因为喜欢分屏Coding,目前可能会摒弃这一做法,我的注意力总是不自觉地会被吸引过去;周六周末少睡会懒觉出去泡泡图书馆,找个安静的咖啡馆Coding,既可以增加可利用时间,又能够养成好的生物钟。—— pmst 2018.04.01

About

2018 Read Record, Monthly or Weekly Update

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published