Time of Update: 2018-12-07
人生真的很有意思,三年前我坐在面試官的位置上,面試別的程式員,現在我坐在程式員的位置上,等待被別人面試。 三年前我跟朋友合作在廈門開始創業,做對歐美的軟體外包開發。當時困擾我們最大的問題之一就是找不到會編程的程式員。往往收到四,五十份簡曆,到最後只有一兩個應聘者能通過我們的編程測試。其實測試的題目也不難,像bubble sort之類的問題。現如今,從荷蘭回來,需要找一份工作,卻發現找到一家好的公司好的工作也不容易。最近通過部落格園的招聘板塊,投出去一些簡曆,也陸續接到一些面試的反饋。
Time of Update: 2018-12-07
XML和dom都有節點,每個節點都有nodeType屬性。NodeTypeNamed
Time of Update: 2018-12-07
最近由於工作的原因,總是需要些一些命令列下的批次檔,這些副檔名為".bat"的檔案,是從Dos時代一路傳承下來的,所以我們總是喜歡叫他bat檔案。從上大學的時候,一直用bat做一些小的東西,從來沒有感受到過它的威力,最近用它做一些工作,發現這個東西還真的比較有意思。總結一下,希望對大家的工作能有所協助。Bat有傳統的模式,和Command Extensions兩種模式,擴充用法通常是指後者。最常用的命令:Call,Echo,For,Goto,If,Pause,REM,shiftCall
Time of Update: 2018-12-07
良好的代碼規範有很多好處,最重要的是為了以後更好的維護。關於代碼規範內容,可參見各個語言制定的相關規範,或者細細品味《代碼大全》一書。 這裡想說一下代碼的署名問題。 編寫或者修改完一個模組或者一個功能,署上名字,一方面增加了自己的責任感。當署上自己的名字時,你會認真考慮自己所寫的代碼是不是夠好,是不是夠健壯,這樣就不會想到他人發現自己所寫的代碼是那麼的糟糕時,那種很囧的心情。這樣就迫使自己去做代碼自我審查,先過了自己的一關。初始時,可能會不習慣,當形成了習慣,就寫了一手漂亮的代碼。 當
Time of Update: 2018-12-07
在上篇隨筆中提到“對於跨資料庫查詢,我們沒有找到通過LINQ to Entities實現的方法”。後來仔細想想,從理論來講,實現跨資料庫查詢應該不難啊,與非跨資料庫查詢相比,只是多了個資料庫名,比如下面的非跨資料庫查詢語句:SELECT [Text] FROM dbo.blog_PostBody WHERE ID=3560跨資料庫查詢語句:SELECT [Text] FROM CNBlogsText.dbo.blog_PostBody WHERE ID=3560在Entity
Time of Update: 2018-12-07
文章索引和簡介上節通過一系列重構 簡單的項目就實現了 不過還有些EF的功能沒有講 這節就通過項目 講講EF其他的功能與技巧一.直接執行SQL語句通常來講 EF 不用寫SQL語句的 但是 在有些場合 比如對產生的SQL語句 覺得不滿意 要做最佳化 或者做報表統計時 要寫很變態的SQL語句再或者 大量操作等 這個時候 使用ORM的弱點就顯露了出來 但是 做為優秀的ORM架構 EF 是支援原生態的SQL的 這裡面 提供了三種方法1. DbSet.SqlQuery 有跟蹤狀態的查詢
Time of Update: 2018-12-07
項目中有個ftp組件,在下載中文命名的檔案時,總拋出錯誤“Access is denied, cannot be found the file specified”,英文命名的檔案卻能夠正常下載。首先想到的是編碼問題,將檔案名稱做了一次UrlEncode,仍是同樣的錯誤。後來尋找代碼,發現使用了非標準的ftp command。 先看一下下載代碼部分:Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
搜尋引擎的第一步,做一個自己的全文引擎,所謂的全文引擎,就是一個倒排表,所謂的倒排表,就是指從詞到文檔的索引。對於我們通常的文章來講,是一個文章包含了很多的詞,也就是說,文章是關鍵字,詞是內容。那麼當我們需要在很多文章中找到所有存在某一個詞的文章的時候,在沒有倒排索引的情況下,問題出現了,我們必須使用這個詞去匹配所有文章的內容,這個效率顯然是不能忍受的。這個時候就是倒排索引閃亮登場的時候了,倒排索引就是詞是關鍵字,內容是所有包含這個關鍵字的文檔和位置資訊。所以,從理論上來講,建所引的過程就是從:
Time of Update: 2018-12-07
今日在部落格園看了一篇<javascript:像操作Array一樣操作NodeList>,發現有些問題,後來查閱了W3C標準,發現其混淆了DOM中的NodeList和javascript的Array。 NodeList和Array是不同的東西。NodeList是DOM中定義的一個輔助對象,而Array是程式語言定義的一個資料結構。 NodeList是DOM中定義一個對象,在W3C文檔中可以看到: The NodeList interface provides the
Time of Update: 2018-12-07
這裡的“按需更新”指的是只更新被修改的資料。比如我們在部落格後台開啟隨筆編輯頁面,有很多資料可以修改,但我們只改了隨筆標題,其他都沒改,在儲存時,資料庫只進列名欄位更新的操作,這就是按需更新。目前用的是很落後的方法,一個帶有很多參數的預存程序,不管你修改了隨筆的哪些資訊,哪怕只改了一個標題,儲存時對所有欄位都要進行更新操作。部落格園現代化建設不只是口號,落後的地方都要努力去改變。Entity Framework的一個特性讓我們看到了希望,當時引進Entity
Time of Update: 2018-12-07
文章索引和簡介看這篇文章之前 推薦園子裡的 這個文章 已經有介紹了 而且寫的很好~~ 可以先看下他的 再看我的並發1.封閉式並行存取簡單的說 就是一個使用者訪問一條資料時 則把這個資料變為唯讀屬性 把該資料變為獨佔 只有該使用者釋放了這條資料 其他使用者才能修改 這期間如果該使用者上個廁所 出去玩一圈 沒有退出 則其他人都要等很久 很顯然 這不是我們期望的效果
Time of Update: 2018-12-07
在上篇隨筆中,我們發現Entity Framework在構建SQL語句時,將ToTable("CNBlogsTex.dbo.blog_PostBody")中的"CNBlogsTex.dbo.blog_PostBody"轉換為"[CNBlogsText.dbo].[blog_PostBody]",從而造成不能進行跨資料庫查詢。今天上午,我們通過Reflector對Entity Framework的代碼進行分析,找出了真相。真相如下:1.
Time of Update: 2018-12-07
前言:使用linq很長一段時間了,但是對linq2sql還是不很喜歡,感覺能控制的實在太少,限於實際項目實踐的各種原因,自己再總結一下,備用。1、ExecuteQuery方法看命名,我們很容易聯想到ado.net裡熟悉的Command的ExecuteNonQuery方法,但是VS的智能提示告訴我們這個方法返回的是一個泛型集合,應該“所思非所得”。下面通過一個簡單方法,驗證我們的猜想(資料庫設計可以參考這一篇): /// <summary> ///
Time of Update: 2018-12-07
上篇隨筆中,我們留下了一個難題——如何將用戶端瀏覽器通過ajax提交的json資料傳遞給一個已存在的實體物件(也就是將json資料賦值給實體物件對應的屬性)。這樣的話,Entity Framework就能自動探索哪些屬性值發生了變化,在儲存時,只將發生變化的屬性值更新至對應的資料庫欄位。需要注意的是這裡提交的json資料中的屬性是動態,不一定包含實體物件的所有屬性,比如:這次提交的是{"Title":"Hello World"},下次提交的是{"Title":"Hello
Time of Update: 2018-12-07
作為一個有始有終的人,開始做一件事情後,無論事情的結局如何,一定要做收尾工作。程式裡面也是如此,在申請資源的存取權限後,用完之後,就必須釋放。 多數情況下,釋放工作是與程式的運行結果及狀態無關的。一般我們會寫在finally塊中。可是問題又出來了,因為多數情況下close這個函數會拋出異常。而這個異常往往是不影響我們程式的運轉的。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.
Time of Update: 2018-12-07
已經有大半年的時間沒有整理這個blog了,從最開始申請到這個地方,就想好好的維護這裡,可過了一些時日,還是去整理csdn上面的那個blog了(那個是我最早的)。從年初在csdn上面貼了點東西外,其餘時間這兩個地方都沒整理了。一是太過煩躁,二來自己也沒靜下心來去搞技術,沒什麼心情去打理,慢慢的消散了最初的激情。上半年基本就是準備畢業這些事情,靜靜的度過了最後的學生生活,什麼都沒去理會。
Time of Update: 2018-12-07
文章目錄 1、獲得DbCommand對象2、返回DataSet對象3、返回DataTable對象4、小結和注意點
Time of Update: 2018-12-07
開心網的超級大亨有兩個地方可以獲得總資產資訊可以通過總資產獲得,這時資訊是由圖片直接拼接而成的。也可以通過現金+資產獲得。這裡選擇這種方法 為什麼這麼做呢?因為懶,呵呵 代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><span style="width:320px;"><b class="f16">總資產:</b&
Time of Update: 2018-12-07
我們知道,ado.net的DataReader提供一種從資料庫讀取行的只進流的方式。通常情況下,我們都是針對一個結果集進行處理。其實通過DataReader的NextResult方法,我們可以批處理T-SQL,也就是可以擷取處理兩個或者多個結果集。下面通過一個簡單的樣本,來簡單說明一下這個功能。1、資料表我們還是沿用這一篇裡的Person表。在Person表裡,我們定義了自增長的Id,姓、名、身高和體重,它們對應的欄位和實體裡的屬性命名是一樣的。2、實體類Code highlighting
Time of Update: 2018-12-07
Mail是現在程式中不可或缺的一個模組。警示系統要發Mail、通知系統要發Mail。每天系統還要發形形色色的Report給各種不同level的人,給老闆看報表,給小兵看異常,給客戶看進展。 很多人覺得這傢伙太簡單了,網上隨便copy一段代碼,就通吃了。那還要這個庫幹嘛? 我只想問幾個問題: 1、Mail Server地址變更了怎麼辦?登入帳戶、密碼變更了怎麼辦? 2、Mail系統異常了,要臨時切換伺服器,怎麼辦? 3、客戶要求Mail格式變更怎麼辦?