Quantcast
Channel: Darkthread
Browsing all 428 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

ActionFilter Attribute 共用特性與狀態保存

同事報案,某個 Web API 會不定期出錯。進一步調查是近期啟動的一個新排程同步發出多個 API 呼叫,當 Web API 同時被多方呼叫,Web API 加掛用來寫 Log 的 ActionFilter Attribute 偶爾會發生 Dictionary.Add 重複加入相同鍵值的錯誤。因 Dictionary 被設成 ActionFilter Attribute Instance...

View Article


Image may be NSFW.
Clik here to view.

好問題:GUID 真的不會重複嗎?

前幾天,「系統產生的 GUID 是否可能發生重複?」在辦公室引起熱議。我主張:GUID 透過網卡 MAC 地址、產生時間以及一些機制(防止同時間點產生兩筆或時鐘往回調)確保世上任何電腦都不會產生相同 GUID,只要所有電腦的 MAC 地址沒有亂來,理論上不可能發生重複。這說法挺有說服力,解除了大家心中的疑慮。BUT,禁不住好奇爬了文,這才發現「我錯了!」倒不是不該信任 GUID...

View Article


Image may be NSFW.
Clik here to view.

WinDBG 應用實例:找出 ASP.NET CPU 100% 原因

故事是這様的,我們有一批網站搬到新主機出現詭異現象:每隔一段時間某些 IIS AppPool Process 會吃滿 25% CPU 使用量,在 4 核機器這象徵有一條 Thread 陷入無窮迴圈吃光一個 CPU Core 的時間。有時也會出現多個 AppPool 同時發難,每個 Process 吃 25%,把整體 CPU 使用率逼上 50%、75%,甚至 100%。出問題時,該 AppPool...

View Article

Image may be NSFW.
Clik here to view.

ASP.NET CPU 飆高問題之傻瓜分析工具-DebugDiag Tools

昨天使用 WinDbg 追查 ASP.NET CPU 100% 原因的文章得到不少朋友的回饋,其中 Robert Hu 留言提到一個更方便的 Dump 擷取與問題分析工具,試用之下果然犀利,在此補上介紹。Debug Diagnostic Tool (DebugDiag) 是微軟針對程式當掉(Crash)、當住(Hang),以及記憶體洩漏(Memory Leak)等問題設計的快速偵察工具,目前最新版為...

View Article

Image may be NSFW.
Clik here to view.

Oracle 追討 Java 授權費議題之研究心得

前陣子有 Oracle 對企業追討 Java 授權費的新聞搞得人心惶惶:Oracle 開始追討 Java 授權費,企業客戶頭痛 - TechNews 科技新報Java用戶注意! 傳甲骨文開始加強取締未經適當授權用戶 - iThome被很多人問到「為了跑 Java 程式裝 JRE/JDK 也會被收錢嗎?」「裝什麼版本才會被收錢?」…身為 Java...

View Article


Image may be NSFW.
Clik here to view.

2017 渣打馬拉松與 SUB 4 之夢

跑馬當踏青,荒唐一整年,總得有場玩真的,渣打馬就是你了!去年渣打馬遇到連貓空都下霰的霸王級寒流,今年雖是暖冬,渣打馬照例再跟入冬最冷寒流強碰,原本預測將到 10 度以下,最後是 11 度的乾冷天氣。老天爺送上大禮,加上近來無傷無痛,這様還破不了 PB(個人最佳成續)豈不人神共憤,天地不容?賽前我還很假掰認真地參考...

View Article

Image may be NSFW.
Clik here to view.

公告:Facebook 粉絲專頁破萬抽獎活動

剛圓了 SUB4 之夢,部落格也悄悄跨過另一座里程碑-黑暗執行緒臉書專頁按讚數破萬了!(轉圈灑花)PS:咦?好像有人衝去退讚了…...

View Article

Image may be NSFW.
Clik here to view.

使用 Process Explorer 查看 .NET Callstack

WinDbg 追查 CPU 飆高問題一文發表後,在 FB 收到網友 Webber Han 回饋(在此感謝),提到射茶包利器 Process Explorer也能像 WinDbg 一樣檢視 Callstack 中的 .NET 組件、函式資訊,查了一下,這是 2012 年 15.2 版就加入的功能,Lag 大了。關鍵在於「Configure Symbols」有無設定妥當,Process Explorer...

View Article


Image may be NSFW.
Clik here to view.

TIPS-以不同使用者身分執行程式

在一些情境下,我們需要切換成其他使用者身分執行程式,例如:以 UserA 登入 Windows,因特殊需求改用 UserB 帳號啟動特定程式。一個經典範例是 SSMS,如下圖所示,當選擇「Windows Authentication」認證方式,Username 欄位固定為當下登入帳號,無從改變。要改變 SSMS 中的 Windows Authentication...

View Article


Image may be NSFW.
Clik here to view.

在 TFS 2012 Build Service 編譯 VS2015 專案

工作環境用的是 TFS 2012 Build Service,最近要編譯 VS2015 專案,程式用到 C# 6.0 超好用的字串插值寫法當場被打臉,得到 Unexpected character '$' 錯誤。原因很明顯,VS2015 改用 Roslym 編譯器,TFS 2012 Build Service 上沒裝是要編個屁?經過一番摸索(還學到 TFS...

