2010年12月28日 星期二

Apache FTPClient listFiles() return is empty

FTPClient ftp
...
ftp.setControlEncoding("utf8");
ftp.setDefaultPort(port);
ftp.connect(ip);
ftp.login(id, pwd);
ftp.enterLocalPassiveMode();//important
ftp.changeWorkingDirectory("ToLoad");

加上enterLocalPassiveMode method就解決了

2010年12月12日 星期日

CentOS install snmp

確認一下有裝了嗎 ?
# rpm -qa | grep net-snmp
net-snmp-utils-5.3.2.2-9.el5_5.1
net-snmp-libs-5.3.2.2-9.el5_5.1
net-snmp-5.3.2.2-9.el5_5.1

沒有的話就裝吧
#yum install -y net-snmp
#yum install -y net-snmp-libs
#yum install -y net-snmp-utils

修改設定
#vi /etc/snmp/snmpd.conf
com2sec notConfigUser default MyCommunity

group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser

view all included .1 80
view system included .iso.org.dod.internet.mgmt.mib-2.system

access notConfigGroup "" any noauth exact all none none

讓它重開也會開啟
#chkconfig snmpd on
設定完成生效重啟
#service snmpd restart

確認成功與否
#snmpwalk -v 2c -c MyCommunity localhost system



失敗的話看防火牆有沒有擋到161 udp port、防火牆有開啟否
#netstat -ln | grep 161
#service iptables status
修改 /etc/sysconfig/iptables (或 /etc/sysconfig/iptables-config)
增加如下:
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 161 -j ACCEPT

restart iptables
#/etc/init.d/iptables restart

2010年12月9日 星期四

New Mac air 11 inch crash event

買不到三個星期,今天在用air看pdf檔案後離開後,回到座位後畫面全黑,怎麼都沒反應.這時以為買到機王了= =
就先打電話給客服 ,她叫我拔除所有與其連結的線連同電源線並按住shift+option+command+power 15 seconds 然後再按開機鈕居然就恢復正常了.回到桌面後我就更新OS 10.6.4 ->10.6.5重開機後,又出現更新韌體的訊息,看了內容跟我發生的情況一樣,當然我也更新這個韌體,再度重開機。就等之後是否還會有這種情況發生嚕^^
隔天又發生一樣的情況= = ....只好盡量不要讓它到休眠狀態Orz..

2010年12月8日 星期三

Library updating

Quartz 1.8.4 Released - 10/28/2010
Quartz 2.0 on beta stage -11/24/2010
Notable new features include : Quartz Where: a new interface to control where jobs execute in a clustered environment.

2010年11月15日 星期一

使用putty的一些小撇步

複製某些內容:用滑鼠選取內容後就可以,如果是按滑鼠右鍵會變成立即貼上於游標位置

看中文字會亂碼:先把IP port ,connection type打好再去選Window->Translation->再選utf8就ok了,如圖,如果先選utf8再去選所要連的位置資訊一樣會有亂碼,因為該次連線還是沒設成utf8

2010年11月8日 星期一

jsvc install on CentOS 5.4 2.6.18-164.el5 x86_64

#cd $CATALINA_HOME/bin
#tar xvfz commons-deamon-native.tar.gz
#cd commons-daemon-1.0.x-native-src/unix
#./configure
這時出現error



#yum install -y gcc <--缺少make工具,裝一下吧^^
#.configure --with-java=/usr/local/jdk1.5.0_22
#make clean
#make
就成功了

再$CATALINA_HOME/bin/commons-daemon-1.0.2-native-src/unix/native下會有Tomcat5.sh
把這個檔copy到/etc/init.d/改成你要的命名
native>#cp Tomcat5.sh /etc/init.d/tomcat
然後開始修改這個檔(粗體部份,有些被#掉的是我不知道要做啥,所以註解掉了)
#!/bin/sh
# chkconfig: 2345 96 34 <--重要!設定開關機的順序
# description: Apache Tomcat Daemon <--重要!
....
JAVA_HOME=/usr/local/jdk1.5.0_22
CATALINA_HOME=/usr/local/apache-tomcat-5.5.31
DAEMON_HOME=/usr/local/apache-tomcat-5.5.31/bin/commons-daemon-1.0.2-native-src/unix
#TOMCAT_USER=tomcat5


# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/usr/local/apache-tomcat-5.5.31

#CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs"
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar
...
case "$1" in
start)
#
# Start Tomcat
#
$DAEMON_HOME/jsvc \
-home $JAVA_HOME \
-Dcatalina.home=$CATALINA_HOME \
...
stop)
#
# Stop Tomcat
#
$DAEMON_HOME/jsvc \
-stop \
...

