每個人心中都有兩把尺 長的量別人 短的量自己

突然想到以前一位老師跟我說了一句話

每個人心中都有兩把尺 長的量別人 短的量自己

意思嚴以律己 寬以待人

若每個人都可以這樣,這個社會應該會更和平

因為大家都會替別人著想

現在 很多的人只會想自己,不會想別人

一點小事就跟別人起爭執 這樣真的很不好

我要用這句話來常常警惕自己

[phpExcel]利用getFormattedValue()取得非Rich-Text文字

Excel可以自訂欄位的文字樣式,那叫Rich-Text

然而匯入資料的時候,我不需要用到Rich-Text

所以用了getFormattedValue()這個函式

它可以將 Rich-Text 去除

getValue();

[0] => 2
[1] => D221789341
[2] => 王大華
[3] => 女
[4] => 1981-02-02
[5] => 07-3456789
[6] => 07-55667788
[7] => 0922334455
[8] => def@gmail.com
[9] => 高雄市
[10] => 高雄市楠梓區中山路69號
[11] => 812
[12] => 學者
[13] =>
[14] => 中山大學
[15] => 資訊工程系
[16] => 研究所
[17] => 商學類
[18] => 國際貿易
[19] => C0200
[20] => 專業2
[21] => 衛生學類
[22] => 公共衛生
[23] => I0100
[24] => 專業5
  [25] => PHPExcel_RichText Object
  (
  [_richTextElements:private] => Array
  (
  [0] => PHPExcel_RichText_Run Object
  (
  [_font:private] => PHPExcel_Style_Font Object
  (
  [_name:private] => 新細明體
  [_size:private] => 10
  [_bold:private] =>
  [_italic:private] =>
  [_superScript:private] =>
  [_subScript:private] =>
  [_underline:private] => none
  [_strikethrough:private] =>
  [_color:private] => PHPExcel_Style_Color Object
  (
  [_argb:private] => FF333333
  [_isSupervisor:private] =>
  [_parent:private] =>
  [_parentPropertyName:private] =>
  )
   
  [_parentPropertyName:private] =>
  [_isSupervisor:private] =>
  [_parent:private] =>
  [colorIndex] => 63
  )
   
  [_text:private] => 中國鋼鐵
  )
)
)

getFormattedValue();

[0] => 2
[1] => D221789341
[2] => 王大華
[3] => 女
[4] => 1981-02-02
[5] => 07-3456789
[6] => 07-55667788
[7] => 0922334455
[8] => def@gmail.com
[9] => 高雄市
[10] => 高雄市楠梓區中山路69號
[11] => 812
[12] => 學者
[13] =>
[14] => 中山大學
[15] => 資訊工程系
[16] => 研究所
[17] => 商學類
[18] => 國際貿易
[19] => C0200
[20] => 專業2
[21] => 衛生學類
[22] => 公共衛生
[23] => I0100
[24] => 專業5
[25] => 中國鋼鐵

 

php換算Excel的Column英文與數字轉換

在匯入Excel的時候,因為讀取到的Col為英文標示,看起來像是26進位,但是是A~Z來表示A=1, B=2,C=3….Z=0…AA=27…

所以匯入的時候,要讀行需透過特殊轉換

底下是我自己想的程式碼,分享給來參考的人

<?php

//Test
for($j=26; $j<=1090; $j=$j+26){
$d = excel_num_to_col($j);
echo “$j”;
print_r($d);
}

//數字轉英文
function excel_num_to_col($num){
for($i=$num; $i>0; $i=($i%26==0)?intval($i/26)-1:intval($i/26)){
$result[] = num_az($i%26);
}
return array_reverse($result);
}

//英文轉數字
function excel_col_to_num($str){
$arr = array_reverse(str_split($str));
foreach((array)$arr as $key => $val){
$result += pow(26, $key)*az_num($val);
}
return $result;
}

//英文轉數字對照
function az_num($str){
if(strtoupper($str)==”A”){return 1;}
if(strtoupper($str)==”B”){return 2;}
if(strtoupper($str)==”C”){return 3;}
if(strtoupper($str)==”D”){return 4;}
if(strtoupper($str)==”E”){return 5;}
if(strtoupper($str)==”F”){return 6;}
if(strtoupper($str)==”G”){return 7;}
if(strtoupper($str)==”H”){return 8;}
if(strtoupper($str)==”I”){return 9;}
if(strtoupper($str)==”J”){return 10;}
if(strtoupper($str)==”K”){return 11;}
if(strtoupper($str)==”L”){return 12;}
if(strtoupper($str)==”M”){return 13;}
if(strtoupper($str)==”N”){return 14;}
if(strtoupper($str)==”O”){return 15;}
if(strtoupper($str)==”P”){return 16;}
if(strtoupper($str)==”Q”){return 17;}
if(strtoupper($str)==”R”){return 18;}
if(strtoupper($str)==”S”){return 19;}
if(strtoupper($str)==”T”){return 20;}
if(strtoupper($str)==”U”){return 21;}
if(strtoupper($str)==”V”){return 22;}
if(strtoupper($str)==”W”){return 23;}
if(strtoupper($str)==”X”){return 24;}
if(strtoupper($str)==”Y”){return 25;}
if(strtoupper($str)==”Z”){return 26;}
}

