發表文章

目前顯示的是有「軟體」標籤的文章

每個程式設計師/程序猿/碼農 都該問自己的14個問題

圖片
Coder 又譯 程式設計師 程序猿 碼農 寫代碼的 ... 在 IT 環境打滾久了,還是會看到很多有資歷的 Coder 寫出的程式碼難以維護, 邏輯混亂,又臭又長,甚至連註解都沒有。 程式開發並不是寫愈久經驗值就愈高 ... 這不是遊戲啊! 想不想進步,要不要進步都端看個人願不願意學習與精進。 很多寫了 6~7 年以上的 Coder 依然只會 Copy and Paste , 很多時候連自己 C&P 的 Code 內容是什麼都不知道 ... 😞😞😞 或者按照既有團隊規則與流程就這樣寫下去,一點疑問也沒有, 對原理與過程一點興趣也沒有。😖😖😖 這就是現實啊! 但是既然走了 IT(哀踢) 路,就無法後悔了,正所謂: IT無涯,回頭無岸 真的是很辛苦的一條路,走下去全靠興趣。 在對岸王爭的專欄《設計模式之美》,其中提到的如何發現程式碼質量問題, 可以從以下幾個方面審視程式碼, 這也是每次開發的過程中都應該要在內心問自己的問題: 專案目錄設置是否合理、模組劃分是否清晰、程式碼結構是否滿足“高內聚、低耦合”? 是否遵循經典的設計原則和設計思想(SOLID、DRY、KISS、YAGNI、LOD 等)? 設計模式是否應用得當?是否有過度設計? 程式碼是否容易擴展?如果要添加新功能,是否容易實現? 程式碼是否可以復用?是否可以復用已有的項目程式碼或類別庫? 是否有重複造輪子? 程式碼是否容易測試?單元測試是否全面覆蓋了各種正常和異常的情況? 程式碼是否易讀?是否符合團隊的編碼規範 (比如命名和註釋是否恰當、代碼風格是否一致等)? 程式碼是否實現了預期的業務需求? 邏輯是否正確?是否處理了各種異常情況?是否保留彈性? 日誌紀錄是否得當?是否方便 除錯(debug) 排查問題? API是否易用?是否支持冪等、交易事務等? 程式碼是否存在平行處理問題?是否為安全的執行續? 性能是否有還有優化空間,比如,SQL、算法、邏輯是否可以再優化? 是否有安全漏洞?比如輸入輸出校驗是否完整且全面? 這些問題都很不簡單,但時常問自己,久了就會改善, 過程中經驗值就會提升了。 希望這些對大家有幫助。 All rights reserved. ------------------------ 設計模式/Design Pattern/軟

VMware Data Recovery (VDR) 升級 步驟 說明 the upgrade process from earlier version