#service tomcat start

#ps aux |grep tomcat
會有兩個process id (two pid) ,為什麼會有兩個我在網路上也找過,但看不太懂(時間不夠去了解啦>"<)

#netstat -tupln |grep jsvc.exec
tcp 0 0 :::8009 :::* LISTEN 10646/jsvc.exec
tcp 0 0 :::8080 :::* LISTEN 10646/jsvc.exec

以上表示正常 當然跑一下http://localhost:8080 也可

正式加入開關機流程
#chkconfig --add tomcat

Bad version number in .class file

詳細訊息如下:
Bad version number in .class file (unable to load class org.apache.commons.dbcp.BasicDataSource)

原以為是個很常見的錯誤,只要compile和run環境的jdk同版本就解決的。
沒想到還是不行,後來又以為問題是compile是32 bit的jdk但run環境的server是裝64 bit的jdk,
在網路上找到這個知識才知道是沒有關係的,到最終問題點居然是"commons.dbcp"的版本問題
* DBCP 1.4 compiles and runs under JDK 1.6 only (JDBC 4)
* DBCP 1.3 compiles and runs under JDK 1.4-1.5 only (JDBC 3)
原本是use DBCP 1.4但server是裝jdk1.5,所以需用1.3的DBCP,所以這問題就解啦!

結論是 :看清楚error log ,請看完不要看一半~Orz!

2010年10月5日 星期二

Maven in eclipse - Class not found



If you change your class path using Maven , not default one (target/classes).
Maybe you will get the problem.

Solution :
chech your POM

...
<build>
...
<outputDirectory>
target/YouProject/WEB-INF/classes
</outputDirectory>

<testOutputDirectory>
target/YouProject/WEB-INF/classes
</testOutputDirectory>
..
</build>

make sure your java build path



That is !

2010年10月2日 星期六

Tomcat install service in Windows Vista

D:\java\tomcat\apache-tomcat-5.5.25\bin> service install
可以在服務內看到預設名稱為Apache Tomcat
如果加個額外名子
...bin>service install tomcat5
會變成"Apache Tomcat tomcat5"

解除(uninstall)service
D:\java\tomcat\apache-tomcat-5.5.25\bin> service uninstall
同理移除自己有加名子的service
...bin>service uninstall tomcat5

2010年9月28日 星期二

CentOS 5.5 install mysql phpmyadmin tomcat

安裝Mysql
# yum -y install mysql-server
# mysqladmin -u root password 'your password'

安裝 php
# yum -y install php php-mysql php-gd php-mbstring
# vi /etc/php.ini <= 自行修改您要的值,內容參考如下
max_execution_time = 300
max_input_time = 600
memory_limit = 160M
post_max_size = 80M
upload_max_filesize = 20M

安裝 phpMyAdmin
# cd /var/www/html
# wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/2.11.11/phpMyAdmin-2.11.11-all-languages.tar.gz/download
# tar -zxvf phpMyAdmin-XXX.tar.gz
# mv phpMyAdmin-XXX phpMyAdmin
# cp /var/www/html/phpMyAdmin/libraries/config.default.php /var/www/html/phpMyAdmin/config.inc.php


# vi /var/www/html/phpMyAdmin/config.inc.php
$cfg['PmaAbsoluteUri'] = ''
改成 $cfg['PmaAbsoluteUri'] = 'http://ip/phpMyAdmin/';

$cfg['Servers'][$i]['auth_type'] = 'config'
改成 $cfg['Servers'][$i]['auth_type'] = 'http';

PS .開啟 phpMyAdmin 的首頁時, 出現"php 5.2+ is required"表示你裝phpMyAdmin版本要用到php5.2以上的版本

# chkconfig --level 2345 httpd on

讓tomcat開機時啟動
# touch /etc/init.d/tomcat
# chmod 755 /etc/init.d/tomcat
# vi /etc/init.d/tomcat
內容如下
#!/bin/bash
# process init file for tomcat
#
# chkconfig: 2345 90 80
# description: Apache Tomcat Daemon
#
# processname: /usr/local/tomcat/bin/startup.sh and /usr/local/tomcatbin/shutdown.sh

start() {
echo -n "Starting up Tomcat: ";echo "";
/usr/local/tomcat/bin/startup.sh
}

stop() {
echo -n "Shutting down Tomcat: ";echo "";
/usr/local/bin/shutdown.sh
}

restart() {
echo "Restarting Tomcat:"
stop
start
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: Tomcat {start|stop|restart}"
exit 1
esac

測試一下啟動,停止 tomcat
# service tomcat start
# service tomcat stop

確認process有跑嗎
# ps -ef|grep tomcat

確認目前有tomcat這個服務在跑嗎?應該沒有才對喔!
# chkconfig --list|grep tomcat

加進來
# chkconfig --add tomcat

確認
# chkconfig --list|grep tomcat
tomcat 0:off 1:off 2:on 3:on 4:on 5:on 6:off

列出 /etc/rc.d/rcx.d/ 底下關於 tomcat 的部分
# find /etc/rc.d/ | grep 'tomcat'|sort

改httpd的port
# vi /etc/httpd/conf
Listen 8000

2010年9月23日 星期四

用Hibernate取前幾筆資料

Using Hibernate to fetch top 10 high score

public List getSortedScoreList(){
return (List)this.getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(org.hibernate.Session session) throws HibernateException, SQLException {
Criteria cri=session.createCriteria(ScoreVO.class);
cri.addOrder(Order.desc("score")).addOrder(Order.desc("createTime"));
cri.setMaxResults(10);
return cri.list();
}
});
}