//數字轉英文對照
function num_az($num){
if($num==1){return “A”;}
if($num==2){return “B”;}
if($num==3){return “C”;}
if($num==4){return “D”;}
if($num==5){return “E”;}
if($num==6){return “F”;}
if($num==7){return “G”;}
if($num==8){return “H”;}
if($num==9){return “I”;}
if($num==10){return “J”;}
if($num==11){return “K”;}
if($num==12){return “L”;}
if($num==13){return “M”;}
if($num==14){return “N”;}
if($num==15){return “O”;}
if($num==16){return “P”;}
if($num==17){return “Q”;}
if($num==18){return “R”;}
if($num==19){return “S”;}
if($num==20){return “T”;}
if($num==21){return “U”;}
if($num==22){return “V”;}
if($num==23){return “W”;}
if($num==24){return “X”;}
if($num==25){return “Y”;}
if($num==0){return “Z”;}
}
?>

 

 

聖嚴法師108自在語

聖嚴法師是我最尊敬的大師之一,留下來的東西,值得我們去學習效仿。

雖然沒見過面,但看過大法鼓的節目後,真的打心底佩服,這真是處世入世哲學

而現在也只能懷念他

提昇人品

1. 需要的不多,想要的太多。
2. 知恩報恩為先,利人便是利己。
3. 盡心盡力第一,不爭你我多少。
4. 慈悲沒有敵人,智慧不起煩惱。
5. 忙人時間最多,勤勞健康最好。
6. 布施的人有福,行善的人快樂。
7. 心量要大,自我要小。
8. 要能放下,才能提起。提放自如,是自在人。
9. 識人識己識進退,時時身心平安;知福惜福多培福,處處廣結善緣。
10. 提得起放得下,年年吉祥如意;用智慧種福田,日日都是好日。
11. 身心常放鬆,逢人面帶笑;放鬆能使我們身心健康,帶笑容易增進彼此友誼。
12. 話到口邊想一想,講話之前慢半拍。不是不說,而是要惜言慎語。
13. 在生活中,不妨養成「能有,很好;沒有,也沒關係」的想法,便能轉苦為樂,便會比較自在了。
14. 四安:安心、安身、安家、安業。
15. 四要:需要、想要、能要、該要。
16. 四感:感恩、感謝、感化、感動。
17. 四它:面對它、接受它、處理它、放下它。
18. 四福:知福、惜福、培福、種福。
19. 能要、該要的才要;不能要、不該要的絕對不要。
20. 感恩能使我們成長,報恩能助我們成就。
21. 感謝給我們機會,順境、逆境皆是恩人。
22. 遇到好事,要隨喜、讚歎、鼓勵,並且虛心學習。
23. 少批評、多讚美,是避免造口業的好方法。
24. 平常心就是最自在、最愉快的心。
25. 踏實地走一步路,勝過說一百句空洞的漂亮語。
26. 知道自己的缺點愈多,成長的速度愈快,對自己的信心也就愈堅定。
27. 多聽多看少說話,快手快腳慢用錢。
28. 唯有體驗了艱苦的境遇,才會有精進奮發的心。
29. 踏踏實實做人,心胸要廣大;穩穩當當做事,著眼宜深遠。

享受工作

30. 忙而不亂,累而不疲。
31. 忙得快樂,累得歡喜。
32. 「忙」沒關係,不「煩」就好。
33. 工作要趕不要急,身心要鬆不要緊。
34. 應該忙中有序的趕工作,不要緊張兮兮的搶時間。
35. 不要以富貴貧賤論成敗得失,只要能盡心盡力來自利利人。
36. 任勞者必堪任怨,任事者必遭批評。怨言之下有慈忍,批評之中藏金玉。
37. 隨遇而安,隨緣奉獻。
38. 成功的三部曲是:隨順因緣、把握因緣、創造因緣。
39. 見有機緣宜把握,沒有機緣要營造,機緣未熟不強求。
40. 人生的起起落落,都是成長的經驗。
41. 用智慧處理事,以慈悲關懷人。
42. 以智慧時時修正偏差,以慈悲處處給人方便。
43. 慈悲心愈重,智慧愈高,煩惱也就愈少。
44. 面對許多的情況,只管用智慧處理事,以慈悲對待人,而不擔心自己的利害得失,就不會有煩惱了。
45. 心隨境轉是凡夫;境隨心轉是聖賢。
46. 大鴨游出大路,小鴨游出小路,不游就沒有路。
47. 山不轉路轉,路不轉人轉,人不轉心轉。
48. 「精進」不等於拼命,而是努力不懈。
49. 船過水無痕,鳥飛不留影,成敗得失都不會引起心情的波動,那就是自在解脫的大智慧。
50. 給人方便等於給自己方便。
51. 甘願吃明虧,是仁者;受辱吃暗虧,是愚蠢。
52. 壓力通常來自對身外事物過於在意,同時也過於在意他人的評斷。
53. 用感恩的心、用報恩的心,來做服務的工作,便不會感到倦怠與疲累。
54. 隨時隨地心存感激,以財力、體力、智慧、心力、來做一切的奉獻。

