最近闲下心来,重新折腾了一下GitLab,相比起一两年前折腾起GitLab的痛苦经历,各种Ruby环境配置以及依赖包的问题,搞得人一心想放弃。如今,GitLab的安装包安装起来真是方便多了,使用官方提供的Omnibus package,可以在两三分钟的时间搭好GitLab,可以看到GitLab作为一个开源产品,是一直在不断进步的。
聊聊Go中的Range关键字
Go中的range关键字使用起来非常的方便,它允许你遍历某个slice或者map,并通过两个参数(index和value),分别获取到slice或者map中某个元素所在的index以及其值。
终极退烧利器 HHKB Pro Type-S入手与开箱
序
从2013年入手HHKB Pro2至今,使用了接近3年时间的HHKB,也写了一篇跟HHKB相关的开箱文《码农神器HHKB Pro2入手与开箱》,引来无数同学围观,也让不少同学中毒不浅……
从HHKB的长时间使用体验来看,HHKB确实是一款相当不错的键盘,尤其是Unix方式的键帽布局,特别适合在Unix/Linux/Mac OS系统下使用,Control键和Esc键的位置,也特别能俘获Vimer的芳心。
经常还有同学问HHKB能否在Windows下使用,答案是:不建议。考虑到Windows下对F1-F12功能键,以及方向键的重度依赖,HHKB用起来会比较别扭,因为只能靠组合键来实现。所以想在Windows下体验静电容键盘的同学,还是建议入RealForce了。
Blog搬家到Vultr
Blog又半年没更新了,荒草丛生,这半年中,blog连续搬了几个地方,从最早的DigitalOcean,搬到了OneAsiaHost,原因是因为DigitalOcean最近也比较卡。DigitalOcean我一直选的SFO机房,不过也是遇到线路抽风,ping从来没下过300ms,SSH过去也卡卡的,遂放弃之。
手动编译安装Nginx
攒机记
我人生中的第一台PC机,是初中毕业的时候购入的,由于是人生中第一台电脑,我还清晰的记得当时机器的配置:
- CPU: Intel Pentium II Processor 233MHz with MMX
- 硬盘: 昆腾 BigFoot 4.3GB
- 内存: 32MB (是的,你没看错,就是32MB)
- 显卡: Trident 9750 3D Image
- 光驱: Philips 16X
- 显示器: Philips 15寸
记得买机器的时候正值98年,也正是用电脑看VCD比较流行的时候,当时超级解霸成为电脑必装软件之一。这台机器作为当时比较不错的配置,花了大概8300RMB。这台能够玩很多的游戏,比如:Quake2,古墓丽影,极品飞车,世界杯足球98,仙剑奇侠传……
我也还记得,每当小伙伴来围观这台新电脑的时候,发出的惊叹:哇,硬盘4.3G这么大,我家的才600多MB…
Revel应用部署的经验
关于Revel
Revel是一个高生产力的Go语言Web框架,原型是由Java的Play! Framework演变而来。其实除了Revel之外,Go语言的Web框架已经有很多了,这里就不再一一列举。就Revel框架本身而言,已经具备和提供了一些非常不错的特性,比如支持运行时的代码热编译(Hot Code Reload),提供诸多的组件,包括:路由, 参数解析, 验证, session/flash, 模板, 缓存, 计划任务, 测试, 国际化等功能。
虽然目前Revel正式release的版本还只是v0.12.0版本(2015-03-25 - Daffodil release),不过此框架已经有被应用到生产环境中的实际案例,并且并发性能良好。因此,Revel也成为我们最近一个项目的首选框架。
Vim-Tips.com第二版介绍
回想上一次的Blog更新,已经是去年9月份的事了,时间过得很快,2014还未来得及回味,2015已经匆匆而至。哥在去年学Go的时候,就有了一个计划,准备把之前那个用Rails实现的Vim-Tips.com改版,并重新用Go实现一遍。
其实,这已经不是Vim-Tips.com历史上的第一次改版了,下面是之前的几次更新记录:
这次由于全部用Go重写了,所以称之为“第二版”…
大致在去年六月底,我就开始了这样的尝试,并在Github上建立了仓库,开始搭建网站的框架。直到最近,终于算把Vim-Tips.com的第二版用Go给重写了,其实工作量算不上很大,因为工作繁忙的缘故,重写的中途暂停拖延了好几次,再加上时不时的拖延症复发,重写整站竟然跨了小半年的时间。不过回味一下重写的整个过程,还是挺有乐趣的,一边想着各种功能的实现,遇到问题一边google一边寻找解决办法,也算是对自己技能的一次提升吧。
第二版的站点,用Go的Martini框架实现,后台数据库依旧是MongoDB,Go有一个很有名的第三方模块:mgo,提供对MongoDB的访问支持。