6/08/2007
6/03/2007
5/29/2007
shell之test用法集合
if test (表达式为真)
if test !表达式为假
test 表达式1 –a 表达式2 两个表达式都为真
test 表达式1 –o 表达式2 两个表达式有一个为真
2)判断字符串
test –n 字符串 字符串的长度非零
test –z 字符串 字符串的长度为零
test 字符串1 = 字符串2 字符串相等
test 字符串1 != 字符串2 字符串不等
3)判断整数
test 整数1 –eq 整数2 整数相等
test 整数1 –ge 整数2 整数1大于等于整数2
test 整数1 –gt 整数2 整数1大于整数2
test 整数1 –le 整数2 整数1小于等于整数2
test 整数1 –lt 整数2 整数1小于整数2
test 整数1 –ne 整数2 整数1不等于整数2
4)判断文件
test File1 –ef File2 两个文件具有同样的设备号和i结点号
test File1 –nt File2 文件1比文件2 新
test File1 –ot File2 文件1比文件2 旧
test –b File 文件存在并且是块设备文件
test –c File 文件存在并且是字符设备文件
test –d File 文件存在并且是目录
test –e File 文件存在
test –f File 文件存在并且是正规文件
test –g File 文件存在并且是设置了组ID
test –G File 文件存在并且属于有效组ID
test –h File 文件存在并且是一个符号链接(同-L)
test –k File 文件存在并且设置了sticky位
test –b File 文件存在并且是块设备文件
test –L File 文件存在并且是一个符号链接(同-h)
test –o File 文件存在并且属于有效用户ID
test –p File 文件存在并且是一个命名管道
test –r File 文件存在并且可读
test –s File 文件存在并且是一个套接字
test –t FD 文件描述符是在一个终端打开的
test –u File 文件存在并且设置了它的set-user-id位
test –w File 文件存在并且可写
test –x File 文件存在并且可执行
5/12/2007
Ajax学习
- 主线程
- 初始化
- >创建xmlHttpRequest对象
- >定义事件处理函数
- >开始XMLHTTP请求
- >创建新请求
- >发送新请求
- >...
- 异步线程
- 事件处理函数
- >判断当前状态
- >执行操作
- >...
- 步骤:
- 初始化xmlHttpRequest对象
- 制定响应处理函数
- 发出http请求
- 处理服务器返回的信息
创建xmlHttpRequest对象需要考虑浏览器的兼容问题。
ie:xmlHttp=new ActiveXObject(Microsoft.XMLHTTP)
ff:xmlHttp=new XMLHttpRequest()
有些版本的ff处理服务器返回的未包含XML mime-type头部信息的内容时会出错。加上http_request.overrideMimeType('text/xml')
XMLHttpRequest的方法有open(method,url,AsyncFlag),send(content),setRequestHeader("Lable",value),getResponseHeader(headerLable),getAllResponseHeader()
XMLHttpRequest的属性有:onreadystatechange,readyState,responseText,responseXML,status等。
readyState=0,1,2,3,4,0 分别代表未初始化、读取中、 已读取、交互中、完成
status=200,404分别代表“成功”和“文件未找到”
post与get。如果要send字串或dom对象,必须用post方法,使用Post方法时必须先调用方法setRequestHeader,修改 MIME 类别。
学习css
- float与clear float:leftrightnone;使对象浮动,到左边右边,直到它的外边缘碰到包含它的框的内边缘或另一个浮动框的边缘。 clear:noneleftrightboth;清除左右两边的浮动对象,即通过降低自己的位置来保证满足左右两边没有浮动对象。 这两个属性可以用来进行div布局。
- important
- margin,border&padding 四个数值按上右下左顺时针排列。
- IE:width=content+padding+border
- Firefox:width=content
- display
- position 相对定位
- width属性计算
相对定位是相对于对象自身的初始位置。元素本身即使移动到了别处也要占据原来没有变化时的初始位置。相对定位的元素并没有脱离原Html流
绝对定位
绝对定位的元素已经脱离了普通流,不受普通流的影响,元素会被放到一个新层上。绝对定位的元素的位置相对于“最近”的“已定位”的祖先元素。如果元素没有已定位的祖先元素,那么它的位置相对于body。
5/11/2007
web学习
- 结构、表现、行为分离
- 分离js
语法<script src="***.js" type="text/javascript"> </script>注意后面的</script>不能少,不能仅仅用/表示.路径可有相对和绝对两种,绝对路径注意带上协议http://,相对路径的目录是从网站的根目录算起,第一个子目录前可带/也可不带。如
<script language="JavaScript" src="jscript/hide.js" > </script> <script language="JavaScript" src="http://localhost/jscript/hide.js" ></script>
- 分离css
- 分离js
语法<script src="***.js" type="text/javascript"> </script>注意后面的</script>不能少,不能仅仅用/表示.路径可有相对和绝对两种,绝对路径注意带上协议http://,相对路径的目录是从网站的根目录算起,第一个子目录前可带/也可不带。如
- xhtml
- 标签和属性需要小写
- 标签应封闭
- 空标签应有关闭符' /'
- 属性需用引号,不能简写
- 标签需要正确嵌套
- 使用id代替name
- 使用xml:lang
- 声明Doctype
5/10/2007
如何给软件分类
不知道有多少人面临我这种问题:面对硬盘里上百G的软件不知如何存放,没整理的时候各种文件难以识别,混乱不堪。想要整理的时候,如何给分类取合适的名字,建立较合理的目录结构又成了难题。
最早,我也是和国内的下载网站一样进行二级分类,特点就是每类尽量用四个字,显得比较整齐。这点可以参考华军,霏凡等网站。
比如下面就是一个例子。为了避免文章太长,删去了很多分类。
软件目录结构 ├─图形图像 │ ├─图像处理 │ ├─图像捕捉 │ ├─图像浏览 │ ├─图像管理 │ └─图片压缩 ├─媒体工具 │ ├─媒体管理 │ ├─网络音视 │ ├─视频处理 │ ├─音频处理 │ └─音频转换 ├─安全相关 │ ├─密码管理 │ ├─木马防护 │ ├─病毒防治 │ └─网络安全 ├─应用软件 │ ├─信息管理 │ ├─办公软件 │ ├─压缩解压 │ ├─数据恢复 │ ├─文件管理 │ ├─汉字输入 │ └─键盘鼠标 ├─硬件工具 │ ├─主板驱动 │ ├─显卡驱动 │ ├─硬件工具 │ └─网卡驱动 ├─系统程序 │ ├─优化设置 │ ├─升级补丁 │ ├─卸载清除 │ ├─系统检测 │ └─系统辅助 └─网络工具 ├─下载工具 ├─主页浏览 ├─网络辅助 ├─网页辅助 ├─聊天联络 └─邮件处理
后来我觉得只用四个字虽然整齐,但是限制了很多类别的表达,导致分类不合理,所以我现在采用英文站点的分类模式,使用英文目录。中文目录看着方便,但在使用命令行或者数据恢复的时候还是不如英文方便,关键时刻就能体会到这点了。
Software ├─[Developers] ├─[Disc Tools] ├─[File&Disk Management] │ ├─[Backup] │ ├─[Comparer] │ ├─[Data Recovery] │ ├─[Disk Management] │ ├─[File Renamer] │ ├─[Installer] │ └─[Verifier] ├─[Graphics & Media] │ ├─[Audio] │ ├─[Codecs] │ ├─[Editors] │ ├─[Icons] │ ├─[Image Comparer] │ ├─[Image Viewer] │ ├─[Screen Capture] │ └─[Video] ├─[Hardware] │ ├─[Driver Backup] │ └─[Hardware Testing] ├─[Information Management] │ ├─[Databases] │ ├─[IM] │ └─[KMS] ├─[Internet] │ ├─[BBS] │ ├─[Blog] │ ├─[Browsers] │ ├─[Chat] │ ├─[Downloader] │ ├─[E-Mail] │ ├─[Feed Reader] │ └─[Offline Explorer] ├─[Miscellaneous] │ ├─[Calculators] │ └─[Keyboard & Mouse] ├─[Network] │ ├─[Network Application] │ ├─[Network Management] │ ├─[P2P] │ ├─[Proxy] │ └─[Servers] ├─[Office Application] │ ├─[CHM] │ ├─[Converter] │ ├─[Input & Language] │ ├─[Print] │ ├─[Text Editor] │ ├─[Viewer] │ └─[Word Processing] ├─[Security] │ ├─[Anti Spy] │ ├─[Anti Virus] │ ├─[Anti-ADWare] │ ├─[Firewall] │ └─[Password Recovery] └─[Ulilities] ├─[Explorer] ├─[Optimize Utilities] ├─[Registry] ├─[Shell] ├─[System Utilities] └─[Virtual System]
如果把所有软件这样归类,其实已经够了。但是不同于下载网站,对个人来说,这种方法还有很多很多不方便的地方。我列举一下我的看法:
- 分类不能太细。有的软件模棱两可,用的时候自己都不知道在哪类了。用Gmail的话说就是Search, Don't Sort 。
- 自家硬盘比不上服务器,我是不能忍受一个2G以上的文件放在一个很深的目录里面。一般来说大型的软件都是专用的软件,所以我把他们单独归类。
- 正版和免费要分开。其实,我是想说盗版,不过知识产权日刚过,还是支持正版,支持免费!
- 常用软件和不常用的要分开。很多软件功能相同,但是我只会安装一种,尽量把自己觉得好的软件和不太好的软件分开。
- 一个软件作者的要放在一起。或者说,一个软件公司的要放在一起,因为它们有相同的风格。比如Adobe,O&O的软件我都以公司名字存放在一个目录里面。
- 软件要有注释。软件一多,有的时候光看名字也想不起来它是干什么的。我用TC的文件注释功能。
- 及时更新,不要重复。下载以后要先查毒并试用。
- 目录存放,版本分开。每个软件的每个版本我都会单开一个目录。