平安人生

55. 生命的意義是為了服務,生活的價值是為了奉獻。
56. 人生的目標,是來受報、還願、發願的。
57. 人的價值,不在壽命的長短,而在貢獻的大小。
58. 過去已成虛幻,未來尚是夢想,把握現在最重要。
59. 不用牽掛過去,不必擔心未來,踏實於現在,就與過去和未來同在。
60. 智慧,不是知識、不是經驗、不是思辯,而是超越自我中心的態度。
61. 積極人生,謙虛滿分;自我愈大,不安愈多。
62. 上等人安心於道,中等人安心於事,下等人安心於名利物欲。
63. 你是有哪些身分的人,就應該做那些身分的事。
64. 在安定和諧中,把握精彩的今天,走出新鮮的明天。
65. 擔心,是多餘的折磨;用心,是安全的動力。
66. 財富如流水,布施如挖井。井愈深,水愈多;布施的愈多,財富則愈大。
67. 面對生活,要有「最好的準備,最壞的打算」。
68. 只要還有一口呼吸在,就有無限的希望,就是最大的財富。
69. 救苦救難的是菩薩,受苦受難的是大菩薩。
70. 超越生老病苦三原則:活得快樂、病得健康、老得有希望。
71. 超越死亡三原則:不要尋死、不要怕死、不要等死。
72. 死亡不是喜事,也不是喪事,而是一件莊嚴的佛事。
73. 每一個孩子,都是幫助父母成長的小菩薩。
74. 對青少年,要關心不要擔心,要誘導不要控制,用商量不用權威。
75. 愛你的孩子,與其擔心,不如祝福吧!
76. 夫妻是倫理的關係,不是「論理」的關係。
77. 能不亂丟垃圾,隨時清撿垃圾,都是做的功德。
78. 眼光,是你的智慧;運氣,是你的福德。
79. 喜愛的就想佔有,討厭的就會排斥,患得患失,煩惱就來了。
80. 經常少欲知足的人,才是無虞匱乏的富人。
81. 心不平安是真正的苦,身體的病痛不一定是苦。
82. 明知心不平安是苦事,就趕快以持念「南無觀世音菩薩」來安心吧!
83. 現在擁有的,就是最好的。擁有再多也無法滿足,就等於是窮人。
84. 不要用壓抑來控制情緒,最好用觀想、用佛號、用祈禱,來化解情緒。

幸福人間

85. 好話大家說,好事大家做,好運大家轉。
86. 大家說好話,大家做好事,大家轉好運。
87. 每人每天多說一句好話,多做一件好事,所有小小的好,就會成為一個大大的好。
88. 急須要做,正要人做的事,我來吧!
89. 我和人和,心和口和,歡歡喜喜有幸福。
90. 內和外和,因和緣和,平平安安真自在。
91. 自求心安就有平安,關懷他人就有幸福。
92. 人品等於財富,奉獻等於積蓄。
93. 奉獻即是修行,安心即是成就。
94. 擁有的多,不一定讓人滿足;擁有的少,不一定讓人貧乏。
95. 現在所得的,是過去所造的;未來所得的,是現在所做的。
96. 好人不寂寞,善人最快樂,時時處處助人利己,時時處處你最幸福。
97. 若希望人際關係相處得好,就要把心量放大,多接納人,多包容人。
98. 只要自己的心態改變,環境也會跟著改變,世界上沒有絕對的好與壞。
99. 人與人之間的相處之道,需要溝通,溝通不成則妥協,妥協不成時,你就原諒和容忍他吧。
100. 大的要包容小的,小的要諒解大的。
101. 以全心全力關懷家庭,用整體生命投入事業。
102. 戒貪最好的方法,就是多布施、多奉獻、多與人分享。
103. 包容別人時,雙方的問題就解決了。
104. 學佛的人,有兩大任務:莊嚴國土,成熟眾生。
105. 要做無底的垃圾桶,要學無塵的反射鏡。
106. 煩惱消歸自心就有智慧,利益分享他人便是慈悲。
107. 用慚愧心看自己,用感恩心看世界。
108. 淨化人心,少欲知足,淨化社會,關懷他人。

[轉帖]程式設計師格言

來源:http://but.tw/2008/10/programmers_rule/

