在Nonblocking I/O中最重要的也就是三个类
引用java.nio.channels.SelectableChannel
java.nio.channels.Selector
java.nio.channels.SelectionKey
1 SelectableChannel
默认情况下channels是阻塞的.我们可以设置一个channel为nonblock的,可是并不是所有的channel都可以设置为nonblock的,比如file channels就不能设置为nonblock.所有提供nonblocking I/O的类都是SelectableChannel的子类.
我们 ...
Grizzly看起来很诱人的说..
http://www.scribd.com/doc/267405/-Java-NIO-with-Grizzly
离职手续办的真慢,没办法的说,不过下周开始就不需要上班了,最近发觉脑袋一直很沉,看书也看不进去,昨晚丁家猫同学告诉我,我才知道是大脑缺氧,我那边的工作环境就不说了,太封闭了,窗户都打不开,简直就和棺材一样,自己晚上睡得也比较晚。而且也有3,4年都没锻炼过了,准备周末去打打球,不然工作什么的效率太低了。。
比如很简单的一个斐波那契数列,如果纯粹从数学上来说,那就是
引用f(n)=f(n-1)+f(n-2)当n>1时,而n=0时f(n)=0,当n=1时,f(n)=1
很容易我们就可以直接翻译为程序:
(define (f n)
(cond ((= n 0) 0)
((= n 1) 1)
(else (+ (f (- n 1)) (f (- n 2))))))
这就是数学公式直接翻译为程序。从数学的角度来看,这个程序很完美,和上面的数学公式一模一样。可是从计算机角度来看这个程序非常的不好,那是因为会做很多重复的计算。
自己在这里 ...
PS:最近都没怎么写blog,主要是忙着离职手续,和手头上的活的交接。
这个是在reddit看到的,就是一些很好的书的缩写:
引用AIMA = Artificial Intelligence a Modern Approach by Stuart Russell and Peter Norvig
AMOP = The Art of the Meta Object Protocol by Gregor Kiczales
ATTAPL = Advanced Topics in Types and Programming Languages by Benjamin C. Pierce
A ...
原文在这里;
http://www.douban.com/review/1325850/
里面说的是这本书
http://www.amazon.com/o/ASIN/0073523402/102-9052822-5114543?SubscriptionId=1100889MK2XY9PSTV5G2
引用
这是本很新的书,06年末发行,07年才慢慢出现于人们的视野。我在08年初得知这本书,那会我还很奇怪:都什么年月了,怎么还有人写算法教材——这么“经典”的工作,不是上个世纪就被人做完了吗。
读了这本Algorithms,我才知道:这才是我心中的算法书,我等待这样一本书已经很多年 ...
工作的事情终于告一段落了,就要去广州了,这边厦门的离职手续正在办,希望能早点办完,其实也不能说现在的公司怎么怎么不好,只能说不适合自己吧,虽然和项目组的兄弟们呆的时间不长,只有1年,可是彼此之间还是很投机的,自己有时说话不对的,这里给兄弟们道歉了。
这次找工作,要多谢dennis_zane同学了,我也说不出啥感谢的话,一切尽在不言中了。
说起来很奇怪,记得当年我是最不想去的城市就是广州了,没想到自己反而去了广州,真是造化弄人,无数个路口,无数个结果,不知道这次会发生什么事情.
5点打开pplive,落后0:1,我就知道没什么戏了,每年都期望欧冠有突破,每年都让人那么失望,不过运气也太不好了,一到关键时候,受伤的受伤,没状态的没状态。不过没关系,明年再来,不过中场我觉得老爹改买几个人了,阿奎拉尼,迪亚拉,夸雷斯马,我觉得都不错,维爱国还是卖了吧。
馒头决定要辞职了,虽然我是个坚定的倒曼者,不过还是祝福他,一路走好,毕竟还是带给过我们很多欢乐。
http://www.uefa.com/competitions/ucl/news/kind=1/newsid=671079.html
引用The 43-year-old broke the news in the con ...
这是一个好朋友送我的,最近工作的事弄得有点烦,拿出来再次自勉一下:
引用心如规矩,志如尺衡,平静如水,正直如绳。
LLVM全称是 Low Level Virtual Machine
引用LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations of all sorts, including those that require extensive interprocedural analysis. LLVM is also a great target for front-end development for ...
在ruby1.9中增加了External Iterators这中新的迭代类型,所有的Enumerable 都是External Iterators.而在ruby1.9之前的版本中的迭代都是internal iterator。
何为external iterator呢,其实我认为也就是一个生成器了:
iterator = 9.downto(1) # An enumerator as external iterator
begin # So we can use rescue below
print it ...
比如下面一个文件 people.txt
引用name,age,weight,height
"Smith, John", 35, 175, "5'10"
"Ford, Anne", 49, 142, "5'4"
"Taylor, Burt", 55, 173, "5'10"
"Zubrin, Candace", 23, 133, "5'6"
我们的目标是什么呢?我们的目标就是实现类似于Rails中的Builder模块所做的事情,假设我们第二行数据 对象为a,那么我们可以通过a.name,a.age等等来得到他所对应的值:
class DataRecord
def se ...
今天没事看blog的时候,看到一个小子实现了这个,不过他的程序写的那叫一个丑陋,实在是看不下去,就自己写了个.
原理很简单,那就是首先将要检测的方法重命名掉,然后动态定义一个相同的,这时他就会调用我们定义的这个方法,这时我们就可以检测参数的类型的,检测如果成功,在最后调用我们刚才重命名过的那个方法:
class Object
class << self
def check_type method_name,*arg_type
raise ArgumentError, "method_name is missing" unless new.res ...
很早的文章了,转自这里:
http://www.ruanyifeng.com/blog/2007/12/joel_spolsky_talk_at_yale_part_i.html
这里也有节选:
http://blog.csdn.net/pongba/archive/2007/12/05/1918649.aspx
把两个的结合起来了,不过pongba老大的文笔更风趣,哈哈.
后来,Joel回忆起来,认为这是他一生中最痛苦的日子,并且劝告计算机系的学生尽可能不要去做“in-house programmer”。
原因有三个:
引用 首先,你永远没有办法正确地编写软件,你不得不用最方 ...







评论排行榜