2009年11月30日 星期一

BBEdit 9 Serial No

最近在找好用的 editor,有人在推薦 BBEdit

Download position
http://pine.barebones.com/demos/BBEdit_9.3_Demo.dmg

Serial Number
BEE900-EXBHG-ULLQL-VVHHT

from http://tungchingkai.blogspot.com/2009/11/bbedit-9-serial-no.html

2009年11月29日 星期日

install weblogic on mac os

安裝 weblogic 10 on snow leopard.

1. 下載 weblogic 10

http://www.oracle.com/technology/software/products/ias/htdocs/wls_main.html

Oracle WebLogic Server 10.3 - Package Installer : Generic: 473 MB

2. 下載 eclipse europa (eclipse version 3.3.2)

http://www.eclipse.org/downloads/packages/release/europa/winter

Eclipse IDE for Java EE Developers

3. 下載 eclipse wtp 2.0.3

http://archive.eclipse.org/webtools/downloads/index.php

把 plugin , features 複製到 eclispe 相關位置下。
針對 /eclispe/features/org.eclipse.wst.server_core.feature_2.0.2xxxxxxxxx/feature.xml 裡面的 2.0.2 改為 2.0.3

4. 做假檔案

weblogic 安裝的時候,會檢查 jdk(1.6),不過mac 下載的檔案及資料會不符合,安裝過程會失敗。
所以需要一些小技巧,需要 windows 系統下的 rt.jar, core.jar 放在 /System/Library/Frameworks /JavaVM.framework/Home/1.6/jre/lib/ ( rt.jar, core.jar 據說可以作假的空檔案)

5. install

>java -Dos.name=unix -jar server103_generic.jar
os.name 的目的是安裝過程中會檢查可用空間 可是不論有多大 都會檢查失敗,但是加了os.name=unix 就可以 pass

2009年11月12日 星期四

install java 1.4 5.0 on Snow Leopard

自從由 Leopard 換到 snow leopard 之後,系統的 java version 就只剩 6.0
雖然 sun 將不提供 1.4, 5.0 support 不過後是有一堆系統或是程式需要依靠之前的版本

在一番搜尋後 終於找到很方便的解決方法
在 terminal 下指令

java 1.4
-----------------------------------------------
cd /tmp/
curl -o java.1.4.2-leopard.tar.gz http://www.cs.washington.edu/homes/isdal/snow_leopard_workaround/java.1.4.2-leopard.tar.gz
tar -xvzf java.1.4.2-leopard.tar.gz
sudo mv 1.4.2 /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2
cd /System/Library/Frameworks/JavaVM.framework/Versions/
sudo ln -s 1.4.2 1.4
open "/Applications/Utilities/Java Preferences.app"


java 5.0
---------------------------------------------
cd /tmp/
curl -o java.1.5.0-leopard.tar.gz http://www.cs.washington.edu/homes/isdal/snow_leopard_workaround/java.1.5.0-leopard.tar.gz
tar -xvzf java.1.5.0-leopard.tar.gz
sudo mv 1.5.0 /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0-leo
cd /System/Library/Frameworks/JavaVM.framework/Versions/
sudo rm 1.5.0
sudo mv 1.5.0-leo 1.5.0
sudo ln -s 1.5.0 1.5
open "/Applications/Utilities/Java Preferences.app"


最後 當然要感謝一下原作者
http://www.cs.washington.edu/homes/isdal/

2009年9月22日 星期二

weblogic 線上文件

自從 weblogic 被 oracle 買走了之後,之前很好用的線上文件網頁也消失了。

經過尋找,終於找到了


2008年7月3日 星期四

word 2007 滑鼠無法使用

最近在使用 word 的時候,突然發現當離開word 視窗後,在回來 word 的時候,滑鼠突然沒作用了。重灌 office 後,還是這樣。這下可麻煩了,很多剪剪貼貼的事情不能做,於是去找了一下有沒有人也有同樣問題,後來終於找到了。
http://forums.microsoft.com/Technet-CHT/ShowPost.aspx?PostID=2844275&SiteID=23
我可能是因為裝了新的軟體後,增益集多加了一些東西,導致我的word 就怪怪的,因此就照著他的步驟把不必要的東西關掉,word 也就好了。(還好找到了 差點惱羞成怒要全部重灌了)
步驟如下:
(1) 打開word --> 左上方Office 符號點下去 --> 最下面一排有一個 "word 選項"
(2) 選擇"增益集" -->COM 增益集 "執行" button 按下去 --> 把新加的程式 或是全部 都關掉
成功啦~~~ 又救了我一命