SE是日本軟體公司的職稱(不是Sony Erission)。自己不太寫程式,主要工作是跟客戶確認規格。在台灣隨公司不同,比較接近SA或PM。

    1. 每天有24小時。所謂的「今天之內」,是指到明天早上為止。
    2. 程式不會照自己所想的跑。只會照所寫的跑。
    3. 需求規格在程式寫完後才會敲定。
      基本規格要客戶看到成品後才會決定。
      詳細規格要使用者用過後才會確定。
    4. 我對軟體設計的方式導出的結論,有兩種方式。
      一是把軟體設計得單純到很明顯不會有缺陷,
      不然就是把軟體設計得複雜到沒有明顯的缺陷。
      – C.A.R.Hoare
    5. 程式碼不要在開發現場寫! 去客戶那寫!除錯不要在期限前做! 上線後再做!
    6. 畫面好藍啊。
      (譯註) 世界第一個太空人尤里·加加林的名言「地球好藍啊」。
      (譯註) 也有傳說有太空人在太空站裡安裝 Windows NT 時說了這句話。
    7. 先說「沒辦法」的人贏。

 

  1. 有意見的話你寫。
  2. 要殺一個程式設計師不需要刀,改三次規格就好。
  3. 首先要先懷疑別人,被懷疑的人或許會把問題解決掉。(註:通常會「先懷疑自己」)
  4. 開發沒有終點。只有釋出(release)。
  5. 無論規格多晚才能確定,結案期限永遠不會變。這是所謂的「期限守恆定理」。
  6. 客戶總是覺得水跟追加需求是不用錢的。
  7. 付錢愈計較的客人愈囉唆。
  8. 在排定開發行程時,總是視而不見一些連小學生都會的算數。業務部門總是一堆不知道 1+1=2 的人。
  9. 一個人掛了大家都掛了。
  10. bug 過了一晚可能就變成規格了。
  11. 好的規格找一個天才不如找三個凡人。爛的規格找一百個凡人不如找一個天才。
  12. 客製軟體中30%的價格用在確認規格上。30%用在修改規格上。30%用在找bug。結果初期規格反映在價格上占的比例只有10%。
  13. 對客戶來說SE是部下,程式設計師是家畜。
    對SE來說客人是錢,對程式設計師來說顧客是看不見的病毒。
    除了弄完程式以外,沒有其他驅除的辦法。
  14. 顧客想受SE喜歡,要自己了解到系統開發需要時間與金錢,早點確定規格。SE想受顧客喜歡,則要讓程式設計師討厭自己。
  15. 很多SE跟程式設計師都暗自想著有錢有閒的話什麼系統都想自己動手做,不過都沒這種機會。
  16. 品質的劣化程度依規格改變的次數與規模而定。
  17. 業務是認為空想能夠實現的夢想家。
    SE則是深信任何障礙都能突破的冒險家。
    程式設計師則是被夢想家和冒險家拋到漆黑海裡的漂流者。
  18. 有才能的程式設計師第一次看到設計細節時,要先理解程式的目的。接下來要設法讓SE了解到以指定的方法、工時並無法完成這個工作。
  19. 程式是運氣與直覺堆砌而成的奇蹟。若不具備這兩者,不可能以這樣的工時實現這樣的規格。
    修改規格是對奇蹟吐槽的褻瀆行為。而追加修改則是相信奇蹟還會重現的魯莽行動。
  20. 程式設計師聽了「把自己當作顧客去著想!」而開始思考。啊,像夢一樣。
  21. 對於因為興趣而寫程式的人來說,所謂的技術是程式語言能力。對於因為工作而寫程式的人來說,所謂的技術是邏輯思考能力與人際溝通能力。程式語言可以看著手冊溝通,客戶不行。
  22. 程式系統在交貨之前會不斷縮小。
    先用元件定義取悅老闆。
    再拿經費概算要部長妥協現實的方案。
    在運用會議中,課長會嘗識減少自己責任範圍。
    在細節會議中,負責人會把範圍縮到自己記得的部分。
  23. SE需要持久力,程式設計師需要爆發力。
  24. 準時離開公司,工作會變多。
  25. 完美的程式需要完美的時間與金錢。聽說揮霍著美國的國家預算的NASA,也覺得時間跟錢不夠。
  26. 詳細設計要在程式碼的註解裡做完。註解是唯一的自衛手段,至少要讓自己看懂。
  27. 還有時間看程式碼的話就執行他。CPU跑得比腦細胞快。至少這時候可以休息。
  28. 程式的異常該稱為「bug」還是「規格上的限制」是看期限還剩多久決定的。
  29. 所謂便服日,好像社會上把他叫做假日
    (譯註) 日本有些公司會有所謂便服日(不用穿西裝的日子),通常是星期五,但…
  30. 地獄持續一段時間後,充滿殺氣的怒吼會變多。
    再持續一段時間,說話會變少但牢騷會變多,壟罩在凝重的氣氛裡。
    再持續下去,反而會海闊天空,四周洋溢充滿活力的聲音。
    這種狀態稱為「Programmer’s High」,也是倒下來的人開始出現的時候。
    (譯註) Runner’s High 指跑馬拉松到後段反而精神舒暢的狀態。
  31. 遠處的火災一定燒到這裡。
  32. 禱告,然後工作(work)吧。(修道院的標語)
  33. 程式不是用腦記的,要用身體記住。
  34. 明天能放假的話死了也罷。
  35. 外面有下雨耶,昨天開始下的嗎?
  36. 若不能心死,身體會死。若不讓自己殘忍,自己會被殺。
  37. 客戶會說謊,業務會作夢,SE會做白日夢。程式設計師則惦惦。(愈來愈自言自語)
  38. SE總是不講理的(unreasonable)說「沒有辦不到(impossible)」,業務總是沒辦法(impossible)說「沒道理(unreasonable)」。
    (譯註) 日文文字遊戲。
  39. 規格書就像航海圖,客戶則是洋流。洋流陰晴不定,航海圖就變垃圾。程式設計師必須在沒有航海圖的海上憑自己的力量找到大陸。
  40. 再嘮嘮叨叨下去也是要付錢的。
  41. 多想個10秒鐘,你可以不說「嗯,這個做得到」。
  42. 人是無法從別人失敗記取教訓的動物。
    砍成本、改規格、加需求、趕上線,從來沒有人從Mizuho的失敗中記取教訓。
    (譯註:Mizuho是日本知名銀行,當初合併系統上線時發生整合錯誤系統掛掉)
  43. 老手用來提振精神的魔法格言:
    「不過比起以前來說算是…」
    新人用來提起幹勁的魔法格言:
    「把這件工作做完的話…」他們還不知道工作是沒有終點的。
  44. 所謂交案期限,是指開發現場從公司換到客戶那裡的日子。
  45. 程式、SE、經理不是職種。是職責。
  46. 業務是最難搞的客戶。
  47. 能夠迅速想到解法的程式設計師太多了。
    他們能用一分鐘想到方法,用一天去寫程式。
    不需要花一小時想到解法,再用一小時去寫程式。
    – Jon Bentley
  48. 漂亮的規格,可以從沒有bug出現看出來。明明爛的就是設計,為什麼是這樣…
  49. 上線後的除錯才叫做bug。
  50. 追加需求確定後交貨期限就無法確定,交貨期限確定後追加需求就無法確定。這稱為「追加需求與交貨期限的測不準原理」。
  51. 除三個錯就會冒出一個錯。這稱為bug的無窮迴圈。
  52. 不祥的預感總會實現。不過程式設計師不會去煩惱不祥的預感,那是SE的工作。
  53. 要解決地獄的辦法,就是客戶把錢交出來。
  54. 不懂電腦的操作者是發現bug的天才。而且無法重現。
  55. 每次開會就更改規格的客戶,他的操作手冊要等到操作寫好的程式後才能寫出來。
  56. 搞不懂的時候,Currency(長整數)比Interger(整數)好用。Variant(字串、數字都能存的萬能變數)又比Currency(長整數)好用。安全第一。(VB程式設計師如是說)
  57. 啊,那是微軟的規格。
  58. 程式設計師所不滿的規格也一定會讓客戶不滿。(這是說程式設計師覺得難寫的地方常常是SE溝通有落差)
  59. 程式設計師需要的技能,
    包括交涉、時程管理、業務分析、提案、設計、程式語言、架構、維護、使用。
    SE需要的技能則減掉程式語言、架構、維護與使用。
    專案經理需要的能力則再減掉業務分析、提案與設計。
    業務需要的能力再扣掉時程管理。
  60. 正因為健康,才能做不健康的事。
  61. 規、規格、是規格啦。不過跟規格有一點不太一樣啦。
    (譯註) 仿自電玩《純愛手札》「義、義理、是義理啦。不過跟義理有一點不太一樣啦」。
  62. 那是你說的規格。
  63. 開發室沒有窗戶,那是因為以前…
  64. 即使爛了,規格還是規格。(譯註) 模仿自日文俗語「腐っても鯛」=瑕不掩玉
  65. SE: 真沒辦法。
    PG: 也沒註解。
    (碰到不知道是誰寫的程式,大家都束手無策的狀態)
  66. 為什麼你不能兩三下解決掉他啦。因為之前兩三下搞定的東西也被你兩三下就否定了。
  67. 不會動的bug就只是普通的bug。(會動的bug則能視為規格)
    (譯註) 宮崎駿電影《紅豬》「不會飛的豬就只是普通的豬」。
  68. 今天好好清理bug,bug應該死光了吧。咦?Windows也死了唷。
  69. 客戶不會去想最壞的情況。要他面對最壞的情況,他會認為是漫天開價。
    SE則會顧慮最壞的情況,準備應付最壞的情況。
    程式設計師比誰都早預料到最壞的情況,而無視最壞的情況。
  70. 唯一不產生bug的方法,就是不寫程式。
    第二好的方法,就是在時程跟人員確定之後的每次改規格,都重新檢視過整個專案。
  71. 共同責任是程式設計師的責任。管理職?那是啥?好吃嗎?我沒吃過耶。
  72. 如果可以改行的話,想找個準時下班不叫「逃跑」的工作。
  73. 對職業程式設計師來說,漂亮的程式是單純而自然的邏輯、簡單而基本的指令、豐富的註解,也就是新手程式設計師也能馬上動手改的程式。而要寫出這樣的程式,需要單純、簡單、美麗的規格。但可惜客人總是喜歡搞很複雜。
  74. 設計者應該是不該要求製作者製作出超過設計以上內容的吧…
  75. 無論是做的比規格書裡的多,還是只照規格書裡的寫,SE都會找程式設計師的碴。所以程式設計師只做規格書裡的寫的內容。
  76. SE對程式設計師說的「常識」每三小時變一次。
  77. 自己看規格書。不能跑的是規格。
  78. 「沒辦法」是要看把一天當多少小時來算。一天常常指的是3人日,一個月常常是指4.5人月喔。
  79. 工時要減掉一半的單體測試與一半的系統測試,而交貨期則要另外加上上線後的兩個月。
  80. 能拿到錢的規格變更稱為「受理項目」,拿不到錢的規格變更則稱為「SE的規格確認失誤」。程式設計師是這麼看的。
  81. 累了。我想睡了。可以回家嗎。(累了吧,我也累了。好累喔怎麼了。反正就是規格啦,管他的)
  82. 試圖降低成本的話,為了配合預算,品質會下降,不過漫天開價做出來的品質也不見得好到哪裡去。
  83. REDO到底該怎麼唸一直搞不懂。是利斗嗎、李度嗎、R E D O嗎,難道是 red 零 嗎? 拜託加上注音吧。
  84. 有人在程式碼註解裡寫日記。像「今天是雨天…」,「想回家…」之類的。甚至還有「修改日: 2003/10/10 不能同意你更多」這種註解出現。說到這個,好像也看過「吃大便」這樣的註解。
  85. 小學生時第一次看到電腦
    國中時第一次學會怎麼用
    高中與大學學會程式語言
    出社會後才發現自己走錯路
  86. 「不要讓老闆當業務比較好」
  87. 說來說去,要去研究根本不知道為什麼會動的東西為什麼不會動了,找拿破崙來也沒搞頭。

