摘要:
今天在linux系统上使用svn checkout的时候报错:SVN Checkout: svn: Cannot negotiate authentication mechanism发现是linux系统缺少sasl加密模块,安装后即可。Linux Client: Install cyrus-sasl-md51yum installcyrus-sasl-md5 阅读全文
摘要:
http://blog.sina.com.cn/s/blog_4ba5b45e0100iw6x.html 阅读全文
摘要:
镜头焦距、视角和景深的关系2011-02-08 16:55:481. 镜头焦距是一个固定的物理尺寸,是多少毫米,就是多少毫米,100mm就是100mm,不会变成150mm,不会随着相机的画幅不同而改变;2. 相同焦距的镜头放在不同画幅的相机上,画幅越大,视角越大,画幅越小,视角越小;3. 相同画幅的机身,如果镜头焦距越长,景深越浅(短),焦距越短,景深越大(或者说越深、越长)。要搞明白这些道理,首先要搞懂基本概念。【下面先说说焦距、视角和画幅】通俗地说,镜头焦距是指从镜头光心(单片镜头的中心或多片镜头的成像中心)到焦平面的距离。焦平面是相机里的成像面或感光面。这个感光面从早期使用的干板式玻璃片 阅读全文
摘要:
一,什么是防御式编程顾名思义,防御性编程是一种细致、谨慎的编程方法。为了开发可靠的软件,我们要设计系统中的每个组件,以使其尽可能地“保护”自己。我们通过明确地在代码中对设想进行检查,击碎了未记录下来的设想。这是一种努力,防止(或至少是观察)我们的代码以将会展现错误行为的方式被调用。二,防御性编程实践技巧1,使用好的编码风格和合理的设计。2,不要仓促的编写代码。3,不要相信任何人,即一个模块不要相信它的输入参数是有效的;模块不能对外部输入做假设,如果需要做假设,则在模块入口做断言或者错误检查。4,编码要清晰。5,代码做适当的设计,以使内部数据不会被用户随意的修改;仅暴露合适的公有接口给外部。6, 阅读全文
摘要:
防御式编程 防御式编程是提高软件质量技术的有益辅助手段。防御式编程的主要思想是:子程序应该不因传入错误数据而被破坏,哪怕是由其他子程序产生的错误数据。这种思想是将可能出现的错误造成的影响控制在有限的范围内。 1. 在非法输入(Invalid Inputs)中保护你的程序 一个好程序,在非法输入的情况下,要么什么都不输出,要么输出错误信息。有几种方法来防止非法的输入: (1)检查来自于外部资源(external sources)的所有数据的值,例如来源于网络的数据的值,来源于文件的数据的值。检查的目的是保证数据值在一个允许的范围内。 (2)检查每一个例程(routine)的输入参数值。... 阅读全文
摘要:
防御式编程小结防御式编程小结下面列出了防御式编程的一些其它要点.它们大多是编程里的常识,不过无论如何还是值得提一下的.你可能会想要建一张”to do”列表,然后在编程过程中逐项进行检查。l 在函数的开始,检查参数的正确性。确认参数值都落在可接受的范围里。记住编程界里的一句古语:“垃圾进,垃圾出。”l 在经历一系列相关的表达式之后,检查被操作数作变量的正确性。一系列表达式会改变应用程序的状态。所以要确认其结果是正确的。l 解决问题时尽可能地处理错误而不是处理异常。l 尽可能地让函数返回一点东西——不要把返回类型设为void。什么都不返回的函数是无法用异常处理来验证的。l 一定要检查函数的返回值。 阅读全文
摘要:
64位系统的优势?既然要采用64位系统,首先要知道64位系统的优势所在。对于技术人员来说,完全没有必要去看那些厂家拿出的厚厚的说明书、或者某个研究机构抛出的一堆的数字,64位系统的优势总结起来很简单:内存大、速度快!内存大与32位系统相比,64位系统的地址空间大大增大,达到了18PB,18PB究竟是多大呢?说出来有点吓人:4G内存的40亿倍!这么大的空间,不要说内存了,就是整个磁盘的数据都放进去也是没有任何问题的。需要注意的是:已有的32位系统由于采用了物理地址扩展技术(PAE,http://en.wikipedia.org/wiki/Physical_Address_Extension ), 阅读全文
摘要:
一个系统的内存大小限制取决于CPU和操作系统,当然啦,也受限于物理硬件,比如主板、安装了多大的内存条等等。众所周知,32位的Intel CPU能够支持4G的物理内存,打开PAE后(有36根地址线)可以支持64G的物理内存。对于Linux而言,一个进程空间的大小为4G,其中用户空间可以使用3G。那么64位系统呢?理论上讲,64位的地址总线可以支持高达16EB(2^64)。EB是什么概念,我也不晓得。K->M->G->T->P->EThe emergence of the 64-bit architecture effectively increases the me 阅读全文
摘要:
在linux下查看进程大家都会想到用 ps -ef|grep XXX可是看到的不是全路径,怎么看全路径呢?每个进程启动之后在 /proc下面有一个于pid对应的路径例如:ps -ef|grep python显示:oracle 4431 4366 0 18:56 pts/2 00:00:00 python Server.py4431就是进程号到/proc/4431下,ls -l 会看到:总用量 0-r--r--r-- 1 oracle oinstall 0 12月 29 18:58 cmdlinelrwxrwxrwx 1 oracle oinstall 0 12月 29 18:58 cwd -& 阅读全文
摘要:
Linux 是可以使用 64 位处理器的跨平台操作系统之一,现在 64 位的系统在服务器和桌面端都已经非常常见了。很多开发人员现在都面临着需要将自己的应用程序从 32 位环境移植到 64 位环境中。随着 Intel® Itanium® 和其他 64 位处理器的引入,使软件针对 64 位环境做好准备变得日益重要了。与 UNIX® 和其他类 UNIX 操作系统一样,Linux 使用了 LP64 标准,其中指针和长整数都是 64 位的,而普通的整数则依然是 32 位的。尽管有些高级语言并不会受到这种类型大小不同的影响,但是另外一些语言(例如 C 语言)却的确会受到这种影 阅读全文