2007年9月13日 星期四

java 命名規則

大家都知道,java 的命名是有規範的,雖然不依照規則命名還是可以跑。但是依據一個法則,閱讀起來也比較方便。可以參考以下網站
Code Conventions for the JavaTM Programming Language

比如說 package 的命名:

規範是"小寫" and "should be one of the top-level domain names, currently com, edu, gov, mil, net, org, or one of the English two-letter codes identifying countries as specified in ISO Standard 3166, 1981."
就是說要用 com , edu... , 或是國家如: tw 來開頭 。

而且接者的名稱會根據'公司名'或是'部門名'或是'專案名'...來命名

例如:com.sun.eng , edu.cmu.cs.bovik.cheese.....


會提到 package 是因為看到下面文章:

Managing the Java classpath

覺得有太多沒注意到的地方要注意。

2007年8月29日 星期三

log4j 學習筆記

做為一個Log 工具, log4j 是常被使用, 也很方便, 功能也很多的工具,以下簡單介紹建立的範例。
一、apache log4j project website:
http://logging.apache.org/log4j/docs/
二、jar file download:(log4j-1.2.14.jar)
http://logging.apache.org/site/binindex.cgi
三、做一個簡單的登入頁面。

<form action="/loggerTest/goServlet">
name:<input type="text" name="name"><br>
password:<input type="password" name="password"><br>
<input type="submit" value="submit">
</form>

四、web.xml

<servlet>
<servlet-name>log</servlet-name>
<servlet-class>servlet.LogDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>log</servlet-name>
<url-pattern>/goServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

五、Servlet(放於WEB-INF/classes/LogDemo.class)

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class LogDemo extends HttpServlet{
static Logger log = Logger.getLogger(LogDemo.class);

protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();


//Log4j預設的設定檔
BasicConfigurator.configure();



//讀 log4j.properties
Properties p = new Properties();
p.load(LogDemo.class.getClassLoader().getResourceAsStream("log4j.properties"));
PropertyConfigurator.configure(p);

log.info("start......");

out.print("youname is "+req.getParameter("name"));
log.info("name is"+req.getParameter("name"));

out.print("<br>your passwrod is"+req.getParameter("password"));
log.info("password is"+req.getParameter("password"));

log.info("end.....");
}
}

六、log4j.properties(放於WEB-INF/classes/log4j.properties)

#level=info, 兩種輸出 分別為 A1,A2
log4j.rootLogger=info ,A1,A2

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n

# A2 is set to be a file
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M] %m%n
log4j.appender.A2.File=C:/temp/testLog.log

七、說明

  • log4j.properties

  • (1)RootLogger:
    log4j.rootCategory = [level] , appenderName, appenderName, ...
    level:DEBUG、INFO、WARN、ERROR、FATAL(ALL、OFF)
    (2)log4j.appender.XXX
    WriterAppender----ConsoleAppender(控制台)
    ----FileAppender(文件)---DailyRollingFileAppender(日誌文件)
    ---RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件)
    (3)log4j.appender.XXX.layout
    * org.apache.log4j.HTMLLayout(HTML表格形式)
    * org.apache.log4j.PatternLayout(可以指定佈局模式)
    * org.apache.log4j.SimpleLayout(包含日誌訊息的級別和訊息字串)
    * org.apache.log4j.TTCCLayout(包含日誌產生的時間、執行緒、類別等等訊息)
    (4)PatternLayout參數說明
    * %c 輸出日誌訊息所屬的類別的全名
    * %d 輸出日誌時間點的日期或時間,指定格式的方式:%d{yyyy/MM/dd HH:mm:ss}。
    * %l 輸出日誌事件的發生位置,即輸出日誌訊息的語句處於它所在的類別的第幾行。
    * %m 輸出代碼中指定的訊息,如log(message)中的message。
    * %n 輸出一個列尾符號。
    * %p 輸出優先階層,即DEBUG,INFO,WARN,ERROR,FATAL。如果是調用debug()輸出的,則為DEBUG,依此類推。
    * %r 輸出自應用啟動到輸出該日誌訊息所耗費的毫秒數。
    * %t 輸出產生該日誌事件的線程名。
    * %r 輸出自應用啟動到輸出該日誌訊息所耗費的毫秒數。
    * %f 輸出日誌訊息所屬的類別的類別名。