2014年5月13日 星期二

include和require的觀念

[目的]
將一份PHP檔引入至另一份PHP檔


[include和require的差異]
主要在於
1. 產生錯誤訊息
2. 是否會執行

require會產生fatal error (E_COMPILE_ERROR)且script停止執行
include會產生warning (E_WARNING)且script繼續執行


[加上once]
include_once和require_once
防止同一份檔案被重複引入

Ref.
1. PHP include and require Statements
2. require_once(PHP document)
3. include_once(PHP document)


2013年7月14日 星期日

[筆記]學徒模式

[應用]

程式設計、吉他、慢跑

[先導]

學徒,基本上指的是一種工作態度。相信總有更好、更聰明、更有效率的方式可以處理正在做的事。
學徒期,指的是尋求能夠迫使自己學習更好、更聰明、更有效率的方法的過程。
模式,是指對特定情境下某個問題一再出現解決方案的描述。

[大綱]

  1. 倒空杯子
  2. 走在漫漫長路
  3. 正確的自我認知
  4. 終身學習
  5. 安排自我課程

倒空杯子

工藝由淺入深所需較大面向的心態與注意事項。
你的第一個語言、繫上白帶、釋放你的熱情、具體技能、顯露你的無知、正視你的無知、深水區、回到舒適區。

走在漫漫長路

理解學習是一輩子的事以及需要知道自己身在何處,見樹又見林。
漫漫長路、工藝先於藝術、持續的動力、培養你的熱情、量身繪製地圖、使用你的頭銜、堅守初衷、不同的路道。

正確的自我認知

說明站在巨人的肩膀上以及找尋能夠前往新世界的伙伴的重要性與幫助。
成為菜鳥、尋找個人導師、志趣相同的伙伴、密切交往、打掃地面。

終身學習

學習的實際技巧與注意事項,建立個人學習的正向循環與回饋。
拓展你的頻寬、練習練習再練習、拋棄式玩具、使用原始碼、邊工作邊反省、記錄個人所學、分享個人所學、建立回饋迴路、從失敗中學習。

安排自我課程

有效率地追求某個世界(領域)的知識與紀錄知識歷程。
閱讀清單、持續閱讀、研讀經典、深入探索、熟悉使用工具。


[心得]

基本上可以適用於大部分學習的狀況。以學習吉他為例,你的第一個語言可替換成你的第一首伴奏,只知道幾個簡單的和弦和節奏的情況下所能處理的伴奏。

整本書大致上就是在闡述學習一項工藝時所會碰上的狀況、心態、情境和如何處理相對應的問題,適合在學習的漫漫長路上回頭檢閱自己所身處的階段和煩惱。

[好句]

  • 不知而不知自身無知,愚者-避他
    不知而知自身無知,惑者-教他
    知而不知自身所知,寐者-醒他
    知而之自身所知,覺者-從他

    《The Life of Captain Sir Richard F. Burton》書中引用的阿拉伯諺語  
  • 在一個劇烈變化的時代,學習者才能繼承未來,博學的人會發現他們擁有生活再不復存在世界的能力。

    Eric Hoffer,《Reflection on the Human Condition》
  • 你不應該與特定的技術白頭到老,應該尋求廣泛而足夠的基礎知識與經驗,讓你能夠針對任何特殊的狀況挑選合適的解決方案。

    Dave Thomas and Andy Hunt,《The Pragmatic Programmer》, p.xviii
  • 擁有知識並不等同於擁有技術與應用知識開發軟體程式所需的實作能力,這就是所謂的工藝。

    Pete McBreen,《軟體工藝》
  • 如果你能夠發現自己缺乏的東西並加以處理,你將能夠向前邁進。穩固的學徒期所需的基礎之一就是正確的自我認知。能夠清楚的知道自己的能力、需要立即擁有的技術以及你長期興趣的目標。

    Dave H. Hoover and Adewale Oshineye,《Apprenticeship Patterns》, 莊弘祥譯《學徒模式》p.34
  • 如果放縱自己,我們會在等待某些消遣或其他事情結束才真正開始工作;只有那些渴望知識,即使處於逆境仍然持續追求理想的人能夠達成目標,根本沒有什麼有利的狀況。

    C.S. Lewis,《Learning In War Time》
  • 學習模式、慣例與最佳實作最好的方式就是閱讀開放原始碼程式,看看其他人怎麼做,這是保持自己不落伍的好方法而且免費。

    Chris Wanstrath在2008年Ruby Hoedown中的keynote