EX 另外追加:

  1. 就算程式裡沒bug,編譯器會有bug。就算編譯器沒bug,OS會有bug。就算一切都沒bug,客戶會決定什麼是bug
  2. 規格與規格書是不同的東西。
  3. 比期限更重要的是靈感與睡眠。
  4. 比知識與經驗重要的是手冊與時間。
  5. 能動就好了,能動的話…
  6. 過了三天就是別人寫的程式碼。
  7. (大搜查線系列)規格變動不是在會議室裡發生的!是在現場發生的!
  8. (大搜查線系列)異常不是在模擬測試時發生的!是上線後才會發生的!
  9. 漂亮的設計三天或許就膩了,骯髒的設計三天就習慣了
  10. bug與規格是一體兩面。
  11. 電腦裡沒有bug,bug常在人心。
  12. 無論怎麼檢查,不管怎麼確認,上線前一晚就是睡不著。(RFC968)
  13. 估價需要1%的經驗與99%的直覺。
  14. 沒有什麼事情比直接讓找不到任何bug的程式直接上線還要可怕的了。
  15. 『程式設計師』=能將SE條理不通的說明翻譯成程式碼的高手
    『SE』=與客戶討論改寫規格書、與程式設計師討論後再改寫規格書,程式出貨後還要繼續改寫規格書的人
    『PM』=每天修改自己定下的行程表的人
    『業界老鳥』=臉色蒼白缺乏表情的人
    『外包』=幫不會寫程式的正職員工寫程式的人
    『coding』=複製貼上的工作
    『單體測試』=指開始寫程式
    『除錯』=把程式碼註解掉的工作
    『新同事』=在火燒屁股的專案火上加油的人
    『出貨日』=把只完成一半的系統上線的日子
    『末班電車』=業界平均的下班時間
    『颱風假』=一年一度可以準時下班的業界假日
  16. 當誰寫的程式碼跑出bug時,那個人大概都不在了(墨菲定理?)
  17. 最終手段「重開機」意外的常常都很有效
  18. 最強藉口,以前「那是硬體的極限」,現在「那是Windows的規格」
  19. 「程式碼的可信度,不會比寫的人還可信。」

