2009年3月31日
1. 要有程序代码 - 工作的代码是公司业务的起点。
2. 要有(软件)工程背景的人做合伙人 -一个既有工程背景又投入和开创公司业务的人。
3. 聘用A+级的热衷于编写程序的工程师 - 聘用那些知道他们在“作什么”的人。
4. 保持工程师团队小而精,不要把业务外包出去 - 大多数成功的创业阶段的软件公司都只是有几个非常优秀的工程师建立起来的。
5. 在工程师面试中要多提问专业性很强的问题 - 聘用“正确的”人。
6. 避免去聘用“经理” - 公司需要顾问或良师,而不是“经理”。
7. 建立适时改进更新的企业文化。 - “写程序”是一个塑型的过程。
8. 不要重新发明车轮 - 使用成型的的工具,服务,和方案来提升公司的发展。
2009年3月17日
昨天在家使用windows时遇到一个现象,
新建一个名为com1的文件夹,竟然不能成功,其它名称就可以,提示信息是"The specified device name is invalid",竟然不是folder而是device,怪异! Google之,发现Windows无法以设备名来命名文件或文件夹,而com1正好是Dos时代的设备名称,不只是com1不行,以下的名称都不行
CON
AUX
COM1
COM2
COM3
COM4
LPT1
LPT1
LPT2
LPT3
NUL
想了点办法,这种名称的目录还是可以创建的。
cmd-->md d:"aux"
这样就可以了,不过建立好的目录无法从explorer打开,也删除不掉! :(
不过办法还是有的,那就是使用UNC路径
rd ""."d:"aux"
export LESS_TERMCAP_mb=$'"E[
01;31m'
export LESS_TERMCAP_md=$'"E[01;36m'
export LESS_TERMCAP_me=$'"E[0;32m'
export LESS_TERMCAP_se=$'"E[0;36m'
export LESS_TERMCAP_so=$'"E[01;44;32m'
export LESS_TERMCAP_ue=$'"E[01;34m'
export LESS_TERMCAP_us=$'"E[01;35m'
将以上写入$HOME/.bashrc中即得到彩色man页(debian/ubuntu系统上已证明)
wget -m ftp://xxxx/dirname --
ftp-user=user --ftp-password=password
m 参数表示镜像指定的目录 等同于 -r -N -l
inf --no-remove-listing
能实现此功能的另一个办法是
wget -rtxx ftp://172.16.12.111/ppp/*
r是断点绪传,t是失败后可重新联接的xx次。
例如从ftp上直接下载整个目录到本地,我使用的完整命令是
wget -nH --cut-dirs=1 -m --ftp-user=szh --ftp-password=szhftp ftp://192.168.13.17/Server_CDROM
从ftp下载时与目标路径相关的两个参数:
-nH
--no-host-directories
Disable generation of host-prefixed directories. By default, invoking Wget with -r
http://fly.srk.fer.hr/ will create a structure of directories beginning with
fly.srk.fer.hr/. This option disables such behavior.
--cut-dirs=number
Ignore number directory components. This is useful for getting a fine-grained control
over the directory where recursive retrieval will be saved.
怀习惯1示例:
~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $ cd b
~/tmp/a/b/ $ mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $
使用 mkdir 的 -p 选项并在单个命令中创建所有父目录及其子目录要容易得多。但是即使对于知道此选项的管理员,他们在命令行上创建子目录时也仍然束缚于逐步创建每级子目录。花时间有意识地养成这个好习惯是值得的:
好习惯 1 的示例:使用一个命令来定义目录树
~ $ mkdir -p tmp/a/b/c
您可以使用此选项来创建整个复杂的目录树(在脚本中使用是非常理想的),而不只是创建简单的层次结构。例如:
好习惯 2 的另一个示例:使用一个命令来定义复杂的目录树
~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}
过去,单独定义目录的唯一借口是您的 mkdir 实现不支持此选项,但是在大多数系统上不再是这样了。IBM、AIX®、mkdir、GNU mkdir 和其他遵守单一 UNIX 规范 (Single UNIX Specification) 的系统现在都具有此选项。
1,列出某个IP地址所提供的共享文件夹
smbclient -L 198.168.0.1 -U username%password
2,像FTP客户端一样使用smbclient
smbclient //192.168.0.1/tmp -U username%password
3.使用mget下载多个文件,使用之前将prompt设为OFF可以去除提示
tar有以下几个基本的选项
-c 创建一个新归档
-f 当与-c选项一起使用时,创建的tar文件使用该选项的指定的文件名;
当与-x选项一起使用时,则解包该选项指定的归档。
-t 显示tar文件中的文件列表
-v 显示归档或解档的进度
-z 使用gzip来压缩tar文件
-j 使用bzip2来压缩tar文件
常用的tar命令
打包文件,把当前目录下的所有文件及子目录打包到backup.tar里
tar -cvf backup.tar *
打包并压缩文件,把当前目录下的所有文件及子目录压缩到
backup.tar.gz里
tar -cvzf backup.tar.gz *
列出tar或tar.gz里的文件
tar -tvf backup.tar
解包tar的内容
tar -xvf backup.tar
解压tar.gz的内容
tar -xvf backup.tar.gz
解包/压到指定目录
tar -xvf backup.tar.gz -C ./abc
sudo apt-get install mysql-server mysql-client mysql-admin
启动mysql
sudo /etc/init.d/mysql start
配置 MySQL 的管理员密码
sudo mysqladmin -u root password newpassword
GUI Vusers 、ASPGUI脚本回放时必须使用Process,其他情况可以使用Service
Service由Local System用户启动,Process则由登录到桌面的用户来启动。
如果测试脚本中有访问映射网络驱动器的代码,此时应该选择Process而不是Service,
因为每个用户/会话只能访问自己映射的网络驱动器,别的用户/会话映射的网络驱动器它是无法访问的, (这个原理与 SQL Server无法直接从用户映射的网络驱动器恢复数据 一样)
除非你专门为Local System映射网络驱动器或将你的测试代码改为访问UNC路径。
如果当前启动的是Service,改变Service到Process方法:
1 .uninstall the service
<LR_dir>\launch_service\bin\magentservice.exe -remove
2 .run magentproc.exe from <LR_dir>\launch_service\bin
2009年3月13日
把一个闲置的老硬盘挂上了,想给/home扩容,正好原来/home就放在一个lvm 的lv上
先把磁盘/dev/sdc加入到卷组MyLVM中
pvcreate /dev/sdc #创建物理卷
对现有的MyLVM做扩展
vgextend MyLVM /dev/sdc #扩展卷组
直接扩展Home分区,不用umount,也不需要重启
lvextend -l +100%FREE /dev/MyLVM/Home #扩展逻辑卷
lvresize -l +100%FREE /dev/MyLVM/Home #resize 逻辑卷
需要重新检测新的分区大小,否则重启会报错
e2fsck /dev/MyLVM/Home #卷检查
resize filesystem
resize2fs /dev/MyLVM/Home #resize ext3文件系统