- 浏览: 36100 次
- 性别:
- 来自: 上海
最新评论
文章列表
在以下情况下,你应该选择重构:
1. 重复。你发现了对DRY原则的违反。
2. 非正交的设计。你发现有些代码或设计可以变得更为正交。
3. 过时的知识。事情变了,需求转移了,所以你的代码也需要跟上这些变化。
4. 性能。为了改善性能,你需要重新组织某个功能。
那么,我们该如何进行重构呢?
1. 不要试图在重构的同时增加功能。
2. 在重构之前,确保你拥有良好的测试,并在重构的过程中通过经常运行测试,这样,可以尽快知道被破坏的地方。
3. 采取短小、深思熟虑的步骤,并在每个步骤之后进行测试。
...
最近,做了一份关于play framework的介绍性的ppt,共享出来跟大家讨论。Slideshare地址:
http://www.slideshare.net/joesay/introduction-to-play-framework
配置环境
Server: Ubuntu 10.04
solr
version: 1.4.1
sunspot_rails version:
1.2.0
Tomcat6_home:
/var/lib/tomcat6
$SOLR_HOME
= /home/ubuntu/java_app/apache-solr/example/solr
注:存放solr.war,conf/文件夹中存放solr的配置文件
$INDEX_HOME
= /home/ubuntu/solr/data
注:存放索引文件所在的位置
...
装系统,搭环境,又忙活了两天,这种枯燥而又耗时的工作又没有办法避免,所以以后尽量都能写点东西记录下来,以便自己日后翻阅,尽量少做重复工作,也能方便于他人。
其实,真正的安装过程不需要那么久 ...
AJAX是web20的基石,现在网上流行几种开源的AJAX框架,比如:jQuery,Mootools,Dojo,Ext JS等等,那么我们到底在什么情况下该使用那个框架?以下是一组摘抄的数据:
Ajaxian在2007年底对Ajax工具进行了调查,部分调查结果见下表(其中 ...
- 2011-04-18 09:20
- 浏览 718
- 评论(0)
原文链接:http://blog.sina.com.cn/s/blog_4130404e010002pg.html
Linux的用户习惯
-用 troff, LaTeX 写文档,用VIM 自己编辑 HTML,用 Mutt 处理邮件,用文本模式的 gdb 调试程序,用Xlib 写程序, 用 tin 上 USENET,写 Makefile,写机器代码,玩 Clossal Cave 这样的字符模式冒险游戏
- linux下的办公软件:
troff(文字处理软件),
LaTeX(排版系统),
ConTeXt(幻灯片制作工具),
xfig,dia,MetaPost语言(画图工 ...
- 2010-10-01 00:08
- 浏览 998
- 评论(0)
git服务器搭建相关命令
参考网址1:http://weizhifeng.net/build-git-server-with-gitosis.html
参考网址2:http://joesay.iteye.com/blog/1541911
git仓库设置相关命令
参考网址:https://help.github.com/articles/changing-a-remote-s-url
git remote set-url origin git@git-server-ip:xxx.git
git分支管理相关命令
参考网址 ...
列举一些Mysql的常用命令,以便自己查阅,也能帮大家做一个总结(持续更新)
一、Mysql编码设置
因为,mysql中经常需要存储中文,所以需要将mysql的server, database, table的编码都进行设定
推荐方案:在安装完mysql server后修改my.cnf,然后重启mysql,之后创建的db和table都会默认采用utf8。
vi /etc/mysql/my.cnf
在[client]下添加 default-character-set=utf8
在[mysqld]下添加 default-character-set=utf8
...
下面是Amoeba for MySQL的基础搭建:
(一) 下载并安装JAVA环境:
sudo apt-get install openjdk-6-jre
配置环境变量: export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk- export PATH=$PATH:/usr/lib/jvm/java-6-openjdk-amd64/bin
source ~/.bashrc
(二) 下载Amoeba for MySQL:wget http://sourceforge.net/projects/amoeba/file ...
很多人知道C++的内存泄露,但并不知道Java的内存泄露问题。实际上,虽然JVM拥有GC,但是GC不是万能的,GC只有在判断一个对象不再拥有有效引用时才进行回收。如果一个对象不再被需要,但是对其的有效引用又没有被完全释放,这种情况下就会出现Java的内存泄露。
有一篇博客深入剖析了这个场景,建议大家阅读:http://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/
其实,借用这篇博客中的例子就能很好的阐释Java内存泄露的场景。
1. 用一张图解释
注解:Java ...
大牛@Fenng有两篇与sharding相关的博客,值得一读:
- http://www.dbanotes.net/database/sharding.html
- http://www.dbanotes.net/database/database_sharding.html
Replication与Sharding的区别
- Replication用户扩展数据库系统的读性能
- Sharding用于扩 ...
随着数据量和访问量的增长,网站构架大致有这么几个发展阶段(以PHP+MySQL+Memcached为例):
1: PHP + MySQL2: PHP + MySQL (Master + Slaves)3: PHP + MySQL (Master + Slaves) + Memcached (Middleware)4: PHP + MySQL (Sharding + Master + Slaves) + Memcached (Middleware)5: PHP + MySQL (Sharding + Master + Slaves) + Memcached (Middleware) ...
1、登录A机器 2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;(直接运行 #ssh B_ip )
xtrabackup下载地址:http://www.percona.com/redir/downloads/XtraBackup/XtraBackup-2.0.2/deb/lucid/i686/percona-xtrabackup_2.0.2-461.lucid_i386.deb
环境
$MYSQL_DATADIR = /var/lib/mysql
$MYSQL_BACKDIR = /mnt/mysql-backup
Part 1,热备份
1. 创建备份数据存放的目录,比如
$ mkdir /mnt/mysql-backup
2. 利用in ...
转自:http://www.cnblogs.com/arrongao/archive/2011/06/26/2090721.html
1.emacs 安装emacs apt-get install emacs 2.emacs-rails 下载emacs-rails 地址:http://rubyforge.org/projects/emacs-rails 解压emacs-rails到 ~/.emacs.d/ 3.snippet.el和find-recursive
$ cd ~/.emacs.d/emacs-rails/
$ wget http://www. ...