随笔分类 -  杂谈

1
摘要:远超预期的惊喜在出行前的一天拿到这本书,翻了几页,感觉不错,心里很有些纠结。要出远门的原因,衣物和工作设备之外的东西要尽量精简。 书籍方面反复挑拣,正在读和很想读的几本书,也都只好先放下,最后带上了这本新书和一本工作用书。在飞机上拿起这本书后,一边读,一边用笔勾划记录,三小时的班程,一气读完了半本。 然后在大巴、城铁和地铁上,一直到放下行李,阅读到半夜,翻到附录C结束,才满足的放下。这么多年来,只有三本书给过我这样的体验:编码的奥秘、《设计模式》(GOF),和这本 Ruby元编程。 如果考虑编码的奥秘不算技术书籍(科普或教育类),那么本书和《设计模式》是仅有的两本。动态语言的《设计模式》事实上 阅读全文
posted @ 2012-02-18 11:02 计算机技术 阅读(329) 评论(0) 推荐(0)
摘要:JSON-Framework 和 JSONKit 都是Objective C 平台上比较常用的 JSON 数据访问工具。我经手过的项目中,这两个组件都用过。在JSONKit的主页上可以看到,JSONKit 的性能远优于JSON-Framework(即SBJSON),而使用上JSONKit也非常简单,这也得到了包括我在内的大多数同行的欢迎。但是在使用功能上,到底这两个工具有什么差异呢?我昨天索性写了一个小程序对比了一下。程序很简单,同一个json文件,用这两个工具做转换,包括自反和交叉实验,主要是考察它们在功能上的差异,还有就是是否有什么隐藏的缺陷、陷阱等。#import <Foundat 阅读全文
posted @ 2012-01-17 20:24 计算机技术 阅读(1663) 评论(0) 推荐(0)
摘要:在我十几年的职业生涯中,曾经在一家北大青鸟培训中心做过半年多的教师。 虽然对同行称我"刘老师",我有过一个开玩笑的解释, 但是其实这段经历才是这个称呼的由来。作为程序员,不是总有机会上讲台,所以一直想给自已做个总结。但是我实在太懒。居然四年以后才动手。有亲友曾经说我适合当老师,因为讲起话来滔滔不绝,又精通各路掌故。自已当初去求职,也有过类似的动机, 觉得终于可以施展身手。确实,讲到某段内容时,引出一个有关的笑话,引得学生们笑声连连,精神振奋, 确实是件有成就感的事情。但是如果一周之内,你要对三四批不同的学生,按同样的方式把同一个笑话重复几次, 心理其实是挺疲劳的。最初创造幽 阅读全文
posted @ 2012-01-07 02:43 计算机技术 阅读(203) 评论(0) 推荐(0)
摘要:我所知道的IT术语中,没有比“NOSQL”更糟糕更混乱的了。甚至它超过了面向对象、软件工程和设计模式。后三者至少还大大繁荣了出版业、硬件制造业,提供了大量的开发人员就业机会。基本上你对这个潮流有一些基本的了解,就会知道,所谓的“NOSQL”运动,大多数是指的非“关系数据库(Relational Database)”。所以,它应该叫“NORDB”更准确一些。我们看看这几年出现的,“NOSQL”的主要口号:不使用外键关联、不使用固定字段格式MapReduceKV数据库牺牲一致性和完备性,提高性能使用API接口,而非文本方式访问这里我只列举了想到的一些,欢迎大家补充。我们可以看到,除了最后一条,其它 阅读全文
posted @ 2011-01-05 21:28 计算机技术 阅读(183) 评论(0) 推荐(0)
摘要:上一篇博客动态语言会导致开发质量下降吗?,尽管没有我想像的那么多争议,但还是如期引发了一些误解。有一些朋友指出动态语言,具体来说是 Python 中的各种问题。这些我认为是大部分是正确的。我写上文的用意,在于讨论动态语言使用过程中,关于质量控制的必要性,以及其引发的性价比方面的争议。这并不表示动态语言全面的优于静态语言,更不表示静态语言会被动态语言全面的取代。进一步,这里我简单的说一下,我所认识到的,静态语言相对的优越性,和存在意义。这里首先我表达一下我一贯的观点:计算机不会魔法。具体来说两方面,一是离机器越近,性能上越有可能达到更快;二是目前的机器模型,总是以线性方式管理数据的(值得吐槽的是 阅读全文
posted @ 2011-01-04 17:54 计算机技术 阅读(227) 评论(0) 推荐(0)
摘要:编译了一个,有很多有意思的东西Release Note在此。列举几处我比较有兴趣的:基于 epoll/kqueue 的IO可以生成 LLVM 代码翻新了大量模块,特别是线程或异常阻塞有关的ghci 现在完整支持 import支持 haskel 2010 ,但是新标准可能会与传统的 base 模块冲突,建议使用ghc/ghci时用以下命令屏蔽冲突模块:ghci -package haskell2010 -hide-package base -hide-package array现在支持 utf8 编码的源码文件,以及,甚至有一些 unicode 字符可以直接成为语法的一部分。GC 固定为两代回收 阅读全文
posted @ 2010-11-25 22:40 计算机技术 阅读(309) 评论(0) 推荐(0)
摘要:尝试用haskell编写一个SQL解释器,做了一个初步的后端代码:module Funs whereimport Data.Listimport Monadimport System.Directoryimport System.FilePathimport System.IOimport Text.Regex.PCREdata Store t p = Text p | Csv p | Bin p | File pselectFrom (Text store) = do content <- readFil... 阅读全文
posted @ 2010-11-22 02:48 计算机技术 阅读(167) 评论(0) 推荐(0)
摘要:Why is this idea true?为什么这个想法是对的?Do I really believe it?我是否确信它?Could I convince someone else that it is true?我能说服别人也信服它吗?Why didn't the author use a different argument?为什么作者没有用一个不同的论据?Do I have a better argument or method of explaining the idea?我有没有一个更好的论据或方法来说明这个思想?Why didn't the author exp 阅读全文
posted @ 2010-10-26 21:26 计算机技术 阅读(181) 评论(0) 推荐(0)
摘要:饮水机从毒霸转到WPS,我还是经常习惯性的到原来楼层摆饮水机的那个位置去接水,无视途中明明会路过饮水机。但是这层楼的同一位置摆的是一个碎纸机。 四大美女九楼的男洗手间比十一楼装饰要多很多。例如这边摆着一个牌子,写着四大美女沉鱼落雁闭月羞花的典故。我在洗手间里找到了四副画像:王昭君、貂蝉、西施以及——一只袋鼠和一只河马的PS合照…… 阅读全文
posted @ 2010-08-10 10:39 计算机技术 阅读(211) 评论(0) 推荐(0)
摘要:在Windows 7 上使用 EmacsW32时,会遇到提示,"The requested Emacs remote server is not running" 或 “不安全的目录访问” 或 "... 目录不存在" 等错误。仅限于全用 Emacs Client 时。而我们知道这个功能正是 EmacsW32 的亮点之一。它比使用普通的 Server-mode 更方便。那么是不是在 Windows 7 上就没有办法了呢?我后来查到一个解决方法:在 .emacs 中加入以下的代码:;; server mode(require 'server)(whe 阅读全文
posted @ 2010-08-04 14:22 计算机技术 阅读(210) 评论(0) 推荐(0)
摘要:今天简单配置了一下Emacs的字体,到这个程度,我个人已经比较满意了。中文和字体我没有配置过多,简单的写了几行在 .emacs 的最前面:(set-language-environment 'UTF-8)(set-locale-environment "UTF-8")(set-default-font "Courier New-12")(set-fontset-font "fontset-default" 'unicode '("WenQuanYi Zen Hei" . "unic 阅读全文
posted @ 2010-02-03 22:28 计算机技术 阅读(5848) 评论(0) 推荐(0)
摘要:基于三元语义的关系数据库动态建模工具SocratesSocrates, Relational Database Dynamic Models Make Tools摘要 SummarySocrates是一个基于关系型数据库和ORM的通用数据库工具。它通过三元语义表达了对动态数据结构的存储和管理功能。使得开发人员可以在关系数据库中管理结构可变的数据。三元语义可以方便的表达单一信息之间的关系,因此它很适合用来表达有向图,甚至有向有环的网状模型,或路径长度很长的关系。预计时长:25分钟难度 Level :面向中级听众类别 Categories:数据库 databases详细内容 Description 阅读全文
posted @ 2010-01-10 18:53 计算机技术 阅读(191) 评论(0) 推荐(0)
摘要:无意中想起SQLite,于是发起了这么一个话题,感谢各位朋友的参与,我把大家的话收集一下,放在这里。@sshgPY算一个吧。当初看了一个下午就决定ditch Perl了。Haskell算另一个吧。看到type class的时候,也是怦然心动。不过Haskell比Py门槛高,用的机会也相对少。呵呵,我资格比你老。我上手的时候才是2.1。查资料的时候,Internet上还有很多1.6的东西。此外,还被逼无奈,用1.4写过代码。呵呵,1.4才叫那个痛苦呢。连自省都很不完善。硬件方面,Nokia的maemo设备。此外,3M的迷你投影仪,以及CU上介绍的OLPC75没有的第二代OLPC平板电脑。Sexy 阅读全文
posted @ 2010-01-10 18:48 计算机技术 阅读(195) 评论(0) 推荐(0)
摘要:自挖坑,存档岗位职能区分数据库技术在现代软件技术领域有广泛的应用,与数据相关的技术岗位和职能,也可以区分为若干个不同的类别。根据在一个理想的开发团队中不同的分工和知识掌握的不同,可以区分为:程序员分析师设计师 架构师管理员对于数据库领域,分析与设计岗位、架构与运维岗位(管理员)的重叠较高。特别是分析与设计岗位通常在团队中由同一(组)人承担。在更多的团队中架构师也与分析和设计人员的岗位重叠。因此,从项目开发周期考虑,可以简单的分为三类:分析与设计岗位(含架构)开发岗位运维岗位个人能力发展路线基本路线图初级程序员 中级技术岗位 初级设计人员 初级管理员 中级开发人员高级技术岗位架构师设计师高级管理 阅读全文
posted @ 2009-11-23 15:38 计算机技术 阅读(365) 评论(0) 推荐(0)
摘要:工作项目报告,所以抹掉项目名先,以“X”代之。分割线内内容仅代表个人意见,与所供职企业及参与社区无关。===================================X 从很早的时候就出现各种数据库访问错误。包括链接数占用过多,死锁,僵尸事务等。本周我集中梳理了一遍代码。我认为,虽然数据库设计方面有诸多不合理之处,但是这些不合理主要影响业务错误,造成 X 性能和使用上的问题是因为使用的ORM框架 storm 有严重的缺陷。首先,storm 对数据库架构的同步有非常奇怪的设定。它不自动同步表结构,却插手外键关联关系。强制要求外键必须都是级联更新、级联删除、set null。且不说其设定中有 阅读全文
posted @ 2009-09-25 11:57 计算机技术 阅读(706) 评论(0) 推荐(0)
摘要:昨天朋友发来一个代码给我,可以让 windows 上的 emacs 窗体像 X 或苹果那样实现半透明。代码并不复杂:(set-frame-parameter (selected-frame) 'alpha (list 85 50))(add-to-list 'default-frame-alist (cons 'alpha (list 85 50)))然后经过一番努力,我写了一个切换功能,按f7进入透明,按f8退出透明状态。(defun transform-window (a ab) (set-frame-parameter (selected-frame) ' 阅读全文
posted @ 2009-07-24 23:32 计算机技术 阅读(729) 评论(0) 推荐(0)
摘要:当你想要问一个函数的用法时,至少可以有人提醒你,去搜索一下。甚至可能你自己就能搜索到正确的答案了。而大家确认它没有正确的文档时,如果有人知道答案,通常会出现的。当你想要问一个软件的架构时,通常如果你运气好,会遇到有人给你详细解答可能需要的组合。余下,就需要你自己去实现它。当你想要问一个人生意义之类的问题时,通常只会得到一堆正确的废话。问题涉及的层面越抽象,它的答案就会越模糊。除了让自己显得很装,没有什么好处。当你的问题远远高于你想的目标,那除了引来一堆正确的废话,不会有什么结果。直接把想要的问题问题出来,不要把时间浪费在一些无意义的清谈上。也许一个具体的问题容易被人嘲笑,但是掩盖它并不能让自己 阅读全文
posted @ 2009-07-19 04:43 计算机技术 阅读(158) 评论(0) 推荐(0)
摘要:astinus开发过程中,我自己就在不断的使用。有次贴了一些JS代码进去,于是页面显示错误。显然,把源代码直接放进html文本了——好吧,从05年转去做网游以后,一直没有正经的做过web了。那么,我需要一个方法转义。网上搜了一下,大部分是自己编写一个正则替换。不过我的习惯是尊重既有的资源。有人提出可以用dom的功能。先作为innerTEXT传给一个dom对象,再取innerHTML属性,就可以取到转义后的文本了。方法不错,不过写法上,有没有取巧的办法呢?JQuery社区有人给出了办法:假设有文本 context,可以对一个jQuery对象 $(x)进行 $(x).text(context).h 阅读全文
posted @ 2009-07-01 13:24 计算机技术 阅读(2129) 评论(0) 推荐(0)
摘要:昨晚做gastinus的消息编写页,发现orderby="post_ondesc"居然出错,进去gluon里的源码一看,跟以前不一样了(刚更新了服务器代码)。于是搜索了一下文档,发现关于orderby的文档更新了,现在DAL的orderby不再支持"fieldnamedesc"的形式,而是通过=~实现同样的功能。例如,gastinus的发言页面,需要按post_on倒排,应该写成db().select(db.quotation.ALL,orderby=~db.quotation.post_on)这样确实比以前可读性更好,而且因为逻辑实现在代码而不是字符串 阅读全文
posted @ 2009-06-23 10:47 计算机技术 阅读(175) 评论(0) 推荐(0)
摘要:web2py 有所有新兴开源项目的通病:文档落后于代码。例如,你在document下的DAL相关文档里,只能读到orderby的用法,但是没有告诉你如何desc。在该文档中也找不到limit的介绍。其实这两个功能都很重要,分页几乎是现代数据库应用中必备的功能,limit关键字就是为此而诞生的。而对于不能任意split(我查了web2py的源码才发现小于0的索引SQLROWS直接抛异常),又不能直接reverse的DAL数据集,倒排查询就是很重要的功能了。其实这两个功能DAL都有。oderby的支持看来开发人员还没有找到很好的形式,例如,我们可以 orderby=db.ta.id,但是没有一个d 阅读全文
posted @ 2009-05-26 12:10 计算机技术 阅读(428) 评论(0) 推荐(0)

1