抓虾帮你轻松订阅、收藏、分享博客和新闻等。 订阅 关闭
梦想风暴 一个小程序员的信口开河
共有170篇 | 以下是第41-50篇 | 只浏览标题 <   1   2   3   4   5   6   7   8   9  >  
作为一个程序员,获取知识是让我不断前进的动力,而读书是我获取知识的一条重要途径。在这个“经典”、“必读”过剩的年代里,大多数的书都仅仅扮演着传播知识的角色,真正改变自己对某些问题看法的书其实少之有少。限于读书时的眼界和能力,在我列表中,让我拍案惊奇的书只有几本。Martin Fowler的《重构》,严格说来,我并没有完整的读完这本书,不过,正如作者自己所说,这样的书原本就不指望能够读完,因为有一大部分其实是参考手册。正是我读过的部分让我知道了重构,让我知道这么做可以把代码写得更好。Robert Martin的《敏捷软件开发》,这是一本名字赶潮流,内容很丰富的书,这本书让我开始理解软件设计,从此...
 展开
发给朋友   转到小组   (打标签) 收藏   推荐  
XRuby:享用JVM上的Ruby

在InfoQ China发了一篇介绍XRuby的文章。其实,对于之前听过我介绍XRuby的人来说,这篇文章的内容并不新鲜,因为基本上,这篇文章的内容脱胎于之前介绍XRuby的讲稿。虽然讲了几次,但还是应该把这篇文章写出来。一来,到场听介绍的人毕竟是少数,写出来看到的人应该可以更多,也让更多的人有机会了解XRuby,再有,内容写成文章需要比演讲时有更多的思考。所以,整体来说,内容叙述应该会更加准确。

这是一篇早就该写的文章,至少最初答应霍泰稳写这篇文章还是5月份的时候,7月份录我 InfoQ访问的时候,又答应...
 展开
发给朋友   转到小组   (打标签) 收藏   推荐  
编译与解释 查看全文   2007-10-10 14:55:03
如果我们想将程序设计语言编写的源代码运行起来,通常情况下,我们有两条路可以走:解释和编译。

计算机能够认识的只是01串,所以,我们编写的源代码要想真正启到应有的作用,必须经过转换,转换成一种可执行的格式,然后,由专门的执行引擎将它运行。

解释,通常是将源代码解析为一个中间形式(比如抽象语法树,AST),然后,经由一个软件的执行引擎执行这个中间形式,产生对应的结果。这种做法的好处就是可以把执行逻辑独立处理,无须为每个平台编写不同的代码,所以,这种做法的可移植性很好,于是,它成了不少程序设计语言最初的选择。不过,随之而来的问题就是这会降低执行速度...
 展开
发给朋友   转到小组   (打标签) 收藏   推荐  
今天是一个发布的日子,XRuby发布了0.3.1,Ruby Hacking Guide中文版发布了第一部分。 XRuby 0.3.1

相比于前一个版本,XRuby 0.3.1最大的进步在于完成标准库的预编译。预编译意味着什么?标准库代码无需在每次运行时编译,这意味着今后使用XRuby的标准库性能会得到一定的提升。

有一个与编译相关的话题。之前,Jon Tirsen曾经谈到JRuby的一个问题,运行在AppServer中会有占用太多内存。经过分析得知,为了提高程序的并发性,程序运行会启动多个JRuby。每个JRuby解析Ruby脚本都会建立一...
 展开
发给朋友   转到小组   (打标签) 收藏   推荐  
《管窥Ruby——类的变量》写在去年,写成之后便更新了一次,因为最初的描述存在一些偏差。即便如此,jxb8901依然指出了其中的一些不足。最近,dennis-zane再次提出了这个问题。回过头来仔细品味,确实有些地方写得不是很到位,索性把它重新写过。 管窥Ruby——类的变量

变量和方法是面向对象难以割舍的两个重要组成部分。在《管窥Ruby——类的方法》中,我们谈到方法,沿着这条路继续,我们再来看看类中的变量。

