自己動手開發編譯器(三)有窮自動機
上回我們說到用正則表達式來表示詞法分析中的單詞規則。正則表達式的規則很容易理解,但是正則表達式并不能直接用來解析字符串,我們還要引入一種適合轉化為計算機程序的模型。今天我們引入的這種模型就叫做有窮自動機(finite automation,FA),有時也叫有窮狀態機(finite state mac... ...
第二個iPhone應用程序:“Say Hello”
項目需求寫一個iPhone應用程序,要求可以輸入名字,點擊按鈕后,會顯示一段文字向輸入的名字打招呼,例如輸入“寶玉”,顯示“你好,寶玉!”需求分析這是一個很簡單的應用程序,包含一個文本輸入框,一個文本顯示框,一個按鈕。輸入名字到文本輸入框,再點擊按鈕,這時文本顯示框的文字就會變成“你好,<名字>!”... ...
數據庫設計 Step by Step (6) —— 提取業務規則
引言:數據庫設計 Step by Step (5)中我們通過多種方法來理解客戶的需求并撰寫了需求文檔。本文我們將回答三個問題。1. 為什么業務規則非常重要。2. 怎樣識別業務規則。3. 如何修改關系模型并隔離出業務規則。 什么是業務規則 業務規則描述了業務過程中重要的且值得記錄的對象、關系和... ...
分享8年開發經驗,淺談個人發展經歷,明確自己發展方向
很多人干IT這一行都沖著“收入高”這一點的,因為只要學會一點HTML、DIV+CSS,要做一個頁面開發人員并不是一件難事,而且做一個頁面開發人員更容易找到工作,收入比普通的工作還要高一些,所以成為了很多高校畢業生的選擇。如果您只是抱著這樣一個心態來入行的話,那閣下可真的要小心。因為干IT這一行競爭本... ...
自己動手開發編譯器(一)編譯器的模塊化工程
本系列的第一篇,我想概述一下編譯器的構造,同時幫助大家了解編譯器中各個組成部分的用途。想必大家看別的編譯原理書籍,大都在第一章或者序言之類的地方,將編譯器分成許多模塊,然后每一個模塊負責編譯的特定階段,最后串起來組成完整的編譯器。比如下面這張圖就是虎書(Modern Compiler by Andr... ...
PHP中間件--ICE
ICE(Internet Communications Engine)是Zeroc提供的一款高性能的中間件。使用ICE能使得php(或c++,java,python)與java,c++,.net,python等進行交互。基于ICE可以實現電信級的解決方案。 1第一個問題:為什么要使用中間件? 設想一... ...
Microsoft NLayerApp案例理論與實踐 - 領域模型層
本文將重點介紹Microsoft NLayerApp的領域模型層,這涉及到Domain.Core、Domain.Core.Entities、Domain.MainModule以及Domain.MainModule.Entities四個項目。Domain.Core項目包含了基本接口的定義以及規約模式(... ...
自己動手開發編譯器(零)序言
好久沒寫博客了,一來是自己懶,二來是最近一段時間都沒有做什么自己認為可以分享的東西。這幾天剛好重拾了一個一直打算做但沒做的編譯器類庫,算是積累了一點小小的經驗吧。本來我已經發到了Github上,也在微博上零星介紹了一些,但是我最終意識到,如果不寫一個詳細的文檔,別人就不能容易地學習、了解和使用它。甚... ...
看懂SqlServer查詢計劃
對于SQL Server的優化來說,優化查詢可能是很常見的事情。由于數據庫的優化,本身也是一個涉及面比較的廣的話題,因此本文只談優化查詢時如何看懂SQL Server查詢計劃。畢竟我對SQL Server的認識有限,如有錯誤,也懇請您在發現后及時批評指正。首先,打開【SQL Server Manag... ...
談一談網絡編程學習經驗
本文談一談我在學習網絡編程方面的一些個人經驗。“網絡編程”這個術語的范圍很廣,本文指用Sockets API開發基于TCP/IP的網絡應用程序。1. 網絡編程的一些胡思亂想,談談我對這一領域的認識 2. 幾本必看的書,基本上還是W. Richard Stevents那幾本 ...
iPhone消息推送機制實現與探討
最近兩天在研究ios的消息推送機制。研究這個東西,還是充滿興趣的。 Push的原理: Push 的工作機制可以簡單的概括為下圖 圖中,Provider是指某個iPhone軟件的Push服務器,這篇文章我將使用.net作為Provider。 APNS 是Apple Push Notification ...
Entity Framework快速入門--直接修改(簡要介紹ObjectContext處理機制)
在介紹Entity Framework的修改實體到數據庫的方法之前呢,我們先簡要的介紹一下ObjectContext的處理機制。1、ObjectContext的處理機制ObjectContext是Entity Framework封裝了數據庫訪問的上下文,以及實體的映射關系元數據信息等。EF幫我們封裝... ...
HTTP冪等性概念和應用
在數學中,冪等性是指N次變換與1次變換的結果相同。本文介紹了:1.分布式系統中冪等性的概念;2.用冪等設計代替分布式事務的方法;3.HTTP主要方法的語義和冪等性。 ...
基于WEB 的實時事件通知方案
基于 WEB 的實時事件通知方式大致有五種方案:HTTP拉取方式(pull),HTTP流,Long Polling,FlashXMLSocket方式,Java Applet。 ...
Microsoft NLayerApp案例理論與實踐 - 基礎結構層(數據訪問部分)
上篇文章講解了NLayerApp案例的基礎結構層(Cross-Cutting部分),現在,讓我們繼續解讀NLayerApp的基礎結構層(數據訪問部分)。NLayerApp的基礎結構層(數據訪問部分)包含如下內容:Unit Of Work(PoEAA)、倉儲的具體實現、NLayerApp的數據模型以及... ...
java/.net語言及IDE簡易對比
做這個對比是希望找出各自不足并加以改進,也希望未提到的大家一起補充,純當技術討論,所以極端.net和java粉絲可以無視! 先來說說IDE對比,也就是eclipse和VS的對比吧: 1、eclipse支持變量上下文中的高亮顯示,這點VS直到2010才支持; 2、eclipse雙擊左花括號可自動選定包... ...
Microsoft NLayerApp案例理論與實踐 - 基礎結構層(Cross-Cutting部分)
從這篇文章開始,我將逐步介紹NLayerApp的基礎結構層、領域層、應用層以及分布式服務層。本文著重介紹基礎結構層,根據上文對NLayerApp的架構分析,它將包含兩大部分的內容:處理數據訪問的基礎結構層組件和Cross-Cutting的基礎結構層組件。處理數據訪問的基礎結構層組件主要包含了倉儲的具... ...
從.NET到Mono-記Kooboo CMS對Mono的兼容歷程:一、Mono以及移平臺的基本注意要點
前言 話說Mono是一個非常有意思的平臺,它提供了對.NET程序的跨平臺遷移的可能性,它是一種看上去可以粉碎詬病者對.NET平臺軟件不具跨平臺性質疑的技術。我非常喜歡.NET平臺,同時我也非常希望它具... ...
WorkFlow入門Step.1—My Frist WorkFlow Trip!
WorkFlow是最近比較流行的一門技術,其實WF起源于20世紀70年代中期的辦公化自動領域,自1993年8月,WFMC(工作流管理聯盟)成立,1994年制定了一
些列的關于工作流的標準。
...