View Article

Image may be NSFW.
Clik here to view.

查詢 SQL Server 詳細版本資訊

資安更新作業需確認 SQL Server 詳細版本資訊,需細到 Service Pack 及累積安全更新,爬文查到超好用的 SQL Server 版本資訊偵測腳本。這組自動偵測腳本由微軟OneScript Team提供,可顯示版號、產品名稱、產品層級(Service Pack 版本)、版本別(Express、Enterprise、Developer…)、32 / 64 位元、Service Pack...

View Article

Image may be NSFW.
Clik here to view.

Windows Open JDK 替代方案研究

前陣子分享過 Oracle 追討 Java 授權費議題的研究心得,原以為誤用同綁安裝的進階商業功能是主要陷阱,但依最近蒐集到的情資,發現對企業用戶而言,「General Purpose Computing」才是天大的坑。依據 Binary Code License(BCL),Java SE 8 只可免費用於「General Purpose Computing」,用於 Embedded Device...

View Article

Image may be NSFW.
Clik here to view.

【茶包射手日記】程式安裝與解除安裝疑難排解員

來了!來了!從山坡上輕輕地爬下來了。Visual Studio 2017 3/7 RTM囉~家裡跟公司有好幾台機器要裝,照著小朱的教學文抓好離線安裝包(我選 Enterprise 英文版,全部安裝檔約 20.6 GB),避免逐台重複下載耗時費頻寬又不環保。按照慣例,身為茶包射手體質異於常人,安裝 Visual Studio 一次 OK...

View Article


Image may be NSFW.
Clik here to view.

Windows 停用 TLS 1.0 之配套作業整理

開始之前,說說 TLS。大家朗朗上口的 SSL(Security Socket Layer),最早源於 1995 年發表的 SSL 2.0(1.0 很雷,所以從沒公開過),隨後在 1996 推出 3.0 版,IETF 於 1999 年將 SSL 標準化,因版權考量改稱為 TLS(Transport Layer Security)。就技術而言, TLS 1.0 與 SSL 3.0 很相近,而 TLS...

View Article

Image may be NSFW.
Clik here to view.

客製靜態檔案 HTTP 404 訊息

同事報案,某組 Windows 2012R2 Web Farm 均已設定 web.config <customErrors mode="On" /> HTTP 404 網頁理應如下:但 Web Farm 其中一台卻會顯示詳細錯誤,導致實體路徑資訊外洩:最後同事找出原因,IIS Error Pages 設定有個 Edit Feature Settings,問題主機被設成「Detail...

View Article


Image may be NSFW.
Clik here to view.

Dapper +Oracle 之 DateTime 注意事項

同事報案,我先前寫的 Dapper 共用程式庫有 Bug,當 WHERE 條件包含日期型別時,將 DateTime 寫入 Oracle Date 欄位,接著用同 DateTime 值做 WHERE 比對,竟找不到剛才寫入的資料。用以下範例重現問題:using (var cn = new OracleConnection(csOra)){ cn.Open(); cn.Execute("TRUNCATE...

View Article

Image may be NSFW.
Clik here to view.

【Coding4Fun】注音符號輸入字盤及國字轉注音解決方案

小木頭國文實力有點虛,看在常靠國文騙吃騙喝的老爸眼裡不免焦急。結果,皇帝不急急死太監,我跟著看課文、自己出測驗題,忙得不亦樂乎,但求力挽狂瀾…但每次出題要輸入一串純注音符號總叫我抓狂,先前沒學到好方法在電腦快速輸入「純注音符號」?我只會用注音輸入法再選字,操作步驟略嫌繁瑣,加上平日用倉頡對注音輸入操作不熟,輸入速度跟繡花有得拼。靈機一動,想到好久沒寫 WPF...

View Article


Image may be NSFW.
Clik here to view.

VS2017 無法載入專案,出現 compiler could not be created 訊息

從 VS2017 RTM 起我就一律改用它開發專案,還算順利沒啥問題。今天則遇到一起小錯誤,某個從未用 VS2017 開啟過的專案,開啟時發生專案載入錯誤,出現以下訊息:Project 'Blah' could not be opened because the Visual C# 2017 compiler could not be created. An item with the same...

View Article

Image may be NSFW.
Clik here to view.

OracleParameter 型別不符導致 ORA-03111 通訊中斷錯誤

記錄在 Oracle 遇到的古怪錯誤。Oracle Server 版本 10.2.0.4 64bit,Client 端用 Managed ODP.NET 12.1.24160719(取自 NuGet),某段程式碼誤傳 Varchar2 OracleParameter 與 DATE 欄位進行比對,預期應出現型別不符錯誤,但得到錯誤訊息為 ORA-03111 在通訊通道上收到中斷訊號(Break...

View Article

Image may be NSFW.
Clik here to view.

由 Dapper 傳回 dynamic 物件取得欄位清單

不用預先宣告強型別,查詢資料表後直接傳回 dynamic 是 Dapper的強項,例如:var list = cn.Query("SELECT Col1,Col2 FROM T).ToList(); 將傳回 List<dynamic>,用 list.Fisrt().Col1 就能讀取欄位內容,簡潔又方便。最近有個花式應用,想用通用函式接收 Dapper...

View Article
Browsing all 428 articles
Browse latest View live