2010年9月12日 星期日

Wii super mario 破關 !


昨天2010/09/12終於把各關卡(包含world 9)的三枚金幣都拿到了,
有圖有真相 !
最難拿的就是9-7了,我是只吃長大菇就拿到三個的,如果有企鵝裝應該會比較好過吧。
這三個金幣要一次拿真的不容易,我是分三次拿XD。
最值得一提的是到後面的兩個噴火怪,如果要分次拿這兩個怪可以閃過不殺,但要拿第三個金幣
非殺掉他們不可。閃過的方式:過第二個金幣的地方開始B加速到五個水管花按下蹲閃過後,衝刺時第一個噴火怪會噴一枚火球跳過,接下來小跳(不要大跳否則會碰到它)甩掉它後一樣小跳閃過第二個噴火怪,過關就會記錄拿過幾個金幣。接下來挑戰第三枚,我是一樣先閃過第一個噴火怪
之後殺死第二個噴火怪再往回殺第一個噴火怪,間隔不要太久不然地上的冰會被怪噴的火球融化。殺完就可以吃第三枚了,當然要靠來回壁跳才可以吃到。
說起來好像很簡單,但我可是體會30-40次才過關的............(老婆說:你真有耐心)
全破關後,兩個大姆指好痛喔 XD

2010年9月2日 星期四

Oracle and Mysql in Hibernate

小數點後兩位
Oracle
<property name="multiple" not-null="true" type="float">
<column name="MULTIPLE" sql-type="number(5,2)"></column>
</property>

Mysql
<property name="multiple" not-null="true" type="float">
<column name="MULTIPLE" sql-type="decimal(5,2)"></column>
</property>

2010年8月31日 星期二

Convert String to InputStream

