紫风乱写

除了他眼前的屏幕,这个人什么也没看见。
被周围的电脑簇拥着,他只知道他所创造的现实,但又意识到那是虚幻。
他已经超越了技术。也超越了机器。
posts - 62, comments - 93, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2007年1月29日

有这么一种神器,英文叫做reference card, 中文我不知道叫什么,就作用来说,可以叫做快捷键一页纸,可以打印出来,放在案头,然后可以随时查阅。百度不容易找到,用谷歌的话可以使用reference card作为关键字查找。

下面是几个例子
Eclipse 4.6: https://github.com/pellaton/eclipse-cheatsheet/raw/master/eclipse4.6/eclipse-shortcuts-4.6.0.pdf
Intellij IDEA: https://resources.jetbrains.com/assets/products/intellij-idea/IntelliJIDEA_ReferenceCard.pdf
Emacs: https://www.gnu.org/software/emacs/refcards/pdf/refcard.pdf
Org-Mode: https://www.gnu.org/software/emacs/refcards/pdf/orgcard.pdf

posted @ 2016-06-05 14:08 Justfly Shi 阅读(518) | 评论 (0)编辑 收藏

     摘要: Emacs Tutorial中提到的快捷键以及自己找的一些快捷键  阅读全文

posted @ 2016-06-02 02:16 Justfly Shi 阅读(333) | 评论 (0)编辑 收藏

修改内容:

posted @ 2015-12-05 21:28 Justfly Shi 阅读(1948) | 评论 (0)编辑 收藏


修改内容:

  • 添加BeanQuery.nested()方法,调用该方法后,具有同样前缀的属性或者别名会被放到一个Map中返回,详情请看Allow format result into a map
  • BeanQuery.selectBean方法标为@deprecated,并添加同一样功能的方法,命名为BeanQuery.select

posted @ 2015-12-05 20:48 Justfly Shi 阅读(2830) | 评论 (0)编辑 收藏

     摘要: 在我看来,干活有两种方式:

1. 没想清楚了,贸贸然开干,然后各处救火各种解决问题
2. 想清楚了再开干,无惊无险,安然做完

本文讲讲如何在设计中系统的思考以避免内存溢出,并给出一个例子讲解。  阅读全文

posted @ 2015-06-08 19:13 Justfly Shi 阅读(3967) | 评论 (4)编辑 收藏

5月初的时候,我发了一个帖子说要开始讲单元测试,但是20多天过去了,为什么没有更新呢?
原因就是我在做视频公开课,发现光文字表现的话比较费劲,所以我决定录制视频,做成公开课。

第一个录制的是JUnit技术,课程地址:http://edu.csdn.net/course/detail/908 欢迎大家观后留言探讨哦。

posted @ 2015-05-26 22:25 Justfly Shi 阅读(1628) | 评论 (4)编辑 收藏

     摘要: 从04年开始,我就开始在项目实践中使用单元测试。十几年来,参与的项目基本上都或多或少的使用了单元测试,多的能有100%覆盖率的要求,少的也要覆盖主要代码,发现这个实践在提高软件质量和开发速度上还是很有好处的。在和朋友同事的交流中,发现有很多项目没有使用单元测试,也有很多程序员不会写单元测试,但是大家对这个都很有兴趣。所以我想把自己掌握的关于单元测试的技能(架构、设计和技术)和实施策略分享一下。  阅读全文

posted @ 2015-05-05 00:33 Justfly Shi 阅读(6036) | 评论 (4)编辑 收藏

代码地址:https://github.com/Jimmy-Shi/bean-query/tree/bean-query-1.1.1

修改内容:
  • 简化用户自定义转换
例子:
List<String> bookNames=select(new DefaultSelector<String>() {
      @Override
      public String select(Object item) {
        return ((Book)item).getName();
      }
    }).executeFrom(bookCollection);

在Maven项目中引用:
<dependency>
  <groupId>cn.jimmyshi</groupId>
  <artifactId>bean-query</artifactId>
  <version>1.1.1</version>
</dependency>

posted @ 2014-11-23 00:02 Justfly Shi 阅读(1233) | 评论 (2)编辑 收藏

Bean Query是一个开源的Java工具包,它复用Apache Commons BeanUtilsApache Commons CollectionsJava Hamcrest 来简化对Bean(集合)的排序,过滤和转换。

项目地址:

https://github.com/Jimmy-Shi/bean-query

