[小菜一碟] 善用 SQL Server 唯一條件約束(UNIQUE Constraints)來避免因併發產生重複的唯一值

講到資料庫的唯一值,第一個我們會想到就是主索引鍵(Primary Key),那同一個資料表內除了主索引鍵之外會不會有其他的唯一值?我之前遇過的一個需求就有,它是一個部落格的功能,讀者可以收藏文章,同一篇文章不能重複收藏,而讀者可以對已收藏的文章進行任意的排序,所以「讀者 ID + 文章 ID」就成了資料表的主索引鍵,而「讀者 ID + 序號」就是資料表中的另一組唯一值。

...繼續閱讀 »

[食譜好菜] 在 Windows 安裝 Flutter in Android Studio 到成功開啟範本 App 的過程記錄

Flutter 做為一個跨平台解決方案,從 2017 年橫空出世之後,短短幾年的時間便能夠在市場佔有一席之地,除了背後有 Google 的支援之外,其號稱一份原始碼就能夠在 Android、iOS、Windows、macOS、Linux、Web 上建置執行,頗有一統江湖的氣勢,這篇文章記錄我在 Windows 上,從安裝 Flutter in Android Studio,到建置並成功執行範本 App 的過程。

...繼續閱讀 »

[廚餘回收] 在 SQL Server 中新增大量資料後又刪除的副作用

這天客戶跑來跟我說「資料庫壞了,無法新增資料!」,出現了下面這段錯誤訊息:

Could not allocate space for object 'dbo.XXX'.'PK_XXX' in database 'YYY' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

很明顯,這段訊息告訴我們是儲存空間已滿,可是我前幾天才維護過,按照資料增加的速度,不會那麼快才對,來問問看使用者做了什麼事?

...繼續閱讀 »

[廚餘回收] 解決 Gmail 不支援應用程式或裝置透過簡易郵件傳輸通訊協定(SMTP)傳送電子郵件

有一天 Jenkins 不再寄發建置結果通知信,追查原因是因為 Google 更新了一項安全性政策

為保護您的帳戶安全,自 2022 年 5 月 30 日起,如果第三方應用程式或裝置只要求您以使用者名稱和密碼登入 Google 帳戶,Google 將不再支援這些應用程式或裝置。

不過這也不是沒有退路,我們可以改使用應用程式密碼登入帳戶

...繼續閱讀 »

[食譜好菜] CefSharp 在 JavaScript 與 .NET 之間互相呼叫方法並且傳遞參數及回傳值

上一篇文章我們簡單介紹了一下 CefSharp 的基本使用方式,直接在 WinForms/WPF 內嵌一個瀏覽器,基本上我們所有的程式邏輯都可以引入 JavaScript 套件,用 JavaScript 來開發,直接在瀏覽器端執行,但是這不代表我們不能把工作丟給 .NET 來做,必要時我們還是可以搭配 .NET 來平衡一下應用程式的工作負載,因此在 JavaScript 與 .NET 之間傳遞參數及回傳值就很重要了,這篇文章我們就來探究一下使用 CefSharp 套件,如何在 JavaScript 與 .NET 之間傳遞參數及回傳值?以及能夠傳遞的參數及回傳值的類型有哪些?

...繼續閱讀 »

[食譜好菜] CefSharp 把 Google Chrome 的核心 Chromium 變成了 WinForms/WPF 的控制項

UI(User Interface)是人機系統當中相當重要的部分,由於現代軟體的呈現模式非常多元,從傳統的 Desktop,到 Web、App,甚至 AR、MR、...等等,以致於一個開發者要通透所有 UI 設計工具幾乎是不可能的,所以當我們設計好一套 UI 之後,能夠有個工具幫忙照搬到其他的開發框架上是最好不過的,本文要介紹的 CefSharp 是一套可以將我們寫好的網頁,直接搬到 WinForms/WPF 上使用的套件,想要開發 Windows 視窗應用程式,身邊卻只有會網頁設計的開發人員可以配合設計 UI 時,CefSharp 就可以幫助我們把網頁設計師開發好的網頁,無縫地直接搬到 WinForms/WPF 上使用,省時又省力。

...繼續閱讀 »

[小菜一碟] 如何將 LINE 會議室的連結分享到 LINE 社群?

自從 2020 年疫情大爆發以來,如果要票選疫情期間的關鍵字,「居家上班(Work From Home - WFH)」絕對是榜上有名,而各家即時通訊廠商為了 WFH 這件事情,無不卯足全力調整自家軟體功能,希望在這個特殊的時期能夠跟得上使用者的需求,其中在台灣擁有大量用戶的 LINE 就將其群組通話功能獨立出來做成「LINE 會議室」,使用者只要經由會議室連結就能直接進行群組通話,不需要是同一個群組內的成員,但是這個會議室連結無法分享在 LINE 社群,這篇文章就來說明要怎麼讓 LINE 會議室連結分享在 LINE 社群?

...繼續閱讀 »