2017年10月15日 星期日

[讀書心得]鳳凰專案: The Phoenix Project


鳳凰專案 是一本闡述開發運維(DevOps)的書,不像一般技術書籍採用教條式的寫法,相反的,採用類似小說的方式透過一個故事來說明企業中開發部門與維運部門間的衝突與如何化解,很像是直接在看案例,和之前任職的T社更是有著驚人的相似,讀來有滿滿的既視感,如果你覺得生硬枯燥的技術書讓你難以下嚥,這本書一定會讓你耳目一新。
對我來說比較開腦洞的是書中主張所謂三步工作法:
1. 確認價值流
2. 建立價值流反饋
3. 塑造勇於嘗試失敗的公司文化
 和四個IT工作類型:
1. 業務專案
2. IT內部專案
3. 變更
4. 計畫外的工作(也就是救火) 

把IT作業類比成工廠作業,如果你站在比較高的角度來看,就會發現兩者其實非常的類似,換句話說,可以使用過去製造業工廠累積的經驗來解決IT的問題,所謂太陽底下沒有新鮮事。過去我總以為寫程式是比工廠作業員要高端的工作,IT工作和工廠流水線沒有一毛錢關係,想想我以前真是好傻好天真,在老闆眼中我跟工廠作業員其實差別不大XDD。

[+/-] 深入閱讀

2010年6月1日 星期二

[筆記]如何用java呼叫oracle store procedure並接收 oracle object的回傳參數

因應和介接系統的API stored procedure修改,將原本的回傳參數型態由oracle cursor
改成oracleobject,機歪老闆又把這項雜事丟給我,要我測試在我們的系統上是否可行。

雖然網路上的參考文獻很多,不過大部分都是傳送或接收陣列型態的參數給stored procedure,
所以花了一些功夫整理了一下關鍵的內容。




conn = this.getConnectionAdapter().getNewConnection();
vendorConn = (OracleConnection)((WLConnection)conn).getVendorConnection();
call = (OracleCallableStatement)vendorConn.prepareCall(" begin twm_pg_ec_test.pc_get_oracle_object_demo(?,?) ; end;"); //引號內是stored procedure
//的名稱,問號是傳給他即接受的對應參數。

call.setString(1, "EC");//設定第一個參數
call.registerOutParameter(2, OracleTypes.STRUCT, "ECUSER2.EMPLOYEETYPE");
//設定第二個回傳的參數,同時指定他在資料庫上的object type(第二個參數)
call.executeQuery();

oracle.sql.STRUCT emp = (oracle.sql.STRUCT)call.getObject(2); //解析回傳的第二個參數
oracle.sql.Datum[] attrs = emp.getOracleAttributes();//取得所有oracle object的屬性

//取得oracle object屬性的值
int id= attrs[0].intValue();
String firstName = attrs[1].stringValue();
String lastName = attrs[2].stringValue();
java.util.Date dob = attrs[3].dateValue();
String phone = attrs[4].stringValue();







[+/-] 深入閱讀

2010年5月24日 星期一

關於愛情

很多人問我為什麼不去交個女朋友?我總是無奈的苦笑回答:「或許是緣分還沒到吧!?」


可能是金星在金牛的關係,也可能是過去努力追求的經驗都不太好,總之在這方面
我總是顯的十分的被動,catch板、星座板的文章也看了不少,總覺得一直都是原地
踏步,單身太久了,真的會成為習慣,而我似乎也早已被習慣所束縛,並沒有積極
改變自己生活的想法與動機。



最近得知原本頗有好感的女生死會的消息,雖然有些許遺憾,但是也只能給予祝福,
我自認為也有花了許多時間和精力在她身上,可能我想表達的他未能感受,
而她想透露給我的訊息我無法做出正確的判讀,或許就如星座書上寫的:「
基本宮與變動宮本質上是無法取悅對方的。」

請原諒我總是不解風情.....

[+/-] 深入閱讀

2009年10月5日 星期一

[SONG]我明白他

在一起最重要的是-彼此明白的默契,這需要時間跟
環境、緣分來培養,雖然人與人之間似乎是永遠無法完全
互相理解的。