InputStream is = null;
try {
is = new ByteArrayInputStream("yourTestXML".getBytes("UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
這樣就可以用在jaxb來parse XML
JAXBContext context = JAXBContext.newInstance(DailyRes.class);
Unmarshaller u = context.createUnmarshaller();
Object result = u.unmarshal(is);

2010年8月29日 星期日

2010年8月25日 星期三

Jquery tooltip


最近做了一個功能,如圖
利用Jquery的Plugin(qTip),應用在系統上,功能是按下交易類別的欄位會去取資料(利用ajax),透過小div顯示(術語叫tooltip),一般都是用滑鼠滑過就會出現,但我這次是要按下才會顯示,避免不經意的滑過也會去撈資料。

step 1 :
< script type="text/javascript" src="${scripts}/jquery.js" >< /script >
< script type="text/javascript" src="${scripts}/jquery.qtip-1.0.0-rc3.js" >< /script >

step 2 :
$(document).ready(function(){

$("a[href$='ABC']").each(function(){

$(this).qtip({
content: { url: 'ajax.do', data: { id: $(this).attr("rel")}, method: 'get' },
show: { when: { event: 'click' } },
hide: 'mouseout',
style: {
width: 70,
padding: 0,
background: '#A2D959',
color: 'black',
textAlign: 'left',
border: {
width: 7,
radius: 5,
color: '#A2D959'
},
tip: 'topLeft'
}

})


})
});
</script>

step 3 :
table部份,只要是a href的值是以ABC結尾都套用這個tooltip
...
<c :when test="${s.bonusCatVO == '88888888' }">
< a href="#ABC" rel="${s.cateDetail}" >包月消費< /a >
</ c:when>
...

step 4 : ajax.do

String appId = request.getParameter("id");
AppVO app = pointFacade.getApp(appId);
if(app!=null){
String appName = app.getAppname();
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
out.println(appName);
out.close();
}

2010年8月10日 星期二

Dell 1950 Riser card

在裝換Dell PowerEdge 1950的PCI-X的Riser card後,無法開機,連電源都開不了,並顯示錯誤代碼 E1A11。搞了半天才查到server上的Riser card必須一致,也就是說換了短的PCI-X的,也必須把另一個長的換成PCI-X的Riser card,不可以一邊用PCI-E一邊用PCI-X,或一邊有插一邊沒插。

這個特別的規定是接觸這麼久以來第一次遇過,一整個無言。

網路上也發現有人遇到這種情況

2010年8月5日 星期四

Tomcat

安裝Tomcat的Administration Web Application
這個admin webapp只是方便你去編輯xml(server.xml、tomcat-users.xml及各webapps內的web.xml)罷了,老實說如果對tomcat夠了解,這根本用處不大。
在CATALINA_HOME/conf/tomcat-users.xml內加一個admin 角色
<role rolename="admin"/>
<user username="admin" password="joseph" roles="admin"/>
把下載下來的解壓到${catalina.home}/server/webapps/ 或 ${catalina.home}/webapps/
當然你放到哪就要告訴tomcat你放在哪,${catalina.home}/conf/Catalina/localhost內的admin.xml要把路徑設好

把tomcat-users.xml內的password加密,${catalina.home}/conf內的server.xml
<Realm ... resourceName="UserDatabase" digest="MD5"/>
利用tomcat內的工具進行加密,在${catalina.home}\bin打
digest.bat -a MD5 joseph
就會得到joseph進行MD5加密後的結果
joseph:cb07901c53218323c4ceacdea4b23c98
完成如下:
<user username="admin" password="cb07901c53218323c4ceacdea4b23c98" roles="admin"/>


如果要讓限制來源IP進入tomcat manager webapp 內去reload或stop webapp可以在tomcat_home/conf/Catalina/manager.xml內加入

<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.0.0.1,192.168.11.101,192.168.11.122"/>

</Context>
以上是限制只有本機和192.168.11.101及192.168.11.122的user進入。

2010年7月8日 星期四

JSP EL 顯示成功與否

如果web.xml內的version是2.5

web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5"

就要在jsp前加上
.... pageEncoding="UTF-8" isELIgnored="false"

2.4版的就不用因為EL預設就是ingore為false
web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

Mysql在Linux從安裝到啟動和開機時自動啟動服務的設定

Mysql 在 Linux 系統中開啟服務的方式
如果是以binary檔,也就是下載mysql-5.1.48-linux-i686-glibc23.tar.gz
以下是設定流程:
1.解壓到/usr/local/mysql下
#tar -xz -f mysql-5.1.48-linux-i686-glibc23.tar.gz -C /usr/local/mysql
此時mysql的主目錄(以下用mysql_home稱之)會是:/usr/local/mysql/mysql-5.1.48-linux-i686-glibc23

2.新增mysql group , 並建立一個mysql user於該group內
# groupadd mysql
# useradd mysql -g mysql
3.在mysql_home的support-files內複製檔案到/etc
# cp mysql_home/support-files/my-medium.cnf /etc/my.cnf

4. 到mysql_home,然後執行初始化DB的工作(內容請參閱手冊
# ./scripts/mysql_install_db --user=mysql

5.設定一些權限(mysql_home內)
# chown -R root .
# chown -R mysql data

# chown -R mysql data/.
# chgrp -R mysql .

6.啟動看看
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
如果看到mysql ended 等的字就是失敗,快去看一下log
7.如果成功用命令修改root預設為空的密碼
# mysql_home/bin/mysqladmin -u root password yourpassword

8.接下來設定開機啟動mysql服務
# cp mysql_home/support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 700 /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on

9.修改/etc/rc.d/init.d/mysqld的內容(斜體部份是要填入的)
basedir=/usr/local/mysql/mysql-5.1.48-linux-i686-glibc23
datadir=/usr/local/mysql/mysql-5.1.48-linux-i686-glibc23/data

10.之後就可以用
service mysqld start 來啟動
service mysqld stop 來關閉或
mysql_home/bin/./mysqladmin -u root -p shutdown

另一種方式,附加在rc.local內
[root @hostname /root]# vi /etc/rc.d/rc.local
/usr/local/apache/bin/apachectl start
/mysql_home/mysql.server start

2010年6月14日 星期一

oracle backup

backup control file :
SQL> alter database backup controlfile to trace;
it will generate sid_ora_XXXX.trc at "C:\oracle\product\10.2.0\admin\orcl\udump"

backup tablespace and datafile file:
SQL> spool c:\work_dump/spoolback.txt
SQL> select * from dba_tablespaces;
SQL> select * from dba_data_files;
SQL> spool off;
SQL> exit

DB dump :
C:\Documents and Settings\Administrator>exp system/oracle full=y file="c:/work_d
ump/joseph_'yourDate'.dump" statistics=none inctype=complete
in Linux 'yourDate' can be "date+%Y%m%d%H%M%S"

So we have three file and backup it up to another disk !

LockMode in DAO of Hibernate

public ProfileVO getProfilebyLoginIdLockMode(final String loginId){
ProfileVO vo = null;
List list = (List)this.getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(org.hibernate.Session session) throws HibernateException, SQLException {
Criteria cri=session.createCriteria(ProfileVO.class,"p");
cri.add(Restrictions.eq("p.loginId", loginId)).setLockMode(LockMode.FORCE);
return cri.list();
}
});

if(list.size()>0){
vo = (ProfileVO)list.get(0);
}
return vo;
}

do not use the following method , because it will get a new persistent context and lock will be failure !

...
Session session = this.getHibernateTemplate().getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
Query query = session.createQuery("from ProfileVO p where p.loginId='"+loginId+"'").setLockMode("p", LockMode.FORCE);
List list1 = query.list();

if(list1.size()>0){
vo = (ProfileVO)list1.get(0);
}
tx.commit();
session.close();

2010年5月19日 星期三

jquery getJSON

Jquery的1.4版之後在處理JSON和之前版本有差異
這次就是在處理時是用單引號,但1.4之後強制跟正規的JSON走(要用雙引號),
所以若用單引號會發現 $.getJSON的callback會沒有作用
請參閱



2010年5月7日 星期五

Quartz在Spring中指定方法並帶參數


< id="jobDetailBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
< name="targetObject">
< bean="synSellingDataJob">
< /property >
< name="targetMethod">
<>execute
< /property >
< name="arguments">
<>
< type="java.lang.String ">Joseph< /value >
< type="java.lang.String">I love you< /value >
< /list >
< /property >

< /bean >


code :

public void execute(Object[] obj){
....
}

2010年4月30日 星期五

生活記事7-11 i-bon好方便

今年四月幫小可換駕照,到7-11一切搞定!
準備 : 身份證正反影本、舊駕照正反影本、照片一張、現金(換照錢、影印、掃描)兩百五六十吧~忘了
先去i-bon選擇換照的項目,會印出來、然後把以上的東西都貼上去,掃描傳送出去就完成了 !
身份證影本和照片都可以再利用 !
過幾天新照就會寄過來了~~而且照片還是彩色的喔 ! 真cool ! 方便 ! 讚啦 !

2010年4月14日 星期三

Maven in eclipse - M2eclipse

某天某專案下的Maven dependencies不見了,在該專案下的.classpath補上
classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"
就恢復了

2010年4月11日 星期日

TransactionException in Hibernate and MySQL

在過一段時間後會出現如上錯誤訊息,這是因為MySQL已經切斷閒置的連線,所以可以利用connection pool的配置來處理這個問題。
Mysql服務器預設的「wait_timeout」是8小時(待查證),所以mysql配置中my.ini 的wait_timeout值一定要大於等於connection pool的idle_timeout 值,否則mysql會在wait_timeout的時間後關閉連接,然而連接池還認為該連接可用,這樣就會產生以上圖內的錯誤。
MySQL :
interactive_timeout=XX
The number of seconds the server waits for activity on an interactive connection before closing it.

wait_timeout=XX
The number of seconds the server waits for activity on a noninteractive connection before closing it.

DBCP
timeBetweenEvictionRunsMillis 每毫秒檢查一次連接池中閒置的連接(spec :The number of milliseconds to sleep between runs of the idle object evictor thread. When non-positive, no idle object evictor thread will be run.)預設是-1

minEvictableIdleTimeMillis 連接池中連接可閒置的時間(spec:The minimum amount of time an object may sit idle in the pool before it is eligable for eviction by the idle object evictor (if any). )

上面兩個設定要一起使用,意思是說每timeBetweenEvictionRunsMillis毫秒檢查一次連接池中空閒的連接,把空閒時間超過 minEvictableIdleTimeMillis毫秒的連接斷開,直到連接池中的連接數到minIdle為止

2010年3月27日 星期六

m2eclipse , put your jar to the repository


add myself jar to repository by using m2eclipse(a maven plugin for Eclipse)

Result :
Installing d:\Joseph.jar to C:\Users\Joseph\.m2\repository\org\joseph\joseph_test\1.1\joseph_test-1.1.jar

be careful : packaging=jar , it is very important ! otherwise , you will fail on it

or in command mode :
D:\>mvn install:install-file -Dfile=D:\PassiveDataAgent.jar -DgroupId=com.mycompany.taipei -DartifactId=PassiveDA -Dversion=1.0 -Dpackaging=jar

Then , you can get this jar in your project
in POM :
...
<dependency >
<groupId>com.mycompany.taipei </groupId>
<artifactId>PassiveDA </artifactId>
<version>1.0 </version>
</dependency>
...

2010年1月1日 星期五

CSS Note

CSS selector :
[tag selector]
ex: p {color:#0000ff;}

[class selector]
ex: .myclass{color:#0000ff;}

[ID selector]
ex: #myclass{color:#0000ff;}

[descendant selector]
ex: .myclass p{color:#0000ff;}

[child selector]
ex: .myclass>p{color:#0000ff;}

difference between descendant and child
後代是指該層所衍生下來的所有都要符合,子代只要該層的下一層符合就可以了

combine usage
ex: #myclass .myclass{color:#0000ff;}
a.myclass{color:#0000ff;}



  • 用p元素的color屬性來取待font標籤
  • 用font-size:12px;來改變字體大小
  • 字體大小的測量單位:pt、pc(等於12pt)用於列印樣式時,網站勿用。px(pixels)對印刷毫無用處。em如果在browser設定偏好會有效果,比如設font-size:1em;看到的結果會是設定的Medium的大小,如果設1.1em會比設定的還大10%,反之0.9em會小10%。
  • 可用絕對關鍵字來指定字體大小(xx-small、x-small、small、medium、large、x-large、xx-large)
  • 相對關鍵字(larger、smaller),會以母元素的大小為基準。
  • 特定字型顯示 font-family:Verdana , Geneva , Arial ,sans-serif;
  • 把Link的底線移除 a:link,a:visited{ text-decoration:none;}
  • 強調文字中的文字,在p元素中放入span標籤並為其加入類.highlight{background-color:#FFFFCC;}
  • 增加文字行距p{line-height:2.0;}
  • 文字左右分散 text-align : justify ,其它值right,left,center
  • 水平分割線 hr {background-color: #ADD8E6;}
  • 文字全改大小寫.transform{text-transform:uppercase;}其它值lowercase、none、capitalize(第一個字母改大寫)
  • 移除項目前的符號 ul { list-style-type : none;}換成圖片ul{list-style-image:url(aaa.gif);}、移除縮排左邊界ul{list-style-type:none;padding-left:0;margin-left:0;}
  • 把項目成水平排列ul.horiz li{display:inline;}
  • CSS註解/*我是註解*/ 或
/*
註解1
....
*/

  • margin 屬性有四種組合值:
    * 一個值 such as 10px , 去指定每個margin都是10
    * 兩個值, such as 10px 5px, 去指定上/下 (first value) 和右/左(second value)
    * 三個值, such as 10px 5px 2px, 去指定上(first value), 右/左 (second value) 和下 (third value)
    * 四個值, such as 10px 5px 2px 1px ,去指定 上, 右, 下 ,左
     

COVID-19 確診經歷紀實

原本以為真的是天選之人,就算先前家裡兩個小孩都確診都逃過了(可能有中獎但無症狀吧),不過就在2023年六月18日破解自認為天選之人的"心態",為什麼可以確認就是這天中獎的呢?因為在前都是居家上班,到人多的室內場所都會戴口罩,就剛好這天傍晚原本只想說要去附近的國...