2015年9月26日 星期六

在 word 中快速加入與頁寬同寬的底線

插入水平線


有時有些很簡單做的功能,不知為何很難找到出處,微軟實在是滿妙的

2015年9月8日 星期二

在前端程式使用 Firebase 的 SOP

參考 https://www.firebase.com/tutorial/#gettingstarted

此範例為一簡單的聊天程式,沒有修改或刪除的功能。必需事先申請一 firebase 帳號並取得站點位置
  1. 引用程式庫
  2. 新建 Firebase 物件,連接(參考)到資料庫(站點位置,依所申請的firebase帳號而定)
  3. 進行操作;新增 (set / push)
  4. 聆聽事件;on('event', function (snapshot)...)
  5. 取得 snapshot 內容 (val) 呈現給使用者,進行處理、顯示
其中操作的部分,包含 CRUD ,都有近似與 RMDB 相對應的操作,但是 cross join 目前看來沒有很簡單的對應,演算法必需要出現迴圈。另一方面沒有概念直接對應到 SQL 的 where 敘述,而是採用了一種 sort-splice method 

 { orderByChild(), orderByKey(), orderByValue(), or orderByPriority() } 

 orderByKey(): 以鍵名排序
 orderByValue(): 以鍵值排序
 orderByChild(): 鍵值均為 hash ,以此 hash 中指定鍵"值"排序

 { limitToFirst(), limitToLast(), startAt(), endAt(), and equalTo() }

(參 https://www.firebase.com/docs/web/guide/retrieving-data.html)
 limitToFirst(), limitToLast(): 以序數選取,類似 sql 中的 top
 startAt(), endAt(), and equalTo(): 以值之比較選取,類似 sql 中的 where 條件

根據 2.  Understanding Data 的說明,我們可以這樣理解,firebase 所儲存的其實是一個大型的 hash of hash (of hash ..., in perl's term) 的複合資料結構,沒有原生的陣列資料,因此必需借用 hash 來實現。