SVN两个小命令

作者 : admin 于 2009年04月30日, 01:04:09
2009
04-30

./svnadmin create /home/sunboyu/svndata/bj1998

./svnserve -d –listen-port 端口号 -r /home/sunboyu/svndata/

/var/opt/subversion-1.4.3/bin/svn checkout svn://localhost:20002/tools ./ –username sun –password sun

市场驱动产品与产品驱动销售

作者 : admin 于 2009年04月29日, 04:59:10
2009
04-29

貌似两个紧密相连的概念,可在做事上,是迥然不同的两种表现。

销售出身的人,总能把破烂给折腾出去,他们不在乎技术有多好,产品有多烂,反正他们的任务就是把客户拉来,让钱爬在自己的账户上。

这样苦不堪言的是那些苦命攒代码的人,不得不迎合销售千变万化的销售策略和肆意夸大而进行的承诺。

当然对于技术出身的销售来说,在面对客户相对谨慎,在对产品的把握上显得拘谨,但这样做下来的方案变故会比纯销售做事稳当得多。

对于一个公司,无论是谁来驱动谁,总得有一个原始动力,原始动力丢失的时候,公司就会陷入浑沌状态。

这个动力一般是市场来驱动,对于创业者,更多的动力是那股原始的冲劲。

最近看了一本书,大概悟出这些道理。通过最近做产品,发现自己弱点很明显,还不能从大局去考虑事情,看技术之外的事情肤浅。

从今天作为一个起点,努力客服。

产品需要灵魂

作者 : admin 于 2009年04月28日, 05:52:19
2009
04-28

http://www.sunboyu.cn/2008/11/10/%E7%BD%91%E7%AB%99%E7%9A%84%E7%94%9F%E5%91%BD%E4%B8%8E%E7%81%B5%E9%AD%82.shtml

这是我去年写的一个日志。网站,需要灵魂。

岂止是网站,任何一款产品,都需要他的灵魂。

今天的产品设计方案被上边否定了,仔细琢磨,原来我在做产品,虽然是一个技术可行的产品,但没有灵魂。没有人会对一具僵尸有感情,没有用户会对一个没有灵魂的产品感兴趣。

下午匆匆给产品附加了灵魂,勉强被通过。

底下还要继续给产品人性化,这个项目我吃定了。

Python写的数据库备份程序

作者 : admin 于 2009年04月22日, 01:55:00
2009
04-22

下载地址:mysqlbak

  1. #!/var/opt/python-2.5/bin/python
  2. import os
  3. import time
  4. import MySQLdb
  5.  
  6.  
  7. CFG = {}
  8. CFG['root'] = {}
  9. CFG['root']['hostname'] = 'localhost'
  10. CFG['root']['username'] = 'root'
  11. CFG['root']['password'] = 'test'
  12.  
  13.  
  14. CFG['mysqldump'] = '/opt/mysql-5.0.22/bin/mysqldump'
  15.  
  16. CFG['time'] = time.strftime("%Y-%m-%d", time.localtime(time.time()) )
  17.  
  18. CFG['bakpath'] = '/tmp/' + CFG['time']
  19. CFG['mainbak'] = '/home/sunboyu/databak/' + CFG['time']
  20.  
  21.  
  22. if os.path.exists( CFG['bakpath'] ) == False:
  23.     os.mkdir( CFG['bakpath'] )
  24. if os.path.exists( CFG['mainbak'] ) == False:
  25.     os.mkdir( CFG['mainbak'] )
  26.  
  27. def mysql_database_bak( database ):
  28.     global CFG
  29.     DIR = CFG['bakpath'] + "/" + database
  30.     if os.path.exists( DIR )==False:
  31.         os.mkdir( DIR )
  32.     conn = MySQLdb.connect( host = CFG['root']['hostname'] , user = CFG['root']['username'] , passwd = CFG['root']['password'] , db = database )
  33.     db = conn.cursor()
  34.     sql = "show tables";
  35.     db.execute( sql )
  36.     result = {}
  37.     for recordline in db.fetchall():
  38.         os.system( CFG['mysqldump'] + " --opt  " + database + " " + recordline[0] + " -u" + CFG['root']['username'] + " -p" + CFG['root']['password'] + " > " + DIR + "/" + database + "_" + recordline[0] + ".sql" )
  39.     os.system( "tar cvf " + CFG['bakpath'] + "/" + database + ".tar.gz " +  CFG['bakpath'] + "/" + database )
  40.     os.system( "mv " + CFG['bakpath'] + "/" + database + ".tar.gz " + CFG['mainbak'] + '/' )
  41.  
  42.  
  43. conn = MySQLdb.connect( host = CFG['root']['hostname'] , user = CFG['root']['username'] , passwd = CFG['root']['password'] , db = 'test' )
  44. sql = "show databases";
  45. db = conn.cursor()
  46. db.execute( sql )
  47. result = {}
  48. bigcount = 0
  49. for recordline in db.fetchall():
  50. littlecount = 0
  51. result[bigcount] = {}
  52. for colnum in db.description:
  53.     result[bigcount][colnum[0]] = recordline[littlecount]
  54.     littlecount += 1
  55. bigcount += 1
  56.  
  57.  
  58. for tables in result:
  59.     mysql_database_bak( result[tables]['Database'] )
  60.  
  61. os.system( "rm -rf /tmp/" + CFG['time'] )  #警告 rm -rf 这个命令相当危险,使用一定要谨慎

