“2012年1月12日讯,据悉,个人允许注册域名一直是域名界内最受关注话题,在第九届中国互联网络地址资源注册服务机构大会(CNNIC年会)上,CNNIC主任会上发言,2012年打破政策坚冰,推动开放个人注册CN域名。”
总有一群NC在那折腾,折腾来折腾去,把人折腾没了,等到没人气没钱了,又想把你哄回去。呸,哥还真不伺候了!!
“2012年1月12日讯,据悉,个人允许注册域名一直是域名界内最受关注话题,在第九届中国互联网络地址资源注册服务机构大会(CNNIC年会)上,CNNIC主任会上发言,2012年打破政策坚冰,推动开放个人注册CN域名。”
总有一群NC在那折腾,折腾来折腾去,把人折腾没了,等到没人气没钱了,又想把你哄回去。呸,哥还真不伺候了!!
本文转自酷壳网,原文地址: http://coolshell.cn/articles/5686.html
我在我的微博上说过这样一段话,我想在这里把我的这个观点阐述地更完整一些。
@左耳朵耗子:聪明的程序员使用50%-70%的时间用来思考,尝试和权衡各种设计和实现,而用30% – 50%的时间是在忙碌着编码,调试和测试。聪明的老板也会让团队这样做。而傻逼的老板,苦逼的程序员会拿出来100%-150%的时间来忙着赶进度,返工,重构,fix 大量的bug… 所以, 越差的团队一般会越忙,而且还忙不完。
在现在这个浮躁的时期,再加上敏捷咨询师们念的歪经,他们让人感觉上就像是软件产品是可以在很短的时间内高质量的完成的,这令那些管理者们很兴奋,就像巴甫洛夫的条件反射实验中的狗看到了肉就会流口水那样兴奋。他们使用TDD,快速迭代,不断重构,持续集成直至持续部署的方法在进行软件开发。
软件开发真是这样的吗?难道不需要花时间去思考吗?对此,有些观点在Todd的《“品质在于构建过程”吗?》以及《Bob大叔和Jim Coplien对TDD的论战》中谈到过了。我只想想表达下面的观点:
所以,如果你能有多一些时间去和客户讨论一下需求和未来可能的变化,去调查一下实现的技术难点和细节,去和其他有经验的人讨论并推敲一下架构和设计,去思考设计上的缺陷,那么,你的coding会变得非常地直,直到你一眼就看到尽头,你的测试案例也会写得非常地好,你会几乎不需要重构,于是,你会在未来少写很多代码,从而你的软件开发会越来越轻松,直到技术开始换代。
我现在在做的项目,花了几乎4个月的时间来做设计,在这个过程中,我们反复思考、讨论和权衡若干种实现方法,并尽可能地穷举所有的场景和细节以及未来可能的变化(那怕是那些简单的模块),有个模块被重写了至少三次,每次都是写到一半就被推翻重写,我们整个团队不断地在和其它团队讨论,并在对系统不断地认识中对系统进行简化和优化,并力求达到完美。现在看来,没有贸然使用Scrum是明智的。
这就好像我们修路造桥一样,我们需要花大量的时间勘测地形地质,分析数据,思考可能出现的各种问题(各种自然灾害),评估不同的设计方案,而不是先尽快建好再说。
所以,多一些时间,不是让你多做几次迭代,多完成几个模块,而是可以让你少写一些代码,更快的交付一个更好的产品。
我相信你会有很多疑问,下面是我觉得你可能会有下面的一些观点,让我一条一条来回复:
关于软件项目管理的文章,还可以参看《软件公司的两种管理方式》,最后,欢迎大家表达观点。
(全文完)
xp下安装了oracle 10g,每次启动服务的时候数据库也随着启动了,有时候会需要分步进行启动,即只启动系统服务,但是不启动数据库实例。
通过修改注册表的值 “HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE\ORA_XE_AUTOSTART” 为FALSE,重新启动服务即可。
今天在进行系统多组织设定时需要跑请求replicate seed data,但是在参数中却没有组织可选。网上找了一下原来11i并没有启用多组织功能,需要开启。判断你的ebs是否开启了多组织功能可通过sql查询:SELECT multi_org_flag FROM fnd_product_groups,N则没有开启。更改步骤如下:
1. 用mgr用户登录,关闭应用。
2. mgr用户执行adadmin,输入相应的参数。
3. 选择 4. Maintain Applications Database Entities menu,再选择 6. Convert to Multi-Org。已经开启多组织的是没有这个选项的。
4. 运行结束后退出adadmin,开启应用。
adadmin日志可在$APPL_TOP/admin/VIS/log/adamin.log,结束后可用上面的sql再查询确认。
由于公司不同网段的区分,导致互访很不方便。别的网段的用户要访问我们的服务器,通过端口映射是比较方便的方式。
PC A: eth0 10.10.1.11, eth1 192.168.0.11
PC B: eth1 192.168.0.20
要使访问A的10.10.1.11:8000端口能访问到B的8000端口,通过iptables就能简单实现。命令如下:
[shell]
iptables -t nat -A PREROUTING -d 10.10.1.11 -p tcp –dport 8000 -j DNAT –to-destination 192.168.0.20:8000
iptables -t nat -A POSTROUTING -d 192.168.0.20 -p tcp –dport 8000 -j SNAT –to 192.168.0.11
iptables -A FORWARD -o eth1 -d 192.168.0.20 -p tcp –dport 8000 -j ACCEPT
iptables -A FORWARD -i eth1 -s 192.168.0.20 -p tcp –sport 8000 -j ACCEPT
[/shell]
其中前面两条是必须的,如果你的iptables还有其他规则,或者默认策略为drop,最好加上后面两条。
还有一个不得不改的地方是 /etc/sysctl.conf,将net.ipv4.ip_forward的值改为1。
为了使设置生效,可以使用 sysctl -p 命令刷新。有些教程说要重启系统才可以,其实就是没用这个命令。还有些教程说要修改 /proc/sys/net/ipv4/ip_forward,其实和sysctl -p的作用是一样的。
————————————华丽的分割线——————————————
除了用iptables外,还可以用软件rinetd。
rinetd的下载地址: http://www.boutell.com/rinetd/http/rinetd.tar.gz
下载之后解压:tar -zxvf rinetd.tar.gz,之后就是简单的make, make install。安装时会提示没有/usr/man/ 文件夹,手动创建一个再试即可。在centos5下编译会提示警告,可以无视。
编辑/etc/rinetd.conf,按如下格式添加
绑定地址 绑定端口 目的地址 目的端口
例如
10.10.1.11 8000 192.168.0.20 8000
如果要绑定主机上的所有IP,可以用0.0.0.0代替。
完成后启动rinetd。
rinetd -c /etc/rinetd.conf
关闭rinetd
pkill rinetd
今天ERP系统运行超慢,前几天才重启的系统,运行的反而比重启之前还慢了。磁盘IO高的离谱,一直在90%以上,不时飙到100%。请教高人,原来AIX 5 的lru_file_repage 参数默认是1,需要设置为0。简单说来这个参数是控制分页替换策略的,在大多数环境下,计算性分页的使用率更高,所以要尽量保留在内存中,设置为0也就更加合理。在AIX6中这个参数的默认值已经是0。
还有几个参数maxperm%、minperm%、maxclient%也值得关注。
PS:查看磁盘IO情况可以用filemon -o /tmp/filemon.out -O all 输出到/tmp/filemon.out,用trcstop停掉
深入学习:AIX 分页替换技术入门
今天安装了个测试环境,将数据库的数据导了过来,再导出的时候提示错误。
#mysqldump -uroot -p testdb > test.sql
mysqldump: Got error: 1449: The user specified as a definer (’xxx’@'xxxxxx’) does not exist when using LOCK TABLES
xxx用户是在正式环境建立的用户,但是我是整个数据库备份的,用户和权限应该也会导入才对。查看user表也确实存在此用户。从网上看的资料解决备份是给这个用户增加权限。登入Mysql
mysql> grant all privileges on testdb.* to xxx@’xxxxxx’ identified by ‘123456′;
再次导出,成功。
但是将导出的文件导入一个新的数据库,再导出的话还是会出现这个问题,总不能每次都要建立这个个没有用的用户吧。
最后的解决办法是编辑导出的备份文件,将xxx@xxxxxx都改成root@localhost,重新导入就没问题。
今天新员工来报到,才想起来自己已经工作了整整一年了。一年的时间,说长不长, 说短不短。这一年里,又一次面临技术转型,从开发变成了维护,代码越写越少,命令是越敲越多。床头书也从Java变成了oracle。
虽然一切要从头开始,不过这也算是机遇吧,毕竟每天都能接触到很多问题,能学到多少就要看自己的努力了。
适用于CentOS5.5的服务器
[shell]
chkconfig acpid off
chkconfig anacron off
chkconfig atd off
chkconfig bluetooth off
chkconfig cups off
chkconfig firstboot off
chkconfig hidd off
chkconfig ip6tables off
chkconfig iptables off
chkconfig kudzu off
chkconfig mcstrans off
chkconfig microcode_ctl off
chkconfig restorecond off
chkconfig sendmail off
chkconfig setroubleshoot off
chkconfig yum-updatesd off
[/shell]
acpid : linux新型电源管理标准,建议笔记本使用
anacron :和 cron 相似的任务调度器,只不过它并不要求系统持续运行
atd :运行用户用at命令调度的任务,需要用到at的得留着
bluetooth :蓝牙的,没有就关了
cups :不做打印服务器的就关了吧
firstboot :系统安装后第一次启动的配置工具
hidd :蓝牙的输入支持
ip6tables :ipv6防火墙
iptables :内网的话就懒得配置防火墙了
kudzu :新增硬件检测
mcstrans :主要用于SELinux,不开SELinux的话就关了
microcode_ctl :IA32微码驱动程序
restorecond :SELinux用于监控文件
sendmail :邮件程序,如果不是邮件服务器就关了
setroubleshoot :SELinux Troubleshooting
yum-updatesd :连不上外网,关了
今天在CentOS内部的日历http://qaweb.dev.centos.org/qa/calendar 上看到CentOS6.0会在今天同步到外部镜像,虽然没有官方宣布,但是也相当于发布了。满怀期待等了半天,可惜还是让我失望了。。。。让人蛋疼的CentOS。。。。。

CentOS6发布
Powered by WordPress