星期六, 2月 10, 2007

TIC100冬令營 我來囉!

我郭泰良參加TiC100 創新事業競賽,培養創業技能與創業家精神,秉持:
虛心學習 用心參與
主動積極 合作創新
科技運用 人文加值
感恩業師 回饋社會

明天就要去劍潭活動中心參加兩天一夜的冬令營活動,我們新版的名片也出來了!但是有一點很奇怪!明明應該是咖啡偏菊色的名片,在Picasa裡面來看就是藍色,PO上來也是一樣, 真是怪異。



呵呵,我想會學到很多東西吧!感覺很像大會師。聽說有七十幾隊參加比賽,不知道會有幾隊留到最後的決賽!

相信我們可以的!愛戀可立可在我的手下一定會讓他活起來的。

星期五, 2月 09, 2007

大吃一驚、受寵若驚

今天早上做事的時候想說閒閒上個Blog看看,想不到!
線上人數竟然有16人!
不過可惜的是我都不知道是誰,當然大部分知道,只是如果有16人在線上,MyBlogLog的大頭好像才8個上下,意思就是來看我Blog的人竟然有一半的人沒有MyBlogLog的帳號!所以為了想要多了解有來我這的朋友!

我也不免俗的來介紹一下,不過網路上大家都已經廣為介紹了,包括ROBIN工頭希望‧希望艾瑪等等的部落客都有詳細的介紹了!

所以我就把其中工頭的讓我知道您的來訪、讓我分享我的流量(簡短篇)借來用用。

