关于编程,大学没有传授的10件事

作者:tKC 发布时间:August 30, 2011 分类:IT技术,学习

我依然记得当我完成学业时,我是多么的天真。那时我深信自己已经准备好进入任何一家软件公司,并开始成为一个顶级的开发人员。显然,开始工作后没多久我就意识到,还有很多事是我所不了解的。

在不断吸取经验的同时,我一直在努力学习那些我从来没有学过的,但却是成为优秀的开发人员所应了解的基本知识。以下是我希望自己能在学校就学到的10件事。

1. 我们总是错的

开发人员有着相当大的自我意识,包含了一些其他的非技术性缺陷,这也正是为什么我们很难发现我们做错了什么。我看到过很多无休止的设计讨论,开发人员不断地发表自己的想法……呵呵!猜猜怎样……我们都错了,唯一的区别就是我们犯错的离谱程度不同。

理解并接受这个事实非常重要,我们只有这样做了,才能敞开心胸去听听别人的意见,采用他们的想法,来得出一个更好的解决办法。

2. 事情若有可能出错,就一定会出错

也就是说“希望驱动开发(hope driven development)”,如果你对于某些事并不确定,如果你发现自己使用了“应该”这个词,那你就麻烦了。

而这只有一个解决方案,尽己所能去保证它不会出错,这可能意味着你需要编写一个测试、调试并验证需求……

3. 所有的代码都烂

阅读剩余部分...

VMware ESXi5 PXE/gPXE 网络安装

作者:tKC 发布时间:August 28, 2011 分类:IT技术,网络启动,虚拟化

终于VMware ESXi5发布正式版下载了,下载好以后发现目录结构有了很大变化,像以往一样,研究一下PXE网络安装。

找到一篇参考文章http://www.vcritical.com/2011/07/vmware-esxi-5-interactive-pxe-installation-improvements/

从描述上看,新版本的PXE设置非常简单,具体操作方法如下:

首先解压VMware-VMvisor-Installer-5.0.0-469512.x86_64.iso到TFTP服务器的某个文件夹(如/esxi5)

修改配置文件/esxi5/boot.cfg,把modules=后面的/都去掉,增加一个prefix=/esxi5/,如下所示

bootstate=0 title=Loading ESXi installer prefix=/esxi5/ kernel=tboot.b00 kernelopt=runweasel modules=b.b00 --- useropts.gz --- k.b00 --- a.b00 --- ata-pata.v00 --- ata-pata.v01 --- ata-pata.v02 --- ata-pata.v03 --- ata-pata.v04 --- ata-pata.v05 --- ata-pata.v06 --- ata-pata.v07 --- block-cc.v00 --- ehci-ehc.v00 --- s.v00 --- weaselin.i00 --- ima-qla4.v00 --- ipmi-ipm.v00 --- ipmi-ipm.v01 --- ipmi-ipm.v02 --- misc-cni.v00 --- misc-dri.v00 --- net-be2n.v00 --- net-bnx2.v00 --- net-bnx2.v01 --- net-cnic.v00 --- net-e100.v00 --- net-e100.v01 --- net-enic.v00 --- net-forc.v00 --- net-igb.v00 --- net-ixgb.v00 --- net-nx-n.v00 --- net-r816.v00 --- net-r816.v01 --- net-s2io.v00 --- net-sky2.v00 --- net-tg3.v00 --- ohci-usb.v00 --- sata-ahc.v00 --- sata-ata.v00 --- sata-sat.v00 --- sata-sat.v01 --- sata-sat.v02 --- sata-sat.v03 --- scsi-aac.v00 --- scsi-adp.v00 --- scsi-aic.v00 --- scsi-bnx.v00 --- scsi-fni.v00 --- scsi-hps.v00 --- scsi-ips.v00 --- scsi-lpf.v00 --- scsi-meg.v00 --- scsi-meg.v01 --- scsi-meg.v02 --- scsi-mpt.v00 --- scsi-mpt.v01 --- scsi-mpt.v02 --- scsi-qla.v00 --- scsi-qla.v01 --- uhci-usb.v00 --- tools.t00 --- imgdb.tgz --- imgpayld.tgz build= updated=0

