当前位置:酷我小说>科幻灵异>程序员修炼生涯> 第四章 第一个任务:黑名单过滤
阅读设置(推荐配合 快捷键[F11] 进入全屏沉浸式阅读)

设置X

第四章 第一个任务:黑名单过滤(1 / 2)

 时间过得飞快,羽方已经入职半个月了。半个月期间,他的毕业设计已经完成了,论文也已经给导师发过一两次了,现在还在改格式。工作上对于Python也已经有了基本的了解,对于一些简单的程序也能够独自写了。

今天,范平海交给了他一个新的任务,也是第一个真正的使用Python完成一项工程中的需求,那就是黑名单的处理。这是一项很简单的任务,任务的逻辑是这样的,现在公司里有个一个监测系统,系统会把监测到的数据存储在数据库中,然后从数据库中找到违法的数据,查找的办法就是通过字符串匹配,查找到包含黑名单网站域名的URL地址。

现在羽方已经学会了字符串匹配的方法,但是最主要的工作是如何使用这个匹配完成自己想要的功能,这个不是一时半会能够想到的。范平海给了他两天的时间,让他来完成这个工作。

羽方第一次参与到正式的项目中心里很是激动,他积极主动的去查找应该使用什么来进行字符串匹配,使用什么来进行循环判断,如何保证程序不会执行一段时间后自动终止等等。一切都是新的,上面的内容也是范平海告诉他的,让他特别注意一下这些地方。

下午,羽方就写完了第一个版本,他使用了list进行URL列表的管理,然后遍历list,进行黑名单判断,判断完成后,重新从数据库中读取URL数据。当然了,读取数据库的接口是打了桩的,因为他还不会使用数据库。然后他仔细检查了一遍,觉得没有问题了,就发给了范平海查看。

范平海只看了两眼,“你写的代码是正确的,但是性能太低了,这个判断是可以使用多线程来处理的,你这样处理的话会很慢的。然后你的程序没有设置退出和停止循环条件,如果所有的URL地址判断完成以后,会导致死循环,CPU达到100%的。”

多线程羽方还可以理解,虽然没有看到,但是他也知道使用多线程能够使程序的性能更好。可是退出循环是怎么回事?如果退出的话不就不能继续判断了吗?还有CPU怎么可能会达到100%呢?

“范哥,使用多线程我知道了,但是为什么要退出循环啊?还有CPU怎么可能达到100%,还有其他程序在运行啊?”

“不是退出循环,是要有判断条件。你有没有想过我们升级的时候怎么停止程序,这里设置个标志位,如果手动停止了程序,就停止循环。还有,在没有数据的时候不要一直执行循环,要添加sleep代码,让程序睡一下,防止一直占据内核,CPU升高。”

“好的,范哥,我再拿去改改。”

“还有,你还在用ActivePython自带的编辑器是吧?去下载一个Eclipse+pydev吧,这个是目前对Python支持比较好的IDE,写大型工程的话还是要使用IDE,不要总是使用系统自带的编辑器。”

“好的。”羽方回到了工位,脑海里还在想着程序退出循环和CPU使用率升高的问题。他先是到网上下载了范平海说的Eclipse+pydev,然后照着网上的教程进行了对应的设置,就想着把已经写好的代码迁移到eclipse上来。

上一章 目录 +书签 下一页