blog

Move to new domain

雖然不是什麼重要的事,不過眼尖的應該有注意到這邊的網址已經改了,從原本的http://ferrari.github.io換到新的網域http://blog.sylee.tw。雖然很想用blog.ferrari.tw不過憑我應該沒辦法拿到這個網域(炸),所以就順便取了個替代的。另 外也是因為之後說不定又會換別個系統來寫(再度的喜新厭舊 XD),雖然這種Page Generator很方便、使用上也很簡單,不過有時候在管理文章上不是很方便,然後最近看到這個就心動了 XDD 不過目前連試用都還沒,所以短時間應該不會變才對,希望Ghost真的可以符合我的期望(一直改來改去也很煩...0rz 基於以上理由,所以就這樣了。有興趣看看個人碎念的話,就記一下新網址吧

  • SY
    SY
1 min read

NPM Support SemVer2

起頭是因為先看到了Isaac所發佈的npm更新訊息 Just pushed @npmjs 1.3.0, with SemVer 2 support.— isaacs (@izs) June 20, 2013 因為不知道文中提到的SemVer2到底是什麼,所以就索性去翻弄一下,原來是個有趣的東西 全名是Semantic Versioning,最近的版本就是2.0.0,取名也很直接,應該也大概猜到這是做什麼 用的了吧 - 套件版號的命名規則。這是Tom Preston-Werner所提出的規格(說不定名字大家不熟,

  • SY
    SY
2 min read
html5

GoogleIO 2013 - Mobile Web

接續上篇的主題,繼續來寫一些 #io13 裡面有趣的議程。這篇想來談談Mobile Web的相關議程。 先說一下自己對這部份的想法好了(怕文章太短,串場一下 XD),其實我覺得目前Mobile Web有點處在類似雞肋的感覺,大家都知道移動端很重要,所以一定要有Mobile Web,但是卻又不如直接刻一個App來的實用(應該不只是我這麼想而已吧,36:01應該可以稍微支持一下我的論點 ;p) 說不定有些人會覺得,Mobile Web的目標是給那些不是拿SmartPhone的用戶,不過如果真的如此,那些用戶也應該沒法用諸如Chrome,Firefox之類的吧...0rz。這樣看來,這篇還需要寫嗎(炸) BTW,雖然悲觀,而且目前用處不大,

  • SY
    SY
4 min read
html5

GoogleIO 2013 - Advanced HTML5

每年的Google IO已經成了個人最期待的一件事,雖然大概沒什麼機會到現場去拿禮物(這是重點嗎XD),不過聽聽G社一年來的火力展現順便聽一下有趣的議程就實在值回票價了。不過因為太多議程加上個人執行力不足,所以要把有興趣的聽完大概需要好幾個月的時間,所以就慢慢來順便作個筆記,把一些有趣的部份記錄下來 ;p Android & Chrome向來就是IO上的大宗,不過因為我比較少接觸Android的部份(絕對不是討厭Java的原因(炸)),所以就把chrome當做是開場吧,不過其實chrome內容眾多,所以打算稍微歸納一下,會把相關的主題放在一起,就看到哪邊寫到哪邊吧。這篇的主軸先放在新網頁技術的部分。 html5應該已經不算是一個新的話題了,大家也知道其實他不是單指html,而是新一代的html、JS、CSS規範,所以雖然是老梗, 不過新的規範仍然持續被提出、實作中。這也是我很喜歡看看這方面話題的關係,一直可以看到有趣的東西冒出來 ;p

  • SY
    SY
4 min read
Node.js

Callback or Promises

最近nodejs社群對於核心介面的寫法突然湧起一股討論, 應該是下面這篇文章起的頭 ;p Callbacks are imperative, promises are functional: Node’s biggest missed opportunity 主要是提到promises的規範能夠更好的來處理非對稱的程式,Promises這東西之 前只稍微看過,一來是目前好像存在不只一種的規範,另外我一直到目前也實在不很瞭解它真正的用法,不過有興趣的Google一 下應該也可以找到不少說明。不過概念類似根據執行的狀態(unfullfilled, resolved, rejected)然後執行對應的程式 JavaScript异步编程的Promise模式 Promises/A Asynchronous Control Flow with

  • SY
    SY
2 min read

Use Domain to Handle Nodejs Error

最近常常因為追推才開始寫文,這應該算是件好事吧!? :p 剛好都是提到NodeJS中處理Error的問題,就一起看一看,然後發覺其實也蠻相關的,因為他們都不約而同提到Domain,所以順便在這邊做個註記,可以開始試著用domain來簡化在nodejs中處理錯誤的問題。 首先是官方發出的公告: In v0.8.20, you'll see more http hangup errors.Bad news: you have to handle these events.Good news: you're no longer

  • SY
    SY
3 min read
Node.js

Welcome to Node.JS v0.10.0

伴隨著官方公告,nodejs終於也邁向了v0.10最新的穩定版本 Node v0.10.0 (Stable)blog.nodejs.org/2013/03/11/nod…— node js (@nodejs) March 11, 2013 想快速了解新版的變動,可以直接看官方公告或是對岸的cnode成員的翻譯文 不外乎是改良與效能改進,不過v0.10最大的改變在於改良了原有的stream,所以我也 只打算在這邊提關於Stream2的部份,如果是想了解其他部分的話,可以跳過這邊直接看上面列的那兩篇文章,或是官方之前寫的介面變動說明。 除了原有的ReadStream,

  • SY
    SY
2 min read
Go

Canonical rewrite Juju in Golang

這幾天看推的時候看到這篇 A #golang related success story from @canonical. groups.google.com/d/topic/golang…— Dave Cheney (@davecheney) February 11, 2013 雖然知道Canonical有默默在用Go,不過沒想到他們這麼衝動 ;p 應該是Canonical內部工程師寫的分享,主要是提到他們把Juju重新寫過,用Golang取代原來的python,至於什麼是juju,可以看一下官方製作的介紹影片 :) 簡單的說就是一套方便的雲端部屬工具,透過CLI,甚至更方便還可以直接使用圖形化的介面來部屬/管理程式到雲端上,

  • SY
    SY
1 min read
Go

Golang Simple Go Through

最近花了點時間玩玩Golang,順便拿來當做內部Tech Talk的題目,真的是好物(誤)阿 XDD 目前功能上已經算蠻成熟了,而且跟nodejs有不少相似之處(連library/module的名稱都 XD),如果平常有接觸(C/C++/python/nodejs)任一,應該都可以輕鬆上手才是 :p 順便放上demo的簡單範例。Defer和一個簡單的wiki 也只是從官方範例節錄出來而已,有興趣也可以上github去找找,已經有不少golang的專案了 :p

  • SY
    SY
1 min read
Node.js

Node.js 0.8.17 & Npm 1.2.0

早上起來就看到新版釋出的消息,不過有幾個特別的地方,稍微註記一下。 首先 v0.8.17 有特別要處理一個安全性(Integer overflow)問題,如果有使用到 TypedArrays 的使用者,請儘速升級到這個版號。 另外,是伴隨著一起升版的npm,從1.2.0之後加入了peerDependencies的新功能,有興趣的可以先看一下先前成員們的討論串: peerDependencies (plugins) plugin modules 其實我看不太懂(炸),不過去翻了一下討論列到的文章&範例,看起來像是為了處理擴充(plugin)而延伸出來的東西。一樣是

  • SY
    SY
2 min read

Upgrade grunt from 0.3 to 0.4

Grunt是什麼?之前有稍微提過,就不再贅述了,總之是個Frontend的好朋友,請一定要找時間認識它一下。不過好東西也是會有爆炸的時候,因為它是新東西(你看它還在0.3、0.4就應該知道了),雖然玩新東西很不錯,不過有一點一定要牢記在心,就是它還年輕,心情還不定(講人話可以嗎 XD),就是Interface隨時有可能大改。 最近grunt的開發社群準備要從0.3升到0.4,當然你只要下個npm update就上去了,不過接下來你可能會想哭...0rz Upgrading from 0.3 to 0.4 強烈建議稍微看一下這篇公告

  • SY
    SY
3 min read
Node.js

NodeJS...now what?

上週一時心血來潮跟同事們討論要不要約個時間來Tech Share,然後就這樣了 XD。看來大家都是熱血一族阿 :p 因為是起頭,所以只好先來第一炮,就把去年的東西拿來改一下(炸 稍微提一下NodeJS的現況,順便提一下Stream這個module。大部分是直接取強者的介紹,最近Stream在社群中也蠻熱門的,而且下一版(v0.10)也會針對現有的不足做補強 有興趣的可以玩一下 :p PS: 剛放出來的v0.9.4就已經整合改版之後的Stream了,想嘗鮮的話可以直接安裝這個版本。 Reference A New Streaming API for Node v0.

  • SY
    SY
1 min read
Node.js

Change again, This time is hexo!

喜新厭舊的個性真的把我害慘 XD 今天心血來潮想好好整頓一下這邊,結果翻著翻著發現Wordpress.com改版不少,也開始支援Gist,一度衝動,想說要不要乾脆換回去。一來老是要維護實在也沒那麼多時間,但是又覺得docpad的預設版型實在不好看(當然我自己做的更糟),wordpress就提供你一堆選擇,這樣也方便多了。 不過後來Geek魂燃燒(有這種東西嗎XD),就稍微找了一下,結果看到這個 Octopress主題Phase完成了(大概吧),等到Hexo版的做完後再順便一起發佈 #Octopressgithub.com/tommy351/octop…— SkyArrow (@tommy351) December 1, 2012 想說Octopress我知道,那Hexo是什麼東西,然後就變成現在這個樣子了(

  • SY
    SY
1 min read
Node.js

Blogging on the Cloud

基本上這是一篇廢文!!(誤 自從把平台轉到hexo之後,順便花了些時間東摸西摸一下,然後突然想起,因為cli介面的寫作方式固然方便,不過有時候得想辦法處理同步的問題(因為我常常一篇文章寫了n天寫不完(冏)),然後markdown有時候寫一寫常常忘記語法(炸),所以想說其實如果有個方便的線上軟體也不錯。 完全是自己的問題 然後翻來翻去就找到這個dillinger,驚為天人!基本上完全有打到我的需要: 線上編輯,隨便找的免費的(nodejs)丟上去就可以 markdown - 這就不用多說了,基本的 XD 連結dropdown & github,所以也有免費放檔案的空間 有個方便的預覽畫面,可以即時看md的格式 綜合以上,同步的問題也解了

  • SY
    SY
2 min read
Node.js

You can deploy nodejs application easily now!

看了一下上次發文的時間都已經是兩個月前的事了,最近真的是忙到一種相當無力的境界(不過問題更大在於,感覺是瞎忙(冏)),在這週無意間逛回來這邊的時候,才下定決心一定要寫些什麼東西讓自己回神一下。(謎之音,不過其實沒產出的主要原因是,沒什麼有內容的東西可以寫 XD) 扯完前言之後(誤),稍微寫一下最近有機會碰到的狀況,順便提一下pkgcloud這個好東西。之前有提過grunt方便的工具,可以協助開發者自動執行一些重複性的工作,對於前端專案來說,做完例行的優化之後,最後應該就是要佈署到線上環境。現在雲端平台的提供者也是非常之多,有提供nodejs也不在少數,不過以往可能需要透過其他的工具來做(ex: s3cmd),不過就可能得用script之類來整合進grunt來使用(不過其實沒差多少)。 如果你對於nodejs有莫名偏執,堅持一定要全部js化,那pkgcloud就可以輕鬆達成你的心願(誰這麼無聊 XDD 這是由nodejs其中一個雲端服務平台-

  • SY
    SY
2 min read
Node.js

Encoding Problem in Nodejs

還記得那個PHP與Mysql的年代(不要故意用這種奇怪的講法 XDD),語系轉換的問題常常是開發者常見的問題,不過邁進2012的現在,「應該」大部分的網頁都已經是UTF-8為主了(正確應該說大部分本人逛的網站),所以要處理語系轉換的情況應該少了許多。 不過同事很幸運的遇到這個問題,然後在nodejs的情況下到底要怎麼解決 快速翻了一下找到一篇不錯的教學文 :p NodeJS笔记:处理非utf8编码(续) 不過真的要說,如果要拿nodejs來開發的話,還是不要走這種回頭路吧,全部UTF8不是很好嗎 XD 有兩個套件可以拿來解決這個問題,node-iconv&iconv-lite,兩者差異在於一個是原生支援的iconv,一個則是用JS刻出來的,可以就自己的開發環境來選擇,我這邊是用node-iconv來處理。 簡單的步驟就是,request->response-&

  • SY
    SY
1 min read
Node.js

A powerful toolkit for building web app - Yeoman

如果沒有記錯的話,Yeoman最早是在今年的Google IO被提到的,最近Google Engineer - Paul Irish在最近幾個分享中都是以開發網路應用程式的流程為主題,內容就是分享一些講者自己在開發網路應用程式時 所用到的一些有用的工具,可以提高開發的效率。 有興趣的,可以聽一下他在今年Google IO上的分享。個人覺得蠻受用的,提到了不少前端開發時可以運用的一些增加開發效率的工具。 譬如像基本的http server、可以即時預覽的LiveReload,方便的command可以直接做掉一些簡單而重複性的工作、需要針對JS、CSS等檔案進行最佳化(檔 案圖像的壓縮),甚至更進一步還可以支援套件的管理等。諸如這些的工作,其實幾乎是前端專案必備,卻有著極大重複性。平常每位開發者可能都有自己習慣用的一些工具(甚至可能是自己刻出來的) 不過這不是今天的重點(炸 在分享的尾端,

  • SY
    SY
2 min read
Javascript

Test UI with CasperJS

最近停筆了好一陣子,真的是太多事了(這次是真的...orz),加上工作內容與先前差異頗大,實在有太多新東西需要學,再加上自己還處於相當廢的狀態,所以應該是寫不出什麼有營養的東西。不過身為寫手的魂魄(?),不定期寫寫東西實在很難過,所以看看能不能抓一下平常用到的東西,試著擠出一點東西來,如果沒什麼價值的話就略過吧,反正我也只是寫爽而已(誤 這邊想稍微提一下前端測試的部份,因為近期大量的推廣,寫測試幾乎已成了目前Programmer必備的工作之一,一來可以提昇程式品質,一來也便於除錯。有關測試的東西就跳過吧,因為那也不是我今天想提的部份。關於網頁前端的測試,目前有作的是API拿資料的部份,再來就是UI。 API的測試,基本上跟其他語言如PHP, Java or C++用的方式與工具都類似,JS方面也有不少相似的工具(Jasmine,

  • SY
    SY
3 min read
chat

Nicholas Tse and his Post Production Office

突然爆出這種文章應該非常奇怪,雖然是有點趕順風車的感覺(因為最近好像在FB上[傳得](http://www.wretch.cc/blog/seraphlai/33318499)沸沸揚揚),但是看完之後真的很有感覺,想說最近文章數銳減,正好可以拿來撐一下場面(喂!! 其實我真的必須承認,看太過娛樂新聞之後,其實對於娛樂圈就不會抱持著過多的幻想,真的,就是單純是個「娛樂」罷了,也不必期望可以看到或聽到什麼多麼有啟發性的東西(這麼說可能有些武斷了,只是就我個人的觀點罷了),對於謝先生長久以來的印象,就是位帥氣的男演員&一堆圍繞在身邊的娛樂新聞。 不過在聽過這場分享之後,真的對他有了很大的改觀 - 原來也是一位身在偉大航道的真男人啊(

  • SY
    SY
4 min read
Node.js

Manage Your JS Project with Grunt

之前有提過在因緣際會之下,踏入了另一個坑(誤),也因為這截然不同的工作性質,也開始遇到一些之前不曾想過的問題,這些問題也是因為JS在現今Web開發逐漸重要而伴隨而來的問題-optimization。 當然說最佳化其實是個很籠統的講法,因為對於網路服務來說,太多地 方會影響到使用者瀏覽的速度,所以,可以「最佳化」的部份也是多到一個不行 XD。不過這邊要講的是比較基本的應用(因為我也只會基本的而已...orz ),就是對於JS、CSS的處理,這也是開頭所提到因為網頁開發越來越講求使用者體驗、UI、瀏覽速度等等,所以更多的JS、CSS新功能被大量運用,連帶的讓JS、CSS大量成長,可能大家會覺得在怎樣也不過就是幾kb、甚至更誇 張一點到幾MB的檔案而已嘛,但是對於不同設備的使用者,可能就會造成明顯的差異(

  • SY
    SY
2 min read

Subscribe to Ferrari != Ferrari