python2.5+MySQLdb1.2.2安装

作者 : admin 于 2009年04月22日, 00:04:12
2009
04-22

最近比较喜欢用python写一些shell,又因为要跟mysql交互,所以安装python2.5+MySQLdb1.2.2。

选择python而没有选择perl,c之类,是因为python语法相对简单,适合我。其实php也可以,但linux默认安装python并大量使用,而并不默认安装PHP。

在安装过程中遇到很多问题,暂不罗列,google是半万能的,多尝试。

使用这两个版本,是因为在编译过程中的问题,逼我仔细阅读了产品稳当,发现版本依赖性很强,最终选择的这两个。

python编译很简单 ./configure –prefix=/***** 就OK了。

MySQLdb的安装也很简单,但首先要修改site.cfg的参数,其中threadsafe和mysql_config的值要根据情况修改。

python setup.py build
(如果必要,中间运行这个 ln -s /opt/mysql-5.0.22/lib/libmysqlclient.a ./build/lib.linux-x86_64-2.4/_mysql.so 路径自己调整)
python setup.py install

三维仿真技术的发展和应用

作者 : admin 于 2009年04月21日, 05:41:11
2009
04-21

每天下班,我都能骑上自行车顺利回家,但那拥堵的道路却让我不堪忍受。于是,放下自行车,从车库里开出我那辆三菱跑车,飞奔在高速公路上。

我开到220KM/Hour,路上遇到一个山西的好友,打招呼之间,撞上了一辆的士。我的车翻滚了两圈,我居然又稳稳得跑了起来,而人毫发无损。

警车追来,可惜他的车远不如我,结果被我甩下。半个小时后,我又回到了家。

当然,这也许是做梦,但却不是梦。我在玩《极品飞车》游戏,计算机仿真的技术让我在忙碌一天后彻底放松。

仿真的汽车,高现实的场景模拟,给人心理无限愉悦,而这一些,仅需要一根网线和一台电脑。

尖端技术一般都用在军事,仿真模拟技术也一样,从最早的军用模拟,到高科技实验室,再到现在的大众消费,仅仅几十年。在大众消费领域,仿真技术广泛应用在娱乐休闲领域,如电脑游戏,各种游艺机设备。

平面模拟的效果终究是差的,于是出现立体模拟。

我见过最早的立体模拟设备也许就是街边的游艺厅了,两个牌就可以开一圈的赛车,还可以拿上强去剿匪。现在各种外设逐渐走向人们家庭。

罗技方向盘+3D视频眼睛,能给你视觉,触觉上的高度仿真(当然没有那种摇晃的力学作用)。而一些实验室,已经开发出高度模拟特定环境的系统,如神洲飞船的模拟训练仓,海员训练的模拟水仓。

尖端技术向民用发展,不会是很长的,而在电脑技术和网络如此发达的今天,这些技术的整合,将给人们的生活带来惊人的变化。

也许游戏里发生那些,明天就走向了真实。

是期待,还是恐惧?

iftop来查看linux的即时流量

作者 : admin 于 2009年04月18日, 08:59:39
2009
04-18

http://ex-parrot.com/~pdw/iftop/download/?D=A

我也就纳闷,直接make && make install就好了。

如此简单的东西,iftop就可以查看了。

话说备份

作者 : admin 于 2009年04月18日, 08:39:59
2009
04-18

最近服务器down了几次,频繁装了几次系统,可谓筋疲力尽,最后一次面对IBM的机器,对柜发誓:机器再down,这辈子不摸服务器。

话是这么说,服务真down了还的去管。

不过管之前,有些臭事还是要做-灾难备份。

首先是什么需要备份:数据库当然要备份,文件当然要备份。貌似所有的企业都在备份这些。

熟悉windows2003的网管都知道,2003提供了方便的配置文件备份,这个貌似是linux所没有的。打上标记。

用户需要备份么,我指linux系统帐号。备份一下吧,如果你有依赖系统账户的程序。

应用软件的配置文件是否要备份?如果你的配置很专业复杂个性,备份一下吧,省得都在黑白屏上VI,我双飞燕的键盘不好使,不想多敲几个字母。

源码的编译参数需要备份么?我有AMP自动安装脚本,很好很强大!

最近的一个小目标:linux灾难备份的脚本。

下一个就是:linux灾难恢复的脚本。

博客终于恢复,IBM志强机上线!

作者 : admin 于 2009年04月17日, 18:28:16
2009
04-17

终于受不了那个兼容机,一周断6天,不知道是硬件问题还是兼容性问题,反正是没法用了。
狠心上了台IBM,虽然机型老点,毕竟是IBM,跑web富富有余。
另外在软件上抛弃apache,更换了nginx,负载更是创新低!

linux下杀死某用户的所有进程

作者 : admin 于 2009年04月08日, 23:53:55
2009
04-8

kill -9 $(ps -fu | awk ‘{ print $2 }’)

该死的桶桶,给你开了几百个php-cgi进程,把服务器搞死了!

 Page 1 of 2  1  2 »