1. 如果您是Liang's Blog的讀者,請您先到 MyBlogLog 註冊一個帳號。
2. 註冊完畢後,請點選 LiangKuo的個人檔案連結
3. 點選 “Add As Contact” 將我加為您的聯絡人。
4. 再選擇 Liang's Blog,點選 “Join Community” 加入讀者社群。
5. 完成!(如果這樣不夠清楚,您可以看 希望‧希望的圖解說明


再來,有另一個地圖的大頭顯示!雖然也很酷,但是換了電腦你的頭就不見了!或是要再加一次。(通常我都只用家裡電腦加入)

這個地圖就比較少人在用,但是他還是有他的優點,可以放大縮小感覺很棒!還會自動循環播放。
使用方法只需要點你左邊的臉,還未加入時會是一個黑色的人頭並且下面有寫Add me。
然後出現這樣的一個列表只要寫你的名字、Mail,接著再選擇一張你喜歡的圖片上傳。就完成了!

謝謝大家的來訪!也歡迎時常給我一些意見和鼓勵!
Posted by Picasa

Web2.0的精隨影片

這一個影片是我從PTT看到人家分享連結到Mr./Ms. Days看到的,整部影片由堪薩斯州裡的Digital Ethnography團體所製作。


作的很精緻並且把整個Web2.0的精隨都抓到了,影片中用了很多英文的串聯與結合的藝術!(我覺得啦!)

不過不用擔心英文看不懂!因為我這小小英癡都可以感受到他傳達的意念呢!你ㄧ定可以的!

其中也介紹了很多現在知名的Web2.0應用。在MR一文中有提到是從Googlified連結到的!這個站我也稍微看了一下,比照內文與他站名,應該是想要讓大家知道google對於生活所帶來的影響(google life 這樣的意思吧!)而這個站的每週影片的確也都非常不錯,像這篇世界在你手中就感覺很讚,影片很短但是意念長遠!

另外這個站的風格跟版面還真的挺像Mr.6不知道他們之間有沒有關係耶。XD

Backkom 動畫大集合!搞笑登場。

Backkom 動畫第六彈 – Running machine
這一部超爆笑的,我笑了快兩分鐘。



Backkom 動畫第七彈 – Ice Climbing
這部也超棒的,我ㄧ個人在實驗室裡面狂笑,人啊!就是不可以得意忘形阿。



Backkom 動畫第八彈 – Taking Picture#links#links



ㄧ連三部搞笑的的動畫,你是否已經笑到不行了呢?這些動畫都蠻有趣,不愧是要選總統的人post出來的!

無限台南這位大哥打算要選blog界的總統!大家多幫他加油打氣!雖然我不知道他的政見是什麼,呵呵。不過~動畫好笑就是了!

光纖之路

自從上次看了中華電信推光纖取代ADSL上網電視廣告也開始推出來了,這之間有個小插曲就是我原先去中華電信服務處問看看我家能不能裝光纖,想不到那邊的小姐態度非常硬的說,我家距離機房640公尺且不是大樓,所以不在規定的600公尺以內就不能裝!

問了一下為什麼我家就在服務處(這個服務處有機房)旁邊,也不能嗎?一點都不通融。

但是,昨天我打電話(0800080858)到光纖那裡問,那邊的人很熱心的跟我說差那麼一點點應該可以申裝,然後下午馬上就派人來看我家樓下的線路了!我晚上再打電話詢問那邊的人,得到的答案是....我家只有距離機房560公尺,硍!先前那個服務小姐在搞啥屁!真是機車。

然後,我當然很高興的說要申裝啊!今天馬上就有人打電話來要拿資料可以裝了,真是爽快!10M/2M只要990的樣子,真是物超所值阿。

我家原先用大無畏的CABLE網路,不但有人會在同網域亂攻擊,又會被教育部封鎖IP,又常常斷線!實在不怎麼推薦,不過真的是便宜就是了,一年4800....

對了,這個故事告訴我們,就算家裡離服務處很近也不要自以為聰明的走去問,要打免付費客服專線比較好!
那設服務處幹嘛呢?差別就在服務處裡面都是妹,客服是老阿伯。

OK!大家一起讓台灣走向光纖世代吧!~GO!

星期四, 2月 08, 2007

Applet利用數位簽章實現網頁中存取硬體資源

近來搞Java Applet搞的一個頭兩個大,語音的部分目前是用Application的方法可以Run但是放到網頁裡面的時候一直會因為access deny讓我整個很灰心,找到方法知道需要有數位簽章,Applet才可以在網頁中使用到用戶端的硬體資源,例如存取檔案或是像我們需要用到麥克風。
那麼找到下面的方法來註冊簽章:
1.create a new key in a new keystore
keytool -genkey -keystore myKeystore -alias myself
使用keytool 來得到一個叫做myKeystore 的簽章檔案

2.create a self-signed test certificate
keytool -selfcert -alias myself -keystore myKeystore
作設定的動作

3.sign the JAR file with the test certificate
jarsigner -keystore myKeystore test.jar myself
使用jarsigner 來把數位簽章註冊到你的檔案中,此範例為test.jar.

這三個步驟看似簡單,但是如果稍不注意還是很多人會問問題!
問什麼呢?
不能用這兩個命令!
這點需要檢查你的path有沒有設定到你的JDK下面BIN的路徑

再來就是我自己的問題!把Applet放進Jar檔裡面註冊好但是發現不能使用在網頁中。沒錯!Jar當然不是直接擺在網頁裡,而是要透過Object來置放。
有下面三種方法可以放Applet到網頁中。
Using the applet Tag
You use the applet tag to deploy applets to a multi-browser environment.
Using the object Tag
You use the object tag to deploy applets that are to be used only with Internet Explorer.
Using the embed Tag
You use the embed tag to deploy applets that are to be used only with the Mozilla family of browsers.

但是裡面也只有介紹到如何把Applet放入網頁,這個也沒有解決到我的問題!
所以後來泰瑜學長提供了一個範例,讓我可以參考。裡面介紹的非常清楚。
我就節錄重要的地方來讓大家參考!當然網址為了保護當事人就取消掉了。

OBJECT classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" codebase = "http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab" WIDTH = "100%" HEIGHT = "700"
table border="3" tr td
PARAM NAME = CODE VALUE = "core.Graph.class"
PARAM NAME = CODEBASE VALUE =檔案路徑
PARAM NAME = ARCHIVE VALUE = "Graph.jar,mysql-connector-java-5.0.4-bin.jar"
(因為文章的關係不能有大小於符號XD,還一度修改了一下,所以我把符號都拿掉了!)

呵呵,當然紅色的地方是重點囉!但是我也覺得奇怪,我之前好巷有試過類似方法弄也是不太行,可能沒有用正規的Object的方式吧!

今天很高興在PTT有跟日落又通了信,他應該是個好人(遞~),加入他的連結大家有空可以去他家逛逛,照片蠻精緻的!我會寫這篇也是因為他有提到他想寫技術方面BLOG!我以前也想過多寫的好東西出來,但是因為平常一直摸都煩了,回到家只想要弄一些美女圖阿,或是好笑的東西。(我看我網站大部分搜尋進來的人都是因為這兩者XD)
或許我該弄個置頂文,把這些好康的都讓大家輕鬆找。

星期三, 2月 07, 2007

Google大神直接挑戰微軟


呵呵,文件也來Beta,沒錯,google的東西很多Beta但是也都很惹人喜歡!真的很厲害。

Google Spreadsheets現在已經正式中文化為為Google文件與試算表,如同office的Word跟Excel,只不過它是可以直接在線上執行,不用安裝任何軟體,因為有即時儲存的功能,也不用擔心資料會遺失。

之前也寫過一篇Google 試算表之協同合作應用,我覺得它比office還方便,雖然Google 線上Office系列一直缺少一個類以PowerPoint的簡報功能,不過據說Google不久的將來即將推出,那麼Google的線上Office就更加強大,MicroSoft的Office可能就直接被取代了。


我馬上試用了一下,還要用自己的google mail再登記一次,並且另外給一個密碼XD,不知道他這樣分有什麼打算?要開小公司?我還是喜歡一帳號用到底。(我想是安全部分吧!畢竟是文件,應該就是重要。)

先是要登記,進入介紹畫面就可以直接使用了,畫面中小視窗就是線上WORD(當然不是這個名字,呵呵,微軟把名氣打起來還是被Google賺到)的部分,然後設定同文件的編輯人,不過功能似乎不是很多,或許會慢慢增加吧。










試算表的部分應該就很足夠了,相信google的股票只會越來越多了,大家再弄adsense的同時別忘了存錢買他的股票啊!

Blogger很棒的BSP!大推!

忘了多久之前,我的blogger開始要我在po文的時候要有認證碼,就像給意見的時候會有一個圖要照著打的那樣!我以為是每個人都有,想不到是因為我post的速度太快了而導致被認為是spam blog!實在是太機車!我在上一篇出現了問題才發現可以回報,那時候回報,剛剛就收到blogger的回信說已經OK了!
內容:
Hello,Your blog has been reviewed, verified, and cleared for regular use so thatit will no longer appear as potential spam. If you sign out of Blogger andsign back in again, you should be able to post as normal. Thanks for yourpatience, and we apologize for any inconvenience this has caused.
Sincerely,The Blogger Team

感覺blogger服務真不錯!請大家多多愛用!^^~會不會是經過Beta所以很棒啊!呵呵。

星期二, 2月 06, 2007

人生Beta!?

以往在商品上加上Beta通常有著負面的效果,表示使用者在用此商品時的問題一概都是應該的,當然也順便幫他們DEBUG。

然而現在加上這個字眼的東西反而是炙手可熱,人人搶先試用!(或許以前也是如此,但是以我的觀念,以前Beta的東西我一律不用,不穩定又要重新安裝舊版。)但是近來有Beta幾乎就是保證他將來會大紅大紫,當然我想這是因為有品牌的公司才會用這招來吸引人氣吧!(自持無恐?是這樣說的嗎?我也不確定耶,不過我不會說他是成語,因為我不是阿肚!XD)



唉...其實剛剛我打了一堆內文,但是因為直接連結的那個編輯畫面的按鈕又不work,害我打的東西全部泡湯!


電腦界有一個有趣的現象,那就是Beta。

Beta現今變成正常現象而且是一個最流行的現象,如果沒有Beta字樣好像就跟不上時代潮流一樣。

Beta的定義應該是指測試版吧!!!應該是讓小眾的人去測試才對,應該是低調、抬面下的。但最近的潮流是Beta推出時一定要搶先推出而且要大大宣傳,不知是不是因為前一陣子
Gmail (Beta) 推出,需要邀請函才能加入,反應熱鬧,才推波助瀾的一種趨勢吧!!!

知名的MICORSOFT
VISITA、GOOGLE、YAHOO都有Beta軟體或服務掛上Beta字樣推出,還有很多公司都推出BETA軟體甚至有些個人的BLOG的TITLE也用Beta當做名稱。

測試版的軟體原應該是要給專門的人員來使用,測試軟體的BUG,好讓公司能把軟體改善,推出良好的正式版。

一些網路上的服務如信箱、部落格等等,採用Beta字樣凸顯出他們推出服務的速度,當然另一層意義就是他們無擔保或不負擔,軟體或服務所帶來的問題。

人生道路會像是軟體的推出流程一樣Beta嗎?

打從出生開始我們就不斷在嘗試錯誤中摸索真理,隨時會有犯錯的可能,我們能像Beta的另一層意義『無擔保或不負擔』,在自己的道路勇往直前?


其實我覺得人生永遠都是Beta,人們不斷的追尋著更好的未來,不是把錯誤修正到人人喜歡,不然就是因為此BUG而必須離開(FIRE?離職?都有吧!)。所以我都得不斷的、也必須不停的修正自己的錯誤。這就是人參啊!XD


這邊也放個Beta版的名片給大家看看!我只是個學生名片從哪來呢?沒錯!就是TIC100!有著我們堅強的團隊,我相信我們絕對可以在七月站上最後的舞台,散發自己的光彩!




我想不會有人暗戀我偷抄我的手機吧!XD


呵呵,要打來抬槓也行啊!不過打來請先大喊Show me the money!為什麼呢?請看我個人簡介吧!








Link form:OldMan's Blog: 人生能像電腦一樣Beta嗎?

星期一, 2月 05, 2007

令人驚艷的民住民美女

這是錯誤的印象!徐若宣這麼漂亮,也是原住民!

且我認識的原住民我都覺得很親切,還算不錯相處。

再來是1到5號的美女介紹。

原住民的歌聲是大家有耳共聽的!不過這五位當中只有二號的歌聲最好!(其他,呵呵....)

他唱的是Hero第一句出來就很有架勢,讓我覺得他非常可能是假冒的!

三四五.....普普通通也算漂亮啦!

最漂亮的應該是鍾欣怡吧,應該沒認錯XD~。覺得他很可愛。

當時剛剛好要出門,沒辦法知道哪個不是原住民,不過我想是二號吧,呵呵。猜的啦!

公益教學網

青輔會的家教網站需要用到聊天室。我之前努力的找了一些applet的聊天室和線上語音現在面臨到了需要拿到參數才可以使用。

剛好發現這樣一個Demo的東西,就秀給大家看。(來源很不好意思,我找到放太久了,忘了是哪來的了,大陸的!)

另外一個問題是Applet存取用戶端電腦資源必須要做設定,但又不希望使用者動手。所以現在必須找一個方法讓Applet可以合法且安全的存取用戶端電腦!方法大概明瞭了,下次找到完整解法在Post,或是轉貼吧。

頁面上一個Applet呼叫一個伺服器Servlet,而從Servlet產生一個Java對象再傳給另外一個Applet,怎么樣讓Servlet實時地把對象傳給Applet這是一個問題,有一個方案是採用JMS(JavaMessageService),在我以後的文章中會有敘述的.這裡我給大家展示一個簡單的實現,那就是讓Applet主動訪問Servlet,讓Servlet返回Java對象.下面給出全部程式碼和配置,其中Applet部分涵蓋了Javascript與Applet的互相調用,對於該部分不感興趣的朋友可以省略.


第一步,編寫需要傳遞的對象類
/**
* Class Person just a demo for translate this class to client
*/

package exapplet;

import java.io.*;


public class Person
implements Serializable {//必須實現Serializable界面才能序列化

private String m_Name;

private int m_Age;


public Person() {

this("",0);

}

public Person(String name,int age) {

this.m_Name = name;

this.m_Age = age;

}

public String getName() {

return m_Name;

}

public int getAge() {

return m_Age;

}


//Serializable界面中聲明的方法

private void writeObject(java.io.ObjectOutputStream out)

throws IOException {

out.defaultWriteObject();

}

//Serializable界面中聲明的方法

private void readObject(java.io.ObjectInputStream in)

throws IOException, ClassNotFoundException {

in.defaultReadObject();

}



public static void
main(String[] args) {

try {

Person p = new Person("Liaoyuan",25);

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new
File("test.obj")));

oos.writeObject(p);

oos.close();

ObjectInputStream ois = new ObjectInputStream (new FileInputStream(new
File("test.obj")));

Person q = (Person)ois.readObject();

ois.close();

System.out.println(q.getName());

System.out.println(q.getAge());

} catch(Exception exp) {

exp.printStackTrace();

}

}

}


第二步,實現Servlet

package exapplet;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;


public class MyServlet
extends HttpServlet

{

public void doGet(HttpServletRequest req,HttpServletResponse res)

throws ServletException,IOException

{

String fPath = "H:\\XSchool\\WorkingRoom\\exapplet\\src\\java.obj";

String act = req.getParameter("Action");

if ( act.equals("UpdateObject") ) {

//創建更新JavaObject

Person p = new Person("Liaoyuan",26);

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new
File(fPath)));

oos.writeObject(p);

oos.close();

DataOutputStream dos = new DataOutputStream(res.getOutputStream());

dos.writeBytes("Server Java Object Updated OK!");

dos.close();

} else if ( act.equals("GetObject") ) {

//傳回對象給Applet

res.setContentType("application/octet-stream");

Person p;

ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File(fPath)));


try {

p = (Person)ois.readObject();

} catch (ClassNotFoundException e) {

p = new Person();

}

ois.close();



ObjectOutputStream oos = new
ObjectOutputStream(res.getOutputStream());

oos.writeObject(p);

oos.close();

}

}

public String getServletInfo()

{

return "A simple Servlet!";

}

}


第三步,實現呼叫Servlet更新對象的Applet


package exapplet;

import java.awt.*;

import java.applet.*;

import java.io.*;

import java.net.*;

import netscape.javascript.*;


public class MyApplet
extends java.applet.Applet

{

public void init()

{

}

public void paint(Graphics g)

{}

//This method will be call in html

public void invoke() {

try {

URL url = new URL("http://rookie:8080/workingroom/exapplet/PostToApplet?Action=UpdateObject");


URLConnection urlcon = url.openConnection();

urlcon.connect();


DataInputStream dis=new
DataInputStream(urlcon.getInputStream());

String txt = dis.readLine();

dis.close();



String[] info = new
String[]{txt};

JSObject.getWindow(this).call("alert",info);

} catch (Exception e) {

}

}

}


第四步,實現提取對象的Applet

package exapplet;

import java.awt.*;

import java.applet.*;

import java.io.*;

import java.net.*;

import netscape.javascript.*;

public class MyAppletB extends java.applet.Applet

{

public void init()

{

}

public void paint(Graphics g)

{}

//This method will be call
in html

public void invoke() {

try {

URL url = new URL("http://rookie:8080/workingroom/exapplet/PostToApplet?Action=GetObject");


URLConnection urlcon = url.openConnection();

urlcon.connect();

ObjectInputStream ois=new ObjectInputStream(urlcon.getInputStream());

Person p = (Person)ois.readObject();

ois.close();

String[] info = new String[]{"Person Info\n\n-Name: "+p.getName()+"\n-Age : "+p.getAge()};


JSObject.getWindow(this).call("alert",info);

} catch (Exception e) {

}

}

}


