Fork me on GitHub

2012年11月6日

摘要: syndicated content powered by FeedBurnerMore Links@CatChen- 我的 TwitterCat in Chinese- 我的中文博客Cat in English- 我的英文博客http://feeds.catchen.me/CatChen/dotNEThttp://cathsfz.cnblogs.com/http://catchen.biz/home.zh-CN.htmlhttp://community.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_indexhttp:// 阅读全文
posted @ 2012-11-06 15:09 HackerVirus 阅读(250) 评论(0) 推荐(0)
摘要: 面试体验:Facebook 篇2012-11-05 08:20 by Cat Chen, 5434 阅读,66评论,收藏,编辑Google、Microsoft和Yahoo都是去年的事情了,接下来说说今年的吧。其实我在豌豆荚非常爽,跟身边的设计师和工程师合作都很愉快,所以唯一能够诱惑我去面试的就只有 Facebook 了。最初接受 Facebook 面试邀请的原因并不是追求它的 offer,而是我就想了解一下 Facebook 是怎么面试的,有什么是值得豌豆荚招聘借鉴的。过去在百度做面试官,只是面试而已,公司招不招得到人我没什么感觉。我觉得公司招不到人就招不到人咯,我们没必要扩张得那么快啊,先专 阅读全文
posted @ 2012-11-06 09:35 HackerVirus 阅读(203) 评论(0) 推荐(1)
摘要: 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器 进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED状态,完成三次握手。通过这样的三次握手,客户端与服务端建立起可靠的双工的连接,开始传送数据。 阅读全文
posted @ 2012-11-06 09:21 HackerVirus 阅读(200) 评论(1) 推荐(1)
摘要: 在ajax横行的年代,很多网页的内容都是动态加载的,而我们的小爬虫抓取的仅仅是web服务器返回给我们的html,这其中就跳过了js加载的部分,也就是说爬虫抓取的网页是残缺的,不完整的,下面可以看下博客园首页从首页加载中我们看到,在页面呈现后,还会有5个ajax异步请求,在默认的情况下,爬虫是抓取不到这些ajax生成的内容的,这时候要想获取就必须调用浏览器的内核引擎来下载这些动态页面,目前内核引擎三足鼎立。Trident: 也就是IE内核,WebBrowser就是基于该内核,但是加载性内比较差。Gecko: FF的内核,性能相对Trident较好。WebKit: Safari和Chrome的内核 阅读全文
posted @ 2012-11-06 09:19 HackerVirus 阅读(477) 评论(0) 推荐(0)
摘要: 上文说到Routing Module将控制权交给了MvcHandler,因为MvcHandler实现了IHttpAsyncHandler接口,因此紧接着就会调用BeginProcessRequest方法,这个方法首先会进行一些Trust Level之类的安全检测,暂且不谈,然后会调用ProcessRequestInit方法(有删节):private void ProcessRequestInit(HttpContextBase httpContext, out IController controller, out IControllerFactory factory) { ... 阅读全文
posted @ 2012-11-06 09:16 HackerVirus 阅读(160) 评论(0) 推荐(0)

2012年11月5日

摘要: 上一篇我们自己实现了一个简单的主题选项,其中涉及到WP的一个重要的函数add_action,其实只add没有用,WP还要通过另一个函数do_action来执行add_action添加的事件。add_action相当于添加事件和事件处理程序;do_action相当于执行事件。WP是如何保证两者的执行顺序的呢?下面使用调试探索一下:add_action:theme-options.php下面设置断点,访问wp-admin/login.php,中断后的调用堆栈:F5步入后,发现调用了add_filter函数:add_action登记的事件就保存在$wp_filter这个三层数组字典中,看一下变量:d 阅读全文
posted @ 2012-11-05 18:36 HackerVirus 阅读(651) 评论(0) 推荐(0)
摘要: 摘要: 上文分析了UrlRouting模块何时会被触发,本文重点分析路由模块是如何工作,以及如何利用路由模块实现Area。先看路由模块的PostResolveRequestCache事件中被触发的方法:public virtual void PostResolveRequestCache(HttpContextBase context) { RouteData routeData = this.RouteCollection.GetRouteData(context); if (routeData == null) ... 阅读全文
posted @ 2012-11-05 18:35 HackerVirus 阅读(162) 评论(0) 推荐(0)
摘要: 在《IT人员如何管理知识》中提到了应该构建并定期重构自己的知识地图。作为一种“写作式学习”的有效手段,blog也应该纳入个人知识管理的范畴。那么,如何将知识地图映射到blog的分类和标签,使得blog文章的管理更加有效呢?Table of Contents1 分类和标签2 构建博客的标签地图3 关于博客分类4 使用标签和分类1分类和标签大多数的blog站点都支持按照分类和标签对文章进行组织。这也是信息管理的两种有效手段。二者的对比如下:分类标签排他性是否关系从属相关(关联)创建事先规划随时增加代价高低分类是最经典的方法,事先进行严格的类别划分,构建分类树,然后每个项目(Item)从属于分类树上 阅读全文
posted @ 2012-11-05 18:31 HackerVirus 阅读(420) 评论(0) 推荐(0)
摘要: 今天无聊突发奇想做个贪吃蛇,虽然网上很多这东西了,不过自己写的感觉还行吧贪吃蛇分析游戏规则:1、蛇起始长度5,每吃一个食物增加1,最大15过关2、蛇用蓝色表示,食物用绿色,障碍物用黑色3、当蛇碰到自己、墙壁、障碍物则游戏失败4、方向键控制蛇的移动方向,蛇不可反方向移动,如正在向上移动,不能马上向下,只能向左、右、上运动5、每过关一次速度提升一次大概思路:1、地图用网格的形式表示,蛇由方格组成,保存在list中2、1中提到了方格,方格保存的内容有,颜色,坐标,是否可以通过,是否是食物3、向前移动一次,将前面方格添加进蛇列表中,将列表最后一个移除,若为前方格子为食物,则不移除最后一个4、使用whi 阅读全文
posted @ 2012-11-05 17:47 HackerVirus 阅读(364) 评论(0) 推荐(0)
摘要: phpMyAdmin 就是一种 MySQL 数据库的管理工具,安装该工具后,即可以通过 web 形式直接管理 MySQL 数据,而不需要通过执行系统命令来管理,非常适合对数据库操作命令不熟悉的数据库管理者,下面详细说明该工具的安装方法。一、下载先到互联网上下载 phpMyAdmin,也可以到 phpMyAdmin 官方网站下载,地址为:http://www.phpmyadmin.net/home_page/index.php 再解压到 web 可以访问的目录下,如果是虚拟空间,可以解压后通过 ftp 工具上传到 web 目录下,同时您可以修改解压后该文件的名称。二、配置打开 libraries 阅读全文
posted @ 2012-11-05 16:49 HackerVirus 阅读(164) 评论(0) 推荐(0)