http://git.oschina.net/jimmyshi/bean-query

修改内容:

  • 支持用户自定义排序
  • 支持用户自定义转换
  • 支持对一个对象进行转换和过滤
  • 提供了完整的使用说明文档

在Maven项目中引用:

<dependency>
  <groupId>cn.jimmyshi</groupId>
  <artifactId>bean-query</artifactId>
  <version>1.1.0</version>
</dependency>

posted @ 2014-11-21 22:58 Justfly Shi 阅读(8425) | 评论 (2)编辑 收藏

修改内容:
在Maven项目中引用
<dependency>
  <groupId>cn.jimmyshi</groupId>
  <artifactId>bean-query</artifactId>
  <version>1.0.1</version>
</dependency>

posted @ 2014-11-03 21:56 Justfly Shi 阅读(5545) | 评论 (3)编辑 收藏

BeanQuery 是一个把对象转换为Map的Java工具库。支持选择Bean中的一些属性,对结果进行排序和按照条件查询。不仅仅可以作用于顶层对象,也可以作用于子对象。更多详细的介绍可以看我的博文: http://www.blogjava.net/justfly/archive/2014/10/26/419067.html

我刚刚发布了版本1.0.0. 现在已经在Sonatype OSS库上了,2个小时后将会被同步到Maven中央库上。

Sonatype OSS 库下载地址: https://oss.sonatype.org/content/groups/public/cn/jimmyshi/bean-query/1.0.0/

Github上的代码: https://github.com/Jimmy-Shi/bean-query/tree/bean-query-1.0.0

在Maven项目中引用

<dependency>
  <groupId>cn.jimmyshi</groupId>
  <artifactId>bean-query</artifactId>
  <version>1.0.0</version>
</dependency>

posted @ 2014-10-29 02:24 Justfly Shi 阅读(4461) | 评论 (0)编辑 收藏

     摘要: BeanQuery 是一个把对象转换为Map的Java工具库。支持选择Bean中的一些属性,对结果进行排序和按照条件查询。不仅仅可以作用于顶层对象,也可以作用于子对象。

BeanQuery的使用非常简单也很直接  阅读全文

posted @ 2014-10-26 23:33 Justfly Shi 阅读(5503) | 评论 (6)编辑 收藏

     摘要: 作为一个程序员,我们的日常工作之一就是看Log,从Log中发现自己所需要的信息,以及对Log做一些简单的分析和统计。本文分享了我所使用的工具和方法。  阅读全文

posted @ 2014-09-17 23:00 Justfly Shi 阅读(2792) | 评论 (6)编辑 收藏

     摘要: 本文介绍了在代码中应该在什么时候需要Log什么信息;使用何种级别的Log;如何Log异常信息;Log中的一些要点。另外也分析了静态Logger变量和对象Logger变量的优劣。  阅读全文

posted @ 2014-08-13 23:32 Justfly Shi 阅读(25918) | 评论 (7)编辑 收藏

     摘要: 作为《Java程序员修炼之道》博文的第一个主题Logging,我计划中按照如下三篇来写: 1. Logback的简单介绍和配置 2. 在Java代码中如何使用SLF4J来写日志以及写日志的要点 3. 作为一个程序员,在日常工作中如何分析和挖掘Log。 这个是第一篇,简单介绍一下Logback的配置,适用于开始配置和开始入门,适用于一般情况下的使用。  阅读全文

posted @ 2014-08-10 02:46 Justfly Shi 阅读(19780) | 评论 (1)编辑 收藏

     摘要: 后来我意识到,我不能只抱怨,作为一个写了10多年代码,带过项目、做过业务最终还是写代码, 有车有房有妻有娃的四有不太牛逼的程序员,我有责任帮助刚入行的、入行时间不短的,还没车没房的Java程序员们掌握一些基础的东西。
如果你掌握了这些基础的东西的话,而且英语口语还凑合的话,欢迎来找我帮你内部推荐工作,估计一万多的月薪是不成问题的,至于30、40万的年薪应该也是有机会的。  阅读全文

posted @ 2014-08-03 01:18 Justfly Shi 阅读(5163) | 评论 (13)编辑 收藏

Sorry every body, I am so busy that I can not finish this article on time. I will try to finish this article after I have got a job. You can compare the 2 xml files in the attached zip file to get some idea.

There are 2 files in the zip file:
1. google.xml: The original google search plugin
2. google-oracle.xml: The search plugin that only search the oracle.com web site.

