从滴答清单实习回学校后就一直呆在实验室里。实验室的氛围真是相当不错。感觉已经爱上这里2333。每天朝九晚十一,回去了一群程序猿还组队跑步。

# 物联网实验室

回来这段时间一直在学习,各种工具和框架,对前端工程化的理解也加深了。在写毕设的同时,负责了实验室的一个小项目,给大三的学弟学妹们搭建了前端开发的大体架构。使用了gulp等构建工具,同时让每个人都熟悉了一下git分支管理操作。每个人都在远程仓库建立了一个自己的分支,同时每个人都在本地的对应分支>进行开发工作。当一个功能模块完成,将代码push到remote repo中自己的分支,然后发起一个merge request,指派给我,我进行统一合并操作。在这个过程中,我通过看他们写的代码,如果发现有错误或者需改进的地方,就可以直接反馈去,这样比以前实验室每个人都将代码push到master分支,降低了代码冲突的可能性,增加了团队合作的科学性。

# 工具

工欲善其事必先利其器。

在滴答清单实习的过程中熟悉了OS X开发环境,熟悉了命令行操作,惊叹OS X各种工具好用到爆。比如Quicksilver,iterm等等。回到学校再用windows,想要自杀(好吧,电脑的原因= =||)。与此同时,从之前的sublime text换了Atom,虽然俩编辑器不差上下,不过还是有很大区别。Atom是Github为开发者量身打造的一款编辑器,它是用js开发的。它本身就是一个浏览器,这样就很好地解释了它上面的工具相当繁荣的原因。同时它有一个类似npm的包管理工具apm,可以直接在命令行中运行。现在写的markdown也是在Atom上写的,爱不释手。

命令行工具用的是iterm2,真是相当不错的一个终端工具。在体验了几天的bash过程中,发现cd的时候好慢,于是发现了zsh,一个字,爽。同时装上wd等插件,敲起命令行简直棒棒哒。

# 前端

在滴答清单实习的时候熟悉了backbone.js这个轻量的MVC框架,在体验过程中,给我的感觉就是,将model和view分离,实现了前端模块化开发,不过缺点是,监听数据的改变和dom操作需要我自己实现。在回到学校后,开发写毕设,目光转向了vue.js这个轻量的MVVM框架。在一周的体验过程中,了解了webpack这个模块解决方案,同时发现vue.js真是相当好用,最大的特点就是数据双向绑定。同时它只着眼于view层,这使得它特别轻量。这也是它和angular.js最大的区别。angular.js算是一个完整的框架,从路由到数据请求到VM完全都封装到了一起。之前在学习angular的时候确实遇到了一些问题和坎,通过学习vue.js让我对angular中一些概念也理解更深。

不过通过一些vue的扩展模块,也实现了angular中的功能,vue-resource数据请求,vue-router控制路由,同时使用webpack进行模块管理,使得项目开发变得极其高效和简便。

接下来一段时间会对这段时间所接触到的一些工具和技术做一些个人总结。

# 吐槽

毕设自选题目真是自己给自己挖坑跳啊T_T