开始之前,我们还是要再次回顾RClass的定义:
struct RClass {
  ...
 展开
发给朋友   转到小组   (打标签) 收藏   推荐  
今天下午,和Darwin聊了一下C++单元测试框架,主要参考对象是CppUnit和CxxTest。

表现形式
因为C++不支持reflection,所以,必须要做一些额外的工作,让框架知道相关内容的存在。CppUnit的做法是用宏进行注册。这种做法要求我们每添加一个测试,就要考虑用相应的宏进行注册,这种做法很繁琐,最大的问题在于由于疏忽而遗漏,这种靠人工保证的东西不可靠。在这点上,CxxTest做得要好一些,有一个专门的脚本做这件事。通过这个脚本扫描这个自己编写的文件,生成一些新的文件,完成这个工作。从代码的表现力和可靠度来说,要好得多。唯一的问题是引入了...
 展开
发给朋友   转到小组   (打标签) 收藏   推荐  
XRuby一岁了! 查看全文   2007-09-10 15:25:41
一年前,yawl将自己用业余时间做了一年的项目开源了,这就是XRuby。
XRuby project is now hosted on Google Code
有人愿意做Ruby Compiler么?

我就是那时加入XRuby的,依然记得最初见到这个项目时的兴奋,转眼,一年过去了。从2007年1月29日0.1.0发布至今,我们一共发布了7个版本。XRuby正逐渐变得越来越有样子:代码越来越干净,功能越来越强大。

XRuby是我第一次真正全身心投入参与的一个开源项目:常常为自己漂亮的解决了一个问题而自豪,也时常为解决方...
 展开
发给朋友   转到小组   (打标签) 收藏   推荐  
做了一件让自己觉得不可思议的事情,在班加罗尔的Geek Night用英文讲XRuby。

这周早些时候,在办公室遇到了Sidu——我在西安办公室见过他。周五有个班加罗尔Ruby User Group的活动,叫 Geek Night,Sidu是活动的组织者。之前,他知道Ola会来,于是安排Ola介绍JRuby。当他看到我的时候,才知道我也来了班加罗尔,于是邀请我也一起参加活动。我问他,我是否需要准备什么,他建议我做一个XRuby的介绍。Ola会有一个45分钟左右JRuby方面的介绍,所以,我需要做的只是一个简单的XRuby介绍。很合我意,因为要用英文讲,所以,如果讲多了,...
 展开
发给朋友   转到小组   (打标签) 收藏   推荐  
交流技巧 查看全文   2007-08-28 00:49:59
在ThoughtWorks里,交流是工作中非常重要的一个部分,在这里工作时间越长,这一点感觉得越加明显。今天,和我们团队中的一个人聊天,他教了我一些交流上的技巧,这里做一个简单的备忘。事实上,他教给我的远不止这些。

交流中,最大的障碍就是双方是否真的理解了对方的意思。造成误解的原因可能有很多:
* 双方都认为自己理解了问题,但这种理解可能并不一致。
* 因为背景不同,所以,双方对达成一致所基于的假设是不同的。
* 语言之间的障碍,这点我最近颇有体会
* 双方对问题理解的深度不一致

同事交给我的...
 展开
发给朋友   转到小组   (打标签) 收藏   推荐  
写在迪拜机场 查看全文   2007-08-24 14:17:07
写下这篇blog时,我在迪拜机场。没错,阿联酋迪拜。

起因是要到印度参加培训。ThoughtWorks通常会对入司的新员工进行一些培训,使其更加了解公司的文化和做事的风格,其中很著名的是TWU。不过,TWU是给毕业生预备的,所以,我没有机会参加。我去参加的是另外一个课程。不同于TWU固定在印度,这个课程的培训地点是变化的,这次刚好在印度的班加罗尔。

要去印度,我却出现在阿联酋,是的,我是来转机的。只要有些地理常识都会发现这条路线极其诡异。据 Jessie的blog记载,她是这条诡异路线的始作俑者。早几天去TWU的几位同事是通过新加坡转机,至少...
 展开
发给朋友   转到小组   (打标签) 收藏   推荐  
<   1   2   3   4   5   6   7   8   9  >