最后修改pxe的配置文件增加以下内容即可

阅读剩余部分...

使用gPXE做网络启动引导DOS/PE/Linux

作者:tKC 发布时间:August 26, 2011 分类:IT技术,网络启动

用了很久的syslinux了,虽然已经实现了PXE网络启动DOS、PE1.0、PE2.0、PE3.0、网络安装各种Linux(Redhat、CentOS、Debian等),但老版本的syslinux是基于TFTP来传输所有的启动文件的,这个在跨网段的情况下,传输速度会比较慢,一直想解决。
听说gPXE有一段时间了,它支持通过HTTP和FTP方式传输引导文件,一直没时间研究,最近研究了下,加上朋友的参考,基本上把功能实现了。
原理非常简单,新版本的syslinux已经支持gPXE了,直接更改DHCP配置文件,指向到gpxelinux.0就可以了,我是直接把gpxelinux.0改名成pxelinux.0,原始配置文件基本不变。
旧版本引导dos镜像的方法
LABEL dostools #MENU PASSWD 1 MENU LABEL ^A- DOS Disk Tools kernel gpxe/memdisk c=938 h=2 s=32 floppy append initrd=grub/dos.img

gPXE引导方式支持HTTP和FTP协议
LABEL dostools #MENU PASSWD 1 MENU LABEL ^A- DOS Tools FTP kernel ftp://192.168.1.1/gpxe/memdisk c=938 h=2 s=32 floppy append initrd=ftp://192.168.1.1/gpxe/dos.img

阅读剩余部分...

为Win7PE增加驱动支持

作者:tKC 发布时间:August 26, 2011 分类:IT技术,微软

Win7的PE是个好东西,默认识别的设备就比XP的PE多很多,而且Win7PE的驱动比XP的PE增加起来要容易的多。
着手做的时候查了很多资料,网上很多说用PEIMG打驱动的,实际上这个是Vista时代的工具,Win7已经升级到了DISM了。
命令行下使用如下命令(参考http://technet.microsoft.com/en-us/library/dd744355(WS.10).aspx)
首先需要安装Windows AIK,下载地址自己google吧,还需要一张Win7的安装光盘。
注:如果你使用的是XP/2003的系统,在安装完Windows AIK以后需要把C:\Program Files\Windows AIK\Tools\x86和C:\Program Files\Windows AIK\Tools\x86\Servicing下的exe和dll都拷贝到C:\WINDOWS\system32下面,否则运行下面的指令会出错
查看映像信息
Dism /Get-WimInfo /WimFile:C:\test\images\install.wim

挂载Wim文件,方法1:以名称方式
Dism /Mount-Wim /WimFile:C:\test\images\install.wim /Name:"Windows 7 HomeBasic" /MountDir:C:\test\offline

挂载Wim文件,方法2:以序号方式
Dism /Mount-Wim /WimFile:C:\test\images\install.wim /index:1 /MountDir:C:\test\offline

阅读剩余部分...

破解Win7管理员密码

作者:tKC 发布时间:August 26, 2011 分类:IT技术,微软

一直不怎么愿意用Win7,所以没怎么研究Win7的帐户密码破解,今天刚好有台电脑administrator密码忘了,需要强制更改,放狗搜了一下,以下是方法:

首先需要通过Win7的PE启动计算机,我这里做了网络启动的Win7的PE,所以插上网线就可以用,呵呵

到C:\Windows\system32下找到narrator.exe,改名为narrator1.exe,并且把cmd.exe改名成narrator.exe,把新的narrator.exe文件权限更改为everyone所有权限

重启计算机,登陆界面左下角点击“轻松访问”,再选择“启动讲述人”点击确定,然后就会弹出我们替换的cmd.exe程序,此时输入

net user administrator 123456

就把Administrator的帐户密码更改为123456了,现在就大功告成了,可以用123456这个密码登陆进administrator帐户了,最后别忘了把刚才替换的文件替换回来。