名家專欄

[料理佳餚] C# 三種實作分散鎖定的方式

分散鎖定的使用場景通常是我們希望某個資源,同一個時間存取它的程序不要超過一個,在同一個應用程式中我們有 lock 陳述式Monitor.EnterMonitor.TryEnter 可以用來做鎖定,當有一個以上的應用程式,甚至是跨不同機器的應用程式要做鎖定,這個會需要用到額外的資源,我們儘量利用我們手邊有的資源來做這件事。

...繼續閱讀 »
on supershowwei

【C#進階設計-從重構學會高易用性與高彈性API設計】 201908 第二梯次

想要具備設計底層、共用元件、框架、服務 API 能力,你需要對基本的東西了解地更透徹,讓這些基礎能幫助你設計出高易用性、彈性的 API。

這門培訓將帶著你認識 C# 的基礎,並運用這些基礎組合出實務上進階設計的能力。

報名這裡去➟【201908 C#進階設計-從重構學會高易用性與高彈性API設計 報名表單

...繼續閱讀 »
on hatelove

【針對遺留代碼加入單元測試的藝術】201910 第七梯次﹣台北

【課程涵蓋範圍包含下列主題】

辨識依賴、隔絕依賴、依賴注入、擷取與覆寫、stub/mock 差異與使用場景、單元測試三種驗證方式、相依靜態方法的單元測試、父類依賴的測試、委派與事件的測試、測試程式重構與設計

報名這裡去➟【201910 針對遺留代碼加入單元測試的藝術 報名表單

...繼續閱讀 »
on hatelove

【極速開發】 201910 第八梯次 台北

生產力 = 你的設計功力(能力) + 最佳化開發環境與設定(神兵) + 對的開發方式(招式)

這門【極速開發】的培訓,就是用來解決實務上大家總說「時間不夠」的問題,因為時間不夠,所以我沒法子寫單元測試,沒法子重構,沒法子 TDD,沒法子 code review,沒法子逋拉逋拉…

我認同「時間不夠」是個問題,然而卻很少人去改善或解決這個問題。這門課,將讓各位學到,如何建立自我刻意練習的模型,將所有工具的整合起來發揮最大綜效,透過正確的開發方式與順序,讓你寫代碼時能行雲流水,並且兼顧設計、品質與生產力。

報名這裡去➟【201910 極速開發 報名表單

...繼續閱讀 »
on hatelove

菜鳥養成策略-Pair Programming

看過很多團隊,在補進新人時給了魚之後就放生菜鳥。好像拿了些素材給他,他就能上手,但其實這是很不負責任的行為。

如果你在乎的是盡快讓菜鳥成為即戰力,熟悉產品、熟悉系統架構、熟悉開發規範、熟悉產品開發中得接觸到的各個角色、熟悉整個開發流程,你就不該在一開始的三個月把他排除在團隊之外。

而是在一開始就讓他加入團隊,當個觀察者、學徒、活水,甚至讓他貢獻出一些價值,例如發現過去團隊看不見的盲點,針對團隊習以為常卻不合理的部份提出疑問。

而 Pair Programming 是一種已知很有效果的方式,來讓菜鳥能扎實地融入團隊。

...繼續閱讀 »
on hatelove

[小菜一碟] 檔案目前位置取得方法的不同,而不是不同的檔案目前位置取得方法。

這篇文章中網友的留言吸引了我的注意,.NET Framework 提供了至少三種取得檔案目前位置的方法:

  • AppDomain.CurrentDomain.BaseDirectory
  • System.Reflection.Assembly.GetExecutingAssembly().Location
  • System.IO.Directory.GetCurrentDirectory()

我還真不知道它們具體上的差異,趁這個機會做了一下實驗順便記錄下來,也提供給各位朋友參考。

...繼續閱讀 »
on supershowwei