Usage
1. Put the google-oracle.xml in your personal firefox searchplugin folder. In windows firefox version 4 it is {FIREFOX_HOME}\distribution\searchplugins
2. Restart the firefox. Done

Click here to download the search plugins

posted @ 2011-04-18 00:13 Justfly Shi 阅读(1910) | 评论 (6)编辑 收藏

If after upgrading your eclipse STS plugin from 2.5.2 to 2.6.0, your grails projects can not be build, and when building it, it always warning that "Errors running builder 'Java Builder' on projec". That might be caused by the old 1.6 groovy compiler.  The solution is to edit the file "eclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info" and find the line for org.codehaus.groovy_1.6 and remove it. And then restart the eclipse. you can find that it should be fixed.

Reference: http://docs.codehaus.org/display/GROOVY/Compiler+Switching+within+Groovy-Eclipse

posted @ 2011-03-30 22:24 Justfly Shi 阅读(1508) | 评论 (0)编辑 收藏

     摘要: 第一章 新的机会 第二章 对抗卡布福斯 第三章 “硅谷” 第四章 CD-ROM工厂 优质管理的四大要素 l 选择正确的人 l 为他们分配正确的工作 l 保持他们的积极性 l 帮助团队凝聚起来并保持团队的凝聚力 (其他的一切都只是“文案”) 安全和变化 l 除非感到安全,否则人...  阅读全文

posted @ 2011-03-26 23:56 Justfly Shi 阅读(337) | 评论 (0)编辑 收藏

上周去一家大型网络公司的内部系统开发部门面试,该部门主要是为公司的各个部门开发工作中所需要用到的系统,比如财务,人事的一些小系统。面临着:资源少,任务多,体现不出部门价值等问题。面试出来后想了几点,发给他们了,另外也分享出来,希望对从事类似工作的同学们有用。
1. 统一简洁的页面风格和CSS
因为是内部系统,所以页面不需要太华丽和复杂的界面,所需要的是简单易用。因为是都是sohu的内部系统,所以可以有统一的页面风格。
统一页面风格带来以下这些好处:
a. 只需要采用一套CSS,而不需要在每个项目都进行CSS的开发
b. 能减少页面设计的时间,页面布局,功能区域设置能全部都统一起来
c. 减低用户对于新系统的学习曲线
因为是内部系统,客户端与服务器之间的连接速度能保证。因此可以采用简洁的页面风格。
简洁的页面能带来以下好处:
a. 减少页面的开发难度,不用在一个页面中堆积过非必要的数据。
b. 方便任务分配
 
2. 在做需求的时候同时完成静态页面的设计
这条的好处是做页面设计的时候能进一步理解用户的需求,也能同时从解决方案的角度来考虑问题,从用户的角度来说,针对模型进行思考能进一步的引导他的需求。
具体的做法就是
a. 在一边谈需求一边用纸画出大概的页面模型和用户沟通,初步形成页面功能的设计
b. 谈完需求之后尽快使用统一的CSS做出静态的页面。用页面跳转代替表单提交。
c. 用静态页面组成的模型和用户进行初步沟通,在沟通过程中,如果时间不多的话在纸面上进行修改再沟通,如果时间多的话,快速的修改静态页面,争取尽可能多的把重点页面和用户达成一致。
根据沟通结果把可以开始做的部分安排开发人员开始做,还不能确定的和客户约好时间再进行下一次沟通。
 
3. 逐步建立可复用的代码库(功能组件)
这一点说起来容易,做起来需要一定的额外代价,是一个部门内部的积累。前提是第一条建议能够比较好的实施。这里的代码库(功能组件)大到一个功能模块(连接LDAP),小到一个页面控件(多层次部门选择下拉列表)。具体做法是
a. 在项目开发中有意识的把可通用的组件单独放到一个包里
b. 项目结束后,花1到2天的时间整理成可复用的代码
c. 整理完之后再对相关技术人员进行培训(这个很重要,有通用代码而别人不知道=没有通用代码)
d. 在以后的项目中,在复用的过程中进行完善
e. 尽量减少复制粘贴再修改
 
4. 收集客户部门使用系统后的效果,其结果可用于对上对外和对内
客户部门应该会有这样的数据,因为他们需要这些东西来说明他们上新系统的效果。本部门可以用这些数据来说明自己的贡献以获取公司的认同甚至可以去争取更多的资源
IT或者运维部门应该会有bug数量的和分布的统计数据,如果没有的话自己可以收集到达本部门的bug数量和分布的数据,通过这些可以在以后的工作中有意识的避免这些bug
通过这些数据可以在以后的需求分析过程中为客户部门提供更容易使用的系统

