練功房推薦書單

  • Google!Android 3手機應用程式設計入門(第四版)
  • 賈伯斯傳(軟皮精裝版)
  • 猛虎出閘制霸版:最新OCP Java SE 6 Programmer專業認證(附原始程式碼及範例檔)
  • SCWCD 5 猛虎出閘:Java Web 應用程式專業認證
Messages posted by: andowson
Forum Index » Profile for andowson » Messages posted by andowson
Message
byby wrote:忘了說 我去的那個認證中心考試三小時內是不能去洗手間的orz
所以真的要問清楚~

還有關於題數
光碟模擬考和書上都是說72題
可是實際去考只有60題
一樣是答對58%PASS
換算起來要35題
確實有幾題和猛虎一模一樣耶~

剛去查了一下,發現不管是SCJP 6或SCJP 5都調整成一致了:
考試時間:180分鐘(3小時)
題目數:60題
通過百分比:58.33%(35題)

看來應該是Oracle(或Sun)有修正過了。

http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&p_exam_id=1Z0_851
Exam Number: CX-310-065
Associated Certifications: Sun Certified Java Programmer (SCJP) SE 6
Exam Price: US$ 300
Candidates no longer need to purchase vouchers prior to taking an exam. Please pay Prometric directly for your exam during registration.

Duration: 180 minutes
# of Questions: 60
Passing Score: 58.33%

http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&p_exam_id=1Z0_853
Exam Number: CX-310-055
Associated Certifications: Sun Certified Java Programmer (SCJP) SE 5
Exam Price: US$ 300
Candidates no longer need to purchase vouchers prior to taking an exam. Please pay Prometric directly for your exam during registration.

Duration: 180 minutes
# of Questions: 60
Passing Score: 58.33%
byby您好:
不知道您方便告訴大家您去的考試中心是哪一間嗎?這樣子大家可以做個參考。畢竟,憋尿對身體是有害的!
剛在博客來家電館看到的有趣創意商品,底下是它的產品介紹,不知道有沒有人用過的,可以分享一下心得。
小便利尿袋
image

商品詳細介紹

一袋在車、有備無患!!
您是否曾經在逢年過節時,遇到高速公路上大塞車而尿急的經驗???
或者在野外郊遊露營時,沒有乾淨、舒適的地方造成無法小便的困擾???
經醫學報導--過度憋尿容易引起膀胱炎、腎臟病及相關泌尿疾病,對人體是相當不好的!!
在此提供您最新產品"小便利尿袋",在最緊急狀況時當您的超級救星,不管是大人、小孩、男女老少通通適用,讓您在不便下車之時也無後顧之憂囉!!!

適用場合

● 高速公路塞車或遇颱風暴風雨,不能下車或不便下車時。
● 野外郊遊露營、等無廁所場合或大陸旅遊時(尤其適合女性)
● 殘障中風、行動不便人士或泌尿系統患者

產品特點

● 袋內的強力吸收劑能立即吸收尿液並變成膠狀物質,避免尿液外漏,且完全無臭無味!!
● 尿液注入口採人體工學設計,男女老少皆可安心使用。
● 吸尿性特強,可連續多次使用。
● 小巧包裝攜帶容易,用後立即丟棄衛生方便,無保存問題。

注意事項

※內含之強力吸收劑非食用品、請勿吞食。
※避免阻塞,請勿直接丟於馬桶內。
※使用時若有私密性顧慮,請以報紙、毛巾戶外套遮蓋。
image
image
那看來您們那邊真是在家架站的好地方。我住的這棟電梯大廈除了要繳自己使用的電費以外,還有公共用電(如電梯、地下室及走廊燈光)要負擔,一個月都是一千多塊台幣。不知道是不是都市的電費比較貴?

另外我在PChome上面有看到有在賣「節電高手-數位電源偵測器」的產品,也許可以考慮買一個來觀察看看電腦產品實際吃掉多少電了。
image
如果下載chm檔案後直接開啟該chm檔案出現無法顯示網頁的錯誤,可以依下列方法解決:

