2012年6月5日
http://ubuntu.dormforce.net/使用說明
打開Software Manager,點擊Edit⇒Software Sources
在Download from中選擇Other
選擇China⇒mirrors.ustc.edu.cn
點擊Choose Server
2012年5月31日
a wonderful Eclipse plugin:
WindowBuilder, which can be used to develope Swing/SWT UI:
WindowBuilder is built as a plug-in to Eclipse and the various Eclipse-based IDEs (RAD, RSA, MyEclipse, JBuilder, etc.). The plug-in builds an abstract syntax tree (AST) to navigate the source code and uses GEF to display and manage the visual presentation.
Develop Java graphical user interfaces in minutes for Swing, SWT, RCP and XWT with WindowBuilder Pro's WYSIWYG, drag-and-drop interface. Use wizards, editors and intelligent layout assist to automatically generate clean Java code, with the visual design and source always in sync.
The project website: http://www.eclipse.org/windowbuilder/
To install the plugin in Eclipse: http://www.eclipse.org/windowbuilder/download.php
2012年4月11日
Example:
abc 1000 3452 2463 2343 2176 7654 3452 8765 5643 3452
abc 1000 3452 2463 2343 2176 7654 3452 8765 5643 3452
tas 3420 3562 2123 1343 2176 7654 3252 8765 5643 3452
aer 1000 3452 2463 2343 2176 7654 3452 8765 5643 3452
tas 3420 3562 2123 1343 2176 7654 3252 8765 5643 3452
UNIX:display the no of occurance and the record
> sort f1.txt|uniq -c
2 abc 1000 3452 2463 2343 2176 7654 3452 8765 5643 3452
1 aer 1000 3452 2463 2343 2176 7654 3452 8765 5643 3452
2 tas 3420 3562 2123 1343 2176 7654 3252 8765 5643 3452
display only the duplicate records
> sort f1.txt|uniq -dabc 1000 3452 2463 2343 2176 7654 3452 8765 5643 3452
tas 3420 3562 2123 1343 2176 7654 3252 8765 5643 3452
display distinct records
> sort f1.txt|uniqabc 1000 3452 2463 2343 2176 7654 3452 8765 5643 3452
aer 1000 3452 2463 2343 2176 7654 3452 8765 5643 3452
tas 3420 3562 2123 1343 2176 7654 3252 8765 5643 3452
Reference:
Shell: How To Remove Duplicate Text Lines
Windows:
Notepad++ can sort by line, and remove the duplicate lines at the same time.
- Open the menu under: TextFX-->TextFX Tools
Make sure "sort outputs only unique..." is checked
select a block of text (ctrl-a to select the entire document).
click "sort lines case sensitive" or "sort lines case insensitive"
2012年3月28日
1.安裝JAVA環境
sudo apt-get install sun-java5-jre
2.下載tomcat: http://tomcat.apache.org/
3.解壓tomcat
$sudo tar zxvf apache-tomcat-7.0.26.tar.gz -C /opt
$sudo mv /opt/apache-tomcat-7.0.26.tar.gz /opt/tomcat
4.啟動tomcat
$sudo /opt/tomcat/bin/startup.sh
如果能看到下列提示,就表明啟動成功了!
>Using CATALINA_BASE: /opt/tomcat
>Using CATALINA_HOME: /opt/tomcat
>Using CATALINA_TMPDIR: /opt/tomcat/temp
>Using JRE_HOME: /usr/lib/j2sdk1.5-sun
打開Firefox,在地址欄中輸入http://localhost:8080,如果出來Tomcat的缺省界面,說明測試通過!
5.停止Tomcat服務
$sudo /opt/tomcat/bin/shutdown.sh
2012年3月27日
1.下載安裝 RubyInstaller: http://rubyforge.org/frs/?group_id=167&release_id=46588
2. 檢查 RubyGems 版本,須高于 1.3.6
gem -v
3.如果版本不是最新,可以通過下面的命令更新至最新版本:
gem update --system
gem uninstall rubygems-update
4.安裝 Rails:
gem install rails
1.按照github上的指南配置(
http://help.github.com/win-set-up-git/)基礎的git環境。
2.在github上創建一個Repository。
3.在Eclipse中通過“Eclipse Marketplaces”,在Market Places里安裝egit。
4.在Eclipse中生public key, 并添加到GitHub Repository中。
Eclipse中通過:performance -> SSH2 -> Key Management -> Gernerate RSA Key 生成 SSH 的 public key。
在GitHub中通過:edit your profile -> ssh key -> Add SSH Key 添加SSH Key, 把上面生成的 public key 拷貝到這里,保存。
5.Eclipse里File菜單,Import,即可從git導入剛添加到git的項目了。
6.修改,并提交。在項目上點右鍵–>team–>commit。commit是commit到本機的git庫,而push才是同步到github。
1.下載最新版 Eclipse:
官方下載:http://www.eclipse.org/downloads/
2.解壓下載的壓縮包:
$sudo tar xvfz eclipse-SDK-3.1.2-linux-gtk.tar.gz -C /opt
這個時候,就可以在 /opt 文件夾中看到出現了一個eclipse的文件夾,雙擊其中的eclipse文件就可以運行eclipse了。
3.在菜單設置Eclipse選項: $gedit ~/.local/share/applications/eclipse-user.desktop
插入一下內容:
[Desktop Entry]
Comment=Java IDE
Name=Eclipse
Exec=/opt/eclipse/eclipse
Encoding=UTF-8
Terminal=false
Type=Application
Categories=Application;Development;
Icon=/opt/eclipse/icon.xpm
2012年3月17日
方法1: 用SET PASSWORD命令
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2:用mysqladmin
mysqladmin -u root password "newpass"
如果root已經設置過密碼,采用如下方法
mysqladmin -u root password oldpass "newpass"
方法3: 用UPDATE直接編輯user表
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
方法4: 在丟失root密碼的時候,可以這樣
mysqld_safe --skip-grant-tables&
mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
mysql> FLUSH PRIVILEGES;
---------------------------------------
經測試,方法三修改成功,其他三種方法沒有測試。
一.問題環境:
Eclipse3.4 + Tomcat6.0.20
二.問題現象:
在Eclipse下啟動Tomcat6時,控制臺會有下面警告信息
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:...' did not find a matching property.
三.詳細解決辦法:
1.打開服務器視圖:窗口 > 顯示視圖 > 服務器 > 服務器
2.雙擊服務器列表中的Tomcat,打開“服務器概述”窗口
3.選中"Publish module contexts to separate XML files"選項。
小提示:如果Tomcat處于啟動狀態,請先停止,否則,在保存服務器設置時,提示不能保存。
Here is a simple way to generate a analyze report by using FindBugs plugins in RSA:
- Using FindBugs to scan the code and save the result as XML file
- the XML report is in a bad format for reading, we can use XSL file to make it easy and clear to read:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="summary.xsl"?>
- Use Internet Explore to open the XML report, now we get a report:
Note: FindBugs provided following xsl files for different format: 1、default.xsl;
2、fancy.xsl;
3、fancy-hist.xsl;
4、plain.xsl;
5、summary.xsl;
2008年6月3日
摘要: GZIP
1. Compressing a File in the GZIP Format
2. Uncompressing a File in the GZIP Format
ZIP
1. Creating a ZIP File
2. Listing the Contents of a ZIP File
3. Retrieving a Compressed File from a ZIP File
閱讀全文
2008年1月29日
摘要: 使用 JSEclipse,JavaScript 程序員現在有了自己的 Eclipse 插件,該插件將提供許多重要功能來輔助開發 JavaScript 應用程序。像 Eclipse 多年來為 Java? 語言和其他語言提供了易用性一樣,JSEclipse 為 JavaScript 開發人員提供了同樣的優點。
閱讀全文
2008年1月24日
分享一個不錯的編寫properties文件的Eclipse插件(plugin),有了它我們在編輯一些簡體中文、繁體中文等
Unicode文本時,就不必再使用native2ascii編碼了。您可以通過Eclipse中的軟件升級(Software
Update)安裝此插件,步驟如下:
1、展開Eclipse的Help菜單,將鼠標移到Software Update子項,在出現的子菜單中點擊Find and Install;
2、在Install/Update對話框中選擇Search for new features to install,點擊Next;
3、在Install對話框中點擊New Remote Site;
4、在New Update Site對話框的Name填入“PropEdit”或其它任意非空字符串,在URL中填入http://propedit.sourceforge.jp/eclipse/updates/;
5、在Site to include to search列表中,除上一步加入的site外的其它選項去掉,點擊Finsih;
6、在彈出的Updates對話框中的Select the features to install列表中將所有結尾為“3.1.x”的選項去掉(適用于Eclipse 3.2版本的朋友);
7、點擊Finish關閉對話框;
8、在下載后,同意安裝,再按提示重啟Eclipse,在工具條看到形似vi的按鈕表示安裝成功,插件可用。此時,Eclpise中所有properties文件的文件名前有綠色的P的圖標作為標識。
2007年10月16日
摘要: 在Eclipse中遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files錯誤.....,查找的解決辦法如下:
閱讀全文
2007年10月11日
摘要: 要對資料庫管理系統進行操作,最基本的就是使用SQL(Standard Query Language)語句,大部份的資料庫都支援標準的SQL語句,然而也有一些特定於資料庫的SQL語句,應用程式配合SQL語句進行資料庫查詢時,若使用到特定於資料庫的SQL語句,程式本身會有相依於特定資料庫的問題。
使用Hibernate時,即使您不了解SQL的使用與撰寫,也可以使用它所提供的API來進行SQL語句查詢,org.hibernate.Criteria對SQL進行封裝,您可以從Java物件的觀點來組合各種查詢條件,由Hibernate自動為您產生SQL語句,而不用特別管理SQL與資料庫相依的問題。
閱讀全文
2007年9月5日
整理自:
SpringSide中文論壇
實際執行任務的Class: CourseService
public
?
class
?CourseService?
{?


??
public
?
void
?sendCourseEnrollmentReport()
{?
????System.out.println(
"
HelloWorld
"
);?
??}
?

}
調度任務的Class: TaskApp
import
?org.springframework.beans.factory.BeanFactory;?
import
?org.springframework.beans.factory.xml.XmlBeanFactory;?
import
?org.springframework.core.io.FileSystemResource;?


public
?
class
?TaskApp?
{?


??
public
?
static
?
void
?main(String[]?args)?
throws
?Exception?
{?
????BeanFactory?factory?
=
?
new
?XmlBeanFactory(
new
?FileSystemResource(?
"
WebRoot/WEB-INF/classes/scheduleTask.xml
"
));?
????factory.getBean(
"
z
"
);?
??}
?
????
}
?
配置調度執行任務的配置文件:
scheduleTask.xml
<?
xml?version="1.0"?encoding="UTF-8"
?>
?
<!
DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd"
>
?
<
beans
>
?
??
<!--
起動Bean
-->
?
??
<
bean?
id
="z"
?class
="org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
?
????
<
property?
name
="triggers"
>
?
??????
<
list
>
?
????
<
ref?
bean
="cronReportTrigger"
?
/>
?
??????
</
list
>
?
????
</
property
>
?
??
</
bean
>
?
??
<!--
實際的工作Bean
-->
?
??
<
bean?
id
="courseService"
?class
="CourseService"
>
??
</
bean
>
?
??
<!--
jobBean用于設定啟動時運用的Bean與方法
-->
?
??
<
bean?
id
="scheduledReportJobDetail"
?class
="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
?
????
<
property?
name
="targetObject"
>
?
????
<
ref?
bean
="courseService"
?
/>
?
????
</
property
>
?
????
<
property?
name
="targetMethod"
>
?
??????
<
value
>
sendCourseEnrollmentReport
</
value
>
?
????
</
property
>
?
??
</
bean
>
?
??
<!--
定時器設定起動頻率&啟動時間我設的是每5秒起動一次?(0?0?4?*?*??每日四點起動
.)
-->
?
??
<
bean?
id
="cronReportTrigger"
?class
="org.springframework.scheduling.quartz.CronTriggerBean"
>
?
????
<
property?
name
="jobDetail"
>
?
????
<
ref?
bean
="scheduledReportJobDetail"
?
/>
?
????
</
property
>
?
????
<
property?
name
="cronExpression"
>
?
??????
<
value
>
10,15,20,25,30,35,40,45,50,55?*?*?*?*??
</
value
>
?
????
</
property
>
?
??
</
bean
>
?
</
beans
>
關于配置文件中參數cronExpression的說明:
字段?允許值?允許的特殊字符?
秒?
0
-
59
?
,
?-?*?/?
分?
0
-
59
?
,
?-?*?/?
小時?
0
-
23
?
,
?-?*?/?
日期?
1
-
31
?
,
?-?*???/?L?W?C?
月份?
1
-
12
?或者?JAN-DEC?
,
?-?*?/?
星期?
1
-
7
?或者?SUN-SAT?
,
?-?*???/?L?C?#?
年(可選)?留空
,
?
1970
-
2099
?
,
?-?*?/?
表達式意義:
"
0?0?12?*?*??
"
?每天中午12點觸發?
"
0?15?10???*?*
"
?每天上午10:15觸發?
"
0?15?10?*?*??
"
?每天上午10:15觸發?
"
0?15?10?*?*???*
"
?每天上午10:15觸發?
"
0?15?10?*?*???2005
"
?2005年的每天上午10:15觸發?
"
0?*?14?*?*??
"
?在每天下午2點到下午2:59期間的每1分鐘觸發?
"
0?0/5?14?*?*??
"
?在每天下午2點到下午2:55期間的每5分鐘觸發?
"
0?0/5?14,18?*?*??
"
?在每天下午2點到2:55期間和下午6點到6:55期間的每5分鐘觸發?
"
0?0-5?14?*?*??
"
?在每天下午2點到下午2:05期間的每1分鐘觸發?
"
0?10,44?14???3?WED
"
?每年三月的星期三的下午2:10和2:44觸發?
"
0?15?10???*?MON-FRI
"
?周一至周五的上午10:15觸發?
"
0?15?10?15?*??
"
?每月15日上午10:15觸發?
"
0?15?10?L?*??
"
?每月最后一日的上午10:15觸發?
"
0?15?10???*?6L
"
?每月的最后一個星期五上午10:15觸發?
"
0?15?10???*?6L?2002-2005
"
?2002年至2005年的每月的最后一個星期五上午10:15觸發?
"
0?15?10???*?6#3
"
?每月的第三個星期五上午10:15觸發?
0
?
6
?*?*?*??????????每天早上6點??
0
?*/
2
?*?*?*????????每兩個小時??
0
?
23
-
7
/
2
,
8
?*?*?*??晚上11點到早上8點之間每兩個小時,早上八點??
0
?
11
?
4
?*?
1
-
3
???????每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點??
0
?
4
?
1
?
1
?*??????????1月1日早上4點?
Download:
Quartz
相關文檔:
http://blog.csdn.net/ezerg/archive/2004/09/24/115894.aspx
http://blog.csdn.net/yujiebo025/archive/2005/09/13/479049.aspx
http://blog.csdn.net/mengz/archive/2005/01/13/252267.aspx
http://blog.csdn.net/jorwang/archive/2005/05/12/374111.aspx
http://blog.csdn.net/Mailbomb/archive/2005/10/26/517128.aspx
http://blog.csdn.net/stonecai/archive/2007/01/06/1475745.aspx
http://landerchan.spaces.live.com/Blog/cns!8759A7C5A9737DC!116.entry
http://hanxinyu.javaeye.com/blog/37000
http://www.onjava.com/pub/a/onjava/2004/03/10/quartz.html
2007年8月17日
摘要: JDK 5 新增一些特性來簡化開發,這些特性包括泛型,for-each 循環,自動裝包/拆包,枚舉,可變參數, 靜態導入 。使用這些特性有助于我們編寫更加清晰,精悍,安全的代碼。
閱讀全文
2007年8月8日
<
ec:table
items
="itemList"
var
="item"
action
="${pageContext.request.contextPath}/query.do"
retrieveRowsCallback
="limit"
filterRowsCallback
="limit"
sortRowsCallback
="limit"
>
<
ec:exportXls
fileName
="CouponList.xls"
tooltip
="導出 Excel"
/>
<
ec:row
>
<
ec:column
property
="rowcount"
cell
="rowCount"
sortable
="false"
title
="序號"
/>
<
ec:column
property
="id"
title
="編號"
/>
<
ec:column
property
="type"
title
="種類"
>
${typeMap[item.type]}
</
ec:column
>
<
ec:column
property
="name"
title
="名稱"
/>
<
ec:column
property
="beginDate"
title
="開始時間"
cell
="calendar"
format
="date"
/>
<
ec:column
property
="endDate"
title
="結束時間"
cell
="calendar"
format
="date"
/>
<
ec:column
property
="state"
title
="狀態"
>
${statusmap[coupon.status]}
</
ec:column
>
<
ec:column
property
="edit"
title
="操作"
sortable
="false"
viewsAllowed
="html"
style
="width: 56px;text-align: center"
>
<
A
href
="<c:url value="
/security/user.do?method
=selectRoles&userId=${user.id}"
/>
">
<
img
src
="<c:url value="
/images/icon/16x16/manage.gif"
/>
" border="0"/>
</
A
>
</
ec:column
>
</
ec:row
>
</
ec:table
>
其中:
retrieveRowsCallback="limit"
filterRowsCallback="limit"
sortRowsCallback="limit"
指定了callback函數 limit
在controller 中的處理:
/**
* 列表查看
*/
protected
void
onList(HttpServletRequest request,HttpServletResponse response, ModelAndView mav)
throws
Exception
{
Limit limit
=
ExtremeTablePage.getLimit(request);
Map map
=
WebUtils.getParametersStartingWith(request,
"
search_
"
);
Page page
=
service.queryForPage(map,ExtremeTablePage.getSort(limit),limit.getPage(), limit.getCurrentRowsDisplayed());
mav.addObject(
"
itemList
"
, page.getResult());
mav.addObject(
"
totalRows
"
,page.getTotalCount());
}
2007年7月27日
摘自:
chinaunix
SELECT
??S.SID?SESSION_ID,?S.USERNAME,?DECODE(LMODE,?
0
,?
'
None
'
,?
1
,?
'
Null
'
,?
2
,?
'
Row-S?(SS)
'
,?
3
,?
'
Row-X?(SX)
'
,??
4
,?
'
Share
'
,?
5
,?
'
S/Row-X?(SSX)
'
,??
6
,?
'
Exclusive
'
,?TO_CHAR(LMODE))?MODE_HELD,?DECODE(REQUEST,?
0
,?
'
None
'
,?
1
,?
'
Null
'
,?
2
,?
'
Row-S?(SS)
'
,?
3
,?
'
Row-X?(SX)
'
,?
4
,?
'
Share
'
,?
5
,?
'
S/Row-X?(SSX)
'
,?
6
,?
'
Exclusive
'
,?TO_CHAR(REQUEST))?MODE_REQUESTED,?O.OWNER
||
'
.
'
||
O.
OBJECT_NAME
||
'
?(
'
||
O.OBJECT_TYPE
||
'
)
'
,?S.TYPE?LOCK_TYPE,?L.ID1?LOCK_ID1,?L.ID2?LOCK_ID2?
FROM
?V$LOCK?L,?SYS.DBA_OBJECTS?O,?V$SESSION?S?
WHERE
?L.SID?
=
?S.SID?
AND
??L.ID1?
=
?O.
OBJECT_ID
執行上記SQL語句,可以查尋到數據庫中的鎖的情報.
SESSION_ID, USERNAME,??MODE_HELD,??MODE_REQUESTED, OBJECT_NAME, LOCK_TYPE, LOCK_ID
分別是 擁有鎖的SESSION_ID,擁有鎖的USERNAME,鎖的執行模式MODE_HELD,鎖的請求MODE_REQUESTED,鎖所在的數據庫對象名
,鎖的類型,鎖的ID
2007年7月24日
摘要: Java中的多線程使用synchronized關鍵字實現同步.為了避免線程中使用共享資源的沖突,當線程進入synchronized的共享對象時,將為共享對象加上鎖,阻止其他的線程進入該共享對象.但是,正因為這樣,當多線程訪問多個共享對象時,如果線程鎖定對象的順序處理不當話就有可能線程間相互等待的情況,即常說的: 死鎖現象.
閱讀全文