posted @ 2011-03-02 11:36 Justfly Shi 阅读(879) | 评论 (0)编辑 收藏

     摘要: 软件开发团队和测试团队之间的关系是复杂而有趣的,双方有共同目标,又互相竞争。双方的共同目标在于减少软件交付之后缺陷的严重程度和数量。双方的利益竞争在于测试人员尽可能的发现软件开发团队交付的软件产品的缺陷。在这种情况下,减少无谓的内耗,共同保证共同目标的实现,才可能实现双方的共赢。但是在很多时候,软件开发团队和测试人员之间总存在着一种紧张的关系,并因此无谓的添加了到达共同目标的困难。

在我经历过的一些开发过程中,多次因为与测试人员之间的颇为愉快的合作,实现了双赢和共赢。总结出来几点,抛砖引玉:
1. 保持良好的心态,提高对开发人员与测试人员之间关系的认识
2. 对于客户想法的理解,开发团队与测试团队需要达成一致并且保持同步。
3. 互相帮助,共同提高  阅读全文

posted @ 2010-10-24 05:07 Justfly Shi 阅读(1805) | 评论 (0)编辑 收藏

1. test if the command notify-send is installed
notify-send "Hello"
If the command is not found, install the required package following the tips
2. vi notify.sh and input the below content into it.
#!/bin/bash
DISPLAY=:0.0 /usr/bin/notify-send -30000 "<b>Take a Break!</b>"
3. chmod +x notify.sh
4. crontab -e
5. add the below content as a new line in the opened file. and then save it
*/45 * * * * /home/jimmy/notify.sh
6. Done!

posted @ 2010-09-28 15:49 Justfly Shi 阅读(358) | 评论 (0)编辑 收藏

It is only available for one session.
using the below command before you run your query
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
For more information, refer to the page http://www.oracle.com/technology/products/database/sql_developer/howtos/howto_policy_date_formats.html

posted @ 2010-08-11 16:45 Justfly Shi 阅读(358) | 评论 (0)编辑 收藏

In Ubuntu, key F10 is used to open the first item of the menu bar, but If you use Emacs key binding in eclipse, F10 is used as the redo key. So you need to do the below change.

Run gconf-editor, browse to /desktop/gnome/interface then scroll down to menubar_accel and delete the F10 value.

From http://www.h4ck3r.net/2010/04/07/debugging-step-over-f10-eclipse-ubuntu/

posted @ 2010-07-22 23:35 Justfly Shi 阅读(326) | 评论 (0)编辑 收藏

install jdk via Synaptic package manager, the name of it is sun-java6-jdk
download the eclipse install file for Linux

1.Extract the eclipse download and move to opt.

tar xzf wtp-all-in-one-sdk-1.0-linux-gtk.tar.gz
sudo mv eclipse /opt/eclipse
cd /opt
sudo chmod -R +r eclipse
sudo chmod +x `sudo find eclipse -type d`

2. Then create an eclipse executable in your path
sudo touch /usr/bin/eclipse
sudo chmod 755 /usr/bin/eclipse
sudo vi /usr/bin/eclipse

With this contents
#!/bin/sh
export ECLIPSE_HOME="/opt/eclipse"
export GDK_NATIVE_WINDOWS=1

$ECLIPSE_HOME/eclipse $*

3 Then create a gnome menu item
sudo vi /usr/share/applications/eclipse.desktop

With this contents
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true


4 You now have a working eclipse. But run this command first to initialize the set up
. /opt/eclipse/eclipse -clean

Then from here on you can run from the menu item applications/programming/eclipse

posted @ 2010-07-22 23:27 Justfly Shi 阅读(331) | 评论 (0)编辑 收藏

查找包含某字符串的所有文件
grep -F 'aaa' -R ./

如何指定输出文件的某几行
想输出多行用:
sed -n '1,np' file
跳着输出用";"
sed -n '1p;4p;7p;9p' file

posted @ 2010-07-22 23:25 Justfly Shi 阅读(266) | 评论 (0)编辑 收藏

open System->Administration->Language support
1. Install/Remove languages->check 'Chinese(Simplified)
2. Keyboard input method system->ibus
open System->Preferences->IBus Preferences->Input method->add "Chinese Pinyin"->move it to the top

