Archive for the Category » 其他技术 «

重构和敏捷软件开发

  其实一直一来任何个人、团队和公司都在潜意识中,不知不觉的进行着这样的努力,只不过近些年才成为一个专门的课题被单独的提出来,得到广泛深入的关注。

  重构是各个持续性大型项目都会面临的问题,而敏捷软件开发则是很多团队都在尝试的软件开发思路,不过在实际的情况中,很少有团队能够得心应手的实施起来,而今,我们的团队也面临了这样的问题,在以前的一个公司,当时为了一个大型项目得以顺利重构,重构之前对团队的每个成员进行了大规模的重构和敏捷开发的培训和路演,然后再得以成功实施,而我们这次的项目重构同时还面临了沉重的新产品开发压力,不太可能这样来实施,肩上的担子很重啊。

  推荐几本经典书给想深入研究软件开发的朋友:
  测试驱动开发——实用指南       中国电力出版社
  设计模式:可复用面向对象软件的基础  机械工业出版社
  重构:改善既有代码的设计(中文版)   中国电力出版社
  敏捷软件开发:原则、模式与实践    清华大学出版社

顺利从T60迁移到T61

  前两天终于拿到期盼已久的T61宽屏,外观没有想象中好看,不过至少满足了我两点需求:宽屏和一如既往的Thinkpad , 接下来面临的最大问题就是安装系统,每次重新安装系统都是非常痛苦的事情,没有个两三天是没法彻底搞定的,各种开发工具、环境配置、银行客户端啥的,很麻烦,于是琢磨着怎么能省事。

  手头正在使用的T60系统基本还算稳定,最佳的办法就是把这上面的整套东西搬到T61上,我对比了一下两个型号间的配置,发现变化并不大,于是开始动手,第一个想到的办法就是整个硬盘对拷,可以使用类似Ghost或者Acronis这样的软件来实现,问题是需要把硬盘拆下来挂到T60上,尝试把硬盘拆下来,再找了个移动硬盘盒,结果发现硬盘盒是IDE接口,没法插上SATA的硬盘,郁闷,只能使用最原始的办法,就是Ghost,我在T60上挨着一个盘一个盘的Gohost,刻录成DVD后在Ghost恢复到T61硬盘上,虽然费事,但是在T61上顺利看到Windows登陆界面的时候,还是很兴奋的。

  接下来重新安装了T61的显卡驱动、网卡驱动、硬盘SATA驱动,升级了Tinkpad的Hot key软件,居然就全部ok了,实现了无缝的迁移。

  使用了几天,没有发现任何问题和不稳定现象,也逐渐适应了T61的样子以及相比T60更生硬的键盘,宽屏的确就是爽 🙂

Category: 其他技术  4 Comments

搞定SVN的Non-ASCII character错误

  FreeBSD上的目录或者文件的名字如果存在中文,就将在默认设置下导致svn出错,解决方法两种:

  1、把中文目录或者文件都改成英文的。
  2、设置BSD环境的Locale,可以是全局的设置,也可以是当前用户运行时的环境locale,通过export命令设置locale为en_GB.UTF-8或者其他跟你实际环境一致的值,可以通过locale -a得到全部的列表。

  小问题把我折腾够呛。。。

被SVN的 Non-ASCII character 错误困扰,郁闷之极。

  这两天在BSD上遇到 SVN的 Non-ASCII character (code xxx) detected 错误,导致svn无法使用,搞了很久也没有搞定,实在郁闷,影响到项目进度了,不知道谁能帮忙一下。

用svn的post-commit钩子实现类似vss的shadow功能

   原来用vss开发项目的时候,习惯了使用shadow,而svn默认不支持这样的功能,研究了一下hooks,轻松使用post-commit搞定之,对svn的印象好了一些。

对SNMP的MIB总算有所了解

  MRTG用了多年,也搞过一段RRDTool和Cacti做监控画图,但是一直都对SNMP的MIB库定义感到模棱两可,尤其那堆类似 .1.3.6.1.2.1.6.9.0 的数字感到迷惑,这回收集了一些资料,好好整理了一下,自己感觉清晰了不少,把收集整理的资料做个笔记,也分享给朋友。

SNMP协议介绍
  简单网络管理协议(SNMP:Simple Network Management Protocol)是由互联网工程任务组(IETF:Internet Engineering Task Force )定义的一套网络管理协议。该协议基于简单网关监视协议(SGMP:Simple Gateway Monitor Protocol)。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。虽然SNMP开始是面向基于IP的网络管理,但作为一个工业标准也被成功用于电话网络管理。
more »

