原创 State Threads 回調終結者

State Threads 回調終結者   上回寫了篇《一個“蠅量級”C語言協程庫》,推薦了一下Protothreads,通過coroutine模擬了用戶級別的multi-threading模型,雖然本身足夠“輕”,杜絕了系統開

原创 Grunt教程-前端自動化

爲何選擇Grunt? 壓縮、編譯、單元測試、代碼檢查等 我們需要自動化,不必重複勞動,減小工作量。爲何選擇Grunt呢?好像是沒有更好的選擇了。 準備工作 安裝node.js Grunt基於Node.js,安裝之前要先安裝

原创 高性能、高併發、高擴展性和可讀性的網絡服務器架構:StateThreads

StateThreads是一個C的網絡程序開發庫,提供了編寫高性能、高併發、高可讀性的網絡程序的開發庫,支持UNIX-like平臺。它結合了多線程編寫並行成的簡單性,一個進程支持多個併發,支持基於事件的狀態機架構的高性能和高併發能力。

原创 material design學習筆記

自從material design發佈以來,可樂橙就在一直收集相關素材與資源,研究別人的作品。這套設計風格非常鮮明,帶有濃郁的Google式嚴謹和理性哲學,深得我心。實際上,光是研究素材和別人作品,就能發現一些明顯的規律,做出幾分

原创 前端工具bower wiredep

Bower是一個客戶端技術的軟件包管理器,它可用於搜索、安裝和卸載如JavaScript、HTML、CSS之類的網絡資源。 詳細信息請參考 bower官網 。 幾個例子: 1.當前項目需要引入jquery bower instal

原创 輕量級桌面應用開發的捷徑——nw.js

每個程序員都希望用自己喜歡的語言,自己喜歡的平臺、工具,寫自己喜歡的程序。於是我們會看到有人在Win下用Visual Studio愉快地coding,也會看到有人在OS X下用Xcode來開發,或者是用Sublime Text不受平臺限

原创 PostCSS一種更優雅、更簡單的書寫CSS方式

Sass團隊創建了Compass大大提升CSSer的工作效率,你無需考慮各種瀏覽器前綴兼,只需要按官方文檔的書寫方式去寫,會得到加上瀏覽器前綴的代碼,如下: .row { @include display-flex; } 會得到如下

原创 Nodejs異步流程控制Async

1. Async介紹 Async是一個流程控制工具包,提供了直接而強大的異步功能。基於Javascript爲Node.js設計,同時也可以直接在瀏覽器中使用。 Async提供了大約20個函數,包括常用的 map, reduce, fi

原创 Node.js回調黑洞全解:Async、Promise 和 Generator

我們常常把這個問題叫做”回調黑洞”或”回調金字塔”: doAsync1(function () { doAsync2(function () { doAsync3(function () { doAsync4(fu

原创 自動檢測代碼變化並重啓nodejs工具使用對比

As a newbie Node.js developer coming from a Java and PHP background, I found the process of having to search for the

原创 Relay: 全新的React數據獲取框架

React在前端領域開啓了一個新的時代。隨着Facebook發佈並開源React,它迅速成爲大量技術公司 運用在生產環境中的一款流行的庫。在本文中,我們將會討論的是一個全新的React附屬框架——Relay。 React中數據獲取存在

原创 JavaScript Source Map 詳解

這是2.0版之前的最後一個新版本,有很多新功能,其中一個就是支持Source Map。 訪問 http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js,打開壓縮

原创 Generator 函數的含義與用法

異步編程對 JavaScript 語言太重要。JavaScript 只有一根線程,如果沒有異步編程,根本沒法用,非卡死不可。 以前,異步編程的方法,大概有下面四種。 回調函數 事件監聽 發佈/訂閱 Promise 對象 EC

原创 Jade —— 源於 Node.js 的 HTML 模板引擎

Jade 是一個高性能的模板引擎,它深受 Haml 影響,它是用 JavaScript 實現的,並且可以供 Node 使用。 試玩 你可以在網上試玩 Jade。 特性 客戶端支持代碼高可讀靈活的縮進塊展開Mixins

原创 async 函數的含義和用法

一、終極解決 異步操作是 JavaScript 編程的麻煩事,麻煩到一直有人提出各種各樣的方案,試圖解決這個問題。 從最早的回調函數,到 Promise 對象,再到 Generator 函數,每次都有所改進,但又讓人覺得不徹底。