PHP
首页 | 下载 | 博客 | 链接

区域

YUBO

关于我

喻波
Was it worth it?
Yes.
Would I do it again?
No.

资源

团体

版权说明

本站点为个人网站,网站内除了注明转载的,其他全部为原创.读者可以自由传播/修改本网站所有或部分章节,但请注明出处.由于个人能力有限,网站内容存在许多错误和不足,希望读者能给予批评指正或建议. 本人联系方式:
qq:20507
icq:1234586
email:yubo@hust.edu.cn

Operating System Engineering

[06-Nov-2009]

MIT 6.828

6.828 是麻省理工学院的一门公开课程,讲授了操作系统的基础原理。你将在这里学习到关于各种操作系统的实现细节,包括虚拟内存,内核态,用户态,系统调用,多线程,上下文切换,中断,处理器间通信,并发处理,软件接口,硬件接口。重要的是,你会学到这些要素之间是如何相互影响,以及如何在如此复杂的环境下管理这些要素。

想把这个课程做下来,一直瞎忙,这学期是没戏了。不想忘了这事,放到主页上。实在太有趣了。

做多少,放多少好了, to be continue...


xen代码分析

[16-Jun-2009]

RTFSC - Read The F**king Source Code!
                         - Linus Benedict Torvalds

xen代码分析

文章逐步整理中....

  • 启动中的xen- xen启动过程中,会完成一些数据结构,函数的初始化,包括各种中断的处理函数
  • 运行中的xen- 运行中的xen会不断检查每个cpu的中断,逐个执行相应的函数

手机号查询

[15-Jan-2009]

依照QQWry.Dat做的手机归属地查询,提供数据文件下载及文件格式文档

手机或者ip地址

kernel代码分析

[08-Sep-2008]

linux2.6.26内核代码分析(ipvs部分)

linux-2.6.26中ipvs代码包括头文件在内,总共有12996行.分析的顺序我按照自己看代码的过程,分为以下4个部分

  • 启动中的ipvs- 根据ipvs模块加载时的执行顺序为线索来分析ipvs代码,直到ipvs的模块加载完成
  • 运行中的ipvs- ipvs启动完成以后,根据数据报在ipvs模块中被处理的过程为线索来分析ipvs代码,直到最后选出rs -> 修改数据报头部 -> 发出数据
  • ipvs的调度- 对第2部分中的ipvs选择rs的调度过程和调度方法进行更详细的分析
  • ipvs的数据报转送- 对第2部分中的ipvs修改数据报,并发出数据的过程进行更详细的分析

ipvs中还用到了些其他的技术,比如hash算法,socket buff等.对整个代码理解不构成影响,则作为单独的部分提出来进行分析



快速选择/排序

[17-Jul-2008]

在jdk1.4demo的sort代码的基础上,写了2个排序/查找的代码,提供源代码下载

从50个无序数字中选出由小到大第30个数字,一般做法是先排序,再找出第30个.
能再快点吗?下面给出实现办法,就是在不排序的情况下选择.

以上面的算法为基础改写的快速排序

下面是官方的demo


ajax在表单提交中的应用

[08-Sep-2008]

在 HTML 表单中结合 Asynchronous JavaScript™ + XML (Ajax) 的服务器回调机制,对表单应用 Ajax,对于为应用程序增加 Web 2.0 功能来说是一种可行的办法。

pdf417内容


hilbert曲线(3D)的空间构象

[10-Jul-2006]

当出口和入口以及填充空间确定的情况下,1阶填充曲线存在2种空间构象,尽管这2种构象可以通过在空间中旋转的方式互相转换,所以说严格意义上来说,并不能说是2种不同的构象. 也就是说,一阶填充应该存在2种方式,在二阶曲线里面,存在的不同曲线就有2^(1+8) )=512种,三次曲线就有 2^(1+8+64)=9.44473296574E+21种,这个数已经超过了php的整数类型的最大值,大数计算的模块不是每个php版本都提供,时间的问题,暂时还没有精力去自己写大数计算的公式,这里只放出二阶的512种图形的3d坐标,供大家参考.其中有一部分是可以通过3d的旋转互换的