posted @ 2010-07-22 23:23 Justfly Shi 阅读(413) | 评论 (0)编辑 收藏

http://www.linuxsir.org/bbs/thread362467.html
下面的这个已经不再维护了。上面的这个好使。
http://www.linuxsir.org/bbs/thread320802.html

posted @ 2010-07-22 23:23 Justfly Shi 阅读(552) | 评论 (2)编辑 收藏

create or edit file /etc/hal/fdi/policy/mouse-wheel.fdi, change its content to below
<?xml version="1.0" encoding="UTF-8"?>
<match key="info.product" string="TPPS/2 IBM TrackPoint">
<merge key="input.x11_options.EmulateWheel" type="string">true</merge>
<merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
<merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
<merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
<merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge>
<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
</match>


then run the below command

sudo rm /var/cache/hald/fdi-cache
sudo /etc/init.d/hal restart
sudo /etc/init.d/gdm restart

posted @ 2010-07-22 23:21 Justfly Shi 阅读(381) | 评论 (0)编辑 收藏

当Eclipse无法找到类,无法正确导入类的时候,有的时候是因为index出错,删除下面这个目录
.metadata\.plugins\org.eclipse.jdt.core

posted @ 2010-06-29 15:21 Justfly Shi 阅读(624) | 评论 (0)编辑 收藏

使用如下Name Space可以让Xml工具对POM元素进行验证
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation
="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
</project>
几个相当不错的Maven Repository
<repositories>
        
<repository>
          
<id>maven2-repository.dev.java.net</id>
          
<name>Java.net Repository for Maven</name>
          
<url>http://download.java.net/maven/2/</url>
          
<layout>default</layout>
        
</repository>
        
<repository>
          
<id>jboss.repository</id>
          
<name>JBoss Repository</name>
          
<url>http://repository.jboss.com/maven2/</url>
        
</repository>
        
<repository>
        
<id>maven.search</id>
        
<name>Maven Search Org</name>
        
<url>http://www.mvnsearch.org/maven2</url>
        
</repository>
      
</repositories>

posted @ 2008-03-11 22:18 Justfly Shi 阅读(1150) | 评论 (0)编辑 收藏

  上周去某上市公司面试一个ITIL产品技术经理的岗位,前一轮面试已经谈了不少管理方面的事情了,这次主要集中在谈ITIL的知识。该公司本身在做HP等厂家的ITIL类产品的代理,自己也开发了一套ITIL软件。

  在面谈过程中,该公司的面试人员对我原先服务的理想科技公司Entegor(iEAI)产品在光大银行IT服务管理项目中的作用不以为然,认为只要是加强了IT运维过程中的管理就能起到大幅度减少IT事故。并且认为该项目并不是一个合格的ITIL项目。很是汗颜的是,那天天我居然被该面试人员的ITIL方面的教条熟悉程度以及其对HPIBMBMCCA等厂家的产品了解程度所吓到,认为对方果然是ITIL专家,作为一个连十大流程名字都背不全的我实在是不配谈ITIL。第二天早上醒来,才发现其论点是典型 ITIL教条主义。下面我谈谈基于中国银行业IT建设现状该怎么看待ITIL

  “ITILInformation Technology Infrastructure LibraryIT基础设施库)是英国中央计算机与电信总局(Central Computer and Telecommunications agencyCCTA)于1980年为了解决“IT服务质量不佳的问题而开发的一套IT业界的服务管理标准库,是管理科学在信息技术(IT)中的应 用,是一种基于流程的方式。(来之《现代IT服务管理-基于ITIL的最佳实践) ITIL包括十大流程,五个基于运营层面的服务支持流程,包括服务台、事件管理、问题管理、配置管理、变更管理、发布管理;二是五个基于战术层面的服务提供流程,包括服务等级管理、持续性、可用性、能力和财务管理。以 ITIL为参考,各个厂家都提出了自身的实施模型,其中包括有HPITSMIBMITPM、微软的MOF

  以上是ITIL的一些基本资料,冷一眼看起来的确是非常不错:英国的中央计算机与电信总局各大厂商支持十大流程。于是业内的一些行 家,开口闭口十大流程,但是却忘了IT系统的最基本的要求满足客户需求。作为任何一个服务提供商,你的价值体现在为客户解决现有问题。ITIL只是一个源于英国国内IT管理实践的参考模型而已,并不是一个万能药。

  中国的IT建设有其自身的特点,与英国的IT建设并不一样,不同的文化和不同的种族需要不同的管理方法,来自于英国的管理文化在中国成功的并不不多。同样,来自于英国的IT管理实践在国内也不见得就是好东西,有些情况下还可能是一副毒药。这个情况和ERP最初的实施情况非常类似。

  我在担任长春理想科技Entegor(iEAI)产品研发部门经理期间与多家银行的信息部门管理人员有过交流。总的来说,大家的关注点主要集中在如何保证系统持续良好的运行上。

  那么这个情况是怎么形成的呢,我认为主要是这是国内目前IT建设现状的一个体现。

  国内的IT建设现在处于这么一个情况:IT系统种类丰富,IT系统性能不稳定,管理水平较低。这个情况主要由这么几个因素造成:1、信息系统建设初期缺乏完整的远期的规划,后期随意建设情况较严重;2、高级系统管理人员缺乏,初级维护人员经验不足;3IT部门管理仍有相当部分停留在手工操作水平;4、国外IT产品水土不服、国内IT产品质量欠缺。

  那么国内目前最需要的是什么样的IT管理呢?我总结出来的结论是目前国内所需要的IT管理主要集中在保持系统的稳定运行,保证IT系统的良好运行,提高IT系统、部门的管理水平。从实施的角度来说,需要做好对系统的监控,事故问题的预防、及时解决和经验总结,完善IT系统、部门的信息管理。要做到这个不是单靠背诵ITIL教条,死搬硬套ITIL十大流程就能做到的。需要的是参考成功经验(如ITIL模型及流程),根据企业的管理模式、IT建设现状进行相关系统的开发和实施,相关制度和流程的制订和实施。

  在这个实施过程中,企业IT建设现状和企业管理模式才是我们需要关注的重点,ITIL只是一个参考模型而已。

  我们需要这么来认识ITIL,它是一个泊来的提高IT管理和IT服务水平的参考模型,仅供参考!

