Time of Update: 2018-12-07
今天一來就又看到部落格園有大戰了,其實這才是社區的氛圍,沒有爭論就是死氣一團。不是有一句很流行的話嘛:我不同意你的觀點,但我誓死捍衛你說話的權利。 閑話少說~
Time of Update: 2018-12-07
微軟﹐請聽我對你說﹐作為一個windows平台下的web程式員﹐你在我心目中就像一個神﹐你帶領我進入一個又一個神奇而又美麗的”國度”﹐從asp到.net﹐從面向過程轉向物件導向﹐從coding轉向系統設計。你讓我一次又一次領略到了創造的興奮﹐感受到了藝朮的魅力﹐體會到了”陌然回首﹐那人卻在燈火爛珊處”的喜悅…...在你這裡我得到了太多太多﹐無論如何﹐我要首先對你說﹕謝謝﹗5年前﹐我開始跟隨你從asp向.net進軍﹐您大手一揮﹐就向我描繪了一幅以.net為中心的宏偉藍圖﹐並告訴我﹐未來是屬於.ne
Time of Update: 2018-12-07
喜歡金庸的武俠,對他那幾部小說也是樂此不疲拿獨孤求敗來說,他的劍,從無名利劍,玄鐵重劍,到木劍乃至最後的無劍,不知道破世間多少玄機軟體設計與用劍也頗有幾分相似之處 下面就拿大家耳熟能詳的許可權設計為例,聊聊我對許可權設計理解的三個層次吧 第一層:手中有劍,心中無劍年少時,憑著手上的這把無名利劍,鋒芒畢露,以為只要有這件利器在手,這天下便唯我獨尊。 "XX,你那個薪資查詢系統,怎麼誰都可以進去查啊?""啊?...""只有總經理和他的助理可以查!""哦..."
Time of Update: 2018-12-07
園子裡這麼多討論OO的﹐我也來湊一下熱鬧吧。 物件導向開發一個最重要的思想就是對真實世界進行類比。 然而﹐在大量的使用物件導向語言開發的系統中﹐您卻很難看到這種類比﹐而依然是些以資料庫為中心的增刪改查動作﹐很少能看到”真實的世界”的身影。 出現這種情況﹐很大程度上都是受資料庫為中心的影響。 以資料庫為中心開發系統﹐有一套成熟的理論﹐也經曆住了多年的考驗﹐是到今天為止﹐大部分資訊系統開發時的不二選擇。 以一個圖書管理系統為例﹐有這樣的一些功能﹕新書上架﹐借閱﹐歸還。 按照資料庫方法﹐我們會設計出這
Time of Update: 2018-12-07
以前在用js時候﹐經常使用它的eval方法來完成動態代碼的執行。但是net中好像沒有什麼好的辦法來代替它﹐雖然好像有一個代碼編譯類﹐但是它太複雜了﹐對於一段簡單代碼的執行實在是得不償失。今天在與同事討論工作流程時﹐聽到了它的動態代碼節點,居然找到了我很久以來一直想要用到的功能,不敢獨享﹐與大家分享。原理﹕使用js.net(因為裡面有eval方法)編寫一個類﹐類別中新增一個方法來執行動態js代碼。然後使用jsc.exe把它編譯成一個dll在c#項目中把它加入﹐然後傳入動態代碼﹐呼叫這個類別的這個方
Time of Update: 2018-12-07
其它模式: 一.Strategy Pattern(策略模式) 二.Template Method Pattern(模版方法模式) 三.Bridge Pattern(橋接模式) 四.Visitor Pattern(觀察者模式) 五.Action Pattern(命令模式) 六.(Observer Pattern)觀察者模式 設計模式,還沒寫完,今天有些空,接著寫。
Time of Update: 2018-12-07
《閑話許可權設計三層境界》以許可權設計為例聊了一下我對系統設計的理解過程,不過有園友在評論中問到了許可權設計一些具體細節,於是就又專門就某些問題說明了一下,並同時感謝大家的關注 # 2010-09-27 14:17 顧曉北 回複 引用 @Kevin Zou我剛想了一下,至少需要5個表吧(如果用關聯式資料庫的話)?1,使用者表;2,角色表;3,資源表;4,使用者——角色關係表;5,資源——角色關係表;
Time of Update: 2018-12-07
今天在看一個系統時,發現登入彈出系統主介面視窗後原視窗居然無提示關閉了,很是奇怪。於是把代碼檢視一看,發現只是多了一行簡單的代碼就搞定了<script>function openit(){ window.open('bb.htm'); window.opener="xxx"; window.close();}</script><input type="button" value="test" onclick="openit()">就是給win
Time of Update: 2018-12-07
曾經在一家公司短暫的幾天工作中有過這樣的經曆。上班的第一天﹐同組做web的一位同事幫我開了一個帳號﹐要我上公司的管理系統看一下公司的規章制度。百無聊賴的看完後﹐隨便點了一下左邊的"員工基本資料查詢"菜單﹐頁面的資料顯示地區顯示"您無許可權查看此頁"﹐本想退出﹐但發現頁面的查詢條件輸入地區存在﹐而且查詢按鈕只是灰掉而已﹐在查看原始碼後﹐抱著試一下的心態﹐我在瀏覽器的地址欄輸入一句js指令碼(javascript:alert(document.all['querybtn'].disabled=fal
Time of Update: 2018-12-07
今天看了一篇文章,談到CMM、SPI、AP三者的關係。我寫點心得,和大家一起談談一般的團隊開發過程管理情況。1.軟體企業的核心能力:開發技能:我們說包括:OO,架構,組件等等。開發過程:CMM、RUP、XP
Time of Update: 2018-12-07
謝謝隨心所欲和其它網友的關注和看法。我想在我提出使用URL進行安全管控作為我的web應用程式安全的基礎,一定有很多網友的不解,所以就先解釋一下這個問題吧。使用URL進行許可權管控的意思是:1.在上篇中我說過,web應用程式的本質其實就是Request。所以要讓您的web應用程式安全,最直接最有效手段就是讓每一次Request都置於你的管控範圍之內。這就好比您的web應用程式是一個大型遊樂場,而您的安全模組就是這個遊樂場的入口檢票處。這樣凡是要進行您的遊樂場的人員,必須都已經通過了您的資格認定了,
Time of Update: 2018-12-07
1.緩衝是提高程式效能的一種非常重要的方式,其原理就是通過空間換取時間,在記憶體中儲存CPU的運算結果,這樣下次相同的運算時,可直接從緩衝中提取,提高系統效能。 2.以下情況一般都會用到緩衝:資料庫查詢,系統配置模組,對象池等。3.緩衝運用的一些特點:運算比較復雜或耗時,運算結果是與運算條件一一對應的(如通過帳號查詢user,帳號與DataSet對象是一一對應的),但是其數量是可變的(緩衝的項次與Client的查詢請求和資料庫中user的數量有關)。4.如果某個類出現以下類似代碼:Code
Time of Update: 2018-12-07
應用程式的安全管控包括管控的時機和方法兩個方面﹐即在哪裡或什麼時候進行管控﹐和使用什麼依據進行許可權管控。在前幾篇中﹐我提到在web應用程式進行安全管控的時機是在每次Request到達真正的應用程式之前進行﹐現在在總結一下其特點﹕1.這種方式不會出現未管控的死角(每次請求都會進行﹐每次動作都會經過驗證)﹐並且抽象出web應用程式的本質(所有的伺服器端程式都是在用戶端request後)﹐這樣也就可以與業務系統解耦﹐單獨設計了。2.在每次執行前就進行許可權管控應該更安全﹐因為使用者在沒有授權的情況下
Time of Update: 2018-12-07
1.官方網址: http://arachnode.net/2.下載後解壓:3.安裝 SQL Server 20054.安裝 Vs2008 (VS2005 一定要SP1,否則其中有些專案檔無法載入,但是最好是用2008因為有Linq的組件)5.從backup檔案中還原資料庫,運行SQL Sever Managerment
Time of Update: 2018-12-07
記得幾年前不管開發什麼系統,都會引入log4net進行系統的日誌記錄,當時只沉迷於這個組件帶來的超強日誌功能。不過很快我們就嘗到了惡果,經常在日誌無輸出時,在試了google出來不知道原因的解決方案失敗後,只能將log4net源碼全部attach上,慢慢的一行一行追蹤這個龐大的類庫來找出原因。有時我們甚至不得不進行日誌的日誌設計,在日誌失敗時,使用我們自己的,最直接的,最簡單的,最少出錯的方式來記錄日誌的出錯資訊。而在我們頭痛時,那個看似可應付無窮變化的組件卻幾乎一次也沒有給我們帶來驚喜。日誌永
Time of Update: 2018-12-07
在看了自適應軟體......的” 我今天在做我們一個新的系統功能權限的時候,有一點新的想法,不知道是不是班門弄斧,歡迎扔扔雞蛋! ”後﹐發現大家對於系統許可權還是很關注﹐因此在繼續我的安全模組設計之前﹐再對以系統功能作為許可權管控的方法進而實現系統安全的完全脫耦方案進行說明。我以一個實際的小型訂單管理系統為例來實現這種許可權設計方案﹐也歡迎大家能提出自己的許可權設計方案來對比﹕ 某某公司線上訂單管理系統的使用者需求說明書﹕1.
Time of Update: 2018-12-07
我今天在做我們一個新的系統功能權限的時候,有一點新的想法,不知道是不是班門弄斧,歡迎扔雞蛋! 1.首先定義好具有權限意義的十進制數,如下: Add Delete Modify Visiable 十進制 意義 0 0 0 0 0 該功能不可見 0 0
Time of Update: 2018-12-07
很抱歉﹐這段時間非常忙(項目﹐考試..)﹐所以好長一段時間都沒有更新這個系列﹐同時也謝謝大家的關注﹐我會努力寫好並完成這個系列的。 先總結一下web應用程式安全管控的要點﹕ 1. 在每次用戶端請求(Request)時進行安全管控(原因和作法請參考思考2)2. 安全管控分為認證和授權(二者完全分離﹐單獨實現﹐參考思考2的程式碼範例)3. 認證即識別要求者是誰(提取使用者標識或匿名登入)(作法簡單﹐一般採用Session或Cookie實現)4.
Time of Update: 2018-12-07
今天小朋友寫了個程式,出現亂碼,將解決過程分享一下:為方便說明,將環境簡化,vs.net 2003, jquery-1.3.2.js, web service調用 簡單的請求,簡單的響應,但是亂碼產生了 Why?亂碼之所以產生,原因很簡單,無非就是編碼錶用錯了,如傳的是big5字元,接收卻使用utf-8,或utf-8編碼,卻用GB2312解碼。 好吧,先確認一下是否請求過程中產生的亂碼 那我發過去的是亂碼嗎? 開啟C:/tmp/下的test.txt
Time of Update: 2018-12-07
我是一個web程式員,很喜歡.net,原因很簡單,用了7年,很熟。 這幾天.Net4.0 RC版發布了,其中的一些新特性看完讓人熱血沸騰。血冷之後,卻感覺到了一絲涼意。 .net越來越強大了,強大到讓人感覺有點害怕。當C/C++程式員還在四處為記憶體泄露而奔波時,大部分.Net程式員至今都可以不知道析構為何物。 asp時代想要操作線程很要有兩把刷子,而現在的.net基本上幾分鐘就可以完成並行計算。 前不久你還在為從資料庫中撈出一堆資料並順利分頁而沾沾自喜,下一刻就讓Asp.net