分类“技术随笔”的存档

  • 17
  • 9月

打装上vim来确实体会到了文本编辑的乐趣。但我装的gvim一直有一个令我气绝的地方:打开utf-8编码的文件,中文居然乱码,弄得完全不可编辑。

最近的一些开发用的文件编码又全都是utf-8。认真读了一下vim的手册,找到了解决方案:

在_vimrc文件中加入以下行:

set fileencodings=ucs-bom,utf-8,chinese

vim就会在使用ansi编码解析文件前尝试ucs-bom、utf-8、chinese这些编码方案。基本可以保证中文能正常显示了。

另外,如果在其中加入以下内容:

set clipboard+=unnamed

还可以将vim的默认缓冲挂到Windows的剪贴版上。这样按y和p键就可以直接实现“复制”和“粘贴”的功能了。

  • 12
  • 9月

之前在Blog上发过一个将Subversion安装到Apache中的文章。

最近这个项目也用到了Subversion来进行源码控制。因为并不是每个人都有架Apache服务器 ,这次研究了一下如何直接架设Subversion服务器。

附件中的教程详细讲解了如何以Windows服务的方式安装Subversion服务器,并带有客户端TortoiseSVN的简单使用方法。

脱离了Apache服务器,终于可以使用Subversion自己的用户控制体系了,感觉还是很方便的。

不知道Subversion为何物的同学还是先Google一下吧:)

Subversion安装及使用简介

  • 06
  • 9月

每每看到有人在进行浏览器端开发,我总会向他们推荐FireBug。这个FireFox浏览器的插件功能确实超群。

对JavaScript,它能准确定位发生错误的语句,并且显示详细的调用过程。对CSS它的Inspect功能能让你用鼠标轻点就可以看到页面中元素实际显示时的所有属性。总之,用过之后你就会深刻体会到它在浏览器开发上对你的帮助。

而且对于Ajax调试,FireBug还可以监视所有的后台Ajax请求,只需在它的Console面板中的Options菜单中打开“Show XMLHttpRequests” (默认是关着的),所有的后台请求一目了然,可以省去N多alert语句。

(突然想起来写这么篇东西,主要是源于昨天发现同学机子里的FireBug界面与我的不一样,结果一研究,他的是最新版的1.05,而我的居然只有0.42……头一次感觉自己这么落后于技术的潮流)

  • 07
  • 8月

决定玩一玩Jsp,于是要安装Tomcat。

前一阵子玩php时安装了一个EasyAPM的WAMP套件,所以现在机子上已经有Apache2.0.55了。且由于我SubVersion的服务器也是架设在它上面,所以不想把它停掉。遂决定采取Tomcat与Apache集成的方式安装。结果这一装居然用了我几个小时…

首先说明一下我的基本配置:WinXP professional sp2,EasyAPM中带的Apache2.0.55,JRE1.5.0

1、到http://tomcat.apache.org/下载了最新版的Tomcat6.0.13(注意是Windows Service Installer版的)和Tomcat Connectors(注意官方下载列表中文件名最后的那个版本是该Connector对应Apache的版本,不要图高,要与自己的Apache配套,我就因为第一次下载了对应2.2.4的版本,弄的Apache都引导不起来…)

2、Tomcat除安装路径被改为D盘之外,全部默认。此时在浏览器中打开localhost:8080应该可以看到Tomcat的欢迎页面了。

3、把下载到的Connector“mod_jk-apache-2.0.59.so”改名为“mod_jk.so”复制到Apache安装目录下的modules目录下。

4、建立mod_jk所需的配置文件workers.properties:

(其中的work1是可自定义的名字,但必需与下一步在httpd.conf中的名字相同)

# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

将其保存到”D:Program FilesApache Software FoundationTomcat 6.0workers.properties”

5、修改Apatch的配置文件,将mod_jk加入Modules列表并设置将servlet目录转发给Tomcat处理

打开Apache安装目录下conf下的httpd.conf文件。

在LoadModule块中加入一行:

LoadModule jk_module MyModules/mod_jk.so

在该文件底部追加:

JkWorkersFile "D:Program FilesApache Software FoundationTomcat 6.0workers.properties"
JkMount /servlet/* worker1

即将/servlet下的所有文件都交给Tomcat处理。如果你要处理跟目录下的jsp文件,可以再加一句:

JkMount /*.jsp worker1

重启Apache。

现在打开浏览器,访问localhost/servlet,应该返回Tomcat的错误信息了。

6、修改Tomcat主目录

现在Apache的主目录和Tomcat的主目录还不一致,做的Jsp还必须放在Tomcat的主目录下的servlet内才能正常运行。我们可以把它改到与Apache主目录在同一个地方,以方便运行。

打开Tomcat安装目录下conf下的server.xml,在<host>与</host>间加入

<Context path="" docBase="E:MySite" debug="0"  reloadable="true" crossContext="true"/>

将”E:MySite”改为你Apache的主目录所在地就OK了。

重启Tomcat,现在只要把jsp放入”E:MySiteservlet”就可以直接在浏览器中使用localhost/serverlet/helloworld.jsp的方式访问了。

另外关于Tomcat主目录和虚拟目录介绍,可以参见这篇文章

  • 03
  • 8月

命令行内容说明

如前所述,所谓的命令行或命令模式,就是在最下面一行没有显示 『–INSERT–』或者『–REPLACE–』 字样的时候。通常在命令行中的指令有下面几种:(注意,当按下 『:』 时,光标会自动移动到屏幕的最下面一行!) Read the rest of this entry …

  • 05
  • 7月

这两天请了两天假,专心复习了两天的Java,没有去奥体中心。

我这学期根本没有买Java的课本,只是从图书馆借来一本英文原版的Core Java 2当作课本用了。而且仗着寒假里那点从《C#入门经典》中悟出的面向对象的理论,再加上这学期主要是在玩PHP。两天复习,确实让我发现了自己还有很多没有弄明白的地方。

复习感觉收获最大的就是终于明白了类继承时的所谓“域的隐藏与方法的覆盖”:

一个类B继承类A时。如果B中有与A同名的域fieldC,则实例化B的对象b时,A和B的fieldC都会存在于该对象中。直接访问b.filedC将会得到B的fieldC的值。但只要将b转换为A类型,就可以访问到A的fieldC,就像这样((A)b).fieldC。这就是所谓的“隐藏”。

但如果B中有与A同名的方法methodD(),则实例化B的对象b时,该对象中只有一份filedD()的代码,不论是以b.methodD()访问还是((A)b).fieldD(),调用的都是B中的methodD()。这就是所谓的“覆盖”。

明后天继续到奥体去做志愿者,一周之内还得把我的Java课程设计“连连看”做出来。

加油!

  • 16
  • 6月

终于无法忍受几个人一起做东西时版本混乱的状态。决定学习使用Subversion进行版本控制。自己架设一下Subversion的服务器。

在Google上搜到两篇教程:Subversion配置安装教程(一)Subversion在linux和Windows下的安装步骤。写的很好,但因为具体环境不同。完全照教程是搞不定的。这里总结一下我的安装心得。

首先介绍一下我现在的环境:WinXP sp2;为学习php,安装了一套集成的wamp:easyapm21,集成Apache 2.0.55、PHP 5.05、MySQL 5.0.15等。这套系统为绿色安装,全部文件都在D:\usr下;使用过GoogleCode提供的svn服务,机子上已经安装好SVN的客户端TortoiseSVN。

我准备把Subversion安装成基于Apache Http Server的方式。直接集成到机子上已有的Apache上去。

首先到this directory下载了 svn-1.4.3-setup.exe 这个文件(最新版是1.4.4,但教程上用的是1.4.3,第一次安装,保险起见,不求最新)。双击安装即可。我把它安装在了“D:\Program Files\Subversion”下。

然后打开Subversion的安装目录,将其bin下的两个.so文件复制到Apache下的modules目录下。再将bin下的所有dll文件复制到Apache下的bin目录下。

最后检查Apache的httpd.conf。打开Apache安装目录下conf目录中的httpd.conf,搜索#LoadModule dav_fs_module modules/mod_dav_fs.so,把前面的注释#去掉;并检查LoadModule配置节的末尾是不是有了LoadModule dav_svn_module modules/mod_dav_svn.so和LoadModule authz_svn_module modules/mod_authz_svn.so。

到此安装过程就算结束了,不过此时Subversion还是不可用的。接下来的是配置过程。

1.建立源码库:

随便找个地方建个目录,作为源码库的根目录。(我的是f:/svn)

在其下新建一个源码库目录。我建的是test。《Subversion配置安装教程》一文中介绍的是使用命令行建立Subversion数据库。这个比较麻烦。我发现实际上TortoiseSVN可以更好地完成这个工作。装好TortoiseSVN后,直接在这个源码库目录(此处为test目录)上点右键,选择TortoiseSVN下的“在此创建版本库”,随便选择一种数据库格式就OK了。

2.修改Apache的httpd.conf

这个《Subversion配置安装教程》一文写的很明白。这里复制一下:
在httpd.conf末尾加入以下语句(其中SVNParentPath后的字符串就是上一步源码库根目录的路径):

<Location svn=””>
DAV svn
SVNParentPath “f:\svn”
AuthType Basic
AuthName “Subversion repositories”
AuthUserFile passwd
#AuthzSVNAccessFile svnaccessfile
Require valid-user
</Location>

这里建立了一个虚拟目录http://localhost/svn/,所有的Subversion源码仓库都在这个虚拟目录中,并且使用“passwd”文件中username/password(用户名/密码)列表访问http://localhost/svn/。

然后在cmd下进入Apache的安装目录(应该其下有个bin目录),执行bin\htpasswd -c passwd <username>(<username>是你想要加入的用户名,比如我的是work),系统会让你输入两次密码确认。这样你就可以在Apache的安装目录下看到生成了一个名为“passwd”的文件。

重启Apache,访问一下http://localhost/svn/test/,提示输入用户名密码,正确后显示Revision 0。证明安装成功。

现在就可以随便找个地方新建个目录,右击,选择“SVN检出…”,输入上面这个url,OK。开始享受SVN带来的便利吧!

  • 06
  • 6月

用手机UCWEB登录wordpress的撰写页面.页面居然也能正常显示.当然,不可能像电脑上那样一个漂亮的AJAX页面.而是一个传统的全是表单的页面.除了写正文时只能用纯文本外,该有的功能一样没却.最强的一点是页面显示依然工整.

这不得不让人赞一下xhtml的好处和wordpress对其的完美应用.让原本没有专门为手机设计页面的应用在符合标准的手机浏览器上也能正常使用.

  • 03
  • 6月

今天运气不错,天气很好居然也给电了。

打开电脑,随便吃点东西。翻开新买的《程序员》杂志。 这一期的特别策划是《业务敏捷:SOA的本质》

SOA现在真的是很热啊!但我居然连它是什么的缩写都不知道,先汗自己一个!

赶紧到网上搜一搜,恶补一下知识:

SOA——面向服务的体系结构(Service-oriented architecture)

查看了几个wiki中的介绍,大体上知道是怎么回事了。要做的无非是将每个功能模块化,尽可能地降低功能之间的耦合。模块之间通过服务的方法相互调用。这样当业务逻辑发生变化时,可以尽可能地降低对整个系统地影响,从而提高系统的可复用性。

为了真正降低耦合,xml这种平台无关语言起到了重要的作用。描述服务需要用WSDL(Web服务描述语言),服务调用需要SOAP。

在我看来,要想将SOA的设计思想真正实现在具体项目上,知识上要准备好xml那一套的东西。这需要时间学习和掌握。但真正难的是对软件设计的把握,什么时候使用SOA,怎样使用SOA。xml几个星期可以搞定,而软件设计则不是一天两天能够学成的。

路漫漫其修远兮,吾将上下而求索。

  • 02
  • 6月

昨晚怎么也没弄好phpMyAdmin,不管config.inc.php怎么设置都报一个:”错误#2002″,死活也连不上数据库,可明明我的WordPress正确链接了。

今天晚上一气之下把整个phpMyAdmin的目录删了,将本机上用的正常的那个打了个zip包,用FlashFXP上传上去,然后用那个php的zip解压缩的类在服务器端解开这个包。最后改了一下config.inc.php中的配置。

OK,联上了。

我晕,明明是一样的文件嘛。看来解释只有一个了,昨天文件上传得有问题。看来用FTP一个个地传输小文件并不是个好主意。那个zip在线解压程序实在是太有用了!

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