顺利重装了postfix

  昨晚把新服务器上唯一没有弄的postfix邮件系统给搞好了,之前担心这是个困难的事情,因为前一台服务器上的postfix邮件系统当初就是费了很多周折,最后也是糊里糊涂给弄好的,之前一直想整理一份详细笔记,结果由于事情忙和想着这事就头大而一拖再拖,最后直到机器挂了也没有写。好在顺利运行了有一年多都很稳定,一直也不想区触碰这个敏感的东西,这回没法,被逼的!

  过程比想象中的顺利,凭着当初的一点印象,挨着东西装,要不说我喜欢FreeBSD呢,在ports下安装这些东西真的很方便,依赖关系完全不用管,我把ports默认的fetch下载替换为prozilla多线程下载,安装的时候下载快了N倍,的确很爽。 先后分别安装了这些东西,openssl、courier-imap、cyrus-sasl2、postfix、clamav、spamassassin、mailscanner、webmail,最后实在有点兴奋,把mailscanner-mrtg也弄上了,嘿,没想这个东西还真不错,监控内容非常全,这下邮件的监控也齐了!想看mailscanner-mrtg效果的朋友访问这里 http://mrtg.toplee.com/mailscanner-mrtg/ ,用户和口令都是demo

  这回再遇到配置postfix,我真的就不怵了!呵呵,给我发邮件吧 lee # toplee.com (替换#为@)

Category: 其他技术  5 Comments

面向高负载的架构Lighttpd+PHP(FastCGI)+Memcached+Squid

  因新项目,开始从Apache上转移到Lighttpd上,同时还有Memcached的大量使用,借此机会把toplee.com的服务器环境也进行一些改造,顺便整理一份文档留存!
  更多大型架构的经验,可以看我之前的一篇blog:http://www.toplee.com/blog/71.html

12.31 截至今天完成以下内容:
    1. 完成lighttpd的安装配置,并且做了大量的优化;
    2. 几乎全部看完了http://trac.lighttpd.net/trac/wiki上的文档;
    3. 配置了lighttpd和php的fastcgi支持;
    4. 增加了php对XCache的支持;
    5. 设置了部分域名在lighttpd上的解析;
    6. 完成了Apache通过mod_rewrite和mod_proxy将部分域名以及全部的php访问转到lighttpd上;
    7.完成Memcached的环境搭建,并且修改了部分数据库操作缓存到MC上;

more »

Subversion安装配置和使用笔记

  原来一直用VSS和CVS,最近开始转到SVN上,先后在我的本子上windows环境和服务器上BSD环境下安装和配置了Subversion,从安装和配置上来说,没有甚么特别一说的,随便google或者baidu一下,满页都是这样的东西,而且大都一样。如果说在windows上,tortoiseSvn这个东西还是不错的,*nix上,和原来cvs也就类似了,如果你原来是cvs的用户,转到svn上就是分分钟的事情,主要看一下svn手册上关于两者间差别的一章就差不多了。

  经过两个礼拜的试用,总的感受svn也就那么回事,反正只是个版本和代码管理的工具,比cvs是改进了一些,尤其对目录的版本记录和跟踪,以及“懒惰”方式的copy,都是不错的,但是决定软件开发成败的显然不是这些,还是根据个人习惯和具体场景来选择比较好。比如说长期个人开发,并且多在windows上开发和调试,个人并不赞同一定要安装一个svn并且用tortoiseSVN来操作,不管怎样讲,在windows上M$的东西还是有竞争力的,不能因为崇尚*nix就非得给自己标新立异:),除非你用的就不是windows,这个时候,选择svn显然比cvs更合理一些,尤其是需要多个人团队开发,加上如果您的环境系统需要部署到多台机器下,这时使用svn时不错的选择,简单的export发布可以方便的布署发布产品:)

  关于svn,就到此为止了,实在也没有甚么特别值得说的,就本身来说仅一个工具而已,如果要继续讨论,有价值的应该是团队开发项目方面的东西了:)

中国第一个使用龙芯cpu的网站

前一段龙芯GodSon处理器上市,今天无意中得知中国有了第一个使用龙芯盒子的网站,的确还是值得高兴的,总之发展自己的处理器技术,对于国防、科研、经济等方面的发展都是非常有价值的,虽然很多人对龙芯处理器表示了怀疑,我还是比较支持龙芯的。

第一个使用龙芯处理器的网站是 http://www.ic-designer.cn/,通过telnet www.ic-designer.cn 80 ,可以得到下面的返回信息:

HTTP/1.1 400 Bad Request
Date: Tue, 05 Dec 2006 16:16:13 GMT
Server: Apache/2.0.59 (Unix) PHP/4.4.4
Content-Length: 315
Connection: close
Content-Type: text/html; charset=iso-8859-1

于是尝试访问网站的phpinfo,结果还真存在(顺便BS一下他们的网管,这样的文件居然能访问!),下面是返回截图,从图中可以看到服务器的操作系统和cpu类型:)
godson