posted @ 2007-12-11 00:18 Justfly Shi 阅读(1593) | 评论 (12)编辑 收藏

  作为一个现代的开发人员,你已经习惯了使用版本管理来管理自己的代码和文档。当我们在家里的机器上想对自己的东西做版本管理的时候你需要自己配置一个版本管理服务器,如CVS等。但是很遗憾的是,CVSNT的配置很是麻烦,而且CVS的功能实在是落伍,SVN服务器的配置也实在麻烦,VSS?老古董一边去!网络上申请一个免费的项目空间,如sf.net之类的:那你的文件就都公开了。

  今天我无意中发现原来创建一个个人用的SVN Repository是那么的方便。TortoiseSvn这个小乌龟你一定很熟悉,它本身就有一个创建本地Repository的功能,我以前没有注意到过,不知道你用过没有。我用的版本是 1.4.4,在它的帮助的Chapter4里就提到了这个功能。简单来说操作步骤如下

  第一步,创建一个空白目录,如F:/SVNRepositorys/sample/sampleRepository

  第二步,右键点击该目录,在右键菜单中选择TortoiseSVN->Create repository here...。如下图所示


  第三步,在弹出窗口中选择repository的类型,FSFS是一种新的格式是一种新的类型,速度快,支持网络共享和windows98;BDB类型比较成熟,已经用了很长时间了,比较稳定。选择你想要的,点击OK按钮就可以了。

 


  到此为止我们的工作就完成了,你已经有一个本地的repository可以用来做版本管理了。如果有兴趣的话你可以打开你刚才创建的目录看看里面的内容。我对里面的内容格式并不很清楚,这里就不说了。下面我们可以用Repository Browser看看我们新创建的repository,如下图所示:输入地址file:///F:/SVNRepositorys/sample/sampleRepository你就可以看到新创建的repository了。注意上面的蓝色部分,这里使用的协议是file协议。

 

 

  我原先为自己一些文件的版本管理做过很多的麻烦事,比如搭建CVSNT啊,学习SVN Server的配置啊。但是没有想到可以这么简单的就可以达到自己的目的了。这件事情给了我一个启发:熟练掌握你手里已有的工具,你会发现你其实已经拥有很多。

posted @ 2007-08-29 01:38 Justfly Shi 阅读(7691) | 评论 (4)编辑 收藏

CURRENT=`pwd`
echo $CURRENT

