独孤九剑 Dit (0x02) - 数据结构篇 08/05/2015
穷则独善其身,达则兼济天下。一个人一旦能够喂饱自己并有个安身之所,剩下的就是该别人做点什么了。我现在所做的一切,还都是为了自己。 Dit 和 Git 使用相同的设计思路和数据结构,在表述上会优先使用 Git,当出现差别时会特别说明。以下说明两种最基本的数据结构:仓库和对象。
独孤九剑 Dit (0x01) - 总决 08/01/2015
总诀:“归妹趋无妄,无妄趋同人,同人趋大有。甲转丙,丙转庚,庚转癸。子丑之交,辰巳之交,午未之交。风雷是一变,山泽是一变,水火是一变。乾坤相激,震兑相激,离巽相激。三增而成五,五增而成九……” —— 金庸 独孤九剑讲究料敌先机,无招胜有招。在程序世界里,需要根据不同的需求不断的迭代。系统不能像剑一样随手变更,往往需要花费无数个人月「最近体会到可以把变化做成接口,留给用户,来应对一部分需求变更」。程序=算法+数据结构, 很少有像 TeX 那样,算法和数据结构都趋近完美,Donald 独自完成了 99.99%,甚至连 bug,都少到了惊人的地步。我认为程序设计最重要的是数据结构,深刻理解数据结构,使用最合适的算法,以不变应万变,才能抓住程序的本质,解决用户的痛点,做到在需求变化或者转型时,改变最小。
独孤九剑 Dit (0x00) - 我为什么要做 Dit 07/31/2015
又挖了一个坑!不是没事专坑自己,只是想在无聊的时光里,找个乐子,找点事做。 小时候,最令人着迷的就是邻家 DVD 里播放的功夫电影。三五个小伙伴,从中午看到下午,再从下午看到傍晚,从不缺席。印象中的男主角除了爱上师父的女儿外,一般都会经历三个人生阶段: 被虐->上山学艺->下山报仇。
零值强制类型转换的使用 07/26/2015
这可能是最最基础的内容了,可是我却从来没在项目中用过。有一句话是对的,永远不能说精通哪一门语言。 零值可被强制转化为任意类型,转化出的结果,不能被直接访问,可获取相应域的偏移量,通过对应域推算外层类型的地址。
终端颜色输出重定向 07/23/2015
在用printf输出时,可加上颜色显示,让输出信息更加友好。