原创 如何實現語義分析中的類型檢查

之前曾寫過一篇語義分析的概念性介紹:https://daichen.blog.csdn.net/article/details/100097850。最近,終於開發完了一套基於SQL的語義分析器,算是對之前學習到的理論的一次工程實踐

原创 編譯器中的語義分析

最近一直在看編譯原理方面的書,之前着重研究過詞法解析和語法解析,這一次因爲工作原因比較側重語義分析。簡單來說,語義分析是發生在詞法和語法解析之後,輸入是Concrete Syntax Tree又名Parse Tree。語義分析器對

原创 如何高效地做設計評審

設計評審(Design Review),即在真正開始開發之前,組織一次或多次會議,先評審設計,以降低日後返工甚至項目失敗的風險。相信工作過一段時間,開始主導一個功能模塊甚至整個系統的同學,都對設計評審不會陌生。今天偶然看到了一篇亞

原创 邏輯的引擎

最近利用通勤時間又讀完了一本好書,《Engines of Logic——Mathematicians and the Origin of the Computer》。可能由於作者本身也是數學和計算方面的牛人,所以這本書並不那麼容易

原创 有品位的程序員

本文主要是一本老書《黑客與畫家》部分章節的讀後感,包括了我個人最最喜歡的兩章《Hackers and Painters》和《Taste for Makers》。兩個觀點深入我心: 不管做什麼行業,一定要做一個Maker,方式不重

原创 ElasticSearch近實時搜索的實現

ElasticSearch近實時搜索的實現 1.近實時搜索 1.1 實時與近實時 實時搜索(Real-time Search)很好理解,對於一個數據庫系統,執行插入以後立刻就能搜索到剛剛插入到數據。而近實時(Near Real-

原创 AWS開源Elasticsearch插件

今天Amazon Web Service發佈了Elasticsearch的開源分發包,項目名爲Open Distribution for Elasticsearch。其中包括了Security,Alerting,SQL,perform

原创 2019想要完善的幾點

最近發現了自己學習時的一些不足,先簡單地列在這裏。以後發現了好的解決方法,或者更多可以改善的地方,再繼續補充。 1.勤做讀書筆記 讀書筆記是這個博客的主要組成部分,但如何能做好卻不是一件簡單的事。主要原因就在做筆記的頻率。過頻則會不斷

原创 啓發式面向對象設計(上)

前一陣子斷斷續續讀完了一本老書《Object-Oriented Design Heuristics》,中文名被譯作《面向對象沉思錄》。雖然是一本老書,但裏面的一些觀點對我真的是很新奇,比如對象的動態語義、類之間的關係、關係的拓撲結構、

原创 我的2018年總結

轉眼又是一年,2018年也要離我們遠去。最近半年沒有怎麼更新博客,落筆有些生疏,但其實一直都零星地寫一些。只不過寫作時間碎片化,導致好多文章半途而廢。趁着這年底最後的幾天,趕緊好好總結一下這充實的一年。以下是前幾年的總結,記錄着自己成

原创 軟件開發複雜度分析

1.軟件開發的本質 軟件開發的首要難題是什麼?需求的收集?技術的選型?項目管理?都沒錯,但用一個詞來總結那就是:複雜度!《Code Complete》中引用了Brooks(沒錯,就是寫出了著名的《人月神話》的那位)論文《No Silver

原创 程序員修煉之路

0.前言:在路上,再上路 在前言《程序員修煉之路-(0)前言:在路上, 再上路》中已經對知識體系進行了梳理,主要分爲問題定義、算法與數據結構、系統平臺API、編程語言實現、代碼設計、測試驗證等等。目前集中精力編寫算法與數據結構部分,這可能

原创 那些年我錯過的Java

最近在看面向對象設計的書,有了一些新的感悟。於是週末閒來無事,想寫個小東西練練手。最近一直用Python,所以想回歸一下更面向對象、更“靜態”一些的Java。正研究怎麼升級到Java 9嚐嚐鮮,結果發現再有80天Java 11都要發佈了!

原创 在GitHub上輕鬆搭建博客

從2011年開始正式定期地寫文章,最開始在Google AppEngine搭建了Wordpress,幾個月後又將文章都轉移到了CSDN。時間飛逝,一看自己的歷史文章列表發現都快七年整了。CSDN也在進步,美觀方面加了各種皮膚,功能方面支持

原创 內存計算技術資料整理

1 內存計算與雲計算如果說雲計算這個新瓶裝的是虛擬化+ SOA/網格計算+SaaS(軟件即服務)的老酒,那麼內存計算則重點是釋放了計算這一部分的能量。 但是對內存計算經常有一些誤解:Ø  大容量內存很貴Ø  內存計算不會持久化:實際上幾乎