在該chm檔案上按滑鼠右鍵選擇內容
在安全性那邊會看到一排「 這個檔案來自另一個電腦,可能會封鎖以協助保護您的電腦」的文字,按下旁邊的「解除封鎖」的按鈕,然後再按「套用」。
這時再開啟該chm檔案就可以正常觀看了。

參考資料
http://social.technet.microsoft.com/Forums/zh-TW/winserverzhcht/thread/353ca773-36ba-46bf-a6dd-874da26a54a2
lionsgogo您好:
您應該是直接打download.jsp這樣子去執行吧?正確的使用方式是需要提供一個參數file來指定要下載的檔案名稱(位於WEB-INF/export目錄下),例如:download.jsp?file=test.csv
lionsgogo wrote:org.apache.jasper.JasperException: Exception in JSP: /fileupload.jsp:74

71: fileName= FilenameUtils.getName(fileName);
72: out.println("fileName saved="+fileName+"<br>");
73: File uploadedFile = new File(saveDirectory, fileName);
74: item.write(uploadedFile);
75: }
76: }
77: }

為什麼會有錯誤??

lionsgogo您好:
請您檢查一下在您網頁的根目錄下有沒有/upload這個目錄?
如果沒有的話跑出來的錯誤訊息應該會類似這樣子
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /fileupload.jsp at line 74

71: fileName= FilenameUtils.getName(fileName);
72: out.println("fileName saved="+fileName+"<br>");
73: File uploadedFile = new File(saveDirectory, fileName);
74: item.write(uploadedFile);
75: }
76: }
77: }


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:404)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause

java.io.FileNotFoundException: D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\examples\upload\2009蓮藕粉訂單.txt (系統找不到指定的路徑。)
java.io.FileOutputStream.open(Native Method)
java.io.FileOutputStream.<init>(Unknown Source)
java.io.FileOutputStream.<init>(Unknown Source)
org.apache.commons.fileupload.disk.DiskFileItem.write(DiskFileItem.java:416)
org.apache.jsp.fileupload_jsp._jspService(fileupload_jsp.java:133)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.20


請手動建立它,如果是在Linux上請設定為可寫入的權限(chmod 777 upload)。
victer0327您好:
這個問題我看不是很懂,於是我請教了我們公司資深的網頁設計師,他的回答如下:

不懂 ~~~
http://www.ilc.edu.tw/main/index.aspx 他這個
底下背景透著圖片 就只是個 background 而已啊
他所謂的字 是指 宜蘭縣教育處 營造快樂、成長 那些字?
還是底下那些文字?
如果是上面那些字 就做成圖就可以啦
如果是下面文字 就是秀在background上的文字
實在不太懂他的意思


所以要請您再確認一下您的問題是什麼或多舉幾個例子了。
如果對怎麼自己做出這種拋棄式信箱服務有興趣的話,也可以參考這篇
透過cPanel+IMAP&POP3實作10分鐘時效的電子信箱
http://fishyes.tw/2009/06/howto/php-10min-mail/
今天發現有會員用這個來註冊本站的會員帳號,可能是廣告信滿天飛的年代,大家都要避免留下電子郵件信箱給不可靠的網站。如果有需要的人就參考一下吧,網址如下:
http://10minutemail.com/10MinuteMail/

詳細使用方法請參考這篇:
http://matisblog.com/?p=586

最後,重申一次,本站目前並未寄送任何廣告信給會員。您所註冊的電子郵件信箱最多只會收到本站每週的討論區週報。由於目前使用Gmail作為發信機制,只有500位會員可以收到,如果您對本站還沒有任何信任之前,建議您不要註冊成為本站之會員,以免佔用名額。為維護其他會員的權益,站長還是秉持一樣的原則,凡是使用這種拋棄式之帳號一律立即封鎖。

參考資料:
http://jinnsblog.blogspot.com/2008/10/temporary-disposable-email.html
NetScreen的文件--概念與範例 ScreenOS 參考指南 第3卷 管理下面兩個章節中提到了一些不錯的資訊:
管理
-- 透過指令行介面進行管理
----安全 Shell
----安全副本
範例: SSHv1 使用 PKA 進行自動登入
在此範例中,請您 ( 作為根管理員) 為自動執行指令碼的遠端主機設定 SSHv1 公開
金鑰確認 (PKA)。此遠端主機存取裝置的唯一目的是每天晚上下載設定檔。由於驗
證是自動進行的,因此 SSH 用戶端登入到裝置時不需要人員操作


安全副本 (SCP) 提供了一個途徑,使遠端用戶端能使用 SSH 通訊協定與安全性裝
置交換檔案。(SSH 通訊協定為 SCP 連接提供驗證、加密和資料完整性。) 裝置作
為一個 SCP 伺服器,接受來自遠端主機上的 SCP 用戶端的連接。
SCP 要求在開始檔案傳輸之前對遠端用戶端進行驗證。SCP 驗證程序與用於驗證
SSH 用戶端的程序完全相同。可以用密碼或 PKA 金鑰來驗證 SCP 用戶端。一旦驗
證該 SCP 用戶端後,就可以向裝置傳輸或從中傳輸一個或多個檔案。SCP 用戶端
應用程式確定用於指定來源和目的地檔案名稱的準確方法;請參閱 SCP 用戶端應
用程式文件。
在裝置上預設為停用 SCP。若要啟用 SCP,還必須啟用 SSH。

下面是一個 SCP 用戶端指令的範例,該指令將組態檔案從 NetScreen 裝置 ( 管理員
名稱是 "juniper",IP 位址是 10.1.1.1)上的快閃記憶體中複製到用戶端系統的
"ns_sys_config_backup" 檔案
中:
scp juniper@10.1.1.1:ns_sys_config ns_sys_config_backup

我們可以用Linux 上的scp的指令來取得NS500的config
scp netscreen@192.168.1.254:ns_sys_config ns500_20100226.cfg

然後只要再完成讓由Linux 透過SSH連線防火牆時不需再輸入帳號密碼就可以達到自動備份的目的了。

要免驗證自動登入的方法如下:
1. 在 SSH 用戶端上,使用金鑰產生程式來產生公開和私人金鑰對。( 該金鑰對是
用於 SSHv1 的 RSA 或用於 SSHv2 的 DSA。

參考http://www.andowson.com/posts/list/191.page的方法,產生public/private dsa key pair檔案
cd ~/.ssh
ssh-keygen -d


2. 將公開金鑰從本機 SSH 目錄移到 TFTP 伺服器上的目錄,然後啟動 TFTP 程式。

將id_dsa.pub上傳到Windows主機上的TFTP伺服器,例如放到上例中的C:\tftp目錄下

3. 登入到裝置,以便可透過 CLI 對其進行設定。


4. 要將公開金鑰從 TFTP 伺服器載入到裝置,請輸入以下的其中一個 CLI 指令:
對於 SSHv1:
exec ssh tftp pka-rsa [ username name ] file-name name_str ip-addr
tftp_ip_addr
對於 SSHv2:
exec ssh tftp pka-dsa [ user-name name ] file-name name_str ip-addr
tftp_ip_addr
username 或 user-name 選項僅用於根管理員,因此只有根管理員可以將 RSA
金鑰連結到另一個管理員。當您 ( 作為根管理或讀/ 寫管理) 只輸入指令而沒
有輸入使用者名稱時,裝置將金鑰連結到您自己的管理帳號;也就是將金鑰連
結到輸入指令的管理。

exec ssh tftp pka-dsa file-name id_dsa.pub ip-addr 172.16.34.14


完成後,在Linux主機上執行
scp netscreen@192.168.1.254:ns_sys_config ns500_20100226.cfg

看是否可以成功複製組態檔。如果防火牆不允許用netscreen這個帳號進行scp,則可另外建立一個帳號,例如cfg,然後將公鑰匯入到該帳號去。
exec ssh tftp pka-dsa user-name cfg file-name id_dsa.pub ip-addr 172.16.34.14

然後scp指令稍微改一下,變成:
scp cfg@192.168.1.254:ns_sys_config ns500_20100226.cfg

接下來就很簡單了,寫支shell script來自動取得系統日期並呼叫scp指令,然後到crontab去設定該shell script自動執行的時間即可。

參考資料
http://www.juniper.net/techpubs/software/screenos/screenos5.3.0/translated/Traditional/Ce_v3_tc.pdf
最近想要測試重複執行某個動作非常多次,結果是否一致時(例如發送100封信是否每封都有收到),需要能控制跑迴圈的次數,找到了下面的方法:
for /l %%i in (1 1 100) do (echo %%i)

參考資料:
我想寫一個做50,000次的DOS batch for loop
由於公司資安規定需要定期備份防火牆的組態設定檔,如果每個月都要進到Web介面去操作一次,點來點去也是滿花時間的;另外一個作法是登入命令列界面,然後手動去下 save config from flash to tftp x.x.x.x filename 這個指令,雖然是比較快速了些,但總是感覺多一件事情在身上,到時要是別的事忙起來,還是怕會忘記。

由於懶惰是人的天性,所以總是會想如何把事情自動化,於是我就想用ant的telnet task來自動登入Firewall並執行save config指令,方法大致如下:
1.在備份用的主機上架設TFTP Server
2.下載及安裝JRE、Ant 1.7.1及telnet task所需之commons-net套件。
3.編輯一個build.xml及一個build.properties檔案
4.執行 ant 看是否可正常備份
5.寫一個批次檔將該ant指令包裝起來
6.設定自動執行該批次檔

底下再簡單說明一下上述步驟
1.安裝TFTP Server可以參考這篇http://www.andowson.com/posts/list/184.page,去下載tftpd32 service edition (installer),安裝完成後,手動建立一個C:\tftp的目錄,並把tftp的根目錄(Base Directory)設定到C:\tftp(設定完成建議重開機測試看看,以免日後作WindowsUpdate重開機之後目錄的設定跑掉,造成備份失敗)

2.將把下載來的ant zip檔解壓縮到C:\底下,設定環境變數ANT_HOME指向安裝的目錄,並在Path變數加上%ANT_HOME%\bin。然後把commons-net的jar檔放到ANT_HOME的lib目錄下。

3.可以參考底下兩個範例,將這兩個檔案存到C:\下
build.xml範例如下:
<?xml version="1.0" encoding="Big5" ?>

<project name="backup" default="ns500" basedir=".">
	<description>Network Switch Config Backup</description>

	<!-- Enable access to build.properties variables -->
	<property file="build.properties" />
	<property name="backup.root.dir" value="C:\Documents and Settings\andowson\My Documents\config" />
	<property name="ns500.backup.dir" value="${backup.root.dir}\Firewall\${ns500.ip}" />
	<property name="tftp.root" value="C:\tftp" />

	<!-- Init -->
	<target name="init" description="Create backup directory">
		<tstamp>
			<format property="TODAY" pattern="yyyyMMdd" />
		</tstamp>

		<mkdir dir="${backup.root.dir}" />
		<mkdir dir="${backup.root.dir}\Firewall" />
		<mkdir dir="${backup.root.dir}\Firewall\${ns500.ip}" />
	</target>
	
  <!-- Backup NS500 Config -->
  <target name="ns500" depends="init" description="Backup ns500 config">
		<property name="ns500.cfg" value="ns500_${TODAY}.cfg" />

		<telnet server="${ns500.ip}">
     <read timeout="5">login: </read>
     <write>${firewall.username}</write>
     <read timeout="5">password: </read>
     <write>${firewall.password}</write>
     <read timeout="5">-> </read>
     <write>save config from flash to tftp ${tftp.host} ${ns500.cfg}</write>
     <read timeout="30">TFTP Succeeded</read>  
     <write>exit</write>     
    </telnet>
    <move file="${tftp.root}\${ns500.cfg}" todir="${ns500.backup.dir}" />
  </target>

</project>


build.properties範例如下:請視您真正的情況修改對應的參數值,下列例子中我們的TFTP主機IP是172.16.34.14,防火牆NS500的IP是192.168.1.254。
tftp.host=172.16.34.14
ns500.ip=192.168.1.254
firewall.username=netscreen
firewall.password=netscreen


4.開啟一個DOS命令列視窗,然後切換到build.xml及build.properties所存放的目錄下,接著執行
ant ns500

5.將上述動作編輯成一個backup_config.bat
@echo off
cd C:\
ant ns500


6.執行附屬應用程式>系統工具>排定的工作,然後選到C:\backup_config.bat這個檔案,並設定執行的條件及頻率。

要注意的地方:
NetScreen上要先啟動Telnet存取,並將備份主機的IP加入到防火牆允許的管理IP。
目前實際測試後發現Ant 1.8.0無法正常執行,請使用Ant 1.7.1。
依據Tomcat的網站上的說法http://wiki.apache.org/tomcat/FAQ/Logging#Q6
System.out 和 System.err 都被列印到 catalina.out。
catalina.out 不會 rotate。
如果您使用了 logging 機制,就不會有任何東西被寫到標準輸出了,所以這應該不會是個問題。

可是實際上發現,雖然有設了log4j之類的 logging 機制,但寫程式的人如果還是寫成System.out.println()或是遇到exception時都來個e.printStackTrace(),這些輸出最後還是通通送到catalina.out去了。日子久了,這個檔案還是會日漸變大起來,如果沒有加以管理最後就會長大成好幾GB的龐然大物。(這時千萬不要再用vi去開它了。)

網路上找了一下,針對在Linux環境下執行Tomcat的部份,發現有個不錯的工具軟體cronolog可以協助Web Server之類的做 log 檔的 rotate,詳細的運作原理可能大家得自己去這個網站上查,我的認知大致如下:
Tomcat先把輸出寫到 console(標準輸出) 然後透過 pipe (|) 轉為 cronolog 的輸入,由cronolog針對一個事先給定的檔名的命名規則,去過濾資料,定期關閉舊檔,然後再開啟新檔。如果我們將檔名的命名規則設為catalina.out.%Y-%m-%d,就可以做到每天開一個新的catalina.out.yyyy-mm-dd的檔案了。

以下是簡單的過程說明:
1.安裝cronolog
2.修改catalina.sh
3.重新啟動Tomcat

1.安裝cronolog
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make
make install

用which cronolog可以查到安裝的路徑,預設應該是/usr/local/sbin/cronolog,這個路徑待會在修改catalina.sh時會用到。

2.修改catalina.sh
以Tomcat 6.0.24的版本為例

if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi

修改為
if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d
fi


touch "$CATALINA_OUT"

改為
#touch "$CATALINA_OUT"


org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT"  2>&1 &

修改為
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &


3.重新啟動Tomcat
service tomcat restart
可以在Tomcat的logs目錄底下找到以系統日期為結尾的catalina.out.yyyy-mm-dd的檔案,這樣子就成功了。
後續就是持續觀察看看是不是每天都有產生一個新的catalina.out.yyyy-mm-dd檔案。然後再安排定期刪除這些較舊的log檔即可。

參考資料:
http://jiessiedyh.javaeye.com/blog/418316
http://www.camelrichard.org/rotating-catalina-out-tomcat-5-5-using-cronolog
使用 Gmail 的 SMTP 發信(通過TLS port: 587)
程式碼:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="org.apache.commons.mail.DefaultAuthenticator" %>
<%@ page import="org.apache.commons.mail.Email" %>
<%@ page import="org.apache.commons.mail.EmailException" %>
<%@ page import="org.apache.commons.mail.HtmlEmail" %>
<%
    String subject="測試使用 Gmail SMTP TLS發信";
    String message = "<html><head><title>測試</title></head><body>這是一封測試信,收到請自行刪除</body></html>"; 

    Email email = new HtmlEmail(); 
	String authuser = "username@gmail.com"; 
	String authpwd = "the_password";
	email.setHostName("smtp.gmail.com");
	email.setSmtpPort(587); 
	email.setAuthenticator(new DefaultAuthenticator(authuser, authpwd));
	email.setDebug(true);
	email.setTLS(true);
	email.setSslSmtpPort("587");
	email.setCharset("UTF-8");
	email.setSubject(subject);
	try {
	    email.setFrom("username@gmail.com", "網站客服中心");
	    email.setMsg(message); 
	    email.addTo("somebody@30elite.com", "親愛的會員");
	    email.send();
	    out.println("郵件發送成功"); 
	} catch (EmailException e) {
	    e.printStackTrace();
	}	
%>
 
Forum Index » Profile for andowson » Messages posted by andowson
Go to: