Tag: node_module

Do Not Use bodyParser with Express.js 有在使用express要注意一下 這個安全性的問題是幾天前有使用者發現回報的,詳細的內容可以看一下上面那篇文章。主要是express中所提供的bodyParser的方法,會處理使用者傳入的資料(json, url or file)然後主要就是上傳檔案這部份產生的問題(express.multipart),因為它會在/tmp下面產生一個暫存檔,但是卻沒有回收,所以有心人可以用這種方式灌爆你的伺服器。 What should I do? 最好的方式是趕快把express升到最新版 ;p TJ已經在3.4.0的版本中修正這個問題了 ~ 主要是把原本的formidable抽換成multiparty “Express 3.4.0 and Connect 2.9.0 have made some small changes to bodyParser()” …

從github上有注意到hexo作者正在進行大改版,所以先提早做好大爆炸的準備,今天起來看到2.0終於放出來的消息: Hexo 2.0.0 released! https://t.co/7cFtnSfPid— SkyArrow (@tommy351) August26, 2013 身為踩雷達人,當然義不容辭的給它升上去(大誤 不過看來比想像中平靜許多,只有模版上些許要注意的地方,如果有自己做一些hack的話,可以看一下新的官方文件,變數有部分修改。 看起來蠻正常的,沒遇到什麼大雷(感謝作者阿!! Future? hexo的作者蠻熱血的,對於專案也持續在作改進,不過倒是比較少提到未來發展之類的,所以也不知道會怎樣(炸),因為之前 是用docpad,所以有時候會習慣拿來比較一下。docpad的作者比較積極把專案推廣成讓更多開發者可以參與進來的大型開源專案,所以在新版設計、plugin & theme還有討論區上,都蠻明顯可以看到,這樣也能讓更多開發者貢獻自己的心力。hexo就比較像作者獨立開發的專案(當然說不定這有作者自己的考量在) 這算是自己的碎念罷了~ 不過能有更多人回饋對於開源專案應該是好的吧 ;p…

喜新厭舊的個性真的把我害慘 XD 今天心血來潮想好好整頓一下這邊,結果翻著翻著發現Wordpress.com改版不少,也開始支援Gist,一度衝動,想說要不要乾脆換回去。一來老是要維護實在也沒那麼多時間,但是又覺得docpad的預設版型實在不好看(當然我自己做的更糟),wordpress就提供你一堆選擇,這樣也方便多了。 不過後來Geek魂燃燒(有這種東西嗎XD),就稍微找了一下,結果看到這個 Octopress主題Phase完成了(大概吧),等到Hexo版的做完後再順便一起發佈 #Octopressgithub.com/tommy351/octop…— SkyArrow (@tommy351) December 1, 2012 想說Octopress我知道,那Hexo是什麼東西,然後就變成現在這個樣子了(炸 其實Hexo跟之前我用的docpad相當類似,都是Static file generator(這硬翻中文總是覺得怪怪的 XD),就是把 你的文章轉成另一種格式輸出。不過docpad支援的格式相當多,對於只拿來寫寫blog來說其實有些大材小用,而hexo則是很明確就是以blog為主。 CLI、theme、plugin & deploy,…

進入2012年後,NodeJS的進展看起來並沒有減緩的趨勢,今天也堂皇地邁進v0.6.7版本了,不過對於每位投入的開發者來說,Node + Npm的組合是促成今日社群蓬勃發展的重要原因,也正因為如此,npm也已經整合進Node裡面成為核心元件之一了,因為有npm,開發者不需要「自己再發明輪胎一次 :p」,可以在別人已經開發好的東西之上,快速打造出新的功能。 這就是我這麼愛NodeJS的原因之一(笑) 所以想說既然自己受惠不少,也趁這個機會寫下一些用過不錯的專案,一方面算是當個備忘、一方面也可以給大家作個參考,這樣也可以省下不少開發時間。 optimist 當我們開發CLI程式的時候,最常作的一件事應該是這個: MY_CLI -a aaa --b cde 這種使用方式應該大家都不陌生,一般CLI也大概這是這麼用的吧 XD optimist就是一個可以幫你處理CLI參數處理的函式庫,在nodejs中只要是有提供CLI的程式,你幾乎都可以在package.json中看到optimist的蹤影,所以如果你有需要作類似功能的時候,不妨考慮一下,使用的方法大致如下(擷取自原作者範例) hashish 順帶一提出自同一位作者的小工具-hashish(應該還會陸續提到這位強者的不少好物 :p),可以幫助開發者更方便處理JS中的hash。 直接參考作者給出的範例,…

最近幾乎都把心思放在NodeJS上面(應該是SNSD吧...驚!!),雖然在前幾天也正式超過ROR在github上的關注數量了,其實這也不代表什麼,目前NodeJS應該也還不到可以拿來跟ROR相提並論的地步,但是至少說明有不少開發者對於NodeJS很感興趣 :p 其實會陷在其中還有一個很重要的原因,就是NodeJS社群的蓬勃發展真的是讓人又驚又喜,每天幾乎都可以看到新的應用出現,你想的到的東西幾乎都可以在NodeJS中找到相關的實作,這種每天都有新玩具的感覺,讓我這種喜新厭舊的人相當滿足阿(誤) 不知不覺又扯了兩段廢言 XD Dnode 是最近注意到的一個有趣的應用,不過在進入之前可能要先稍微了解一下什麼是RMI(Remote Method Invocation),RMI並不是什麼新東西,其實在Java中出現已久,不過因為我對Java沒有熟到可以拿來說嘴的地步,所以就先跳過這個吧 XD。簡單的說,RMI就是可以提供呼叫遠端物件的方法,它比起我們"可能"比較熟悉的RPC(Remote Procedure Call)又更進一步,RPC就只能支援比較基本的資料型態,而dnode就是nodejs版本的RMI :p 不過跟一般的RMI相較起來,dnode有它更強悍的地方,就是支援asynchronous & pass function as parameter的功能,非對稱的部份有碰過NodeJS的應該 都很熟悉了,…