第五步,配製WebServer(我用的是Tomcat4.0)


拷貝編譯后的MyServlet.class到相應目錄下,

編輯對應的web.xml文件,確保下面的內容正確

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet>

<servlet-name>PostToApplet</servlet-name>

<servlet-class>exapplet.MyServlet</servlet-class>

</servlet>



<servlet-mapping>

<servlet-name>

PostToApplet

</servlet-name>

<url-pattern>

/exapplet/PostToApplet

</url-pattern>

</servlet-mapping>

</web-app>



第六步,編寫html文件

呼叫更新的html

<HTML>

<HEAD>

<TITLE> New Document For Using Applet Call Servlet Update Java Object</TITLE>


</HEAD>



<BODY>

Hello This is a Test!<br>

<APPLET id="obj_applet" align=center code="exapplet.MyApplet" codeBase="."
width=400 height=300 name="obj_applet" archive="BV7RFD3P.ZIP"></APPLET>

<Input type=button value="CallAppletMethod" onclick="callApplet()">

<Script language=javascript>

function callApplet()

{

obj_applet.invoke();

}

</Script>

</BODY>

</HTML>



提取對象的html

<HTML>

<HEAD>

<TITLE> New Document For Using Applet </TITLE>

</HEAD>



<BODY>

Hello This is a Test!<br>

<APPLET id="obj_applet" align=center code="exapplet.MyAppletB" codeBase="."
width=400 height=300 name="obj_applet" archive="BV7RFD3P.ZIP"></APPLET>

<Input type=button value="CallAppletMethod" onclick="callApplet()">

<Script language=javascript>

function callApplet()

{

obj_applet.invoke();

}

</Script>

</BODY>

</HTML>

</pre>

星期日, 2月 04, 2007

宜蘭聖誕之旅 國家傳統藝術中心照

國家傳統藝術中心的照片,我上傳了好多次都失敗。

或許我不該貪圖方便直接傳到Blog,這樣使得我的blog東西好像太多,每次上傳都會有一點點問題。

不過又想分享給大家!

這是我家猴子到那邊拍照片,裝扮成格格。花了我兩個小朋友!

她阿,一天到晚喜歡環珠格格,我笑她這張根本不像格格,而是像容嬤嬤。呵呵,有看過的都知道XD

不過我覺得她被老板化妝化的太濃了且口紅紅的很噁心。我還是不怎喜歡大紅的唇色,很像阿罵。