第一次使用 AngularJS 是在 2014 年,那时候正在做一个回合制的手游项目,编写后端的同时,也顺手编写了 GM 工具和 Web 页战斗模拟工具,为了方便,整个工具全部写在一个页面中。页面交互全部使用 jQuery 完成,写到中后期,已经被获取表单数据、绑定事件、修改 DOM 元素折腾得不行。于是尝试了 AngularJS ,整个人都感觉不一样了,完全是像写后端代码一样写前端代码。尤其是双向数据绑定,实在是解决了 GM 工具等管理平台中的痛点——大量数量的处理。AngularJS 结合 Bootstrap,简直是编写管理后台的大杀器。
可是随着单页应用的规模越来越大, AngularJS 的劣势也日益明显,虽然服务可以实现 JavaScript 代码的复用,但这还不够。指令虽然实现了 JavaScript 和 HTML 的复用,使用又太过繁琐。双向绑定虽然方便,但这种随意到处修改值的结果就是值变化了你也不知道是哪里改的。代码文件的组织,也只能按照 JavaScript / HTML / CSS 分别组织。文件打包最多用用 Browserify + Gulp。无论从本身的技术,还是从社区的环境来看, AngularJS 的确已经是过去的技术了。
去年的时候,已经开始陆续试用 React 和 Vue 1.x ,React 的热更新、彻底的组件化、完整的 ES6 支持,实在是让人兴奋。不过我始终没有习惯 JSX ,而 Vue 1.x 的革命性又稍显不足。但 Vue 2.0 的面世,彻底征服了我,博取众家之长,新的生态工具的支持,在简单的尝试之后,很快便投入了 Vue 2 的怀抱。现在的管理后台,基本都是 Vue + Element-ui 的组合。
转移到 Vue 2 便可以在整个项目中使用 ES6 了。最喜欢的还是简洁的箭头函数和放心使用的局部变量,再加上 eslint 的强制语法检查,让所有人都编写格式一致的代码。唯一不爽的就是我喜欢的 'sid' === name
的写法要放弃了。
Elasticsearch 的确是所有的后端开发人员都该试一试的技术,让人震惊的速度,与生俱来的备份机制,几乎完全零配置开箱即用, DSL 可能相对 SQL 要复杂一些,但入门也还好。
有了 Elasticsearch ,与数据存储和统计相关的事情,几乎都不再是问题。在 MySQL 中有了几百万数据,想要流畅的查询统计,就得开始规划字段建立索引了,在 Elasticsearch 中完全不用考虑,更何况它的统计功能经甩 MySQL 无数条街。还不提 Elasticsearch 最强大的检索功能。
Elasticsearch 是今年让我最有幸福感的技术。
前不久一个项目,需要获取图片 hash,查了一下 Python 这方面的库比较丰富,于是看了一下 Python 的语法就上手了,花了半天工夫折腾出来。后来看到还有 Go 的版本,便也试了一下。运行结果有点震惊,Go 比 Python 快了至少 5 倍,果然 CPU 密集的事情,还是编译语言比较拿手。Go 的 defer 和强制代码格式 gofmt,给我留下了深刻的印象。感觉是时候开始一个新的后端语言了。
原计划是准备放弃 VirtualBox,不过 Docker 并不能方便的执行各种 linux 命令,它更偏重于代码的运行环境,而我现在又基本不再掌控后端,所以对我的意义已经不大。Docker 最终便没有用到工作之中。
SourceTree 现在是越来越慢了,而且经常需要打开关闭项目 Tab 之后才能发现文件修改,启动也很慢。终于我开始了新的 Git GUI 工具的选择,最没有抱希望的 Github Desktop 却是我最终的选择。超出想像的快,简洁的界面,虽然不支持 ssh key 登陆,功能也比较简陋,但只要速度快,小问题是可以忍受的。
已经用了两三年 Coding.NET 了,以前码币容易挣的时候,还换了件 T 恤,开始是个人使用,后来推广到团队使用,出了企业版后,还动员公司也付了费。但现在免费用户取消了 Coding Pages 自定义域名功能,后来还限制五个私有项目,这让 Coding.NET 成为了另一个被放弃的服务。
2017 的最后一天,用 Gogs 搭建了自己的 Git 服务,花 6 块钱把 n 年前的花生壳账号做了个认证,开始了自建之路。
作者:不可能不确定