JavaScript RegExp.exec() 與 String.match() 練習
寫網頁需要用 Regular Expression 在字串裡找特定關鍵字,發現 2022 年了,我還沒完全搞懂 RegExp.exec() 跟 String.match() / matchAll() 的用法及差異,趕緊做個練習壓壓驚。 用法說明都寫在註解,請直接看 Code ! <!DOCTY... Read More
View Article2022 年挑戰在瀏覽器跑 Adobe Flash Player
聽聞老同事在 FB 上呼叫支援,說手邊有個舊版軟體還在網頁介面使用 Adobe Flash,但 Adobe 在 2020/12/31 已將 Flash Player 賜死,各大瀏覽器也紛紛在之後的更新將 Flash Player 移除或封鎖,但有個需求還需要使用舊介面,試了許多方法都無解,原廠也攤手... Read More
View ArticleJavaScript 另開新視窗定位技巧 - 開在指定元素位置與完整覆蓋原視窗
大部分的情況下,我們設計網頁只需關心可見元素在網頁文件(document.body)上的座標就好,不需要知道它在電腦螢幕的絕對座標,但有一種情況例外 - window.open(),傳入的 top 及 left 參數會以電腦螢幕為基準。 我有個冷門需求,想在指定元素下方用 window.open()... Read More
View Article改用系統管理者身分執行的方便指令 - gsudo
與 Cmder 相比,Windows Terminal 有幾個缺點 1) 不支援 Windows Server 2) 依賴 Microsoft Store,在網路隔離環境很難安裝 3) 無法快速開啟管理者身分視窗。 【更新】Windows Terminal Github 專案頁有從 Gitub 下載... Read More
View Article跨站台設定 Cookie 的另類解法 - window.open()
瀏覽器禁止跨站台 Cookie 傳送是老問題,尤以 IFrame 內嵌跨站台網頁最明顯,在 IE 時代還有「信任的網站」這招大絕,但隨著 IE 走入歷史,加上瀏覽器對於跨站台 Cookie 限制日趨嚴格,這類老寫法用起來愈來愈吃力。 先來簡單展示,假設有個設定及顯示 Cookie 的 cookie.... Read More
View Article來自微軟官方的 Vue.js 手把手入門教學
隨著微軟擁抱開源,微軟官網出現 .NET/C# 以外的語言教學已不是新鮮事(之前就出過 Python 教學影片),這回輪到 Vue.js 了! 如果你還不知道 Vue.js 是什麼,這裡簡單科普一下。 Vue.js 是當今(2022 年)的前端三大框架 - VAR (Vue.js、Angular、R... Read More
View Article【茶包射手日記】.NET Framework 專案 SQLite 執行錯誤:找不到 e_sqlite3
被 SQLite + .NET Framework 問題困住,纏鬥一陣子才弄清楚狀況,也找到了解法,特筆記備忘。 問題發生在 .NET Framework 專案引用 Microsoft.Data.Sqlite 6.0 冒出DllNotFoundException: Unable to load DL... Read More
View Article活用 NLog 規則個別控制 LogLevel (詳細程度)
ASP.NET 排程模組 - Hangfire 有個蠻酷的功能,能偵測專案是否已啟用 Serilog、NLog、Log4Net、EntLib Logging、Loupe 或 Elmah 等 Log 程式庫,一旦發現會自動寫入 Log。但大多時候 Hangfire 穩定執行,這堆用不到的 Log 便顯... Read More
View Article打破砂鍋 - Hangfire 會不會補跑錯過的排程?
計劃在專案重用 Hangfire 跑排程之際,發現 Hangfire 對錯過排程的處理原則讓我捉摸不定,例如:若伺服器凌晨三點停機到早上八點,有個每天早上四點的排程,八點啟動時會不會補跑四點排程?在開發環境測了幾次,有時會補跑,有時不會,歸納不出規則。若無法 100% 預期行為,將重要任務交付給它讓... Read More
View Article全世界只有我遇到?ASP.NET Core localhost 動態 Port 繫結錯誤
用 Visual Studio 建了一個 ASP.NET Core 專案跑不起來,試了用 dotnet new 新建也是如此,錯誤訊如下: X:\MyTest\EmptyWeb>dotnet run Building... Unhandled exception. System.Invalid... Read More
View ArticleJavaScript 範例 - scrollIntoView 實現清單自動捲動
分享一個 JavaScript 小技巧,假設有個很多項目的清單,靠 CSS overflow-y: scroll 啟用垂直捲軸,除了由使用者操作上下捲動,也能用程式控制捲動到指定的一筆嗎? 用講的不容易理解,看示範就清楚吧! 在以下展示中,我用 div 當清單容器放入 16 個項目 div,清單高度... Read More
View Article重新認識 C# - C# in Depth 第一章筆記
年初許下要把 C# in Depth 看完的宏願,隔週還上演電子書失而復得的插曲。然而,一年都過完 3/4 了,新年新希望又爛尾了嗎? 要說沒爛尾是騙人的,平日有一搭沒一搭,想到才翻幾頁,按這速度,拖到領老人年金還看不完。這樣不行呀,黑大! 動筆開始寫讀書筆記吧,希望起點催速效果。 C# in D... Read More
View Article【茶包射手日記】Windows 驗證網站無法自動登入,需每次敲 AD 帳號密碼
使用者反映某個 Windows 驗證網站,原本可以瀏覽器可以用登入 Winows 的 AD 帳號自動登入,後來變成會彈出輸入帳號密碼,需要重新敲帳號密碼。 問題跟 AD 架構有關,畫個圖說明一下: AD 樹狀結構如上圖,根網域為 utopia.net,網站在 hq.utopia.net 子網域,... Read More
View ArticleGit 開發分支 Rebase 主分支之快捷做法
使用 Git 協同開發時,我常遇到以下情境。 從主分支 master 新開了 jeffrey-work 分支寫新功能,於此同時團隊其他成員(假設叫 Eric 好了)也從 master 開了分支改程式,比我早開發好已併入 master 並 push 到版控主機。得知消息後,我做了 fetch 取得遠端... Read More
View Article重新認識 C# [1] - C# 2.0 泛型、Nullable、委派簡化
【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 書的第二部分來到 C# 2-5,從現在的角度,這些已經老到不能再老,每個 C# 開發者幾乎都能信手拈來的基本技巧,不過閱讀過程仍有不少驚喜,學到一些過去沒注意的細節。 Generic 泛型 沒寫過 C# 1.0/1.1 的... Read More
View ArticleCoding4Fun - 寫個 dynamic 變形蟲物件
11 年前玩過用 ExpandoObject + dynamic 彈性處理屬性(參考:既然要動態就動個痛快 - ExpandoObject),6 年前見識到 DapperRow 靠實作 IDynamicMetaObjectProvider 憑空捏造物件行為供 dynamic 存取的奇妙手法。最近在讀... Read More
View Article也來玩 Azure AI 好了 - 電腦不只會挑土豆,還會看照片
雖然工作還沒什麼應用 AI 的機會,在人工智慧當紅的年代,沒吃過豬肉也要看看豬走路,依據我的技能樹,玩微軟的人工智慧解決方案加減有主場優勢,就從 Azure AI 服務下手吧。 想寫程式整合微軟 AI 服務必須先有 Azure 訂閱帳戶。如果你有 Visual Studio Enterprise 訂... Read More
View Article【笨問題】C# 字串依 ASCII 排序
許多程式老骨腦袋都有這麼一張表,並且會背幾組特別數字:空白鍵是 32 (0x20),0 是 48 (0x30)、A 是 65 (0x41),加 32 可以變成 a 97 (0x61)... 圖片來源:維基百科 在 C# 做字串排序,一時恍忽,熊熊覺得 new[] { "Jeffrey&q... Read More
View Article重新認識 C# [2] - C# 2.0 Iterator 及其他進化
【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 繼續談 C# 2.0 Iterator foreach 在 IEnumerable 之外多支援 IEnumerable<T>,並加入了 Iterator Iterator 可用於 IEnumerable、IEn... Read More
View ArticleGit 小技巧 - 免 Checkout 快轉合併分支
我習慣開發分支合併到主分支前先做 Rebase 再合併 (延伸閱讀:直接合併 vs 先 Rebase 再合併)。舉例來說,假設我從 master 開了 featureX 分支開發,現在要合併回 master: 我會先從 featureX 分支 git rebase master 將 feature... Read More
View Article