搜尋

隨機推薦

23 十一月 2010
12 八月 2013
23 十一月 2010
24 十二月 2010

相信每個 programmer 都跟西傑一樣想過設計一種自己的編程語言,最近西傑就有機會要寫一個編譯器了。雖然在大學時已經讀過如何編寫一個編譯器,但要認真寫起上來還真的不容易,而且網上教寫編譯器的教材不多(尤其中文的),所以就把這次經驗記下來,疏理一下自己在開發過程中所學到的東西,也同時為互聯網增加一些有關編譯器這方面的中文資源吧。

西傑在開發過程中經常參考 Actionscript 編譯器的 source code(用Java 寫的),大家有興趣可以看看這裡(在 /trunk/modules/asc 裡), 是 open source 的

http://i.imgur.com/Ie41hDj.png

 

消息隊列處理後台任務帶來的問題

項目中經常會有後台運行任務的需求,比如發送郵件時,因為要連接郵件服務器,往往需要5-10秒甚至更長時間,如果能先給用戶一個成功的提示信息,然後在後台慢慢處理發送郵件的操作,顯然會有更好的用戶體驗。

為了實現類似的需求,Web項目中一般的實現方法是使用消息隊列(Message Queue),比如MemcacheQRabbitMQ等等,都是很著名的產品。

http://i.imgur.com/7JtSNUu.png

PHP語言的排名變化

根據“TIOBE編程語言排行榜”(榜單雖然統計方式有侷限,但是仍然不失為一個比較好的參考),2010年PHP最高曾經在世界編程語言中排名第三。可見,PHP語言在PC互聯網時代的Web領域可謂叱咤風雲,擎天一柱。 

 

Zend Framework 3框架即將推出 支持PHP7_天極yesky軟件頻道

近日PHP開發框架Zend Framework透露未來技術計畫,表示將在2015年第三季度推出Zend Framework的第3版。

  新版框架將支持新一代的PHP 7語言,可同時用於開發網頁及移動應用,同時改善了效能及提高重複利用性。例如Zend Framework 3將採取松耦合架構的設計,目標是讓用戶可以獨立使用不同組件,組件與組件之間幾乎不存在互相依賴的關係,Zend Framework稱此為Use-At-Will架構。  

什麼是繼承啊?答:別人白給你的過程就叫繼承。

為什麼要用繼承呢?答:撿現成的唄。

好吧,既然大家都想撿現成的,那就要學會怎麼繼承!

在瞭解之前,你需要先瞭解構造函數、對象、原型鏈等概念......

JS裡常用的兩種繼承方式:

  1. 原型鏈繼承(對象間的繼承)
  2. 類式繼承(構造函數間的繼承)

對於那些熟悉基於類的面向對象語言(java或者c++)的開發者來說,JavaScript的語法是比較怪異的, 這是由於javascript是一門動態語言,而且它沒有類的概念 (雖然class是個保留字,不能作為變量名來使用).

繼承方面,javascript中的每個對象都有一個內部私有的鏈接指向另一個對象 (或者為 null),這個對象就是原對象的原型. 這個原型也有自己的原型, 直到對象的原型為null為止. 這種一級一級的鏈結構就稱為原型鏈.

https://camo.githubusercontent.com/d3afdfc8b8075b9daf5109c4af7b8b07ab2d7c04/68747470733a2f2f7261776769746875622e636f6d2f6a61736d696e652f6a61736d696e652f6d61737465722f696d616765732f6a61736d696e652d686f72697a6f6e74616c2e737667

jasmine是一個有名的javascript單元測試框架,它是獨立的「行為驅動開發」框架,提供了對javascript開發者來說相對容易使用的測試語法,可以幫助你輕鬆寫出自己的單元測試代碼。

WIKI:https://github.com/pivotal/jasmine/wiki

API: http://pivotal.github.com/jasmine/jsdoc/index.html
(Jasmine的API文件是用jsdoc生成的,關於jsdoc)

可以在下載頁面直接下載jasmine的源碼:https://github.com/pivotal/jasmine

還可以使用git下載(關於git的用法,可以看這裡http://progit.org/book/zh/ch1-4.html

1
$ git clone https:\/\/github.com/pivotal/jasmine.git

下載jasmine的源碼之後,可以看到目錄有一個example的文件夾,這裡就是我們要說的例子
還有一個文件夾lib,這裡放了運行測試案例所必須的文件
其中jasmine.js就是整個框架的核心代碼,
jasmine-html.js用來展示測試結果,jasmine.css用來美化測試結果。

當臨時需要時,我們都使用記事本來編輯一些代碼片段,想法,或部落格內容與待辦事項。最近我才知道,我們可以用我們的瀏覽器當成記事本。用 data URI 和html contenteditable屬性即可。

所有你需要做的是到瀏覽器的地址欄輸入下面的代碼:

data:text/html, <html contenteditable>

它會讓你的頁面就像記事本一樣能編輯。如果您希望您的內容可以被保存,用 Ctril+S即可將您的內容保存為HTML文件。

Please publish modules in offcanvas position.