趴兔:

  1. 最好騙的總是自己。
  2. 抄來的程式碼是bug之母。
  3. 輕易刪掉的程式碼,往往在之後都需要用到。
  4. 電腦不會騙你,測試資料有錯時,都是人錯了。
  5. 交貨日是為了打破而存在的。
  6. 程式碼如其人。
  7. 發問是一時之恥,不問是一生之蟲。
  8. 「/* 刪掉下面這行不知道為什麼就會當掉 */」是永遠不滅的。
  9. 覺得「這什麼沒可讀性的爛程式!」時,常常是自己以前寫出來的程式碼。
  10. 「誰說程式設計師就一定熟電腦的」
  11. 使用手冊是需要的人不會讀它,而不需要的人會去讀的神祕讀物。
  12. 無論有多奇怪,只要符合規格就是滿分。無論如何完美,只要不符合規格就是零分。
  13. 我前方沒有規格,bug在我身後形成。(譯注:高村光太郎《道程》的名句 ─ 我前方沒有道路,路在我身後形成。)
  14. 專業不是努力於辦不到的工作,而是事前能夠判斷工作辦不到。
  15. 把勞基法當作是別國的法律就對了。
  16. 當你有「啊,加上這功能吧」的念頭時,還是不要想太多,早點去睡結果會比較好。
  17. 狀況總在週末來臨。
  18. 「責任」不是該負的人要負的,而是要負的人被逼著負的。
  19. 看到別家公司寫的程式碼,就知道客戶有多麼被看不起,然後自己得到了勇氣。
  20. 老闆是bug。

  21. 程式設計師的價值決定在寫了多少程式碼,程式設計師的技能決定在讀了多少程式碼。
  22. 熟悉程式語言不表示就會寫軟體。
  23. 熟悉程式語言軟體會寫得更慢。
  24. 機器感受到你的著急,所以他壞了。
  25. 程式設計師就算有愛,也不能愛上程式設計,因為程式有讓人墮入地獄的力量。
  26. 程式設計師重視過程,客戶重視結果,所以永遠是兩條平行線。
  27. 為了解決問題而最初想出來的點子,通常都有一些問題。
  28. 發現問題如何解決不是最重要的,發現哪裡是問題比較重要。
  29. 除錯,是喚醒沉睡錯誤的儀式
  30. 檢查後如果沒找到任何bug,一定是檢查有出錯。
  31. 就像SE所說的「辦得到」往往不可信,PG說的「辦不到」也不可信。
  32. 如果bug十年都沒人發現,就不要理他。去解掉它的話,不出半年就會被人當作bug了。
  33. 想個好的變數名稱比想演算法還花時間。
  34. 要在水面上行走、要照規格開發軟體都很簡單。如果能固定不動的話。
  35. 別相信手冊!相信我!
  36. 還沒付錢的,不是客戶。 已經付清的,也不是客戶。
  37. 不知道自己在修什麼的維修員。
  38. try-catch 然後 return null。~推卸責任~
  39. 客戶的抱怨認真地(約兩時間左右)聽就對了。這樣一來客戶的問題就可以說是解決一半了。也就是程式就不用改了。
  40. bug 是不會看臉色的。
  41. 昨天的自己是今天的敵人。
  42. SE的沉默代表著進度順暢的安心,PG的沉默代表著進度空白的慘叫。
  43. 業務的幸福是技術者的不幸。
  44. 接受「口頭規格」的開發案,就好像開一張空白支票給別人一樣。
  45. 這不叫更改規格。因為打從一開始就沒有規格存在。
  46. 程式這檔事,總是會有「難以置信」的事情發生。
  47. 程式設計師這種人,總是會寫出「難以置信」的程式碼。
  48. 而「難以置信」的程式碼,不知道為什麼常常跑得很好。
  49. 要證明 bug 不是自己的責任,往往比修好這個 bug 更花時間。
  50. bug 是會認人的。兩個人在一起明明很大方的,更多人來看時就躲起來了。
  51. 程式的養分來自於程式設計師的鮮血。
  52. 不知道為什麼會動的東西,OS程式設計師會在下一版讓他動。不知道為什麼會動的東西,開源程式設計師會在下一版捨棄它。不知道為什麼會動的東西,週日程式設計師會嘗試在下一版讓它動,結果膩了而放置。
  53. 當程式的原始碼規模超過臨界點,就會離開程式設計師的手,擁有自己的意志。
  54. 直接看程式碼,比看英文的註解好懂多了。
  55. 要求「功能要有彈性」的客戶,往往思考都沒有彈性。
  56. 程式的字典裡沒有「不可能」,但程式設計師有。
  57. 沒被發現的 bug,就不是 bug!