以上两行厉害吧?其实就是使用了反引号而已,注意pwd边上的那两撇不是单引号,是键盘左上角1边上的那个键。

下面是一点相关的资料
来源是http://hi.baidu.com/lzwwqk/blog/item/40a3f41bb4f8b3fbae513358.html

反引号 `

反引号(`)这个字符所对应的键一般位于键盘的左上角,不要将其同单引号(’)混淆。反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。例如:

$ pwd

/home/xyz

$ string=”current directory is `pwd`”

$ echo $string

current directour is /home/xyz

$

shell执行echo命令时,首先执行`pwd`中的命令pwd,并将输出结果/home/xyz取代`pwd`这部分,最后输出替换后的整个结果。

利用反引号的这种功能可以进行命令置换,即把反引号括起来的执行结果赋值给指定变量。例如:

$ today=`date`

$ echo Today is $today

Today is Mon Apr 15 16:20:13 CST 1999

$

反引号还可以嵌套使用。但需注意,嵌套使用时内层的反引号必须用反斜线(\)将其转义。例如:

$ abc=`echo The number of users is \`who| wc-l\``

$ echo $abc

The number of users is 5

$

在反引号之间的命令行中也可以使用shell的特殊字符。Shell为得到``中命令的结果,它实际上要去执行``中指定的命令。执行时,命令中的特殊字符,如$,”,?等又将具有特殊含义,并且``所包含的可以是任何一个合法的Shell命令,如:

$ ls

note readme.txt Notice Unix.dir

$ TestString=”`echo $HOME ` ` ls [nN]*`”

$ echo $TestString

/home/yxz note Notice

posted @ 2007-04-18 21:14 Justfly Shi 阅读(1957) | 评论 (1)编辑 收藏

Remote Debugging with Eclipse说明了远程调试的原理,说明了让java程序支持被远程调用所需要的java参数如下
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
以及如何配置远程调试weblogic、jboss和tomcat,但是里面对如何让tomcat支持远程调用并没有仔细说。再搜索,在tomcat的FAQ就找到了:
How do I configure Tomcat to support remote debugging?
如上面所示,其中的关键在于如何正确的启动tomcat。对于非windows平台下的操作来说,需要把%TOMCAT_HOME%/bin/startup.sh中的最后一行exec "$PRGDIR"/"$EXECUTABLE" start "$@" 中的start改成jpda start。如果的8000端口有其他用处的话,那么还需要修改catalina.sh文件,看其中的说明,添加一行JPDA_ADDRESS=”1044”或者其他你指定的端口。这样就可以通过startup.sh或者catalina.sh jpda start来其中支持远程调试的tomcat了。
在windows平台上是一样的步骤,只不过.sh文件改成了.bat文件了。然后需要注意以下这些地方,
1、 catalina.bat文件默认的JPDA_TRANSPORT是dt_shmem,但是Eclipse只支持dt_socket,所以需要在catalina.bat中添加一行set JPDA_TRANSPORT=”dt_socket”
2、 catalina.bat文件默认的端口是jdbconn,我也不知道这个端口是多少,因此添加一个set JPDA_ADDRESS="1044"

posted @ 2007-02-05 18:34 Justfly Shi 阅读(6754) | 评论 (0)编辑 收藏

资料地址: SSH技术专题|中国IT认证实验室
配置SSH所用密钥的方法
使用ssh-keygen或者ssh-keygen -d(for ssh2)产生密钥对,其中公钥的地址为$HOME/.ssh/id_dsa.pub,私钥的地址为$HOME/.ssh/id_dsa。
把.ssh下面的id_dsa.pub改名为authorized_keys,则可以使用id_dsa作为密钥实现登陆了



ssh-keygen -d调用过程

putty使用密钥登录的方法
putty是一个常用的ssh客户端,通过使用密钥登录,就可以不用每次登录的时候都使用密码了。1、使用puttygen.exe程序,先load上面生成的id_dsa文件,然后Save private key生成一个ppk文件。
2、打开putty,在Connection->SSH->Auth中选中该ppk文件就可以了。

SCP使用密钥登录的命令
scp -i .ssh/id_dsa ./tmp/test.tgz abc@192.168.0.5:/tmp
其中-i .ssh/id_dsa用于指定使用id_dsa做为私钥

posted @ 2007-01-29 20:03 Justfly Shi 阅读(754) | 评论 (0)编辑 收藏