linux PATH 中的几个目录

Linux的PATH一般会包含的目录:    1. /bin: 包含用于启动系统的程序    2. /usr/bin: 给用户用的标准程序, 如gcc, vim等    3. /usr/local/bin: 给用户用的,installation-specific程序    4. /sbin & usr/sbin,root用户专用    5. /opt: OS可选组件和第三方程序   给所有用户用的第三方程序最好放在/usr/local下或/opt下。考虑OS升级前备份文件的场景     1. 如果第三方程序在/bin或/usr/bin下,就会跟OS相关程序混在一起;备份第三方程序时就要先把它们从/bin或/usr/bin中拣出来     2. 如果放/usr/local下,备分第三方程序时直接备份/usr/local即可       给单个用户的第三方程序,直接放到用户目录下即可

在本机建立一个简单的svn服务器

svn内置了svnserve,帮你建立一个小巧的svn服务器 1.先建立svn repository:     svnadmin create /home/kent/diskE/kent-svn-repo 2.启动svnserve:    svnserve -d -r /home/kent/diskE/kent-svn-repo 3.客户端读:    svn info svn://localhost 4.修改repository权限,增强匿名用户的写权限    cd /home/kent/diskE/kent-svn-repo vi svnserve.conf #在[general]设置anon-access=write 注: 1.svnserve服务器的端口是 3690 2.停止svnserve的办法是 killall -9 svnserve

linux加载windows ntfs分区时设置目录的拥有者

映射ntfs分区 /dev/sda5  到 /home/kent/diskD后,如果没做什么设置, /home/kent/diskD的owner就是root 如果你希望/home/kent/diskD的owner是kent, 并且文件夹的权限是777,那就得这样:   1. 查得kent这个用户的uid和gid。可以kent登录,输入 $id   2. 在mount时设置参数uid=1000,gid=1000,umask=0 0 0 (注意,顺序不能搞错) 比如, #vi /etc/fstab /dev/sda5      /home/kent/diskD  ntfs  defaults,iocharset=utf8,uid=1000,gid=1000,umask=0 0 0  

如何做出一个OutOfMemoryError并使它产生dump文件?

注:这篇文章只是一个手册,用来供你做实验时照抄。没有任何原理性的东西,没有干货。 如何做出一个OutOfMemoryError并获取dump文件? 第一步: 设置jvm参数    -XX:+HeapDumpOnOutOfMemoryError   -XX:HeapDumpPath=/home/kent/temp/jvm-oom.prof 第二步:使代码产生jvm异常   1. 经验表明,显式地throw new OutOfMemoryError()不会产生dump文件   2. 简单的做法:通过String的串接 String s = "abc"; while(true) s += s;   3. 因String导致OOM的情况在实际上并不常发生。可以用自定义对象搞出OOM,然后用visual vm打开dump文件,以加深感性认识: public static void main(String[] args) { List<ScapeGoat> goats = new ArrayList<ScapeGoat>(); goats.add(new ScapeGoat()); // 让ScopeGoat对象数呈指数级增长(2的n次方) while (true) { int goatsNum = goats.size(); for (int i = 0; …

如何做出一个OutOfMemoryError并使它产生dump文件? Read More »

用mvndebug在eclipse里跟踪调试maven的执行

如何在eclipse里跟踪调试maven的执行? 见Stackoverflow上一个人的回答: 回答者:Jean Hominal If you want to debug Maven execution in eclipse, here is how I did it, with mostly command-line tools (no Eclipse plugin used) (may be off at some points, I haven’t done that for 6 months):     * Run, from the command line, mvndebug in place of the mvn command. Maven will …

用mvndebug在eclipse里跟踪调试maven的执行 Read More »

适合结对的工作和不适合结对的工作

Pair Programming的适用性不能盲目肯定,也不能一棍子打死 按我的体会,有的事情适合Pair,有些不适合 适合结对的工作:    1. 列出所有XXX,以免遗漏。这种事情一个人做很容易遗漏,两个人会好很多。 不适合结对的工作:    1. 创新、探索性工作,比如设计出一个完备的业务流程。这种事情需要集中精力、独立思考,两个人一起做,效率反而更低。 (待续)

mysql jbdc driver的字符集问题 — 研究笔记

问题: server端的charset设置如何影响程序的正确性? jdbc url里的characterEncoding呢?  研究方法: 执行一条带有中文字面量的查询语句,并断点跟踪mysql jdbc driver的源码,重点关注字符集的设定、字节与字符之间的互转 研究工具:    1.打开driver的sql日志功能: jdbc:mysql://…/…? profileSQL=true,以查看c/s之间的所有sql    2.使用wireshark抓取c/s之间的通讯数据包 软件版本:mysql server: 5.1, jdbc driver: connector/j 5.1.8   测试数据及程序:    1. 数据库的character_set_server = gbk, 但character_set_client = utf8, character_set_results = utf8, character_set_connection = utf8    2. 数据库有一张表,这张表里有一个字段name, name字段采用与服务器同样的编码(即gbk),且表里有一条记录,它的name值为汉字“一“    3. 程序伪码:        DriverManager.getConnection(…);  //建立连接        String name = executeQuery("select * from … where name …

mysql jbdc driver的字符集问题 — 研究笔记 Read More »

MySql: charset 和 collation的设置

charset 和 collation 有多个级别的设置:服务器级、数据库级、表级、列级和连接级 1.服务器级   查看设置:show global variables like ‘character_set_server’; 和 show global variables like ‘collation_server’;   修改设置:在OPTION FILE (/etc/mysql/my.cnf)里设置:    [mysqld]     character_set_server=utf8     collation_server=utf8_general_ci 2. 数据库级    查看设置:select * from information_schema.schemata where schema_name = ‘cookbook’;    设置:      1.若没有显式设置,则自动使用服务器级的配置      2.显式设置:在创建库时指定        create database playUtf8  DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; 3.表级 …

MySql: charset 和 collation的设置 Read More »