台大生也有的感嘆:我想做個有用的人!

 

http://www.businessweekly.com.tw/blog/article.php?id=1726&p=1

週日晚上十點,香港Red SoHo餐廳

我坐在一個真正稱得上是國際化的晚餐桌前:我台灣的大學學妹、她義大利男友、另外一對情侶來自愛爾蘭,然後坐我隔壁的香港女生是我學妹的朋友。我前一天抵達,來香港出差四天,今晚我是來和我最熟的學妹以及他未婚夫聚餐。

當其他人在聊天時,我學妹靠過來,我們聊起她最近的工作;

「你開心嗎?」我問,她在銀行工作。

「開心,但我不確定應該待在這個產業多久。這工作薪水很棒,但是我在做什麼?我只是在讓有錢人賺更多錢而已。」

我對此一點都不意外。我已經從哈佛商學院畢業三年了,我可以很確定的告訴你,我那些去銀行或是顧問公司的同學有超過一半都離職了。最終我們都在工作中渴求著更高的意義。

她看起來很困惑。

「那你希望你人生能做什麼?」

她頓了一下,看向遠方。突然,她哀傷的笑了,幾乎像是一個5歲小女孩一樣的說:「我想要當個對社會有用的人。」

我靠回椅子上,在我們對話被打斷前想著她的答案和我自己的人生。接下來我花了比較多時間跟她香港的朋友聊天,她答應說接下來兩天要帶我逛逛香港。我們約好明天晚上八點在置地廣場碰面。

