Jun 20 2008

功夫熊猫

Category: 乱up当秘笈ssmax @ 22:36:30

的确让人捧腹,故事还过得去,中规中矩,典型的美国式幽默,有点和中国文化拼凑的感觉,相差很远的东西还是不能融合得太好。


Jun 19 2008

服务器

Category: 乱up当秘笈ssmax @ 23:13:30

今天算是把2u那台机器弄开机了,tnnd,8条内存槽有4条估计是坏的,最郁闷就是comx那丫简直就是有破坏无建设,直接把电源通电的情况下插上,这样瞬间电压电流超大,差一点的电源立马烧掉,还好这个有过载保护,电容在放电,过了半天才再能开机。。。明天再看看能不能转到1u机箱上面,不行就买一个去,100多块。


Jun 18 2008

2u服务器

Category: 乱up当秘笈ssmax @ 14:58:19

中午本来想把n年前那台服务器弄一下,搞好然后托管,有两台。。。1u的配置太低,2u的死活不能开机,tmd折腾了一个中午没搞定,没有配件可以试试是什么东西出问题了,有时间再去搞下。


Jun 17 2008

ip检索。。完成。。

Category: 技术ssmax @ 22:17:35

c、java、perl各一个版本。。。做到现在,晚上10点,终于搞定。。。

java版本,一开始是用TreeMap,默认的红黑树实现,但是jdk6之前没有LowerKey的方法,做得很麻烦,要生成一个submap,太慢,最后用二分法检索已排序数组,比较快,性能是100万次不超过2秒。

c版本,用红黑树实现,其实和二分法一样的,个人觉得,网上抄了一个实现,主要用树结构就不用再想怎么存储数据了,改了一下人家的源代码,加了LowerKey和HigherKey方法,其实也就是查找的时候多加一个变量就好了,性能是100万次不超过1秒。

最后就是perl版本了,不熟悉,做到晚上才做好,一开始不小心写了个数组copy,做1万次都要2秒多才做完,检查的时候检查出来了,

一开始是这样的

my @ipstart = @{$this->{“ipstart”}};

perl的类型太弱了,不是太清楚。。。结果就copy了数组,难怪慢了,后来直接用指针

my $ipstart = $this->{“ipstart”};

读取数组的时候用@$ipstart[] 就好了。。。

今天就是这种弱类型的指针转换搞了半天。。。汗啊汗。。

不过perl的最神奇函数pack、unpack真的好好用,果然是处理字符脚本首选啊。。

ip地址与long之间的转换就一行。。。
sub ip2long {
  return unpack(“N”, pack(“C4”,split(/\./,shift)));
}
 
sub long2ip {
  return join(“.”, unpack(“C4”, pack(‘N’,shift)));
}

perl也完成了,写了一个perl module,100万次大概是18秒,好像没什么地方可以再缩短了,就这样算了,困了,tnnd。。。。明天再修改一下c的结构就交货了,没有class真tmd不习惯。。。


Jun 16 2008

ip地址搜索

Category: 技术ssmax @ 17:49:07

今早接到的任务,同时用c、java、perl实现,本来用纯真数据库就很简单的,但是用自己的数据库,首先要格式化一下。。。

只是熟悉java,用java做,treemap上,半个小时解决地址交叉和重复的问题,生成格式化数据文件

查找直接用treemap做,jdk6.0的增强treemap更快,100w次不超过4秒,jdk5.0要用submap,100w次不超过6秒,其实就是红黑树,自平衡二叉树。。。

下午研究用c实现,抄了一个红黑树,基本上没问题了,明天再优化一下。

剩下就是用perl实现了,好像没有红黑树了,那就自己写二分法查找好了,烦啊烦。。。清水衙门就是做这些工作了,我们可不是全能的啊。。。tnnd


Jun 15 2008

WINPE多合一集成制作

Category: 技术ssmax @ 17:05:58

1、首先了解PE光盘的启动过程
以老毛桃XPPE的BOOTCD_070310.ISO文件为例,这个ISO文件是个可引导的光盘文件,用ULTRAISO打开这个ISO文件,保存引导文件到D:\BOOT\EZBOOT\XP.BIF,把光盘中所有文件提取到D:\BOOT
从上面的目录结构可以看出PE光盘的引导过程,首先启动引导文件XP.BIF,再找到WXPE目录下SETUPLDR.BIN,读取WINNT.XPE,加载WINPE.IS_,再WXPE\NTDETECT.COM启动PE,即
XP.BIF->SETUPLDR.BIN->WINNT.XPE->WINPE.IS_->NTDETECT.COM

