October 29th, 2008 by 张磊
图书的ISBN有两种编码,一种长度是10位的,另一种是13位的。两者其实是可以用特定的算法相互推导的,关键在于最后一位校验码的计算。昨天研究了一下,感觉很简单: 先说10位计算到13位,以卓越亚马逊上一本《投资学》为例。10位的isbn编号是7111165616,转化到13位,遵循下面的算法: 去掉最后一位,在最前面加上978,变成978711116561 从第一个数字起,求每奇数位的和,记为a。9+8+1+1+6+6 = 31 从第二个数字起,求每偶数位的和,记为b。7+7+1+1+5+1 = 22 求a+3b,记为c。c = 97 求10-c并对结果取10的模,(10-c)%10 = 3。这就是校验位,加在第一步结果的最后。得到13位编码为:9787111165613 从13位到10位的计算方法更简单。同样是这本《投资学》,13位编号是9787111165613,现在想把它转化位10位,可以这样做: 去掉开头的”978″和最后一位校验码,变成711116561 从第一位开始,将每一位和10到2的数字相乘,并求和;7*10 + 1*9 + 1* 8 + 1*7 + 1*6 + 6*5 + 5*4 + 6*3 + 1*2 = 170;记为c 求11-c并对结果取11的模:(11-c)%11 = 6;如果结果是10就记为X,然后把算出来的一位加到第一步结果的最后,得到10位编码为:7111165616 计算的方法比较简单。我用ruby做了一个小工具可以方便地计算,可以在这里下载。 用法: require ‘isbn_format’ a = IsbnFormat.new “711165616″ a.isbn10 #=> “711165616″ a.isbn13 #=> “9787111165613″ 构造时的参数可以用10位或13位的isbn,也可以带有横线,比如7-1111-6561-6。有可能会抛出ArgumentError,如果参数的长度不对的话。
September 17th, 2008 by 张磊
UPDATE:这本书被大家买到没货,现在已经有货啦,想要的同学们快来。 同事发现了一本经典好书,《深入理解计算机系统》,在卓越只卖10块钱。忍不住写blog推荐一下。 这书很厚,有将近900页,在卓越居然只卖10块钱,而且还不收运费。太值得买一本回来压箱底了。卓越上的评论也不错,大家都称这书经典。
April 25th, 2008 by 张磊
电话里的子宁总会抱怨技术上的东西不那么容易学,那些技术方面的书们也确实没那么容易让人很快上手。Thomas曾经推荐过一篇控制论方面的白话文章,写得实在不错。在Web开发或是别的技术方向上,怎么没见过这么牛的白话文呢? 不过对事物的理解总是循序渐进的过程,读别的方面的书也许对现在的难题有好处。今天就推荐给一些我看过的别的书,课外图书。整理的过程我也发现,自己精神生活还是比较丰富的。(卓越亚马逊现在还一直免邮费,所以每本书都加上了卓越网的链接。我的这些书,大多都是从卓越亚马逊买的) 像赫本一样优雅 我2006年10月读到了这本书,它不是一个简单的赫本画传,更多的内容是赫本背后的故事。虽然我是男的,但还是很喜欢这本谈如何做个女人的书。第一次见到Jennifer时,就送了她这本书。 中国哲学简史 作者是冯友兰。我买的是中英文对照的版本,因为这本书本就翻译自冯友兰的英文讲稿。大学里大家都要学马哲,大多数人都是在老师辩证唯物主义的催眠曲中混过去的。但是这本《中国哲学简史》一点都不枯燥,像是在讲故事,把古代的哲学家和他们的理论们真正充实了起来。alone某次上课带了这本书去,以后就经常拿在手里。 魔鬼投资学 在寒假里我读了这本《魔鬼投资学》,其实在车上读到前言我就被深深吸引了。这本书到处体现着作者多学科的思维和眼光,从伍兹调整挥杆动作看投资中的长期目标和短期目标、求证陷阱、新旧企业的竞争等等,薄薄一本书,读起来颇为享受。封面说它与《魔鬼经济学》、《世界是平的》齐名,可惜后面两本书我都没机会好好读。 宏观经济学 在任何一个书店搜索“宏观经济学” ,都会有一大堆书跳出来。可能是因为专业方面的书都会直接找国外图书的阴影版或翻译版(实在对我们国内的出版物没什么信心了),所以在搜“宏观经济学”时也刻意地找翻译过来的版本。于是找到了这个。我只是为了补充点知识,远远没有上升到“学”的高度,所以也无法评判书的好坏。可以肯定的是,它很通俗易懂。(或者是我理解能力太好了?) 少写一点,明天还能出一期
December 20th, 2007 by 张磊
昨天的比赛,结果出来了,我是三等奖,在14个作品里是第7。先前听到现场同学的消息,以为自己会在前面几名的。不知是评委修改打分了还是怎么了。不过拿奖就赚,运气尚可。 读书改变生活。昨天晚上去卓越亚马逊上买了3本书,现在在琢磨寒假时怎么把厚书运回山西呢。 貌似是去年初看alone买的一本《程序员》,上面说算法方面的书籍时,提到了这本《算法导论》。alone后来借阅过这本书,说上面全是数学,很难理解。而我则看过另一本《计算机程序设计艺术》,感觉确实高深。 不过时代变了,在这一年里,虽然我没有在数学上有啥研究,可是在其他方面觉得有很多进步。总认为人对事物的理解像是一个“层次遍历”的过程,所以现在买来再读,不知道能不能读懂。算法方面的书,和前面说的C语言的书一样,经典著作很难过时。 这本书我也提过很多次了,我没读过。只读过它的第一版。第一版给我的感觉是,rails实在太神奇了。我先从图书馆借来,然后看着不过瘾,自己又去网上买了一本。现在我也经常在上课时拿去教室看。如今,第一版已经被我翻来覆去读了许多次,前些日子也开始了一些实践。但看到这个第二版,还是忍不住买了。图书馆里找不到,也不知道崭新的rails会有怎样的不同。而且,价格还比第一版贵了60%。 这本书本来没打算买,偶然看到却吸引我了。因为最近的一个项目里要用到这两样东西:Ajax&rails,这本书无疑是个好教材。同时里面的script.aculo.us和rails的版本都不算旧。要去上课了,就写到这里吧