第二天晚上十一點

在Zuma吃完晚餐,然後去蘭桂坊酒店喝了一杯之後,我們正在散步。她指點各個歷史建築和現在空置的摩天大樓解說給我聽。我們從蘭桂坊樓梯走下來,她興奮地指著前方的噴泉說那些就是吳彥祖電影「單身男女」中裡面的場景。我們在那坐了一下,享受香港接近午夜的空蕩幽靜。

「從22歲開始可能一直到32歲這段時期實在太令人困惑了。在我們人生此時,什麼才是我們在職場中追尋的呢?」她說。

我訝異的看著她。在過去一個月中,我跟四個不同國籍的人有類似的對話。如果我們要選一個最能反應我們這個世代的問題的話,或許就是這個。

我比她大三歲,我笑了又輕輕嘆了口氣。

「我不知道答案,這只是我的猜測,不過年紀越大,我對此越來越有信心。」

「其實沒有答案,沒有對或錯。我們花上大半年輕歲月尋找、不安,希望某個人能毫無疑問的告訴我們:這就是你最完美工作,做吧,你會很高興的。我很確定當我們四十歲時,我們會記得這些時刻然後笑我們曾經那麼傻,花時間想這些抽象不重要的問題。因為當我們年紀越大,我們越會體認到永遠不會有正確的答案,而當婚姻、房貸、孩子、車貸、教育費以及其他一切壓上來,我們會太累而不會像現在一樣重複想這些。我們就接受了現實然後享受美好的時刻,我們之中僅有少數人會找到完美的答案。」「真的?」她說,「那還蠻悲哀的。如果真是這樣,那我們被教導的每件要重視的事:獨立、批判思考,人生哲學、自決,這些全都沒幫助,而最終我們僅是經歷每天的情緒,僅是「回應」每個任務,每個責任、每個人生的階段,忘了為什麼我們在這,忘了我們一開始希望成為怎樣的人。」

我安靜的看著她,不確定要說什麼。

「現在要去哪呢?」我最後問。

「再一個,尖沙咀那邊,在30樓的Aqua Tokyo有最棒的香港島景色。」

我起身跟著她走。

第三天晚上八點

我站在舊九龍車站鐘塔旁等她。天氣又濕又熱,我已經脫掉了我灰色西裝外套,靠著月台欄杆。香港島那側的燈光正要亮起,突然間,她跳到我眼前,我們笑著打招呼給彼此一個擁抱然後走過星光大道。

我們繼續昨晚的對話:

當你才剛開始工作時,你還不知道你真正喜歡做的事情或你是否應該換工作,什麼比較重要?錢?學習機會?自我認同?

她還沒吃晚餐,所以我們走過馬路去喜來登酒店,他們18樓的Sky Lounge有超棒的維多利亞海灣和香港島夜景,大概僅次於我們昨晚去的Aqua Lounge。我們面窗坐下來,快速的點了餐和飲料。

我看著坐在我左邊的她,在她講話時鬆開了我的領帶。

「我喜歡我的工作,但是我到底為這個世界貢獻了什麼?我替一間大公司工作,做我幾乎沒有興趣的科技產品業務開發。主要是因為我老闆給我很棒的學習和人脈機會,但我應該為這個而繼續待在這個工作嗎?如果工作生活佔了我們人生40年,那我們應該從工作中尋找什麼?」

在今日有戰爭、宗教爭執、文化衝突的現代世界,我常聽見周圍的人說某些種族、某些國家和我們的價值、信仰和傳統真的不太一樣。許多人問我住在上海有什麼感覺,跟日本人一起工作,或是美國人一起上學,要和跟我們差這麼多的人一起相處一定很難調適。

真的嗎?

我總是回答相同的事情:

當然一定會有文化差異,以及我們需要花時間去適應的事情,但最終,真的就如同甘乃迪很多年前所說:

「我們最基本的共同聯繫是我們都生活在這個小小的星球。我們都呼吸著相同的空氣。我們都珍惜我們孩子的未來。我們都是凡人。」

回到喜來登,我看著她,她的疑問帶來的沉默依然徘徊在空氣中。我想起我學妹幾天前晚上跟我說的話,而我回給她:

「做個對社會有用的人。」

最終,還奢求什麼?或許下次當我們對工作或我們到底該追尋什麼感到挫折或迷惘時,可以想想這個我們還是五歲時會回答的答案,依然天真,依然對這世界充滿理想。或許那五歲的小孩還比現在被金錢、虛華、現實生活壓力給困擾的我們還聰明。

她頓了幾秒鐘,最後一個小小的微笑出現在的她臉上。不管你來自哪個國家,我想任何年輕人都可以理解那個心情。

我們一同安靜地看著維多利亞海灣天際線。

在一個沒有答案的人生中,對追尋答案的年輕世代,我想那會是我們能找到最接近的答案,至少現在是如此。