摘要:
之前用C++实现一个不限长度的整型,为了让这个整型在行为上尽量与int类似,我重载了‘<’、‘>’、‘==’和‘!=’四个符号。记得当时的一个困扰就是这几个函数的代码几乎是重复的,而且微小的区别很容易一不小心就出错。感觉当时是急于实现一个“真”类型,想都没想就“选择”重复了:-( 刚才阅读go语言的nat类型(无符号不限长度的整型)实现,因为go语言不提供操作符重载,所以他们很自然地定义了cmp函数来实现比较操作。 一拍脑门儿,在我的C++实现里用cmp会不会更好? 定义cmp函数的通常做法就是通过返回一个int值来表述比较结果(比如:返回负数,表示小于;正数,大于;零,等于)。这 阅读全文
摘要:
我觉得这几周学到了很多和以前所知不太相同的东西,大致记录一下。 最主要的一个方面,源自下面这段代码: type stateFn func(*lexer) stateFn for state := startState; state != nil; { state = state(lexer) } (这里是YouTube视频地址:http://youtu.be/HxaD_trXwRE; 演讲的稿子在这里:http://rspace.googlecode.com/hg/slide/lex.html) 这段代码是用go语言写的(go语言在大部... 阅读全文
摘要:
今天出去散步,打算给期末中的自己疏松一下,把杂碎的近忧放到一边。寒风,蓝天。 明年的六月应该能毕业;如果不打算接着读博,我就打包回府。先不想读博,如果毕业之后来到上海、北京这样的城市开始求生,我是到小公司谋职,还是去大公司?去大公司可能吗?也许我可以自己创业,先写几个手机应用程序练手?写个真实有用的应用需要多和普通用户交流吧;坐上的士就问司机“师傅,您现在用的什么手机啊”?但感觉我不是能与随便一个陌生人就聊起来的人;经验说,到了现在这个年纪(二十出头),逆着自己的性子做事效率太差。……该怎么办?! 快到公园了,我想到两个词:consumer(消费者)和producer(生产者)。再走了... 阅读全文
摘要:
在阅读了几天的有关HTTP协议的文档之后,我对HTTP是个什么东西有了比原来更具体的认识。但我并没有记得多少技术细节,因为RFC的文档中太多的细节容易使初读者半途迷路,所以我常常略去它们。总结如下: HTTP现在在我的脑子里主要包含这些内容: * Connections(HTTP连接)——建立连接,持续性连接,关闭连接; * Messages(HTTP信息,包含request(请求)/respon... 阅读全文