Skip to main content

PHP 實做點(報)名系統 : 緣起

PHP 實做點(報)名系統 : 緣起

如果是有在追我 plurk 的人應該知道,我最近在魔獸接了某公會會長, 最近正為了搶尾王首推進度,陷於水深火熱中 T_T 為了便利出團流程,我早打算要弄個點名系統;但因出團、上班、搬家佔了大部分時間,只能先擱著。 最近搬完家,時間稍微穩定;決定趁這個機會來寫一寫,順便把規劃相關思維和碎碎念都整理上來,充實 blog 內容 XD 這一系列的文章會跟著開發進度並行撰寫,預定包含下列內容: 開發流程、方式 選擇 (小型) 網站規劃 開發工具、部署規劃方式介紹 PHP / MySQL 實做

SQLite + Python ?

SQLite + Python ?

前陣子想說,在 PHP 以外,應該學點其它的 Script 來用,所以選擇了 “There’s only one way to do one thing” 的 Python ,而非 “There’s MORE THAN one way to do one thing” 的 Perl。這是個人喜好問題,所以沒什麼好談的。 至於會想把重心偏離 PHP 的原因,是因為我堅信 “好的語言要基於良好的架構,以及寫得夠好的 manual (進入障礙低)”。十年前,PHP 的 Manual 相當易查易用,主頁面顯示兩層的內容,其中第二層便是函數名稱,且包含函數簡短說明。因此我在一夜之前 K 完其中的大半。幾個月前我又瞄了一下 Online Manual,發現整個架構變得難讀了。主頁面現在只顯示第一層分級,並且沒有說明;各函式的說明又跑到了第四層,而且在 1-3 層都沒有說明。也就是說,我必需要 Click 兩次才看得到函數名稱與說明;或者是,才知道我有沒有走錯分類。除了 Manual 變差以外,在 PHP 涵蓋越來越多功能以後,遲不引入 namespace (或 module) 的概念,會使得多人合作開發系統,或者是程式的引用越來越容易造成麻煩。 至於 SQLite 的故事就更簡單了。我一直有在摸 […]

從 SQLite 看 SQL (2) :: 隨隨便便的資料庫說明

從 SQLite 看 SQL (2) :: 隨隨便便的資料庫說明

現在的 RDBMS (關聯性資料庫系統) 多半是長這個樣子: Database 1 Database 2 Table 1 Column 1 Column 2 Column 3 * Index 1 * Index 2 Table 2 也就是說,資料庫系統底下有好幾個資料庫 (Database),每個資料庫底下有好幾個表格 (Table)。每個表格可以包含有好幾個欄位 (Column),然後每個欄位各自要設定名稱,資料型態,能不能為空值,等等的屬性。資料則是以列為型態在存表格內,稱為資料錄 (Record Set) 或是資料列 (Data Row)。為了加速搜尋,可以將表格的某些欄位設為索引 (Index),那麼在對這些欄位檢索資料時,速度就可能可以加快 (特別是對複雜的查詢)。 有些 DBMS 要求使用者先行登入,並且包含某種型態的權限系統;有些 DBMS (例如 SQLite) 就沒有這樣的設計。另外,有些 DBMS 會設計各種內建函式或語法,使查詢的方式變得更多樣化 (如果能透過下 Query 解決的問題,就不要把資料收到 Script / APP 裡用程式自己算),效能也更高;有些 DBMS 則因某種原因,而不提供某些語法。所以在使用時還是要 K 相關使用手冊。 […]

從 SQLite 看 SQL (1) :: 起頭

從 SQLite 看 SQL (1) :: 起頭

最近因為某種原因 (不是上次的幫 SPORE 蓋房子了),又回來碰了一下資料庫。隨手翻了一下,發現 SQLite 的官網文件中,關於 SQL 指令的說明相當淺顯易懂,因此打算沒系統的亂翻一下,順便給自己當個備忘。當然,網路上關於 SQLite 的特性與推廣已經夠多了,不需要在這複製貼上 XD 這系列文章的翻譯沒有時間表,更沒有行程表 ! 嚴禁摧稿 (OS: 其實跟本沒人要看吧,哭哭~) 預定之後會分別對 SQL 裡的指令,藉由翻譯 SQLite 文件中的對應項目來做說明。暫定可能照 CREATE, ALTER & DROP, INSERT, DELETE, UPDATE, SELECT, function, TRANSACTION 這樣的順序亂講吧。至於 JOIN, Sub-Query, EXPLAIN, VIEW 就看我能不能在寫到那邊之前,把它們弄熟了 XD 除了 SQLite 的官網之外 (那個指令結構圖還挺好用的),還可以念 MySQL 文件長知識 (2549 頁的知識啊 ~~~),或者看這邊的文章先有點概念。SQL 的歷史及說明可以翻 Wikipedia。 另外,由於 SQL 標準允許各資料庫系統在某些地方自由發揮,並且 SQLite 也未必遵守 SQL […]