traceroute

traceroute

[21-Jul-2005]

traceroute是Unix下经常会用到的工具,改写以后加入了ip地址显示功能,可以比较直观地看到数据包一路上所经过的服务器地址

由Van Jacobson编写的Traceroute程序是一个能更深入探索TCP/IP协议的方便可用的工具。 尽管不能保证从源端发往目的端的两份连续的IP数据报具有相同的路由,但是大多数情况下 是这样的。Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。 Traceroute程序还可以让我们使用IP源路由选项。

详情请参照 TCP/IP Illustracted Volume 1:The Protocols (W.RICHARD STEVENS)


barcode

1维2维条码生成

[29-May-2005]

1维2维条码生成由Jean-Sebastien Goupil编写的16种一维部分和自己编写的2维pdf417和qrcode部分组成,一共18种。

一维部分由Codabar,Code 11,Code 39,Code 93,Code 128,EAN-8,EAN-13 / ISBN,Interleaved 2 of 5,Standard 2 of 5,MSI Plessey,UPC-A,UPC-E,UPC Extension 2 Digits,UPC Extension 5 Digits,PostNet,Other Barcode共18种编码,来源http://www.phpclasses.org/

二维部分,pdf417是由c版本改写,qrcode由perl版本改写,来源http://sourceforge.net/

不论哪一种条形码,都有的共同点是:条形码符号图形结构简单;每个条形码字符由一定的条符组成,占有一定的宽度和印制面积;每种编码方案均有自己的字符集;每种编码方案与对应的阅读装置的性能要求密切配合


hilbert3d

hilbert曲线(3D)

[03-Apr-2005]

hilbert曲线 ([点阵坐标]  [java3d版本]  [截图]): 书本上大多是介绍的是平面填充曲线,根据该曲线的性质,我编写的空间填充曲线,算法方面借鉴了平面填充的部分代码,3d的hilbert曲线和平面的有一些不同,至少3d的有很多的变种,不像2d那样,图形只和旋转方向和阶次有关,3d的由于空间的旋转方向变化比较多,一次调用的时候就会有1<<8=256 种可能,递归以后变化会更多,当然,曲线产生的算法确定的情况下,结果是可预知的,由于时间有限,还没有进行深入研究,网上看了些相关的材料,只是个人爱好,工作以后很久都没有写这样的代码了,如果你也对这样的问题感兴趣,很希望能和你交个朋友.现在放的是连续点的3d坐标,每列的意义分别是(方向,路长,x坐标,y坐标,z坐标),现在更新上我用java3d做的版本,要求安装sun的java虚拟机+java3d插件,如果安装有困难的同志可以看看截图效果,比我原来用php做的那个仿3d平面图不知道要好到什么地方去了,enjoy it!


论坛签名图片

[02-Mar-2005]

自己闲来无事,做的一个论坛签名图片,显ip版. 看到网上很多论坛上使用类似的签名,自己也尝试做了一个,用php+gd做的,数据库本来打算用mysql的,考虑到以后维护起来比较麻烦,就直接用的 QQWry格式,还好这种格式互联网上有很多文章提到,文章作者太杂乱,这里就不列出处了,如果有任何意见,请与我联系。所以基本没有花费什么时间,在这里对ip数据的整理做出过贡献的前辈和网友表示感谢.没有做美化,现在可能有些不好看,等有时间的时候在把他搞好看一些,加个用户自定义的背景图片应该没有什么问题,呵呵


hilbert

hilbert曲线

[05-Jul-2004]

hilbert曲线是由heilbert先生于1891年在他的论文中提到的曲线,这种曲线具有惊人的空间填充性,这是我用php改写的一个版本

相关算法请参照 Hacker's Delight (Henry S. Warren)


汉诺塔

[02-Oct-2003]

汉诺塔的算法在很多数书上都有介绍,将其输出格式用ASCII方式显示出来.


 
Done in 0.149582862854 seconds