我明白他
作詞:娃娃 作曲:陶吉吉 編曲:陶吉吉 演唱:莫文蔚

他是太寂寞 愛的來去自由 又談何容易
他想逃避的感情 他並沒有勇氣 傷了人不傷心

看著他 我 就有一種莫名心動
愛著他 我 從來就一無所求

明知太傻 真的太傻 偶而想過帶他回家
睡在一起 只是說話 輕輕摸著他的頭髮

我明白他 那些痛苦快樂 他心裡在想什麼
他沒有對我說 可是 我明白他 明白他

他是太多情 浪漫放在現實 難免有些問題
他的好和他的錯 有一些是無心 有一些是故意

看著他 我 就有一種莫名心動
愛著他 我 從來就一無所求

知道他愛 知道他恨 知道他心裡的害怕
知道他在 說著謊話 全都知道也沒辦法

我愛著他 不說我愛他 也不要他的回答
只要他一直都知道 我明白他 我明白他 我明白他

[+/-] 深入閱讀

2009年8月25日 星期二

Twits of the day

閒置了許久,有時後想上來寫點什麼,但是又覺得好懶,
是工作的倦怠還是生活上欠缺一點刺激,我想或許都有
一點關係。

plurk上隨手寫的一行文寫多了,忽然忘記文章的起承轉合
是怎麼一回事,更可能我從來沒真正懂過XD,文章還是要多
寫才會多進步阿。

[+/-] 深入閱讀

2009年6月21日 星期日

夜景

中和烘爐地



內湖碧山巖


環島時在宜蘭三清宮拍的,那時我的F40剛入手....


東京六本木山



下次拍夜景的時候,有啤酒可以喝就更棒了。


[+/-] 深入閱讀

2009年6月11日 星期四

If you really want it




If you really want it.

If you really want it, you'll push past pain,

use it, control it.

Glory,If you really want it,

live in dreams.

If you really want it,

learn from fails, learn how to win.


If you really want it, you'll feel everything to a fire

All the pain,failures,criticis,glory.

Take the ball,take the last shot,

You can do anything you want to.

If you really want it.....



[+/-] 深入閱讀

2009年4月11日 星期六

說謊

說謊的技巧在於七分真話三分假話,隨著年齡
與經驗的增長,感覺到說謊愈來愈臉不紅氣不喘了,
道德感日漸低落,雖然說假的事情做久了或許就會
變真的,不過我實在不喜歡這樣,這就是長大嗎?

[+/-] 深入閱讀

橫山家之味





這部片子雖然只是描述一個平凡家庭藉由過世長子的忌日而重聚
,在外地生活的大姊(不知道叫啥名字)、二哥(阿部寬)帶著剛結褵
的妻子與兒子返家探親短短兩天一夜所發生的故事,但是導演卻
能深刻刻畫了家中成員每個人的性格:

二哥阿部寬似乎因為從小就要被父親拿來與兄長比較,感受到相當
的壓力,總是想在父親面前證明些什麼.....

大姊雖然看起來散散的,不過卻是努力成為家庭內的黏著劑。

阿部寬的老婆夏川結衣,維持在日劇"不能結婚的男人"中的形象
,是一個很懂得體貼他人的女人。

橫山家的家長(老父親)是一個觀念守舊的男人,沙文主義很重,
但是對他身為醫生的工作感到自豪也非常的執著,甚至把工作
看的比家庭重要。

橫山家的老母親,是一位傳統的女性,一生都奉獻給家庭,甚至
曾隱忍丈夫的出軌,說的話有時辛辣且能命重要害,是印象中傳統
母親的代表。

真是一部描述人性與家庭的好電影。

[+/-] 深入閱讀

2009年4月9日 星期四

SVN + Apache 2.2 Authentication Set Up

I have tried twice to start up a simple svn server with either svnserve daemon or
apache module, even both.
But every time when I want to rebuild a server in different machines, I have to
waste my time looking up Internet resource. Therefore, I determined to write a easy document about the whole procedure just in case I should forget once again.


Platform: winxp sp3 & IBM X31

