观点
小马工匠坊
飞速的计算机世界也需要宁静的工匠精神。
展开
-
Bug是怎样产生的之我见
无论是写代码还是做事情,都会产生错误。在程序中我们叫做bug,在现实中我们叫犯错误。 一个产品从设计到成品,在测试过程中都会出现各种各样当初没有想到过的问题,bug的产生是人类探索未知表达自己意愿的的结果,是人类文明进步的全部阻力。没有出错,一些顺利,也不会有进化,也不会有矛盾,也就不会有人类的存在,意识的本身。所以说我们要伴随着bug存在,而不是抗拒。 我认为在编程中,bug的产生来源原创 2015-10-21 16:01:11 · 865 阅读 · 0 评论 -
思考各种编程语言是如何适应运行环境(调用外设)的?
最近做的一个项目,用c++语言编译生成的一个so文件库包。可以直接在android系统中使用http进行网络通信。它是怎么做到的呢?其他的语言又是怎么做到的?不同的设备的网卡各不相同,编译成so以后当然没有那么多可以识别的库了。怎么一回事呢?这里就来研究一下。网上检索了来一下,直接的资料太少了。不过我觉得应该是和操作系统,java虚拟机的原理相关。以后再更。原创 2016-03-27 16:00:00 · 560 阅读 · 0 评论 -
从按按钮什么也不做想到的
最近学习设计模式,在命令模式中有一个例子。做一个远程遥控器。在远程遥控器初始化的时候是给每一个按钮的接口赋值上空命令。当然空命令是一个类,需要创建一个这样的类。如果不这样做的话在没有设置命令的接口按下按钮的时候就会使得程序崩溃。这让我体会到了一种精神,就是你的产品崩溃是你的产品自己内部的缺陷。你可能不需要给用户温馨的提示,但是最起码不至于让错误的操作让你自己崩溃。这是基本的原创 2016-08-25 08:55:01 · 521 阅读 · 0 评论 -
为什么不能无损反编译?
从人的思路到机器代码,最后到cpu可以执行的指令。每一层经历的都是一个从概括到实现的过程。这也是工业的思路。上层来概括做什么,下层来决定怎么做。这也是人的欲望的思路,是或者说是人性中贪欲的思路。好了说的有点多。从一个想法可以解释为怎么实现,但是给你一堆实现你能概括出思路却很困难,这个困难也是反编译之所以不能等效的原因。这听起来有些匪夷所思,给我一台F16让我复制出来一台,不是比原创 2016-10-10 13:21:22 · 1152 阅读 · 0 评论