over 4 years ago

前言

常看esor大的blog,了解更多Evernote的應用,
就開始慢慢使用Evernote,漸漸的Evernote已經是我生活中不可或缺的工具
(對我來說就是第二顆大腦,而且空間無限大,還可以隨時像Google一樣搜尋)
自己也很喜歡玩新服務,Evernote周邊的App很多也很方便
尤其今年看到DevCup 2013上不少作品還滿令人喜歡
當然就會一直推身邊朋友坑,大力宣傳Evernote的好用
也有在交大資工營推廣Evernote等數位工具的使用

But自己不只想甘於只是活用工具者
總覺得都已經念好幾年資工系所,
不應該只是從學校課程學習,也該學會寫一些工具讓自己的生活更加便利
再練強一點 Maybe可以參加DevCup 或 Hackthon之類的,推廣自己的idea也算是額外經驗...

無意間從Evernote台灣開發者的FB得知 Taiwan Evernote Developer Meetup #2
當 Evernote 遇上 Node.js Workshop 為主題
有能學習開發Evernote App的機會當然立馬報名參加



在迪化街的Evernote台灣辦公室真的很酷,
迪化街大稻埕一帶,有許多古老傳統建築,
而我們這數位世代的產品Evernote在其中顯得別具特色
不過想想Evernote的口號 Remember Everthing ,能在快速變遷的時代保留這些歷史記憶
就覺得Evernote辦公室選在此是再適合不過了
(Evernote內部裝潢超有文創設計空間的氣息阿!!!)


Workshop開始前跟Evernote員工小聊了一下,
滿認同要推廣Evernote要先從在生活情境中,Evernote可以幫助我們哪些來著手
比起直接宣揚Evernote的功能要好得太多。
其實自己更認為,如果Evernote周邊有很好用的服務 ex: Penultimate、Skith
也會讓許多人開始慢慢使用Evernote,就像小米機靠的是口碑宣傳一樣,Evernote的使用者會快速成長。


開發教學

申請Evernote API Key


email要填你能收得到信的地方(不然你怎麼拿key xDDDD)
其他的隨便填,反正是只有最基本功能的key,據說Evernote不太會審核

[環境設定]

首先一定要安裝的是Node.js,詳情可以參考這一篇
再來要安裝express (Node 中的 MVC framework)
npm i -g express

自己在Win7 32bits 安裝express的時候遇到不小的麻煩,
有安裝成功但一直跳出 'express' 不是內部或外部命令、可執行的程式或批次檔。
不知為何總是把express抓到 C:\Users\MarsW\AppData\Roaming\npm 中,
而不是 C:\Program Files\nodejs\node_modules\npm
嘗試過將"我的電腦>環境變數>path"改掉,still the same
後來索性把把原位置 C:\Users\MarsW\AppData\Roaming\npm 中的

npm/
  ├── express 
  ├── express.cmd
  └── node_modules/express/
      └── 

共兩個檔案、一個資料夾,複製到"C:\Program Files\nodejs\node_modules\npm"底下
總算是可以work了@@

[sample code]

下載或clone後,進到sample/express資料夾中

修改package.json,把express version改成自己安裝的express版本
(可下指令express version查詢,我自己的環境是3.4.4)

package.json
"dependencies": {
        "express": "3.4.4",
        "jade": "*",
        "oauth": "*",
        "evernote": "*"
    }

修改完後下指令npm install,要等待一段時間下載

再來修改config.json,輸入自己申請的key
之後就可以下指令node app.js,在瀏覽器輸入http://localhost:3000/,就可以看到

[Testing in Sandbox]

因為我們申請的API key 只能在Evernote中的Sandbox中使用(和本來Evernote的用戶分開),
所以要在Sandbox申請新帳戶(email根本來Evernote系統中的帳戶一樣沒關係)
在Sandbox中的帳戶也能有像Evernote一樣的功能:新增筆記、新增筆記本......etc,是很不錯的測試環境
之後要上架要再申請成Production,申請成Production key欄位就要認真填了,這裡Evernote會嚴格審查!!!

申請完之後,點Click here


選擇授權後

就可以看到程式讀取的Evernote筆記本列表還有一些其他資訊

References

EVERNOTE SDK FOR PHP
Meetup #2 投影片
Evernote API 開發指南
Evernote Developers
Slide+ Evernote 直接變成slide,還可用手機遙控


後記

活動網頁中:"如果你沒有經驗沒關係,我們將會一步一步地教你寫出一個簡單的小應用。"
這句話實在是誤解太大了阿@@

不太適合初學者(Node.js要有一定熟悉程度)
講者很快的說明範例:enmlEditor功能
之後開始講解我們第一階段要完成的目標:印象中就是login/logout、呈現出API key
接著就開始看要有哪些檔案、裡面的code分別是甚麼,然後就開始讓我們去做

當下自己的感覺是,一堆看不懂的code (自己的Node.js程度就只有 2013/Oct 發的那兩篇筆記文)
完全跟不上講者的速度,當時手邊也沒有講者的Slide可以隨時回頭看
後來想說就照著講者提到的 Evernote API 開發指南
開始照著文章的內容新增、修改檔案,打指令測試.....etc
中間一直遇到很多trouble(有聽到這次參加者有不少也是):環境問題、參數設定、sandbox...
光是在上面提到的部分大家就弄到了快21:30
講者在最後很快帶過enmlEditor的code內容,這次聚會就這樣結束了,Heroku的部分也來不及講到
分組的meaning感覺也不大,大家都在第一階段:感覺講者認為是warm up的地方就卡住了
原以為是像OpenHCI分組之類的會想個簡單idea一起開發,有點小可惜

不過這次的Workshop只有短短一小時時間在開發教學上,時間真的很吃緊,
個人覺得在warm-up部分改成直接去下載sample code
然後對某幾行做一些修改達到特定的功能,而非全部從零開始
再帶下一步發想idea或讓與會者自行體驗,可能效果會比較好

以我自己的狀況:
離開聚會時,按照blog教學一直沒設定成功,
回家後直接用sample code一次搞定(同本文上述操作筆記)
覺得當下早一點跑這個流程,就會超級迅速
可以把更多大家難得聚在一起的時間做更棒的運用
期待以後的Meetup有類似的開發教學會更好玩囉 =D

//一堆code 還是看不懂,以後有空先從example code開始搞懂囉!!!
//OAuth、express、jade...etc
//再來就是練習Evernote的CRUD

← Node.js 練習 - HTTP 路徑(route)建立 2013/冬 - 在團體合作使用的數位工具情境 →
 
comments powered by Disqus