星期五, 4月 24, 2009
昨日飲食
早上: 炒麵 + 中杯奶茶 @ 牛角坡 ($60) + 宵夜: 雞排 @ 脆皮雞排 ($40), 烏龍綠 @ 清新($25) 。 合計: $125
---
忘了貼...Orz
written by
yen3
in
1:40 下午
0
comments
tag: life
星期三, 4月 22, 2009
今日飲食
中午: 豬肉炒麵 + 每日蔬果 @ 醫騷有味, 7-11 ($95) + 晚餐: 滷味 @ 健康紅燒滷味 ($111) 金桔甜橙 ($45) 。 合計: $251
---
吃真貴...Orz
written by
yen3
in
10:01 下午
4
comments
tag: life
星期二, 4月 21, 2009
今日飲食
早上: 炒麵 + 中杯奶茶 @ 牛角坡 ($60) + 晚餐: 豬排便當 @ 八珍鳳姐 ($80) 。 合計: $140
---
吃的蠻少的。
written by
yen3
in
11:11 下午
2
comments
tag: life
簡單的 Boost::asio 範例
Boost::asio 是在 C++ Boost Libaray 中支援 Socket Programming 的 library,但是其實它的文件我有看沒有懂,其實底層是採用 Unix Socket 做為實作,整個實作算是蠻詳細的,但是到目前為止不太會(其實我也沒有想要用很多功能啊...Orz),所以寫了一個 Example Code
先談編譯好了,example code 會使用到 Boost::array, Boost::system ,前者是只有 header only,還算好解決,後者就需要 linked library,如果想要編譯的話,編譯指令可能會長成這樣子
也就是說,你得想辦法 link to Boost::system (我是在 Mac OSX 上試的,如果是在 linux 底下,可以試試 libtool )使用上的話比較簡單,直接這樣子用即可g++ -o httpget asio_example.cpp -L /usr/local/lib/libboost_system-xgcc40-mt.dylib
./httpget www.google.com.tw理論上會截到整個 html code這個 code 其實不長,然後這個程式碼只是範例,真的要處理的字串很大時,就不建議了,但是小型工作要勝任應該是沒有太大問題 XD,裡面最主要的是 class BoostTCPConnect
沒了,就這麼簡單,在 main() 裡面,則是嘗試對伺服器送出 http request,之後收回來,連錯誤都沒有處理,不過我想這樣子應該夠哩 XDclass BoostTCPConnect{
public:
BoostTCPConnect(char* address, char* service); // 分別填入 address, service(port)
void writeString(const std::string& out_message); // 送資料
void readString(std::string& in_message); // 讀資料
};
其實有空應該蠻想多嘗試的,只是我真的覺得 Boost::asio 的文件不是人看的...Turioal 打開竟然是範例...其實我還蠻想知道,這種文件看不懂是我的問題,還是文件本身的問題 XD?
---
只好慢慢的猜了XD
written by
yen3
in
1:52 下午
2
comments
tag: life, programming
星期一, 4月 20, 2009
今日飲食
聽說 Josh Ko 寫了 32 天,按照串聯慣例,我寫完 32 天後換人寫 XD
中午: 勁辣雞腿堡 @ 麥當勞 with efang ($72) + 晚餐: 自助餐 @ 學校餐廳 ($58) + 宵夜: 珍珠奶茶 @ 五十嵐($45)。 合計: $175
---
難得喝五十嵐說 XD
written by
yen3
in
9:48 下午
0
comments
tag: life
天生麗質
yen3: 突然發現,養出一個像樣的 C++ Progrmmer 會不會很難呢...
efang: 難吧
yen3: Josh Ko 那種不就更難 XD
efang: Josh Ko 是天生麗質xd
---
原來可以這樣子用 XD
written by
yen3
in
3:28 下午
2
comments
課程與十年
對於這塊領域,我通常以十年為一個分界點,昨天與一個學弟相談甚歡。
其中我提到,大學課程如果對於現在不適合的話,我通常會分成兩個狀況,第一,教授還是活在十年前的教材,第二,十年前的教材會了,才有可能會這一個十年 XD 第一的話,原因並不能全然怪教授,或許他教的根本就不是他的專長,第二個原因通常是較為常見的原因,不過在此對於打混的老師,我就不予置評了。
---
有感
written by
yen3
in
11:38 上午
0
comments
tag: life
星期日, 4月 19, 2009
星期六, 4月 18, 2009
漫談 heap tree
身為一個懶人如我,heap tree 對我而言是一個非常好用的 data structure,其實這篇講的不是很難,只是要講我很懶 XD
我還蠻記得我第一次學習 C++ STL 的時候,我第一次體會到,何謂需求? 如果可以分析資料的基本特性,就可以找到比較弱的方法,而不用每次都用很強的方法。舉個例子說,從一個 ordered list 中取出 max element ,早期的我可能笨笨的排序完就直接上了 (std::sort() 很方便啊 XD),但是如果每次都只是從序列中取出最大或最小元素,可能候用 std::make_heap() 搭配 std::pop_heap() 即可,而且速度比前者快很多,其實大部分我們只是想取某個特性的元素,也不用每次都拿排序來做。如果每次都僅插入元素來形成 ordered list 的話,當然也可以使用 std::list
我記得我在很久以前與人合作寫程式的時候,有人一次讀了數mb進來存在 std::string 中,然後使用 std::string::insert ,這人就問我為什麼跑起來無敵慢,我說原因其實蠻簡單的,因為這個 member function 的時間是 O(n),後來改成分段讀取後處理,速度快了好多啊XD。
題外話: 我沒有用過 Boost::asio 和 Boost::thread ,有人用過的可以告訴我穩定否 XD?
---
寫程式時,盡量使用最弱假設,會有驚喜的。
2009/04/18 5:32 pm 大鳥 在 comments 中有提到更好的方法,不過我還沒試,所以有看的人要記得看回覆喔XD
written by
yen3
in
11:12 上午
4
comments
tag: DA and Algorithm, life, programming
星期五, 4月 17, 2009
星期三, 4月 15, 2009
講
覺得今天講 Java Technicalities 說的不是很好,有點說太快了,也說太淺了,一方面是簡報只有準備這樣子,一方面是時間太短,最大的問題是自己掌握能力太差了...Orz
---
再改進
written by
yen3
in
10:08 下午
0
comments
tag: life
Java I/O
利用現在難得空閒(原本要講 Java Technicalities 因故延期 XD)來寫一下這篇前幾天想寫的東西好了
Java I/O 和 C++ I/O 都是採取 OO 做為設計準則,所以其實 Java I/O 並不難懂,難懂的是,為什麼會有這麼多名詞 ... Orz,其實 Java I/O 大至上可以分為
- InputStream/ OutputStream - 一次讀取以 1 byte 為單位
- Reader/ Writer - 一次讀取以1 char 為單位
由於 Java String 是以 UTF-8 為 default encoding ,所以如果使用 Reader/ Writer ,1 char = ?? bytes ,其實談到 I/O 與 string 躲不掉的就是編碼問題,可是這我也不懂,我們再來大概分類一下XD
- InputStream/ OutputStream
- StringBufferInputStream/ StringBufferOutpuStream - 如前文所提,String 並不一定是 1 char = 1 byte,所以此 class 已經不被建議使用
- ByteArrayInputStream/ ByteArrayOutputStream - 如果你很肯定你的 String 的單位是 1 byte,可以使用這個 class + String.getBytes() 來使用
- FileInputStream/ FileOutputStream - 檔案用的 XD
- Socket.getInputStream()/ Socket.getOutputStream() - 很明顯,這是 Socket Programming 用的XD
- Process.getInputStream()/ Process.getOutputstream() - 這是 Process Control 用的 XD 需用 ProcessBuilder 來建立 Process
- Reader/ Writer
- StringReader/ StringWriter - 官方建議用來讀取 String 的 class
- FileReader/ FileWriter - for file
- CharArrayReader/ CharArrayWriter - 我不想說了XD
其實還有很多沒提到的,但是我們可以把上述的的class再分別接到(做為以下 contructor argument)...
- InputStream/ OutputStream
- BufferedInputStream/ BufferedOutputStream - 加上 buffer
- DataInputStream/ DataOutputStream - 支援格式化輸入輸出
- Reader/ Writer
- BufferedReader/ BufferedWriter - 同樣支援 readLine()/ writeLine()
- 格式化輸入輸出我就不知道了,不過有想到Scanner 可以格式化輸入
看到這邊其實蠻亂的,不過這就是Java...Orz 其實只要記得有兩套方法就可以了,偏偏又跑出一個兩者的單向橋樑...
- InputStreamReader/ OutputStreamWriter - 讓 InputStream/ OutputStream 可以橋接到Reader/ Writer 去,反之不行
其實原因還蠻簡單的,今天我收到的 InputStream/ OutputStream 裡面的字元不一定是以 1 byte 為單位啊(其實知道 encoding 的話,也不難辦),例如說我從 Socket 收到的訊息採用 UTF-8 的話,我們就可以寫出這種程式碼 XD
Socket connect = new Socket("balabala");
BufferedReader br = new BufferedReader(new InputStreamReader(connect.getInputStream()));那麼其他沒有提到的有...
- RandomAccessFile
- ObjectInputStram/ ObjectOutputStream
- java.nio
以後有空再說吧(以後真的會有空嗎... XD)
---
這篇倒是寫蠻快的 XD
written by
yen3
in
1:20 下午
0
comments
tag: learning, life, programming, reading
星期二, 4月 14, 2009
星期一, 4月 13, 2009
錯誤
答答的鍵盤聲是美麗的錯誤 我只是個 programmer 不是 bugger producer ...Orz
---
又要 debug 一陣子了...Orz
written by
yen3
in
9:15 上午
4
comments
星期五, 4月 10, 2009
搬家
第一次住外面, 其實睡不太著。
不過其實習慣了, 或許會覺得這邊很好, 雖然是在二樓, 常聽的到車子的聲音, 但是我意外的蠻習慣車水馬龍聲。搬家也還算順利, 有 fire7617 和 gb014388 幫忙, 真的省事不少(不過最重的書還是得自己搬 XD), 住的地方, 生活機能還算便利, 附近有學校, 如果願意, 可以聽著學校鐘聲醒來, 如果記憶力很好的話, 可以數鐘聲知道現在幾點 XD
近期計畫有三件事, 第一件事, 繼續講 Java Technicalities , 不過大概是針對不同的學弟妹說了, 所以簡報內容得調整才行, 第二件事, 開始寫比賽文件, 是的, 我又繼續比賽了, 不過這次比賽只有寫文件和展示, 兩件事皆非我所長, 還好同組組員很厲害 XDXD, 第三件事, 我想稍微了解 Google Cloud Computing 在做什麼, 希望能讀懂相關 paper, 當然, Real World Haskell 和 Introdution to Functional Programming using Haskell 不在計畫內就代表, 每天都要抽一點時間看就是了。
---
還真是不得閒的日子。
written by
yen3
in
8:07 上午
5
comments
tag: game, life, programming
星期三, 4月 08, 2009
Java Technicalities
其實我跟 Java 不熟,今天卻要對學弟妹做 Java Technicalities 的介紹,好死不死我又用全英文做簡報,硬著頭皮把簡報釋出,我想我的英文應該蠻差的,歡迎盡量指正,然後我會盡量改(泣)
這一次一樣,XeLaTeX code不釋出啦,要的人可以私底下來信。
---
就說了不要獻醜了(拖走~)
written by
yen3
in
10:15 上午
3
comments
tag: latex, learning, life, programming
星期六, 4月 04, 2009
返家
今天搭乘火車站著返家,明天要掃墓,是一個不很愉快的搭車經驗,人擠的跟沙丁魚罐頭沒什麼兩樣XD 也看盡了人生百態。
---
還是不要廢話好了XD
written by
yen3
in
12:23 上午
2
comments
tag: life
星期四, 4月 02, 2009
試試
最近剛好在寫 A* Algorithm , vim 有把純文字轉成 html (:TOhtml)的功能,來試試
1 Add START to OPEN list
2 while OPEN not empty
3 get node n from OPEN that has the lowest f(n)
4 if n is GOAL then return path
5 move n to CLOSED
6 for each n’ = CanMove(n , direction)
7 g(n’) = g(n) + cost(n,n’)
8 calculate f(n’)=g(n’)+h(n’)
9 if n’ in OPEN list and new n’ is not better , continue
10 if n’ in CLOSED list and new n’ is not better , continue
11 remove any n’ from OPEN and CLOSED
12 add n as n’s parent
13 add n’ to OPEN ….. coming up in OPEN
14 end for
15 end while
16 if we get here , then there is No Solution
雖然轉出來的code很醜,如果效果不錯,以後就會用它了... 畢竟我不會寫CSS XD
---
寫完再好好解釋這個 Algorithm :)
written by
yen3
in
9:59 上午
0
comments
星期一, 3月 30, 2009
不順
這,雖然我也是很不順,不過我倒是不以為忤 XD 因為不順,所以我們要吃壽喜燒吃到飽(大誤) XD
最近自己身邊的朋友或多或少遭遇到不順,原因也不盡相同,但是我的方法一向只有多陪陪(所以這或許是我常要吃飯的原因(大誤)),不過我得說,不管是怎麼樣的人,都有不一樣,且自己認為很嚴重的煩惱,我自己沒有煩惱的原因是,都習慣了,哈哈。或許更大的原因是,我很習慣挫敗,因為我的人生很少成功過(誤) XD 可能我自己身處的位置,我看的到,身為一個教授的煩惱,身為一個學生的難為,身為一個情侶的不適,身為一個... 太多了,但是不論無何
我們一定要相信自己,一定會雨過天青,用笑容迎接溫暖的陽光
但是我是雨男,所以可能雨過天青的時候,還有一邊太陽一邊下雨...Orz 不知道有多少,我對於我的生活感到無助時,都是有一堆朋友幫助著我,所以我也會這樣子幫助回去,重點是
不要忘記自己的初衷
我想這就夠了。
---
至於為什麼我是雨男,就別問了 XD
written by
yen3
in
9:52 上午
0
comments

