摘要:
可能是移动应用的广泛普及,为了安全性的考虑现在的移动应用大都运行在一个沙箱中,无论是有系统支持的运行时沙箱还是逻辑上的沙箱。比如现在的应用大多数只能写自己的安装目录,从而将自己的运行环境和其他应用的运行环境隔绝开来。 早些时候我写过nodejs和git的库和配置文件可以选择安装位置,比如 global, system, local等。这是一个进步,他改变了我们对配置文件存放位置的思考。同时现在的... 阅读全文
摘要:
很长段时间没有写博客了,主要是觉得没有太多可以拿出来说的。近些日子事到时遇到一堆,但也都不值得拿出来说道。技术上最近没有看什么新的东西,但是对系统设计的敏感是越来越好了,我也不知道怎么说这种敏感,大约就是你知道你是在埋坑,还是在做正确的设计决定。 值得一提的事2013年的冬天苏州的空气真是特别的差,不少天重度污染,时不时的来个严重污染。周末的时候哪里也没有去,就买了本汽车维修的书看看。从一点不懂... 阅读全文
摘要:
Go摒弃了许多OO的概念,但是还是很好的继承了OO的精髓——消息传递。我猜这个是学了Smalltalk的。通常我们说OO,我们会说这三大特性:对象,继承,多态。1,Go中的对象对于GO来说他的类型系统也分为两类:value type和reference type。value type就是内存中的内容,reference其实也是类似引用地址的指针。这样Go中的对象很自然的分为两类的:内容和引用内容的地址。Go的一个哲学就是让“天下没有隐晦的东西”。所以Go的对象在内存中的表示和其定义是一一对应的。有点“what you see is what you get”的感觉。而在Go中,实现对象特征的是 阅读全文
摘要:
早上和小娟又为了我爸妈来带孩子的事吵了起来,还好是要赶着上班没吵上两句。早上做公交的时候看了一篇淘宝鬼脚七的的老子系列的《为而不争》。两件事连起来,还是可以让我思考思考的。 人和事往往都有个定数,你往往想做好些什么而不得。因为想只是你的意愿,而事情的发展是遵循他自己的规律。意愿跟规律往往是不匹配的。我们遵循着意愿做事,往往结果并不如愿。就我和小娟来说,我无非是觉得我已成家立业,能不打扰父母的就不... 阅读全文
摘要:
性能 设计系统时是要考虑性能的,否则等性能出题出来的时候是非常棘手的。大多数的情况都是当前的生产环境正在运行,留给你的操作时间不多,不会给你太多时间调优。而当你发现问题时,你也不容易改动已经在生产环境的代码。 我常遇到的性能瓶颈最后都出在的数据存储这一层。比如说数据库,如果说数据是应用的核心,那么数据库无疑是核心的管理者。当数据库遇到了性能问题解决起来也颇为棘手。一来,还是生产环境,留给你操作... 阅读全文
摘要:
我们需要将自家的应用迁到云上,也就是Amazon的EC2上,在前端我们用Load Balancing来做负载均衡,后端用EC2的instance来提供服务。由于后端有能有很多的instance,所以在部署的时候怎么样把应用在这些instance上同步是一个问题。 最早,我们想到了自动化的Push,也就是在服务器端开个SSH或FTP服务然后写个脚本将要更新的内容Push到这个后端的instance... 阅读全文
摘要:
虽然我也算个编程的老鸟,但是即使这样想找个可以用的Lisp环境也是特别困难,你很难在这一堆的Lisp实现中选择一个。选择就是煎熬,最后我选择了GNU CLisp(http://www.clisp.org/)。我在Windows下工作时间较多,所以选择了CLisp的Windows port。你可以从这里下载已经编译好的文件。 1,Lisp解释器的配置 解压下载好的Zip,然后将其放至C盘根目录下... 阅读全文
摘要:
最近在做协议分析(RTMP),程序里时常要处理二进制。我网上搜索了一下,没有发现对二进制处理技巧的总结或者说明,自己尝试着总结一下。 1,基础 计算机在底层基本上都是以二进制来传递和存储的。类似于这样的序列: 0010 1100, 0001 1101 在使用的时候在把这些二进制翻译成“有意义”的格式,比如翻译成英语字母。在表示二进制的时候如果直接用0和1来显示,那样会太长,不太好表... 阅读全文
摘要:
用处你懂得。 1,打开ssh tunnel端口转发 ssh -qCNgf user@a-proxy-server -D 127.0.0.1:1234 -q quite mode-C compress the data-N only port forward(do not execute the command)-g allow remote hosts to connect the ... 阅读全文