@ChingHanHo

I Build Stuff.

MongoDB 的 ODM:mongoose 簡單介紹

mongoose

mongoose 是一套給 Node.js 用的 MongoDB ODM,跟常聽到的 ORM 不同的地方只是一些技術名詞定義上的把戲,其實是差不多的意思。

透過 mongoose 可以用包裝過的、更高階的、更直覺的 API 語法,以及模擬 SQL 資料庫 schema-based 的方式,來操作 MongoDB 資料庫。以下是個官方文件給的簡單範例,先建立了一個叫做 Cat 的 Model,model 的第二個參數就是建立 schema 的所在:

1
2
3
4
5
6
7
8
9
var Cat = mongoose.model('Cat',
  { name: String }
);

var kitty = new Cat({ name: 'Zildjian' });
kitty.save(function (err) {
  if (err) // ...
  console.log('meow');
});

Node.js 的 Http vs Connect vs Express

node-express

這篇應該是我第一篇寫有關 Node.js 的文章,未來應該會開始多寫一些有關 Javascript 的東西。這次主題要來聊聊 Node.js 的 http 模組,跟知名的 Connect 和 Express 之間的關係,如果上網去問,有人會回說就像是 Ruby 的 Rack 一樣,但是具體到底是什麼東西呢?

劣以為的 OOCSS 和 SMACSS 以及其他 CSS 規範

真心覺得寫出 CSS 並不難,但是要寫出可被維護的 CSS 比其他程式語言都還難。所幸已經有許多大師級的人物,提出許多設計模式和思維,藉由站在巨人的肩膀上可以讓事情事半功倍。這篇文章就來說說 OOCSS、SMACSS 和撰寫 CSS 時應該注意的規範。

(本文的例子用的是 SCSS 語法)

每個人都應該有一套自己的密碼演算法

the-matrix

最近有位朋友的 Facebook 帳號第二次被盜,然後一堆人被他加進一些討厭又奇怪的團購社團,那位朋友也是尷尬又無奈,所以我就教他一些我設定密碼的「演算法」,聊天內容很多,我就順便整理到部落格來分享,希望對其他人有用。

在設定密碼前應該要有個基本認識,就是這個密碼可能對於你媽而言是保密的,但是在室友駭客面前、或是網站管理員面前,它是透明毫無隱藏的,所以在這前提下就不應該把每個網站全部設同個密碼,因為駭客可以拿這套帳號密碼去登入其他網站。

密碼演算法

但是每個網站密碼都不一樣怎麼記得住?所以需要一套「演算法」,以後只需要記憶這套算法,而不是去記密碼。「演算法」聽起來好像很神奇,其實只是一套組合的方法,隨便舉例:

網站分級變數 + 常數 + 網站辨識代號 = 密碼

以下來分別說明這些東西是什麼。

OS X 與 Windows 切換應用程式的介面體驗

用了好一陣子 OS X 回頭去用 Windows,發現有好多不習慣,除了主要的功能鍵 Ctrl 跑到鍵盤邊緣去了(OS X 主要功能鍵 Command 就在空白鍵旁邊比較近),手指頭常常按錯之外,最近在整理硬碟資料夾的時候又被一個小小的切換視窗功能給煩到。

常用電腦的人一定都很熟悉 Ctrl + Tab 這個功能,可以快速在不同視窗之間切換,可是在 Windows 下當我使用這個功能時,給我的介面是這樣的:

windows-switching-windows

主要是一個視窗縮圖,和一個小小的應用程式 icon 塞在右下角,辨識度非常地差,我很難一眼就快速認出哪個視窗是我要切換的應用程式。再來看看 OS X 切換視窗的介面: