我的 2017

恍恍惚惚的,又一年过去了,又到了写年终总结的时间了。

学习

说到学习,这一年学到最多的是开始慢慢的脱离某些学生思维。开始全面的思考问题,对做什么事情都先有一个计划,而不是一股脑的做。就像是编程,应该大部分时间用来思考,而编码实现只是最后的一步操作。

开始慢慢的接触一些能够提升效率的工具或者方法,例如年初开始学 vim,虽然说写代码的时候效率的瓶颈并不在敲代码的速度上,但是 vim 的确对编程的体验提高不少。

下半年开始学着用番茄工作法管理时间,提高注意力。目前来说效果还不错,就是有时候番茄间的休息我还是继续在干自己的时候,这一点做得不是很好。毕竟代码一写起来并不是那么好停的。

虽然今年不是太关注 commit,但是依旧还是有着蛮多的记录的。写得比较随性,但是因为太久不写自己会觉得堕落,觉得好像少了点什么,所以总体也只是比去年少了那么一点。

2017 commit

从零开始的 Mac

Code Geass

题图是现在的壁纸 Code Geass (没错,就是反叛的鲁鲁修中的 Code Geass)

昨天乱搞把电脑搞炸了,然后又误操作把系统格掉了。悲剧.. 除了在 Github 上的代码其他什么东西都没有了,心疼收集了那么久的电子书..

然后只能重装系统了,想想也好.. 是时候清理清理电脑了,正好借着这个机会整理一下。一开始使用简直烦到不行。没有安装罗技的鼠标驱动,鼠标按键无法打开 Launchpad,虽然可以用键盘快捷键,还是觉得很不舒服。还有一个很重点的是没有 Alfred,简直变得生活不能自理了。然后还有很多好用的工具要重新安装,找原先的 iTerm2 配色找了半天.. 所以说论备份的重要性..

最后我选择了 Quiver

作为一个不折腾会死星人,笔记软件也是我的折腾目标之一。

在此之前的纠结中我选择了为知笔记,为什么我不选择印象笔记呢?原因很简单,它对 Markdown 不支持,而我又是特别讨厌用富文本编辑器的。习惯上都是在笔记软件中写博文,然后写到差不多了粘贴到 Hexo 中然后发布。用印象笔记显然并不友好,虽然说我也可以直接在其中用 Markdown 语法写,但是那样代码块就没有办法高亮了。

万恶的BOM: 与 \ufeff

最近在搞一个 Sass 文件的编译插件,主要使用 node-sass 来进行编译,在这过程中遇到一个蛮坑的小问题。

在不压缩的情况下使用 node-sass 进行编译的样式文件没有什么问题,可以正确的编译出该有的样式。可是当进行压缩时,就出了问题了。压缩后的文件莫名奇妙的在文件最开头多了几个奇怪的字符:

Redux 源码解析

三大原则

  • 单一数据源(store)
  • state 只可读(只能通过 Reducer 生成新 State)
  • 使用纯函数执行修改(Reducer 必须为纯函数,无副作用)

Vim 全局搜索插件:ctrlsf.vim

这两天一直在看文档看源码,Vim 上用的 Ack.vim 做全局搜索,但是用起来蛮难用的。

经过一番搜索,找到了国人写的全局搜索的插件:ctrlsf.vim,经过配置之后用了起来,感觉蛮好用的。

具体效果可以查看 ctrlsf.vim

到达杭州

折腾了好几天,终于到达杭州了。原本昨天就应该入职的,活生生得等到下周一。

一个人在外面最怕的就是找地方吃饭了。安排的酒店在宝龙城市广场附近,但是一个人实在是不想去商场里面吃那些东西。问了一下小伙伴的建议,跑去附近吃了个麻辣烫。

从零开始写一个 React:初始化渲染

『从零开始写一个 React』 将会是一个小系列,记录学习 React 源码的过程,并逐步实现一个简易的类 React 库。

这是本系列的第一篇文章,该文章将阅读 React 初始化渲染相关的代码,并实现一个简单的将 JSX 渲染到页面的功能。(不包括组件生命周期与事件处理相关部分)