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