2008年2月的存档

  • 26
  • 2月

本文讨价如何在Ubuntu7.10下架设配合apache工作的subversion服务器端及客户端的使用。

如果你只想用Subversion进行版本管理,不想安装apache服务器,则只需要安装subversion一个软件包,参考《Ubuntu:Subversion服务器安装设置》一文中的6.4节,使用svnserve直接进行subversion服务。

使用apache上架设的subversion服务器最大的好处就在于即使没有安装客户端也能通过浏览器查看最新的版本。并且可以做到对所有的版本库使用 统一的用户名密码进行访问,这对于像我这样的版本库主要为个人使用来言是非常方便的,而且必要的时候也可以对单一版本库单独设置权限。

Ubuntu7.10下安装Subversion服务相当简单,在已经安装apache服务器的情况下执行:

sudo apt-get install subversion libapache2-svn

就可完成服务器及标准客户端的安装。

在终端执行:

sudo gedit /etc/apache2/mods-available/dav_svn.conf

在打开的文件末尾加入:

<Location /svn>
DAV svn
SVNParentPath /media/hda7/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
</Location>

其中第一行中“/svn”是版本库在URL的路径,这样在访问“http://127.0.0.1/svn”时就不会去找WWW下的文件夹,而是执行这里设定的SVN操作。

第三行中“/media/hda7/svn”是我之前在Windows下放版本库的地方,每一个版本库都在其下建立一下子文件夹。所以前面写的是 “SVNParentPath”,如果只有一个版本库想直接指向里面,请使用“SVNPath”替换“SVNParentPath”,并将后面的路径直接 指向作为版本库的文件夹。

倒数第三行定义了存储登录验信息的passwd文件的位置。

在终端中使用

sudo htpasswd -c /etc/subversion/passwd test

创建第一个用户test,并按照提示为其设置密码。以后增加用户时使用

sudo htpasswd /etc/subversion/passwd 新用户名

保险起见,执行

sudo /etc/init.d/apache2 restart

重启apache服务器。

现在用浏览器打开http://127.0.0.1/svn应该会有提示输入用户名和密码。

创建新的Subversion软件仓库,在之前设定的放置软件仓库的文件夹(这里是“/media/hda7/svn”)内新建一个文件夹,如test,然后执行

 $ sudo svnadmin create /media/hda7/svn/test

将其制作成软件仓库。这时就可以通过http://127.0.0.1/svn/test对其访问。

Subversion客户端上,用Eclipse有SubEclipse插件可用,NetBeans6自带支持。

独立使用的客户端linux上没有tortoise,只能用RapidSVN,比较工具配合Meld。两个软件在Ubuntu的“添加/删除”软件里都能找到。使用方法就不多说了。

  • 26
  • 2月

需要安装的软件包:
apache2、php5、mysql-server、libapache2-mod-auth-mysql、php5-mysql、phpmyadmin。其关系可归纳为:

apache2负责web服务

php5在apache上负责解释php文件

mysql-server为独立的数据库服务器

libapache2-mod-auth-mysql为apache增加mysql支持

php5-mysql为php引擎提供mysql支持

phpmyadmin则是mysql最好的管理软件,以B/S模式工作在php环境上。

我是通过新立得逐一搜索并安装这些软件包的。不过快速的方法应该是:

sudo apt-get install apache2 php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin

安装过程中mysql会让你设置root帐户的密码,phpmyadmin会问你mysql用户名与密码。只要简单地回答一下就搞定了。

安装完后执行

sudo chmod -R 777 /var/www

将apache网站根目录的权限改为所有人都可读写(因为这只是我个人的电脑,用起来方便为主,服务器上的话权限可要仔细规划一下)。

安装了一个wordpress,一切正常。

安装之前还查看了N多介绍,结果实际做下来比那些介绍要简单得多。看来Ubuntu在服务器这方便做得确实很for human beings。

  • 19
  • 2月

实现Java中TextField或JTextField输入内容后按回车进行处理,只需在TextField或JTextField上简单地绑定一个ActionListener:

JTextField testField=new JTextField();
testField.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
        // 处理焦点在文本框中按回车键的事件
    }
});
  • 19
  • 2月

Java对String的操作提供了两个类StringBuffer和StringBuilder(我是说操作,如果你直接用String对象进行大量的字符串操作,我只能说声佩服)。为什么要提供这样两个类呢?

查阅JDK得知:StringBuilder是在java1.5中新加的类,在使用上与StringBuffer主要的区别只是StringBuilder不是线程安全的,在编写非多线程程序时使用StringBuilder速度能快一些。

与此类似的还有Vector和ArrayList,同样前者是线程安全的,后者是在JDK较新的版本中加入的非线程安全的实现(java1.2时加入的)。

其实只要不是在太大规模和程序上使用,是否线程安全对运行的影响是很难看出来的。而且如果你根本不知线程为何物的话,选择非线程安全的类一般不会有任何问题:)

参考:

  1. 是 String,StringBuffer还是StringBuilder?
  2. 精辟的String与StringBuffer(StringBuilder)的区别
  • 16
  • 2月

装好Ubuntu以来一直在用其中文包里自带的scim作为中文输入法,虽然一直觉得比起Win下的极点五笔来确实要差很多,但怕麻烦,就那么凑合用着了。直到今天尝试着安装了一下fcitx才发现原来Linux也有与极点五笔一样好用的输入法。

安装包从这里找“Fcitx3.5-0700528重打包优化美化版 ”

安装完成要修改一下配置,否则无法自动启动(作者打包时范了点小错误,得我们手动改一下)

sudo gedit /etc/X11/xinit/xinput.d/fcitx

XIM_PROGRAM=/usr/bin/fcitx

改为:

XIM_PROGRAM=/usr/local/bin/fcitx

另外可以参考这个帖子自己作一下美化,把快捷设置成自己习惯的键位。

附:fcitx几个常用快捷键:
手动调整词频:CTRL+6
手动删词:CTRL+7
在线手动造词:CTRL+8

所有标签:.net Ajax Java javascript Linux map MySQL RSS TD-SCDMA Ubuntu vim web Win7 乱码 基础知识 备份 奥运会 希望泉 性能 缓存 编程