1.Download SVN binary with apache module from here

2.Download apache package and install it.
After installation, enter localhost to see if apache service works.

3.Copy bin/mod_dav_svn.so and bin/mod_authz_svn.so under svn installed directiry to the Apache modules directory.

4.Set system environment variable "path" to svn insatlled directory
subfolder "bin" and reboot so that svn support dll's are visible to
apache service.

5. Edit the Apache configuration file (httpd.conf) and make the following changes:

5a. Uncomment the following two lines:

#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so

5b. Add the following two lines to the end of the LoadModule section:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

6. Add the following code snippet in th end of http.conf

# /svn_repos attribute refers to http uri.In
# this example, it should be http://localhost/svn_repos/

#
DAV svn
SVNParentPath D:/svn_repos/
# This indicates the absolute path where your
# respositories reside in your machine
# Apache authentication begins...
AuthType Basic
AuthName "Subversion repository"
AuthUserFile D:/svn_repos/apache_authz
# Generate this "apache_authz" with htpasswd tool under apache installed
# directory "bin" subfolder with following
# command:
# htpasswd -cm path to your file username
# ex. htpasswd -cm D:/svn_repos/apache_authz kinju
# -c option means "create" Next time when you want to
# add a new user, you should omit -c option like that
# htpasswd -m D:/svn_repos/apache_authz kinjuplus
# This program should prompt you to enter password twice.

Require valid-user
### apache auth end

### svn auth begin
# our access control policy
AuthzSVNAccessFile D:/svn_repos/svn_authz
# authentication if necessary
Satisfy Any
### svn auth end

#



7. Edit svn auth policy in configuration file
as you define in http.conf previously

[groups] #define group syntax: groupname = user1,user2,....
test-developers = kinju


[/:] #repository root
*= r
@test-developers = rw
[test:/] # "test repository"
*= r
@test-developers = rw

[test:/test] # A test folder under test repository
@test-developers = rw

[test2:/] #"test2 repository"
*= r
@test-developers = rw



Tips: You must create your repository with svnadmin command line tool like that
"svnadmin create --fs-type fsfs NewRepo."
On the contrary, creating a repository with TortoiseSVN(烏龜), you probably
will encounter a error. This is a bug dued to a compatibility issue in new
version of TortoiseSVN. Refer to here

[+/-] 深入閱讀

2009年3月17日 星期二

love shuffle




很有意思的一部日劇....

[+/-] 深入閱讀

2009年2月15日 星期日

First Biking--河濱腳踏車道初探

在上班日之前的最後一個週日,為了抓住這最後的
閒適時光(其實是太無聊)就到大佳河濱公園去租腳
踏車,完成之前一直該很久的河濱單車之旅。


腳踏車畢竟是租來的,騎起來的舒適度和之前陪我
走過高中、大學騎車上課時光的小鐵相比果然有差,
騎沒多久就開始覺得會陰部怪怪的,難怪之前的新聞
有在報腳踏車騎久了會不舉,不過想說偶而才騎一次
應該沒差,就繼續往關渡的方向走。

一路上河濱公園的新鮮空氣、沒有太陽不算太熱的天氣,
搭配著徐徐吹來的微風讓大部分在河濱腳踏車道上的行程
感覺非常舒服與愜意,唯一美中不足的是,不知是路徑標示
不清楚,還是本人有點路痴,在圓山轉士林的路段(轉中山北
路啦)有點迷路,中山北路上的行人腳踏車道和河濱公園的相
比就遜色許多,除了路上車子的噪音與廢氣外,閃躲行人和
等紅綠燈也消磨了不少時間,接到雙溪河濱公園再轉洲美快速
道路之後,才真正享受到基隆河沿岸腳踏車道的風光,在喧囂的
台北市很難得找到這麼有鄉土風味的地方,很有驚喜的感覺。






騎到貴子坑口已大約是四點半,考量到要在天黑前騎回
大佳河濱公園的時間只好提前打道回府,河畔之美只好
下次再來慢慢發掘吧。

本日行程

