上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 31 下一页

2016年5月16日

摘要: 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。 正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来 阅读全文
posted @ 2016-05-16 17:05 邬兴亮 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。 Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器 阅读全文
posted @ 2016-05-16 16:59 邬兴亮 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。 但是局部变量也有问题,就是在函数调用的时候,传递起来很麻烦: 每个函数一层一层调用都这么传参数那还得了?用全局变量?也不行,因为每个线程处 阅读全文
posted @ 2016-05-16 16:56 邬兴亮 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程。 阅读全文
posted @ 2016-05-16 16:54 邬兴亮 阅读(196) 评论(0) 推荐(0) 编辑

2016年5月12日

摘要: 一、初步认识搜索 先从上一篇示例代码中我们摘录一段代码看看搜索的简单实现: 从上面代码,我们不难看出,搜索需要用到IndexSearcher,Query,QueryParser和TopDocs(或者Hits)四个核心类: 1、 IndexSearcherIndexSearcher会打开索引文件,它不 阅读全文
posted @ 2016-05-12 11:40 邬兴亮 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 一、简单认识索引 Lucene.Net的应用相对比较简单。一段时间以来,我最多只是在项目中写点代码,利用一下它的类库而已,对很多名词术语不是很清晰,甚至理解 可能还有偏差。从我过去的博客你也可以看出,语言表达一直不是个人所长,就算”表达“了也有大面积抄书的嫌疑,所以很多概念性的介绍能省则省(除非特别 阅读全文
posted @ 2016-05-12 11:36 邬兴亮 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 用Lucene.net对数据库建立索引及搜索 最近我一直在研究 Lucene.net ,发现Lucene.net对数据库方面建索引的文章在网上很少见,其实它是可以对数据库进行索引的,我闲着没事,写了个测试程序,竟然成功了, 可以实现对数据另类查询的一种方式(通过建索引查询),发表出来,和大家共享. 阅读全文
posted @ 2016-05-12 11:19 邬兴亮 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 第一、按词条搜索 - TermQuery 这样就可以把 field 为 name 的所有包含 word1 的文档检索出来了。 第二、“与或”搜索 - BooleanQuery 它实际是一个组合 query 看看下面的代码: 其中的MUST、SHOULD、MUST_NOT表示与、或、非 ,从字面意思很 阅读全文
posted @ 2016-05-12 11:17 邬兴亮 阅读(406) 评论(0) 推荐(0) 编辑

2016年5月11日

摘要: 要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。 Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子 阅读全文
posted @ 2016-05-11 16:04 邬兴亮 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict: 可以随时修改变量,比如把name改成'Bill',但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的'Bill'存储到磁盘上,下次重新运行程序,变量又被初始化为'Bob'。 我们把变量从内存中变成可存储或传 阅读全文
posted @ 2016-05-11 15:59 邬兴亮 阅读(181) 评论(0) 推荐(0) 编辑
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 31 下一页

导航