第一次升級VMware Data Recovery (VDR),做個筆記紀錄一下。 看了好久的說明文件終於看懂與領悟了! 簡單描述基本步驟,應該可以順利更新升級了! (1).    關閉 vSphere Client (VI Client) (2).    先移除舊的 Vmware Data Recovery Plug-in (3).    安裝新的 Vmware Data Recovery Plug-in (4).    若是使用 VirtualDisk(VMDK) 作為備份目標時,則舊的 VDR 系統硬碟要保留。 (5).    若是使用網路連線磁碟機時,則舊的 VDR 資料可以不用保留 ( 因為將所有的設定檔儲存到網路磁碟上 )[EX: //ip/folder] 。 (6).    確定備份目標的完整性檢查 (Integrity Check) 是 OK 的。(如果不OK,就要刪除異常的備份點) (7).    將舊的 VDR 關機。 (8).    部署新的 VDR 應用程式到 VM 中。開機後,做網路等相關設定。 (9).    若是使用 VMDK 方式備份,則將相關舊 VDR 中的 VMDK 複製到新的 VDR 目錄下,然後加入 VirtualDisk 到新的 VDR 中。 (10).     在新的 VDR 中加入要儲存備份的目標裝置 (EX:  //ip/folder ) 或是舊的 VMDK 硬碟。 (11).    之後會提示是否要匯入舊的備份設定資料,選擇 Yes 。升級完成。 !! 如果匯入時失敗的話,可能要回到步驟 6 確定備份的儲存目標是否正確。確定正確後,需再重新安裝 VDR 後,才會再次出現提示匯入的訊息,否則會鬼打牆,無法匯入舊資料! (12).    可以移除舊的 VDR 。 參考網址: http://www.vladan.fr/vmware-data-recovery-2-0-the-upgrade-process/

終於把惱人的 ThinkVantage Password Manager Firefox Extension 移除了

對於 Lenovo 的 ThinkVantage Password Manager 軟體一直用不習慣,索性將它移除! 原以為這樣就沒事了... 但是當我打開FireFox(FF)觀看我所安裝的擴充套件(Extension)時, 卻發現有個討厭的東西! 那就是 ... ThinkVantage Password Manager for FireFox 的擴充套件, 更慘的是 移除按鈕 是灰色禁用狀態! >"< 想移除都沒辦法! 之前找了好久,Google了好多天都沒有看到有類似的情況,也沒有相關的移除做法! 所以萬念俱灰~就先停用吧!(還好還有停用按鈕可用!) 照理說,除除掉主程式,其相關的附加元件或套件也應該要跟著移除吧! 怎麼會還有殘留物咧?真是百思不解阿~~ 今天心血來潮又去找了一下,一樣Google不到資訊, 就想先從FF的套件安裝目錄下手,自己手動移除! 不過自己對於FF的擴充套件的寫法與相關知識都沒有,基本上這樣做還滿危險的! :( 但為了砍掉那個討厭的套件,只好拼了!大不了重裝就是了 ... 花了很多時間,利用一些XPI的線索關聯了一下,終於找到FF的套件安裝目錄... C:\Users\ XXXX \AppData\Roaming\Mozilla\Firefox\Profiles\ ol8g8kbi.default ( 註1: Vista下使用者目錄是在 C:\使用者 也就是 C:\Users 註2: XXXX 為登入的帳戶名稱 註3: ol8g8kbi.default 應該會隨每個人安裝而有所不同, 不過它是目錄,在Profiles目錄下也只有看到一個,所以很好認! ) 哇!這裡面可真是豐富阿~ 原來安裝的套件資料都在這裡! 在瀏覽目錄時發現了一個可疑的檔案 ... extensions.ini 對照了一下,原來裏面是 擴充套件 的列表, 也就是打開FF -> 工具 -> 附加元件 裡面所列出的項目... 這下可樂了~原以為找到了,但是對照了所有安裝的套件... 咦?怎麼不見那個討厭的套件呢?想了一下... 原來我有停用, 把它啟用看看好了,再重新打開檔案! YA~ 在最下面發現了可疑的字串... Extension30=C:\Program Fi

ASP.NET網站發生了 "BC30456: “InitializeCulture”不是“ASP.default_aspx”的成員。"的錯誤...

最近正在研習ASP.NET 3.5的程式,由於對網頁開發的概念一向不是很熟, 在觀念上也不是很好,但是大勢所趨,所以還是要學習... 開始就選擇好入門且有良好IDE工具的ASP.NET下手囉... 不過因為是沒有章法的跳躍式學習,所以根基也不是很穩, 自然在開發上就會遇到一些問題!但是還是希望將根基慢慢打穩... 日前簡單了開發一個簡易的資料查詢系統,在執行上發現了兩個問題, 1. 用物件產生的Table其CSS Style設定似乎會殘留!? 2. 將編譯完後的網站丟到IIS去執行時會出現: 發生了 " BC30456: “InitializeCulture”不是“ASP.default_aspx”的成員。 " 的錯誤訊息! 由於微軟(M$)的錯誤訊息一向是[ 沒有意義的提示! ],常讓許多人搞不清楚, 錯誤訊息有時過於簡短,完全不知所云, 不過在開發工具VS上,倒是很實用,畢竟是重要的開發工具囉! 然而也非盡善盡美,這次的問題2所顯示的錯誤訊息完全令人摸不著頭緒 @@... 當執行時就出現[ 編譯錯誤 ],然後出現 行 1: <%@ page language="VB" autoeventwireup="false" inherits="_Default, App_Web_default.aspx.cdcab7d2" %> 行 2: 行 3: IIS所顯示的錯誤訊息與其指示的錯誤地方實在是讓人摸不著頭緒,上網找資料發現資訊不多, 大都是說要把 debug 設為 false,然後再加入Web.config中加入 或 的指示詞,這大概是受到 [ InitializeCulture ] 的編譯錯誤提示的影響吧! 因為... 這些動作似乎沒有作用!又找了一下資料,終於發現有點線索了, 在 http://forums.microsoft.com/china/ShowPost.aspx?PostID=3728023&SiteID=15 找到了一些訊息。 原來錯誤的重點在於[ inherits="_Default" ]!回去看了一下當初所做的網頁, 在預設的情況下,VS會將網頁的名稱當作是Cl

綠色的世界 - ThinApp

圖片
今年年中,在綠色惡魔(安裝軟體是一件很麻煩的事情)的驅使下, 看見網友介紹一套綠色化的軟體,叫做 Thinstall,在試用過後! 真是驚為天人,太神奇了,這樣以後部屬軟體就是一件簡單的事情了~ 可以想想,如果安裝一台要花5分鐘的話,裝60台就要300分鐘了 @@~ 這是多麼可怕的數據啊!生命有限,要及時把握光陰~~ 但是,在用一段時間後發現有個小問題,那就是所有的動作都是在"沙盒(SandBox)"裡面, 所以,所有動作的檔案都會在存放目錄下裏面應用程是目錄裡面的[%drive_C%] 或是 [%drive_D%] 等等,這樣極度麻煩,在使用的整體感上也有落差! 然而,因為這好用的軟體被虛擬化大廠VMWare看到了,因此就被買走囉! 而且換了一個新的名子 -- 叫做 ThinApp ... 好像還不錯! ^__^ 而且在版本上也有更新,所以又下載來試試看,結果.... VMWare果然厲害, 新的[Merged isolation mode]模式與OS能完全整合了,所有儲存的檔案也不會再 跑套程式目錄下的那些虛擬磁碟機裡面了! 有興趣的可以到VMWare的官網去看看~~> VMWare ThinApp . . .