大佳河濱公園==>北美館==>中山北路(往士林方向)
==>雙溪河濱公園==>洲美快速道路==>貴子坑(折返)

大概是像這樣


花費:

租用腳踏車3小時170大洋
礦泉水一瓶20大洋
爽度 無價

[+/-] 深入閱讀

2009年2月14日 星期六

工作



一來是景氣的關係,二來是個人的因素,在尋找人生
第一份工作上花了許多時間,雖然一開始就有這個預期,
不過在面對真實情況時,還是多少對會感到緊張與徬徨,
找工作其實好像真的跟找女朋友一樣,你會愈來愈明白自己
想要什麼、自己的競爭力在哪,當然,這也需要緣分,即使履
歷投了,也去面試了,但是能不能在面試時臨場時反應出來,
主管能不能感受到你的價值跟潛力、賞不賞識你也會是關鍵
所在,綜合許多因素,真的要靠緣分哎~


感謝老師、學長、同學們在我的求職路上提供了
許多寶貴的意見,慢慢體會到「面試是需要練習的」
這句話,從一開始有點過度自信,到後來再慢慢修正
自己的心態和說話的方式,反省自己面試時的每個環節
,能不能表現的有自信、應對得體、邏輯清楚,我想會是
接下來在社會大學的必修學分。

如果沒意外的話,我的第一份工作將會在這家IT
顧問公司"源訊科技" (atos origin)擔任Java程式
設計師的工作,在這不景氣的年代,好好培養實力跟
累積經驗吧~

[+/-] 深入閱讀

2008年12月10日 星期三

論文(六)

論文口試完也過了一個多月,雖然中間經過了一些修改,
重跑一些實驗數據、規劃出遊、以及面試一些公司
(雖然有幾間真的是去當練習的)讓整個收尾的過程拖的
有點長....雖然不是很滿意,不過總算是為最後的學生
生涯做了交代。


回首論文的撰寫過程,從二上剛開始花了近一個月確定
題目,之後便從基本的小程式慢慢開始code起,
(bottom-up 才是王道阿!)到了六月底開始跑實驗,再根
據實驗慢慢修正程式上的一些bug,到了八月初開始本文
的撰寫,來來回回和老師修正到了十月中差不多完成初稿,
然後在十月底口試。

整個流程說快也不快,算是還在規劃的時間內把這個
流程跑完,雖然或許還可以更好、更完整一些,不過
由於中間有偷跑出去玩、個人的個性關係就選擇了一個
稍微輕鬆一點的方式來完成,跟當兵背值星、最後趕專題
那種精神接近臨界點的狀況相比實在容易的多,anyway...
我只想把這個流程完整的跑完,學到完整的東西就夠了,
並不敢指望有什麼重大的學術成就,坦白來說,也興趣不大,
重要的是能不能從這整個過程中昇華出一些自己的想法,
培養自己的態度,我認為才是最重要的。

最後的學生生涯即將結束,回到最初學長、前輩們在一
開始問我的話:
「你覺得你在碩班畢業後能夠學到一些什麼?」
「你覺得你碩班畢業跟大學畢業有什麼不一樣?」

希望我已經找到了屬於我自己的解答。

[+/-] 深入閱讀

2008年9月23日 星期二

論文(五)

這一個多月來把重心移到論文的寫作上,果然很多事情
要做過了才會明白箇中滋味,很多想法要寫出來在紙上才能
做進一步的修正,寫論文的過程也是一個訓練自己表達想
法的機會,雖然這些事一早老闆就耳提面命過,不過總之
還是要寫過才真正曉得這些過程能帶給我什麼....


寫作的過程要花不少時間,畢竟要以平常不太用的英文
來動筆,雖然這方面的書之前Lab進了很多,相關的句型、
寫作要旨大概之前都有先瀏覽過,不過怎麼套用在自己的論文
上還是要花時間去想、培養對文字的敏銳度,常常一天最多了
不起就爬一頁,沒靈感的時後就是寫不出來,不過跌跌撞撞的
倒也慢慢累積一些份量,每次呈給老師之後總是會有一些小細
節、一大段的文字要補或是語意不夠清楚之類的毛病,雖然我
覺得老師好像也沒有多要求我的用詞遣字,能夠念的通順就好,
只在大方向上給一些意見,要我做一些修正,或許是因為老師
覺得碩士班的程度這樣就夠了吧...離真正要發paper還有一段
距離,不過這是後話,我亂猜的,科~~

