`
文章列表
在以下情况下,你应该选择重构:   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工具进行了调查,部分调查结果见下表(其中 ...
原文链接: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语言(画图工 ...
    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. ...
Global site tag (gtag.js) - Google Analytics