0%

Go是一门语法以Less is More为哲学的语言,以简单易学为设计目标,致力于写出比Java还千人一面的符合工程要求的语言。GC、没有泛型、简单到没有的错误处理等等,都使得我这种不会管理内存,智商跟不上泛型,只要Try就Catch不到的小学生能够每天拼接一下字符串,勉强过得了生活的样子。但是,不信任用户的同义词就是只信任自己:“不让你用是怕你搞砸,至于我?我怎么可能搞砸?”。为了方便那些Go Author,他们早就给自己开好了后门。但是这些技巧最大的作用就是茶余饭后的装逼资本了,毕竟在项目里用了很可能就被买腿了。但是话说回来,黑魔法一般作为禁招也能够帮你绝处逢生,离开你地球就停转,从而保住饭碗。

阅读全文 »

Golang是一门工程语言,语法元素很少很容易掌握。从而,只要不是太扯的人写出来的代码理应相差不大,并能够很快被人理解。泛型在现代编程语言中被广泛使用,这里不谈Go缺失泛型是否是一种糟糕的设计,纯粹前段时间在gvisor的代码中看见一种实现泛型的方式比较新奇,因此拿来记录一下。

阅读全文 »

Shodowsocks是一个小有名气的代理工具,主要致力于减小流量特征,从而达到GFW无法对其进行定向的封杀的目的。Shadowsocks有多种语言的实现,本着学习一下原理的心态,看了一下其用Go版本的实现细节。

阅读全文 »

在Golang的基础中我们知道在用append的时候,或者Slice底层数组小于需求容量的时候,Go会自动重新分配内存,随之带来的有一次值拷贝。在数据量小或函数调用不频繁的时候对性能的损失并不明显,但是如果在高频率调用或者数据量大的时候,性能损失不能忽略不计。

阅读全文 »

最近在碰到一个很奇怪的问题,Go get工具在下载golang.org/x/tools下源代码的时候总是失败,但是以前并没有这个问题。Chrome已经使用了Shadowsocks穿墙,但是直接访问这个URL后发现在显示Nothing to see here之后就跳转到了文档页面。本以为是Google Code关闭带来的影响。不过时间过去了一周,并没有改善,奇怪的是老外对此并没有哀嚎遍野。为此有必要看一下go get到底发生了啥了。

阅读全文 »

第二次开始填坑,没有压力真没有动力。老是觉得这样不行那样不行,直到To Do List的堆栈爆了还没动一点点,那还不如开始动手做。上次的进度是认识了实模式,并成功进入了32位模式下,启用了分段的内存管理,打开了保护模式,然后用指针操作了个Demo就草草结束了。

阅读全文 »

书买了半个月了,也看了前几天的量了。不过一直没动手敲代码,那便不算开始罢。书看得出日文版截稿比较早,内容环境还是基于WinXP(貌似写的WinXP都是时新货的样子XD)光盘附带的工具看得出都是Linux下的一套,Qemu,make,gcc,Makefile。之前架设这个博客的时候就受过惨痛教育(Hexo基于Node.js,上传工具用Git。在windows下用起来,别扭不说,突出一个蛋疼。)于是准备在Debian下部署环境。

阅读全文 »

买BandwagonHost的VPS已经很久了,现在主要也是给朋友用。随着SS名声的变大,搬瓦工这个名字也在圈子里响当当了。用多了加上墙的变高,上海精品网等等的出现,速度越来越不理想。想来国内Azure还在免费,所以拿来搭个跳板机,速度应该会有一些提高。

阅读全文 »