在一次又一次的呈稿、打槍這樣的來來回回之後,今天老師
終於也不耐煩了,要我去找其他老師來當口試委員,準備在十
月底或是十一月初那兩個禮拜口試,聽到這個消息,讓我偷偷
高興了一下,雖然我還是很不怕死的準備想找之前傳聞砲火很
猛烈的查老師,以及面惡心善的老楊老師來當口試委員,不過
反正到時候船到橋頭自然直,盡自己的能力去準備吧!


終於也到了這個時候,在ㄍㄧㄥ一下吧!


[+/-] 深入閱讀

2008年8月11日 星期一

漫畫與通膨




看漫畫相信是許多人走過青春歲月一個很重要的部分,
不知道真的會去買漫畫看的人有多少,到了現在,我看的漫畫
大部分也是租的居多,記得小時候第一本漫畫是去鄰居的雜貨店
買一本十塊的小叮噹口袋本,剛拿到的時後就覺得好開心
(小孩子真的比較好哄!?)
那時候胖虎、小夫的中文翻譯還叫做技安、阿福,前一陣子
華視的轉播把他翻做胖虎、小夫,實在讓我覺得很不習慣......

後來隨著小七的日漸普及,到了國小高年級時那家雜貨店
似乎也頂不住競爭的壓力倒閉,這時看的漫畫也慢慢從小叮噹
移轉到七龍珠,第一本漫畫單行本就在這個時候入手,打折後
的價格好像才55大洋(原價60)印象中劇情走到打賽魯吧,
悟飯爆發好威.......


進到國高中,開始接觸寶島少年和港漫的荼毒,拿逆刃刀
的劍心、熱血的灌籃高手、充滿腥羶色的天子傳奇、
老是拖搞的獵人在這時成了每天與同學茶餘飯後的話題,
還記得有一次模擬考完的晚自習,實在不想念書,就光明正大的
的把寶島少年拿出來看,監督的老師似乎沒發現的樣子,
好屌,科科~~~


到了大學之後,曾經有好一陣子除了到宵夜街雅集吃飯
之外,都不再看漫畫,還以為我會從此戒掉看漫畫的習慣
,但是在大四考完研究所之後等放榜、等當兵這段無聊的
時間,海賊王、火影忍者、浪人劍客成了我的最佳良伴,
不知不覺又沈浸下去......


就在前幾天回家的時後,一如往常的到台南市北門路
去買海賊王新的單行本50集,才發現現在的單行本已經
漲到一本新台幣100元阿!!!!!!!!


我也從買漫畫這件事見證了台灣的通貨膨脹

[+/-] 深入閱讀

2008年7月22日 星期二

論文(四)



時序已進入七月底,剛剛走了今年第一個颱風,讓印象中
沒什麼淹過水的台中頓時成了水鄉澤國,在台北的第二
個夏天依然和去年一樣炎熱,最近實驗室的冷氣不知怎麼
搞的又開始秀逗了....不禁讓躲在Lab避暑的菸酒僧們叫苦
連天,儘管如此,每到了夏天總是會讓我有想出去玩的衝動,
去年只去三分之一就自以為好學生龜縮回來的環島、最近的兩趟
衝浪之旅都非常有意思,現在正是我求學生涯的最後一個暑假......


言歸正傳,玩歸玩,正事還是要做;論文還是要寫;
年底還是想畢業,從六月底開始跑模擬實驗,過程
並沒有想像中的順利......

首先,模擬程式總是會在不特定的時刻、不特定的round裡
發生當機的情況,弔詭的是卻又沒丟出任何的例外,讓我
頓時不知該從哪裡debug,起初以為是資料結構的問題,
試著把原本用來儲存未來發生事件的Linkedlist改成Vector、
ArrayList等等之後情況仍然未見起色,追蹤了log好幾遍
才發現問題的癥結,原來是兩支Thread同時存取Vector時
順序發生錯誤,有時不會有影響,有時則會造成死當,簡單
的來說,就是傳統的同步問題,後來總算用一個號誌和
迴圈把這個問題解決。

