代码改变世界

Heritrix之旅之ToeThread

2011-10-07 10:37 by MichaelYin, 406 阅读, 0 推荐, 收藏, 编辑
摘要:Heritrix是一个多线程的程序,里面使用工作线程来处理url,这些工作线程称为torThreads,这些toethread统一的被ToePool所管理,Toepool通过setSize方法来管理运行的toethread数目 public void setSize(int newsize) { targetSize = newsize; int difference = newsize ... 阅读全文

C语言中自增的疑惑

2011-09-14 11:43 by MichaelYin, 1450 阅读, 1 推荐, 收藏, 编辑
摘要:由于要准备笔试,所以捡起了好久不看的C语言,运算符优先级真的是挺蛋疼的,这不,今天在那折腾的时候就被一个问题给纠结住了,自己不能解释这种现象,就发到园子里面请教一下大家了。 int y,r; y=3; r=0; r= 2*y+(++y); printf("%d",r); return 0;代... 阅读全文

Heritrix之旅之Frontier

2011-08-25 21:16 by MichaelYin, 960 阅读, 0 推荐, 收藏, 编辑
摘要:上一篇Blog中说到了抓取任务的核心类CrawlController,这次我们来说说Frontier.Frontier是每次抓取时必须要用到的组件,每个Frontier知道哪个URI它正在处理,ToeThreads向Frontier请求URI,然后通过处理链对其进行处理,并将发现的连接通过scheduled返回到Frontier中,Frontier本身管理一个关于uri的列表,这个列表中的uri将... 阅读全文

Heritrix之旅之CrawlController

2011-08-25 18:23 by MichaelYin, 551 阅读, 0 推荐, 收藏, 编辑
摘要:一转眼暑假就快要结束了,暑假也是在趁着找工作之前花时间折研究了一下Heritrix,这段时间会花点时间把这块学习和心得来做一个总结,一方面对知识的夯实,另一方面也能对园子里面的朋友有所帮助。 Heritrix的一些介绍网上都有,我在这里也就不做介绍了,直接进入正题。 Heritrix抓取任务的核心类就是CrawlController,这个对象将决定一个抓取任务的开始和结束 //order.x... 阅读全文

编程之美2.18学习笔记

2011-08-14 11:45 by MichaelYin, 542 阅读, 0 推荐, 收藏, 编辑
摘要:解题过程中没有使用书上提供的动态规划的算法,在这里把解题思路写一下。 题目是这样的,有个包含2n个元素的无序数组,现在用算法将这个数组进行分割,使得两个子数组的和最相近 我们首先来想像将数组分割后的情况,假设分割后的两个数组分别为A和B,A[0]和B[0]之间肯定是存在一个差值的,假设我们用A[0]-B[0],得到的值加上A[1]-B[1],这样最后得到的值的绝对值肯定是所有情况里面最小的,因为最... 阅读全文

编程之美2.14学习笔记

2011-07-31 20:17 by MichaelYin, 335 阅读, 0 推荐, 收藏, 编辑
摘要:再看编程之美2.14的时候发现了一个书上没有讲到的思路,就在此记录一下,也希望能给读者扩宽一下思路。 2.14的问题非常简单,就是给定一个数组,求这个数组的最大子数组之和。 书上的解法我就不赘述了,在这里主要讲一下我想到的思路。子数组之和最大,肯定有一个开始的元素,和一个结束的元素,特殊一点的话,两个是一个元素,这种特殊情况下最大子数组其实就是一个数了。然后最大从数组第一个数开始我们求和,从第一个... 阅读全文

BlogEngine学习系列

2011-07-09 16:57 by MichaelYin, 433 阅读, 0 推荐, 收藏, 编辑
摘要:BlogEngine中的Provider模式(上) BlogEngine中的Provider模式(下) BlogEngine中的BlogSettings BlogEngine中自定义主题的实现BlogEngine中的Extensinon实现 BlogEngine中的widget机制 BlogEngine中的js和css访问处理 阅读全文

初始化那些事儿

2011-05-27 11:03 by MichaelYin, 1854 阅读, 1 推荐, 收藏, 编辑
摘要:先来看看这段代码 class Program { static void Main(string[] args) { Circle objTest = new Circle(); Console.ReadLine(); } } public class Print { public Print(String text) { Console.WriteLine(text); } } public class Shape { //静态字段 static Print staticSbj = new Print("1"); //对象级别的变量 Print obj = new Pri 阅读全文

BlogEngine中的js和css访问处理

2011-04-17 17:14 by MichaelYin, 402 阅读, 1 推荐, 收藏, 编辑
摘要:BlogEngine中将对css和js这种常用资源的访问通过httphandler进行了一次封装,并不是直接请求服务器的文件,服务器读取硬盘上的文件然后返回给客户端,而是将这种常用访问的资源通过缓存存储在了内存中,然后通过缓存依赖检查文件是否被更改,这样带来的好处就是在访问量比较大的时候能够减少读取硬盘的次数和时间,当然实际应用中的效果到底如何由于条件不够,所以本人不能给出实际数据,有条件的朋友可... 阅读全文

Cookie学习笔记

2011-04-13 20:29 by MichaelYin, 280 阅读, 0 推荐, 收藏, 编辑
摘要:Cookie用来用来将少量的数据存储到客户端的硬盘上,其形式是用户名@网站地址[数字].txt这个样子,当Cookie想对应的网站的时候,浏览器将存储在客户端的Cookie发送到服务器,服务器可以读取Cookie 中的数据并进行修改,由于Cookie是存储在客户端机器上的,所以在客户端也可以读写相应的Cookei文件. Cookie中信息的保存是以键值对这样的形式来存储的。 Cookie的expi... 阅读全文