(注:easyboot从版本5.08开始,加入了BCDW命令,如果你的EASYBOOT版本比5.08新,都是支持BCDW命令的。从EASYBOOT的安装目录中拷贝BCDW.BIN到上面D:\BOOT\EZBOOT,在菜单中原来用RUN XP.BIF 用下面命令代替BCDW \WXPE\SETUPLDR.BIN,这里注意写上光盘绝对路径。原这样的XP.BIF文件就可删除了)

 

2、如何集成第二个winpe

第二个winpe也有SETUPLDR.BIN、WINNT.XPE、MINIPE目录等,改名SETUPLDR.BIN 为任意,比如xxx.bin,照样放在WXPE下,WINNT.XPE改名为xxxxx.xpe,照样放在根目录,MINIPE也随便改名,改成xxxpe

然后用ultraedit或者winhex打开 xxx.bin ,搜索winnt.xpe,全部改成xxxxx.xpe,最好xxxxx就是五个字符啦,要不就改了引导文件的大小了,估计也可以,没试过。

然后修改打开xxxxx.xpe,更改镜像文件目录,把minipe改为xxxpe

一般到这里就可以load出来了,但是有很多集成软件可能还用不了,因为是在镜像里面指定的。

 

3、如果修改外置程序目录

一般镜像文件是winpe.is_或者winpe.im_,这种命名方式看上去和windows安装盘的文件一样,其实就是cab打包的默认命名方式,winpe.is_对应就是winpe.iso,winpe.im_对应就是winpe.img,先用winrar强行解压(或者改名成winrar. cab),得到winpe.iso,用ultraiso或者其它镜像编辑工具,修改里面的

\WXPE\SYSTEM32\PECMD.INI

文件,找到minipe,替换成xxxpe,然后保存成新的iso文件,最后用

makecab winpe.iso

重新压缩成winpe.is_,不建议再增加压缩率,启动解压的时候会慢一点。。。

这样winpe.is_就改好了,然后继续搜索xxxpe下面的wim文件、winpe.ini文件,替换所有minipe为xxxpe,保存。

 

这样一个winpe就集成上去了,用easyboot执行 BCDW /wxpe/xxx.bin就好了

或者u盘启动的话可以选择grub4dos,用

chainloader /wxpe/xxx.bin;

boot;

就好了,有耐心的话集成多少个都没问题,当然集成完了要测试一下哦。哈哈


Jun 14 2008

一些不好的习惯要改

Category: Lovessmax @ 21:22:15

监督之。


Jun 13 2008

大树倾倒

Category: 乱up当秘笈ssmax @ 09:51:18

今天早上7点多的时候,还睡在床上,突然听到轰隆一声,是某些东西坍塌的声音,马上从床上跳起。。往窗外一看,发现怎么光了许多。。。那个位置。。。应该有一棵大树的啊。。。再望向地上,整棵树连根拔起,倒在一边了,压坏了围墙和几辆小车。。。还好没有压到人。。。

那棵树应该是我几岁的时候种上去的,都20多年树龄了,也长到五六层楼那么高了。。。倒在路中心。。。tmd如果倒歪一点偶就挂了,门口对出去还有一棵,好像也摇摇欲坠了,是不是找个时候要把它锯了,省得这么恐怖。。。。


Jun 12 2008

sun交流研讨会

Category: 乱up当秘笈ssmax @ 19:51:32

投影仪换了nn次,死机nn次,拖了一个多小时,tnnd,没有抽奖,最后每人一只读卡器就算了,汗啊汗,走了还被人老点到体育中心才坐上地铁,又下大雨,什么世道啊什么世道。。。

得知了java还有一个real time jdk的版本,好像功能很强大,non-heap memory object…

还有glassfish最新版的性能好像不错,真的实现了单线程异步处理请求,就是不知道线程作用域的变量会不会有影响。。。


Jun 11 2008

工作、开会

Category: 乱up当秘笈ssmax @ 22:39:00

今天花了一天的时间把普通客服需要的报表搞定了,他们查报表都是要超级动态的,报表应该是统计用的,他们就是拿来查询用的,这样服务器想不死都难啊。。。

明天要去东站那边参加个研讨会,sun举办的,不知道这次有没有得抽奖,上次就拿了个u盘+两本书,嘿嘿,出席这些会议主要就是抽奖吃饭的啦,哈哈哈。


« Previous PageNext Page »