01 2014 档案

摘要:分析搜索引擎可以发现它主要由三部分组成:爬行器,索引器和用户界面。爬行器在互联网中漫游和收集新的网页内容并将它们排序供索引器使用。在大型搜索引擎中,爬行器会下载这些网页并在它们中间检索超链接以缓存更多页面。索引器则按次序输入网页内容,分析这些信息,最后生成可搜索的索引。搜索引擎的用户界面则负责接收用户输入的查询,检索索引并把查询结果返回给用户。该程序实现的最困难也在于具体的技术细节。目前,在搜索引擎领域中根据相关度判断来创建一个高效的索引或者评级结果的最优算法仍被视为商业秘密严加保守,开发这些算法的程序员都获得了丰厚的回报。Mysql数据库中提供的全文检索功能是构建一个功能较弱的搜索引擎有了可 阅读全文
posted @ 2014-01-31 23:03 Martin2 阅读(374) 评论(0) 推荐(0)
摘要:论坛是一个用户可以和他人通过发布由话题连接起来的帖子进行交互的网站。通常,论坛允许所有人阅读帖子,但只有登录的注册用户才能发帖和参与讨论。因此,第一个设计要求就是只有登录后的注册用户才有权限发帖。第二个要求是实现只允许特定用户管理论坛的机制,其他用户则没有这个权限。通常,这些功能包括添加新的板块和管理其他人所发的帖子。此外,一个典型的论坛还要允许用户给他们的账号关联一个小的图片,这个小图片会出现在他们所发帖的旁边。这些图片称为头像,它们增加了论坛的个性化程度。 阅读全文
posted @ 2014-01-31 18:26 Martin2 阅读(231) 评论(0) 推荐(0)
摘要:关闭Tabbar中一个buffer的技巧:如果你使用Tabbar的同时还集成了某种窗口分割插件(如 Winmanager,NERDTree)或者vim处于分栏显示状态,这时你想用传统的 :bd 或 :bdelete命令关闭多余的buffer,可能就会发现分窗、分栏显示的分割比例不正常了。那么,试试:把光标移动到Tabbar窗口中你要关闭的那个buffer上,按下 d键。 阅读全文
posted @ 2014-01-31 09:58 Martin2 阅读(1428) 评论(0) 推荐(0)
摘要:在开发过程中,第一步是设计程序的目录结构。建议创建三个主文件夹:第一个是public_files,用来保存所有可以访问的页面;第二个是lib,用来保存可以被其他文件调用的引用文件;最后一个是templates,用于保存页面显示文件。虽然php可以调用程序目录下的所有文件,但是Web服务器应该只允许外界访问public_files目录中的文件。把支持文件保存在外界可以访问的文件夹之外可以增强系统的安全性。在public_files中,创建css子目录来保存样式表,js子目录保存Javascript文件以及img子目录保存图片文件。可能还需要创建其他文件夹保持代码结构的清晰性。例如,可以创建用于保 阅读全文
posted @ 2014-01-30 16:24 Martin2 阅读(431) 评论(0) 推荐(0)
摘要:在网站中,账号注册和用户登录是让用户体验个性化服务和查看感兴趣内容的重要方式。身份认证功能在许多社区和电子商务网站中都发挥着重要作用。从功能上来看,用户使用注册系统可以创建新账号。在注册过程中,用户必须提供一个电子邮箱来确认注册信息。在以后的使用过程中,用户还需要更改密码和电子邮箱地址,以及重新设置忘记的用户密码。这些都是目前注册系统必须提供的标准功能,也是用户认为一个完善的注册系统应该拥有的基本功能。从程序结构方面来看,必须合理的设计程序代码的目录结构。例如,支持文件和引用文件不能保存在公众可以访问的目录中。而用户信息则应该存储在数据库中。这是因为目前大量的工具支持查看和操作关系数据库(如M 阅读全文
posted @ 2014-01-30 16:22 Martin2 阅读(321) 评论(0) 推荐(0)
摘要:import sysfrom termcolor import colored, cprinttext = colored('Hello, World!', 'red', attrs=['reverse', 'blink'])print(text)cprint('Hello, World!', 'green', 'on_red')print_red_on_cyan = lambda x: cprint(x, 'red', 'on_cyan')print 阅读全文
posted @ 2014-01-24 15:39 Martin2 阅读(581) 评论(0) 推荐(0)
摘要:有4个主要选项用于存储数据:文本文件 对于很少更新的少量数据,这是理想的选择(例如配置文件),在应用程序中用于记录事件或者错误。会话数据 对于只为下一次请求或者访问持续期间所需的数据,可以在用户的会话中存储的信息。为临时数据使用会话是最佳的方法,因为使用会话将避免记录过多数据,或者添加功能以清理不再需要的数据。关系数据库 这是本章重点讲述的存数类型,除此之外,还要讲解如何使用PDO访问数据库。对于已知的结构数据而言,关系数据库是完美的,例如包含用户信息的表(谁都有一个ID、姓名、网址等)。NoSQL数据库 NoSQL(通常代表“Not Only SQL”)数据库是已建立的代替数据库技术。例如C 阅读全文
posted @ 2014-01-19 23:02 Martin2 阅读(677) 评论(0) 推荐(0)
摘要:数据格式化的主题通常本身就可以够成一整章,但简而言之,使用这个方法的目标是:一、按实体来拆分它们,并将拆分后的部分各自组成自己的表。二、避免在一个列中多个值。三、在一个地方记录数据,并将其与其他数据连接。 阅读全文
posted @ 2014-01-19 22:46 Martin2 阅读(141) 评论(0) 推荐(0)
摘要:原则,故名思议则是本质的意思。所谓擒贼先擒王,研究设计模式自然要先了解设计原则,所有的模式都是在这些原则的基础之上发展起来的,有的是侧重一个,有的是多个都有所涉及。看完设计模式之后,我感觉到每个模式都有这些原则的影子,还渗透着面向对象的三大属性,也觉得这些原则也都有相通之处,,正是有了他们才使我们由代码工人转为艺术家。下面我来点评一下六大原则,望各位拍砖:1、单一职责原则(Single Responsibility Principle,简称SRP) 单一职责原则,就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会消弱或者一.. 阅读全文
posted @ 2014-01-15 14:10 Martin2 阅读(188) 评论(0) 推荐(0)
摘要:php的生命周期:如果实现Opcode缓存,我们可以省去以下三个步骤以缩短php的生命周期,从而提高应用程序的性能:(1)词典扫描(2)解析(3)创建Opcode优化后的最终php生命周期:Opcode缓存工具有三种:Alternative PHP Cache(APC)、XCache和eAccelerator(eA)。 阅读全文
posted @ 2014-01-03 09:55 Martin2 阅读(268) 评论(0) 推荐(0)
摘要:最终影响响应时间并影响基准测试数字的五个方面如下:#1 地理位置和网路问题#2 响应大小#3 代码处理#4 浏览器行为#5 web服务器配置一、地理位置web服务器的地理位置对于用户体验到的响应时间非常重要。请求的位置越远,经过的路由器、服务器的总数就多,导致响应时间过长。二、响应的大小同样是请求图片,一张较大,一张较小。可想而知,较小的图片请求时间短。换句话说,用户请求数据越小,响应速度越快。三、代码复杂性文档必须执行的逻辑也会影响响应。添加了php(用于交互的数据库和/或要调用的web服务),无意中增加了满足请求所花费的时间。四、浏览器行为浏览器对网站的响应性也起到举足轻重的作用。每个浏览 阅读全文
posted @ 2014-01-02 17:30 Martin2 阅读(155) 评论(0) 推荐(0)