摘要:
1) 历史和起源 正则表达式的“鼻祖”或许可一直追溯到科学家对人类神经系统工作原理的早期研究。美国新泽西州的Warren McCulloch和出生在美国底特律的Walter Pitts这两位神经生理方面的科学家,研究出了一种用数学方式来描述神经网络的新方法,他们创新地将神经系统中的神经元描述成了小而简单的自动控制元,从而作出了一项伟大的工作革新。 在1956年,出生在被马克·吐温(Mark Twain)称为“美国最美丽的城市之一的”哈特福德市的一位名叫Stephen Kleene的数学科学家,他在Warren McCulloch和Walter Pitts早期工作的基础之上,发表了一篇 阅读全文
posted @ 2013-09-05 20:12
猎妖手
阅读(229)
评论(0)
推荐(0)
摘要:
在C和C++语言开发中,指针、内存一直是学习的重点。因为C语言作为一种偏底层的中低级语言,提供了大量的内存直接操作的方法,这一方面使程序的灵活度最大化,同时也为bug埋下很多隐患。 因此,无论如何,我们都要对内存有一个清晰的理解。 一、对内的分配 32位操作系统支持4GB内存的连续访问,但通常把内存分为两个2GB的空间,每个进程在运行时最大可以使用2GB的私有内存(0x00000000—0x7FFFFFFF)。即理论上支持如下的大数组:char szBuffer[2*1024*1024*1024]; 当然,由于在实际运行时,程序还有代码段、临时变量段、动态内存申请等,实际上是不可能用... 阅读全文
posted @ 2013-09-05 20:11
猎妖手
阅读(215)
评论(0)
推荐(0)
摘要:
字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。 这种算法不太容易理解,网上有很多解释,但读起来都很费劲。直到读到Jake Boxer的文章,我才真正理解这种算法。下面,我用自己的语言,试图写一篇比较好懂的KMP算法解释。 1. 首先,字符串"BBC ABCDAB 阅读全文
posted @ 2013-09-05 16:43
猎妖手
阅读(159)
评论(0)
推荐(0)
摘要:
但是,它并不是效率最高的算法,实际采用并不多。各种文本编辑器的"查找"功能(Ctrl+F),大多采用Boyer-Moore算法。 Boyer-Moore算法不仅效率高,而且构思巧妙,容易理解。1977年,德克萨斯大学的Robert S. Boyer教授和J Strother Moore教授发明了这种算法。 下面,我根据Moore教授自己的例子来解释这种算法。 1. 假定字符串为"HERE IS A SIMPLE EXAMPLE",搜索词为"EXAMPLE"。 2. 首先,"字符串"与"搜索词"头 阅读全文
posted @ 2013-09-05 16:42
猎妖手
阅读(257)
评论(0)
推荐(0)
摘要:
“设计良好的函数往往比较小,而过大函数的设计往往一塌糊涂,或者存在很大的优化空间。” 也许你认为讨论函数的大小没有必要,原因是函数设计的本质是内聚,它的大小只是它的表现形式。而上面的原因有必要让我们讨论一下函数的大小问题。 我对函数的核心思路:我提出代码最小处理单元的概念:一个基本操作(赋值,比较等),一个函数调用(包括调用后判断返回值进行判断)都看成一个最小处理单元。那么,一个函数,最小处理单元合理的个数范围在7以内。如果超过了7,你就要考虑把他们拆分成多个函数了(为什么是7?人同时能够处理的信息不超过7个)。 最小数目没有限制,即便是只有1个,也有存在的必要。 在下面的情况下我... 阅读全文
posted @ 2013-09-05 16:40
猎妖手
阅读(192)
评论(0)
推荐(0)
摘要:
英文原文:Some notes about time 注:英文原文由@程序员的那些事在微博推荐,感谢@泉州一中-刘家昌编译完成初稿。在译文基础上,伯乐在线根据维基百科等资料有补充和改动。也感谢@周金宇Jered的翻译。(如需转载,请保留本段说明。) 一些关于时间的注解: ● UTC/协调世界时:又称“世界标准时间”或“世界协调时间”,简称UTC(从英文“CoordinatedUniversalTime”/法文“TempsUniverselCordonné”而来),是最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽量接近于格林尼治平时。中国大陆称之为“协调世界时”。台湾称之为“世 阅读全文
posted @ 2013-09-05 16:39
猎妖手
阅读(231)
评论(0)
推荐(0)
摘要:
作为软件工程师,你希望从工作中获得的是:稳定的薪水、参与好项目的机会、好工作的跳板或只是和其他程序员成为好基友。这里的“高效”,我指的是按时完符合要求的项目的能力。经历过不少软件编写工作后,我相信以下实践会帮助你学会“高效”,同时提高专业声望、拉长职业寿命,和获得个人满足。Programmer(from good-wallpapers) 1. 理解你的需求 成为高效程序员的第一步是,保证时间的合理分配。没有什么比将时间花在完全没有前途的工作上更浪费的了。 尽快开工 尽快完成一个直观的系统。这意味着先创建界面,无论是程序界面还是用户界面,然后生成内部功能的存根代码(如果有必要的话)。这么... 阅读全文
posted @ 2013-09-05 16:38
猎妖手
阅读(176)
评论(0)
推荐(0)
摘要:
一、广泛了解,从科普书籍开始 选择计算机专业的同学,也许是因为原先有一定的基础,也许是因为一时的激情,但更多的人,可能对自己的选择没有深刻的认识,或多或少对计算机专业有一些神秘的感觉。自己究竟是否喜欢这个学科?才华能够在哪个分支领域有所施展?抑或是真的不适合这个专业?诸多疑问,解决的方法首先便是了解和认识我们的学科。浓厚的兴趣是学好任何学科的源泉;而广泛的了解则是获得兴趣的途径。当今我们对于信息的获取已非难事,其中“阅读”是一个简洁而有效的方法。 也许你认为阅读专业书籍对于刚刚步入大学的自己来说有点困难,也很枯燥,那么不妨先从科普书籍看起。科普书籍是了解理论、获得应用知识最好的途径。相信... 阅读全文
posted @ 2013-09-05 16:26
猎妖手
阅读(233)
评论(0)
推荐(0)
摘要:
要求必备知识熟悉 Flash Professional CS6、ActionScript 3.0 以及 Flash 运行时提供的最新改进功能。其他所需产品:StarlingFeathers用户级别中级必需产品Flash PlayerFlash Professional CS6(下载试用版)Adobe AIR范例文件MultiScreenDemo在本文中,我们将针对基于 Flash 的游戏菜单启用多屏幕布局,使其能够跨越不同屏幕分辨率的设备无缝运行。本游戏为虚构作品,名为 “Burning Feathers”。它包含三个独立的屏幕,您可以从 Startup 菜单进行访问。这些屏幕应当适应台式机、 阅读全文
posted @ 2013-09-05 08:00
猎妖手
阅读(357)
评论(0)
推荐(0)
摘要:
要求用户级别中级必需产品Flash Builder(Download trial)随着Adobe Flash技术向iOS, Android, BlackBerry这三大移动平台的进军,必然将涌现出大量的基于Flash Player和AIR的手机和平板应用。然而移动设备的硬件限制,对Flash的运行效率产生了很大的挑战,所以如何优化代码成为Flash移动开发的核心问题。另外、基于触摸的全新交互方式和移动设备上独有的系统环境,也让移动平台上的Flash开发多了许多机会和功能点。今天我就给大家简单介绍一下我在近期总结的一些经验和技巧。GPU渲染移动设备的CPU和电脑上的CPU相差甚远,所以要运行大量 阅读全文
posted @ 2013-09-05 07:58
猎妖手
阅读(369)
评论(0)
推荐(0)