git尋根——^和~的區別
一. 引子在git操作中,我們可以使用checkout命令檢出某個狀態下文件,也可以使用reset命令重置到某個狀態,這里所說的“某個狀態”其實對應的就是一個提交(commit).我們可以把一個git倉庫想象成一棵樹,每個commit就是樹上的一個節點。家家都有一本自己的祖譜。祖譜記錄了一個家族的生... ...
我設計的網站的分布式架構
互聯網的網站和大部分企業管理軟件一樣都是使用B/S架構模型,但是大型的公共網站B/S架構會更加復雜,對架構人員的要求更高,今天我想在自己博客里聊聊我設計的網站的B/S技術架構。 不管是B/S架構的企業管理系統還是網站技術架構可以抽象為如下簡圖: 在傳統B/S架構的企業管理系統里,技術架構往往... ...
瀚海拾貝(一)HTTP協議/IIS 原理及ASP.NET運行機制淺析【圖解】
從技術角度來說,無論哪一個陣營,跟新技術都是不可避免的,也是很累的,當然作為一個程序員來說,也是必須的。要想讓技術的更新對自己的影響減小,基礎就必須打牢。所以,底層的東西和抽象層的東西需要下一番功夫。因為說到底,無論什么技術,無非就是架構和最終的實現,技術框架只是應用開發的一個平臺一種技術,如果了解... ...
在.net中讀寫XML方法的總結
XML是一種很常見的數據保存方式,我經常用它來保存一些數據,或者是一些配置參數。使用C#,我們可以借助.net framework提供的很多API來讀取或者創建修改這些XML,然而,不同人使用XML的方法很有可能并不相同。今天我打算談談我使用XML的一些方法,供大家參考。最簡單的使用XML的方法由于... ...
如何設計一門語言(三)——什么是坑(面向對象和異常處理)
在所有的文字之前,我需要強調一下,我本人對structure typing持反對態度,所以就算文中的內容“看起來很像”go的interface,讀者們也最好不要覺得我是在贊揚go的interface。我比較喜歡的是haskell和rust的那種手法。可惜rust跟go一樣恨不得把所有的單詞都縮成最短... ...
Javascript 風格向導
序 大部分針對Javascript最合理的方法歸納。類型? 原始類型:我們可以直接使用值。 ο string ο number ο boolean ο null ο undefinedvar foo = 1, bar = foo;bar = 9;console.log(foo, bar); // =... ...
對jQuery的事件綁定的一些思考
jQuery的事件綁定問題首先我們看下面的一個很常見的事件綁定代碼://example$('#dom').click(function(e){ //do something});$('#dom2').click(function(e){ //do something});這段代碼在事件綁定處理上有一... ...
.NET陷阱之五:奇怪的OutOfMemoryException——大對象堆引起的問題與對策
我們在開發過程中曾經遇到過一個奇怪的問題:當軟件加載了很多比較大規模的數據后,會偶爾出現OutOfMemoryException異常,但通過內存檢查工具卻發現還有很多可用內存。于是我們懷疑是可用內存總量充足,但卻沒有足夠的連續內存了——也就是說存在很多未分配的內存空隙。但不是說.NET運行時的垃圾收... ...
【超詳細教程】使用Windows Live Writer 2012和Office Word 2013 發布文章到博客園全面總結
詳細介紹如果使用Windows Live Writer 2012 和Word 2013來寫本地博客,以及關于代碼高亮顯示的一些注意事項,還有二者的有缺點。 ...
通過(Node Js||.Net)基于HTML5的WebSocket實現實時視頻文字傳輸(上)
HTML5 擁有許多引人注目的新特性,如 Canvas、本地存儲、多媒體編程接口、WebSocket 等等。雖然現在大家把它捧的很火的樣子,但是個人認為它還需要其他平臺的支持才能真正的"火起來"。原來做web通信的時候 基于ajax的“輪詢” “長輪詢”等其他的方式 網上有很詳細的解釋輪詢:這是最早... ...
HttpContext.Current并非無處不在
了解ASP.NET的開發人員都知道它有個非常強大的對象 HttpContext,而且為了方便,ASP.NET還為它提供了一個靜態屬性HttpContext.Current來訪問它,今天的博客打算就從HttpContext.Current說起。無處不在的HttpContext由于ASP.NET提供了靜... ...
Linux.NET學習手記(2)
上一回合,我們討論學習了如何在Linux環境中搭建能夠供.NET運行的環境,不知道各位讀者是否已經完成了環境的搭建?不過,無論各位讀者是采用我們上回合介紹的方法還是采用網上提供的其他方法搭建Linux.NET環境,選擇哪個發行版的Linux,采用了那個版本的mono,都有一點非常重要的,就是:必須保... ...
Java的內存回收機制
在Java中,它的內存管理包括兩方面:內存分配(創建Java對象的時候)和內存回收,這兩方面工作都是由JVM自動完成的,降低了Java程序員的學習難度,避免了像C/C++直接操作內存的危險。但是,也正因為內存管理完全由JVM負責,所以也使Java很多程序員不再關心內存分配,導致很多程序低效,耗內存。... ...
Javascript執行效率小結
Javascript是一門非常靈活的語言,我們可以隨心所欲的書寫各種風格的代碼,不同風格的代碼也必然也會導致執行效率的差異,開發過程中零零散散地接觸到許多提高代碼性能的方法,整理一下平時比較常見并且容易規避的問題Javascript自身執行效率Javascript中的作用域鏈、閉包、原型繼承、eva... ...
寫給開發者看的關系型數據庫設計
本文從開發者角度闡述關系型數據庫設計,筆者是典型的程序員,相信同筆者一樣,仍有很多開發人員在從事數據庫設計工作。本文從開發人員的視角來考慮關系型數據庫的相關知識體系。開發人員與DBA的職責不同,沒有必要精通DBMS的使用細節。筆者本人也更傾向于使用代碼來處理所有邏輯,而僅僅使用數據庫進行物理存儲,以... ...
經驗分享:CSS浮動(float,clear)通俗講解
很早以前就接觸過CSS,但對于浮動始終非常迷惑,可能是自身理解能力差,也可能是沒能遇到一篇通俗的教程。 前些天小菜終于搞懂了浮動的基本原理,迫不及待的分享給大家。寫在前面的話: 由于CSS內容比較多,小菜沒有精力從頭到尾講一遍,只能有針對性的講解。 如果讀者理解CSS盒子模型,但對于浮動不理解,那么... ...
Office文件的奧秘——.NET平臺下不借助Office實現Word、Powerpoint等文件的解析(1)
在.NET平臺下如何不使用Interop方式(即不借助Office軟件)讀取Office文檔的內容,講述了微軟Office文檔的存儲結構及解析的方式,讀取Office文件的文檔摘要信息以及文檔文本內容。本文為第一篇,介紹了如何解析文檔的摘要內容(DocumentSummaryInformation和... ...
Fish Li 該如何幫助您呢?
不知不覺中,來博客園寫博已經二年了。經過二年時間的積累,人氣提高了許多,或許正因為這個原因,最近一年中經常會收到一些朋友的提問。在所有的提問中,有些問題被多次問過了,還有部分問題是沒有結果的。對于一些沒有結果的問題,Fish Li也表示遺憾。趁著3月12日這個對于我來說特殊的日子里,我也想談談另一個... ...
優化反射性能的總結(下)
在前二篇博客中,我分別介紹了二種優化反射的方法:1. Delegate:委托。2. CodeDOM:動態代碼生成。這是二種截然不同的方法,性能的差距也很大。今天的博客將著重比較它們的優缺點,以及給出它們的使用建議。用Delegate優化反射的缺點在評價委托方案時,我認為有必要細分一下委托方案:1. ... ...



