2013/06/24
我痛恨駝峰式命名原則
甚麼叫駝峰式命名原則?
舉個例子來說,假設你有一個用來新增產品用的函數,你可能命名成
AddProduct
如果他是某個物件的方法,那你會這樣命名
addProduct
這個就是駝峰式命名法,目前主流的程式語言大都是推薦這樣的命名方式。
如上面的例子,駝峰式命名原則還分成兩種,如果首個單詞第一個字母也大寫的話,也被稱作帕斯卡命名原則。
相對於駝峰式命名原則,我個人比較喜歡底線命名原則,以上述例子來說,如果用底線命名原則來命名就會變成
add_product
我不否認駝峰式命名原則看起來比較美觀,而且名稱長度較少,但它的優點也僅只於此。
尤其是在一些 Script 語言中,你可以利用一個內容是函數名稱的字串去調用該函數來達到效果時,碰到駝峰式命名原則,你會發現沒有完美的解法~
我寫過剖析駝峰式命名原則字串的函數,從結論上講,不論是上面兩種駝峰式命名原則,還是名稱裡面包含連續大寫縮寫的名稱,我寫的剖析函數都能正確切開個個單詞 (前提是你沒亂命名)。
但能切開不代表能組合回去,原因是因為你沒辦法猜測組合回去的名稱被用在什麼情況下。
相對於駝峰式命名,底線式命名的原則還蠻死板的,他要求全部小寫,分隔單詞全都用底線。
這種命名方式很古老,但任何場合都能用,從各種程式語言到資料庫、表、欄位等等,全都一體適用。
分解組合這種命名方式也很簡單,甚至不用你自行來寫函數來剖析,大多數的程式語言都內建了處理分解組合這種字串的函數。
2012/09/28
AKB0048 的預言會成真嗎?
話說昨天 (現在過了半夜12點) 晚上回到家後,剛好看到某政論節目名嘴在討論中日之間因為釣魚台可能會發生戰爭。
我對名嘴的推論十分不以為然,雖然如此,我心中仍在想萬一真的發生戰爭,最糟的結果可能是引發第三次世界大戰~
那今年的這部動畫 - AKB0048 搞不好就會預言成真:直到秋夜原被導彈襲擊之前,AKB 的成員們仍堅持在劇場公演...
接下來請看動畫自行腦補~
2010/05/04
腰傷好了~
上禮拜本來要被親戚抓壯丁(貌似我也不是壯丁,應該說抓參謀比較恰當),臨行出發前在整理房間,結果彎腰撿東西後,就不得不到醫院看病了~
這幾年這樣的腰痛發生次數有變多,這次是因為要跟其他人團隊合作,所以想說去醫院看看會不會比較快好~
不過還是拖了快一個禮拜才復原,接下來要追進度囉~
2010/04/21
最近許多觀看本格的朋友都在 Facebook 上回應~
我承認我並沒有很勤勞的在寫部落格~
不過最近我發現,常常有人回文的地方是 facebook 那邊,而不是痞客邦這裡。
有人知道 facebook 上能裝 GA 或是 Yahoo! 奇摩站長工具嗎?
我是很想知道那邊的流量狀況~
2010/04/13
失去了一位好友
今天接到一位好友的噩耗,覺得相當突然,不過我也不知道該如何反應才好。
明明前幾天還在 GTalk 上談事情,這兩天沒看到上線,結果等來的卻是他不幸的消息~
希望他能一路好走,我們一起合作未完成的事情我會扛起責任將它完成。
2009/12/30
明年的工作計畫
明年要做的事情大致上定下來了
- 2010/01/15 前結束掉手上所有的案子,準備寫一本 Drupal 版型開發的書
- 開始嘗試做 Drupal 相關的教學,跟幾個朋友詢問了一下行情,我應該會開價 NT$1,000 / hr
- 多參加各種社群活動、多認識人
2009/08/12
推掉了幾個案子
雖然我是專業的 SOHO,有案子做當然是多多益善。
不過今天去幫朋友弄電腦(當志工)時,跟朋友聊到我最近推掉了兩個案子,他覺得很驚訝。
我個人接案有一個原則:同一時間我只做一個案子。
有些前輩他們可以同時做好幾個案子,不過我沒辦法,因為我很容易分心,所以不管是什麼事,我一次只能做一件事。
2008/12/29
一年離職的魔咒
我上班從未堅持過一年。
最近,我又要離職了,這份工作將於2008-12-31日劃下一個句點。
這半年來,尤其是這兩個月,許多不利於上班族的訊息不斷在媒體中放送,例如:不景氣、無薪假、裁員等等。
我常常在想,家庭、社會、公司給每個人的歸屬到底是什麼?為甚麼大多數人害怕失業?
我在上一份工作上瞭解到家庭的牽絆,當時是在一個討論勞健保自付額度到底要選擇扣多少%的問題。
個人是傾向扣多一些,因為當時我拿了薪水也不知道要幹麻。
不過當時有家庭(累)的同事們都傾向扣少一點,讓他們能夠有多一點錢去付房屋貸款、小孩的學費等等。
我不知道是幸運還是不幸,目前沒有對象,也沒想過交一個,父母對此也無期待。
雖然已過而立之年,但心中還有一股衝動,想要對世界有些貢獻。
有點離題了,讓我們回到失業的恐懼這個話題上。
我認為,不論是主動還是被動,失業這件事情其實不應該是會讓人恐懼的。
從客觀的角度看,公司並不屬於全體員工,而是屬於公司的經營階層的那一小群人所有。
這些人決定了公司的一切,所以,公司會有「負責人」這個角色,這個角色明明白白告訴我們,公司並不屬於全體員工的。
因此,失業變成了一個平常的事件:人總會來來去去,因為員工不能掌握自身的被僱用權力。(注意,我用的是權力而非權利)
平常的事情像什麼呢?像吃飯、喝水、睡覺一樣。這些東西太平常了,所以讓我們日用而不知。
失業對我來說是稀鬆平常之事,沒有「上班」並不會對我有所損害,重要的是,我有沒有「工作」。
工作是什麼?工作是實現人生唯一的途徑,無論你做的是什麼樣的工作。
我失業、不用上班,但我仍然有工作,只是這工作沒有人會發給我薪水,也不會有人給我鼓勵與支持。
我不知道其他人的選擇是什麼,但我知道我父母的選擇是要那份薪水。
我感謝我父母過去的努力和選擇,讓我可以有選擇的權利(與任性),現在,輪到我了~
2008/10/29
瓦斯跟洨人難得有一致的看法,我也要跟進~
我也不知道出處,但是從瓦斯跟洨人CV過來的~
2008/01/25
2008/01/24
準備要換工作了
我將於2008/02/15正式離開我目前的工作,也就是俗稱的年後離職潮~
新的公司跟工作已經決定好了,由於新工作是屬於程式設計性質,所以往後這裡的文章比較常更新。
今天回了幾篇留言,也去留言版那邊看看,發現 PHPChina 那邊有意思要合作,由於我還沒確認對方身份,所以不便回信。
再者過了快一個月才回覆,也不太好意思。不過 TWPUG 的站長是 Kiang,所以我會把那個訊息告知他。
另外,我也申請了Google 的 AdSense,純粹好玩,弄起來看看~
2008/01/22
1 w = 683 lm 正式確定是錯誤的
根據文中指出:對比發現,新型超導技術LED的發光強度是目前最亮LED的20倍。
這句話來看,我們可以知道這款LED的每瓦流明數為何。
目前我所知道的最亮的LED是CREE的實驗品(請見:「Cree大功率LEDs可達129 lm/W,創新紀錄」),其每瓦流明數為129 lm/W,20倍就是2580 lm/W。
即便我誤解他的意思,假設他指的是用目前市面上可買到的量產品來比較的話,以目前來說,大約是50 ~ 60 lm/W,其20倍也在1000 lm/W以上,對於結論一樣是正確的。
P.S. 發光強度的單位是燭光,在相同的光照角的條件下,燭光和流明成正比,所以發光強度的20倍可視為光通量20倍同義。
2008/01/02
LED 光、電、熱轉換效率的探討
LED 的產熱量與光效無關;不存在百分之幾的電功率產生光,其餘百分之幾的電功率產生熱的關係。
簡單的說,燈具的研發若以 1W = 683 lm 的理想值和 LED 晶片的發光效率來做比較,推估所產生熱量的方式,有很大的漏洞。
從巨觀而言,我們會假設光電轉換的極限效率為一定值,也就是 683 lm/w,就此文章的結論而言,似乎違反能量守恆定律,但是若我們的假設錯了呢?
查看 683 lm/w 這個比例的意義是:
國際約定波長為555nm的單色光發光效率定為1,此光每1W 輻射通量具有683流明的光通量。
在這段敘述裡面,沒有提到電的問題,而這個比例又被稱作最大光譜光視效能。
嚴格來說,這個國際約定的比例,其實是:
光源發出的輻射通量可產生多少能對目視引起刺激的光通量。
也就是說,這個比例值並非是光電轉換效率的最大比例值。而光電轉換的比例值,實際上或許有可能受其他物理條件的影響,造成這個值並非定值。
另外一提的是波長555nm的光的顏色是介於黃色與綠色之間的顏色。
底下是RGB三原色的波長範圍(單位:nm)
- 紅:620.5~645
- 綠:520~550
- 藍:460~490
- 半導體轉換出來的光子並不會100%飛出半導體外
- 這些沒有飛出半導體外的光子會轉換成熱能
- 因為上述原因,同體積的LED,越高效的熱阻也越高
與君一席話,豁然開朗~
2007/12/26
2007/12/13
LED路燈的光通量
- 根據 道路路權寬度與橫斷面劃設 「表5.5基本路型範例」中,無中央分隔帶之最寬距離為23公尺
- LED光源之照射角度約為120°,依 市區道路照明設計 「19.4.4 燈具光度分佈」所述,為「遮蔽型」。
- 路燈以相對排列設置,其裝設高度參照 市區道路照明設計 「表19.7路燈高度與桿距間隔關係」應為12.5公尺。
- 高度放寬為高13公尺,開角120°之角錐,其底面積為1592.79平方公尺。
- 依 市區道路照明設計 「19.1 市區道路照明輝度」所述最大輝度為2 cd/m2,兩者相乘得出3185.58 cd。
- 燭光與流明的轉換,發光強度3185.58 cd,照射角120°,光通量為10,007.795 lm。
而影響最終投射面的光通量主要有以下三個因素:
- 溫度:依據 LUMILEDS 和 日亞化 的技術資料表示,當環境溫度由25°C提昇至75°C時,流明數會降低為25°C的90%。
- 二次光學:目前二次光學板的材料多用光學塑膠,其透光率可參考「高分子材料」網站,多為90%以上。
- 空氣的散射與吸收效應:這是最難估算的因素,一般而言,相對於散射效應來說,吸收效應非常弱,可以不理。空氣中的塵埃、空氣的密度、溫度等等都會影響散射效應的強弱。
- 散射可以用前置散射儀來量測。
- 光被空氣分子散射的機率和波長四次方成反比:因此可見光中以波長最短的紫色光最容易散射,這就是為甚麼霧燈的顏色是橘黃色、警示燈是紅色的緣故。
若路燈排列方式為單側排列,則所需流明數會倍增為 25K lm。
2007/12/07
一個 Switch Power Supply 的網站
這個網站裡面有許多技術資料,我把對我有用的摘在底下:
銅箔(Trace)邊緣沿面距離部份 :
- FUSE必須存在於AC LINE迴路上,不可放置於NEUTRAL迴路上.
- AC端連接至FUSE點,稱為FUSE前,FUSE另一端稱為FUSE後.
- FUSE前對NEUTRAL以及其他各端點,距離保持2.75mm以上有效距離.
- FUSE前對FUSE後距離保持2.5mm以上有效距離.
- FUSE後對NEUTRAL距離保持2.5mm以上有效距離.
- FUSE後對其他端點,距離保持2.5mm以上有效距離.
- DC高壓端對低壓端(信號端). 距離保持2.5mm以上有效距離.(此點距離可依照安規的算式降低對距離的要求,最低建議保持於1.5mm以上有效距離).
- 初極對次極,距離保持6.4mm以上有效距離.(如空間許可,可提高至7.0mm以上,可符合更多種類的安規需求).
- 初極對F.G ,距離保持4.0mm以上有效距離,但若是初極F.G 銅箔在鎖附時與次極的PAD有相接於同一個地板,則安全距離同初極對次極的安全規範..
( 有時,針對LAYOUT空間不足,必須開溝以增加銅箔邊緣沿面距離,但重點的部份仍需注意銅箔的沿面空間距離)..
- 若是初極F.G 銅箔在鎖附時與次極的PAD有相接於同一個地板, 則F.G銅箔空間距離必須保持 4.0mm以上有效距離.
零件面零件沿面(空間)距離部份:
- FUSE前對FUSE後距離保持2.5mm以上有效距離.
- DC整流高壓迴路(包含Q1 SNUBBER NETWORK)對低壓元件之零件面沿面距離, 經10N之推力之後.最低建議保持於1.5mm以上有效距離.
- 若X’FMR Core視為一次側(primary), 則Core和二次側零件沿面距離必須保持 5.0mm(雙重絕緣原則)以上有效距離;空間距離必須保持 4.0mm以上有效距離.
- 同上一點,一次側(primary)與二次側零件沿面距離必須保持 5.0mm以上有效距離(雙重絕緣原則);空間距離必須保持 4.0mm以上有效距離.
- 經10N推力之後一次側(primary)零件至二次側之空間距離必須保持4.0mm以上有效距離.
一般銅箔的跑線,規則比較簡單,比較單純的說,只要注意銅箔間的間距就可以了.一般大約將間距保留為0.5mm即可,銅箔對於板邊也需預留大於0.5mm的間距,以免PCB完成後,整個板邊的銅箔都短路在一起,
而關於IC PIN3(C/S)其銅箔週邊最好預留0.75mm以上,避免被周圍的銅箔所帶的雜訊干擾.IC PIN6(OUTPUT)所跑的銅箔寬度,最好維持於0.5mm以下,其餘信號部份的銅箔寬度則可大可小.
至於跑大電流的銅箔寬度,大致上以1A預留1mm寬度.不足的部份,可以以防焊吃錫來增加銅箔厚度.
再來,以包圍銅箔的方式來形成銅箔部份,其轉折的部份,角度必須符合45度角(45度,135度,225度,315度)和90度角(0度,90度,180度,270度,)不可有過大的鈍角或過小的銳角出現..
若是在跑線的過程,遇到距離不足,必須將防焊PAD切割時,最多只能切割整個PAD的1/3,且不能造成破孔或是無法吃錫的結果.如果真的無法避免.建議變更PAD防焊形式..
2007/11/06
路燈骨架結構完成~
這幾天不斷設變的結果,我得到一個寶貴的經驗:不論材料強度多強,只要力距夠長,照樣可以搞到變形!
接下來呢,當然就是微調跟偷料啦,目前骨架重約3KG,可承重100KG以上,33倍的差距我很滿意~
2007/10/17
2007/09/18
惡劣的人
我一看,發現是上次同一個IP進來的,貼文的內容有連結,會連到某個植入木馬的網頁上,行徑真是囂張惡劣。
二話不說,馬上把他的帳號停用,IP Ban掉,這次我從前端的防火牆寫規則進去,讓他連都連不進來~
在此公佈這個人的IP,以提醒眾人:203.121.79.215
另外,根據我姨丈的說法,這個人是週末、假日才會上網站留言,很有可能是故意來搗蛋的。
無論如何,目前是暫時阻止他的行動了~