接著,好不容易克服當機問題之後,又要面對模擬
結果數據有時正確,有時錯誤的麻煩,推敲之後才
發現亂數種子真是個奧妙的東西,在不同的程式區塊
取亂數都會有不同的效果,而正確的做法是:亂數種子
必須在模擬一開始就決定,才能符合我們的需求....

經過這些小波折,這幾天總算可以跑一些不同參數
的模擬實驗,藉由不同case與正常數據信賴區間的
交集程度來討論我所提架構的可行性,幸運的是,
在參數正常值、極端值的情形中,我的實驗數據還算
在可以接受的範圍內,這對我來說是重要的里程碑,
希望這些東西在老闆面前能夠過的了關,最終還是要
應付老闆的要求。


現在是夏天ㄟ,出去玩吧..............

[+/-] 深入閱讀

2008年6月22日 星期日

[轉錄]世界上最困難的事

1.把別人的錢放到我的口袋裡
2.把我的想法放到別人的腦袋裡

[+/-] 深入閱讀

2008年6月18日 星期三

論文(三)





這兩天剛把論文程式的Prototype code出來,
效率比我想像中還差,模擬兩回合共20發飛彈
的飛彈攔截劇情就花了兩分鐘.....囧,儘管如此,
接下來的工作就是再加入更多Agent模組,跑一些
模擬數據來驗證我所建model的正確性,順利的話,
希望暑假結束就能把coding工作和老闆的要求做完,
或許再惡補一些統計知識(周媽媽我對不起你,大學
上過的統計真的通通忘記XD)那麼,下學期的工作,
就是學會如何把故事說的好和打打嘴炮了........

希望啦,路還很長。

[+/-] 深入閱讀

2008年6月15日 星期日

[Book]精子戰爭




好久沒看雜書了,最近在某個討論串上看到有人推薦這本書
就把它搞來看看,如果你已經厭倦西斯板鄉民的嘴炮,並想
要稍微嚴肅一點從生物學繁衍的角度來看待兩性關係的話,
相信你也會喜歡這本書。


本書作者是生物學家,在書中利用一個接一個的案例中
男女雙方行為的互動,以生物學的角度解釋為何雙方
會有當下的舉動,例如:在某公司裡一起出差的一對男女,
利用出差的機會發生婚外情,引發出軌女性體內的精子戰爭,
並在出差回來後男女雙方回到家又如何瞞騙過配偶,作者的
解釋是,當女性在排卵期時身體會比較希望獲得其他男性更
強壯的精子而和配偶以外的男性性交,而一般女性會利用例
行性交的策略向配偶隱瞞祝自己的排卵時間,藉以讓配偶一直
守在她身邊,而男性對此的反應策略就是盡可能和更多女性性交
以提高繁衍成果.......當然,類似的案例書中舉了很多,外遇、
劈腿、強暴、同性戀等等場景在書中比比皆是,如果你想好好
品嚐這本書,請把你的道德感收起來,試著從生物學的角度來
看事情。

事實上法律與道德在生物學上似乎認為這是上位者為了提高自己
繁衍成果的手段:君不見法律推行一夫一妻制的同時,上位者
(或者說有錢有勢者)大部分卻在暗地裡進行著外遇的行為?!

當然,除了這些之外,書中對了性行為的功能和目的還做了詳盡
的介紹,例如:口交其實是為了藉由聞性器官周圍的氣味來收集情報
,判斷伴侶是否健康,自慰對男性來說可以調節精子的品質並對配偶
隱瞞最近性行為的次數,對女性來說可以達到高潮並藉以調節子宮黏液
的過濾強度以決定是否讓精子通過....等等諸如此類,實在讓我感到震撼
與驚訝。

最後,我還是不禁要說,好男人真的是訓練出來的阿!!!

[+/-] 深入閱讀