ubuntu 上安装atheros无线驱动
现在使用的是Thinkpad的T400,里面内置的无线网卡是Atheros的(win下面显示好像是:thinkpad a/b),但是默认安装ubuntu 8.04并不支持这个程序,具体安装如下:
Tags: Linux, 安装, 技巧, 驱动现在使用的是Thinkpad的T400,里面内置的无线网卡是Atheros的(win下面显示好像是:thinkpad a/b),但是默认安装ubuntu 8.04并不支持这个程序,具体安装如下:
Tags: Linux, 安装, 技巧, 驱动假设你需要很多的 swap 空间 (即刻),如一个 2GB 文件 /swap2gb (只限 Linux)。
# dd if=/dev/zero of=/swap2gb bs=1024k count=2000 # mkswap /swap2gb # 创建交换区 # swapon /swap2gb # 激活这个 swap。现在可以使用了 # swapoff /swap2gb # 当使用完毕,释放这个 swap # rm /swap2gb |
# diskinfo -v /dev/ad2 # 显示磁盘信息(扇区/大小) (FreeBSD) # hdparm -I /dev/sda # 显示 IDE/ATA 磁盘信息 (Linux) # fdisk /dev/ad2 # 显示和修改磁盘分区表 # smartctl -a /dev/ad2 # 显示磁盘检测信息 |
Sort命令能够对一个文本文件的行进行排序,下面的几个实用的样例展示怎么去对样例文本进行排序。样例文本的格式为:employee_name:employee_id:department_name.
$ cat names.txt Emma Thomas:100:Marketing Alex Jason:200:Sales Madison Randy:300:Product Development Sanjay Gupta:400:Support Nisha Singh:500:Sales |
以一个升序排列文本文件
$ sort names.txt Alex Jason:200:Sales Emma Thomas:100:Marketing Madison Randy:300:Product Development Nisha Singh:500:Sales Sanjay Gupta:400:Support |
以倒序排列文本文件
$ sort -r names.txt Sanjay Gupta:400:Support Nisha Singh:500:Sales Madison Randy:300:Product Development Emma Thomas:100:Marketing Alex Jason:200:Sales
用第二字段排列一个以冒号分隔的文本文件
$ sort -t: -k 2 names.txt Emma Thomas:100:Marketing Alex Jason:200:Sales Madison Randy:300:Product Development Sanjay Gupta:400:Support Nisha Singh:500:Sales |
以第三个字段排列一个以tab分隔的文本文件,并且禁止重复
$ sort -t: -u -k 3 names.txt Emma Thomas:100:Marketing adison Randy:300:Product Development Alex Jason:200:Sales Sanjay Gupta:400:Support |
通过ip地址来排序/etc/hosts文件
$ sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.100.101 dev-db.thegeekstuff.com dev-db 192.168.100.102 prod-db.thegeekstuff.com prod-db 192.168.101.20 dev-web.thegeekstuff.com dev-web 192.168.101.21 prod-web.thegeekstuff.com prod-web |
合并sort和其他命令
ps –ef | sort : Sort the output of process list ls -al | sort +4n : List the files in the ascending order of the file-size. i.e sorted by 5th filed and displaying smallest files first. ls -al | sort +4nr : List the files in the descending order of the file-size. i.e sorted by 5th filed and displaying largest files first. |
往往软件架构师坐在自己的象牙塔上,对下面的开发者进行发号施令,制定规范、技术决策,技术的开发方向。这些往往导致了一些问题的出现,和一些不满的群体,最终导致软件产品一点都不接近原始的需求。每个软件架构师应该知道如何去沟通软件项目的宗旨和目标。关键是明确有效的沟通应该是透明的和有领导的。
要明确说明怎样沟通。在你的团队中没人愿意去读一份100页的架构决策文档,使用明确和简洁的方式传达你的想法,是任何软件项目成功的关键。 在项目启动阶段,尽可能的保持简单,并用一切手段不要去写长篇累牍的Word文档。使用一些类似Visio的工具去画一些简单的图标,用来表达你的想法。对那些经常发生变化的人,要保持简单,另一种有效的沟通手段,是非正式的白板会议。没有任何东西比得上,带领一群开发者(或其他架构师)在一个会议室使用白板表达你的想法,此外,请务必在任何时候,你随身携带一台数码相机。没有比你被赶出会议室而所有的想法依然停留在白板上更郁闷的事了,拍照,下载,通过wiki分享给团队的其他成员。所以扔掉冗长的Word文档,更专注于让你的想法更全面,然后关注你的架构决策是否有详细记录。
一个软件架构师也是一个领导者,有些软件架构师没有意识到这点,作为一个领导者,你必须赢得你同事的尊重才能在一个健康和高效的环境里面进行高效的工作,让开发者对于一些架构决策一无所知,显然将导致灾难发生。有开发者和你一起创建一个协作环境,能验证你做出的架构决策是否正确。反过来,你也让开发者也参与到架构的进程中来,和他们一起工作,而不是排斥他们,请记住,所有团队成员(如质量控制小组,系统分析师,和项目管理人员以及开发者)需要清晰的沟通和领导。采用透明和高效的领导将改善沟通和建立一个强大且健康的工作环境。
如果“沟通是金” ,那么透明度和领导能力是其谦卑的仆人。
选自Communication is King; Clarity and Leadership its humble servants
Tags: 技巧, 架构, 软件工程在web应用程序中,日志是很重要的,能够知道正在发生什么,以及进行性能(performance)分析和意外事情的分析,那么怎样做,才能让你的日志有用途呢?
1. 产品状态下不应该有debug消息。
我看到了一次又一次的在产品中启动调试日志,这可能是一些开发者无意中检查调试日志记录时候的配置,启用调试能够显著降低你应用程序的运行速度,并且使得在去分析日志变得很困难, 请确保在部署的时候,最好是一些脚本,能够在产品阶段禁止debug信息。
2. 关注您的日志
有些公司在其产品系统中有着良好的日志记录,但不关注他们的日志。关注您的日志,能够发现应用程序中的问题(错误,性能,内存), 并解决这些问题 ,那么基本上你应该没有记录什么已知的错误。
3.使用正确的日志级别
写日志代码的开发者经常不知道那种日志级别在产品阶段使用,有一个文件应该能够解释开发者应该使用那一个日志级别。例如SEVERE应该只用于技术问题,需要立即采取行动。 ERROR应当用于错误,需要有人研究和解决 ,如:没有得到数据库连接、低资源或不集成的点。 这些对你的公司和应用是个规范。
4. 不要仅仅在本机记录日志
如果您的服务器有重大问题,如资源问题,它往往无法登录,你就不能找到您的日志,也不能找到问题,日志应该记录在一个网路驱动上,并复制到另外一台主机或者网络驱动,比如SysLog。一个好的解决方法是使用传播工具写入到一个网络多播组中,这也方便监测(见“可扩展的互联网体系结构” ) 。
5. 监控您的日志
类似“关注你的日志”,你应该安装一个监测解决方案,能够在你的日志中查看SERVRE条目、ERROR条目,异常和其他东西,通过传播,能够很容易监控,一个好的方法是能够分类和计数异常,然后去做一些关于严重的和最常见的处理。
6. 使用易读的格式
开发者往往不太考虑在产品阶段的日志输出,:这将导致难以阅读的日志文件。 看看下面有一个易读的输出:
[8/14/06 8:22:14:653 CDT] 0000a SSLComponent I CWPKI00001I: SSL service not available [ 8/14/06 8:22:14:653的CDT ] 0000a SSLComponentCWPKI00001I :
[8/14/06 8:22:14:813 CDT] 0000a WSKeyStore W CWPKI0041W: One or more key [ 8/14/06 8:22:14:813的CDT ] 0000a WSKeyStore W CWPKI0041W :
这样的格式更容易快速扫描日志,对比一下你的日志输出。
7. 在你的日志中使用错误代码
每个导致日志输出的原因应该有一个独特的错误代码。如果没有一个独特的错误代码是很难在您的源代码中找到原因。错误代码也更容易计数和分类, 使日志报表更容易展示。
想了解更多信息吗? 在web站点上也有一些很好的关于日志的书,象: Michael T. Nygard 写的《Release It!》(真的是非常好的一本书)和Theo Schlossnagle著作的《Scalable Internet Architectures》。
Tags: 技巧, 日志