Metro Style App當中的資料儲存機制 - ApplicationData 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 作者: David - 6月 26, 2012 ApplicationData是WinRT當中新的資料儲存機制,類似過去我們在Silverlight與WP7當中的IsolatedStorage,但由於同時又支援了Roaming, Temporary, 因此功能更為強大,在這段影片當中,我們就來看看WinRT當中的ApplicationData機制該如何使用... 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 留言
開啟 teams 中的『會議轉錄(謄寫)』與Copilot會議記錄、摘要功能 作者: DD - 11月 30, 2024 在 Teams 中有一個非常好用的功能,可以透過 “謄寫” 把 Teams 的語音會議變成逐字稿,這部分當然是用到語音識別(語音轉文字)的AI技術。 開始謄寫與自動會議紀錄 當啟動一個會議之後,主席可以透過底下這個『開始謄寫』功能來開啟: 這個功能之所以重要,是因為他也是 Teams Copilot 要能夠順利使用的基礎。我們可以透過 Teams Copilot 進行會議的摘要、總結、整理、或是進行會議內容的詢問,而這後面用的則是LLM(大語言模型)的能力: 這功能對於需要參加很多會議的主管、或是在開會遲到的同仁,都是很方便的功能,可以透過詢問Copilot快速地進入會議狀況。 開啟 “謄寫” 功能 然而,這一切的基礎 “謄寫” 功能卻不是每一個機構都有預設開啟,如果你發現你的 “謄寫” 功能是灰色的(無法點選),就意味著你的組織沒有開啟(或沒有為你開啟)這個功能。 那組織的管理員該如何開啟此功能呢? 很簡單,只需要到 Teams 系統管理中心,點選 『設定和原則』 --> 『會議』: 進入 『會議』 的設定之後,找到『會議錄製』–>『轉錄』 將其『開啟』即可: 如此一來,組織內的同仁就可以順利的使用 Tteams 會議中的語音轉文字(謄寫)功能,也可以使用 Copilot 來查詢會議的內容囉。 Enjoy it~ Read more »
Azure OpenAI 的申請與使用 作者: DD - 2月 14, 2024 OpenAI 介紹久了,覺得還是需要寫一篇來介紹Azure OpenAI的申請和使用。 和 OpenAI APIs一樣,微軟身為 OpenAI 最大的投資廠商,理當有一組 Azure 上的 OpenAI API 服務。然而其實,兩組API之間,幾乎完全一樣,不管是用法和價格。 那兩者之間的差異如何定位呢? OpenAI 與 Azure OpenAI 之間的差異 目前Azure OpenAI API服務的定位是針對企業用戶,而OpenAI API則有開放給一般個人用戶申請。這使得Azure OpenAI API的嚴謹度與安全性相對比較高。例如,Azure OpenAI API在呼叫時有獨立的Endpoint,針對使用的模型也有獨立的部署,除了不會跟別人共用API呼叫端點因此可以讓安全性和穩定性提升之外,微軟也承諾你上傳的數據不會被用在訓練模型的用途(這也是大家很在意的議題)。 此外,Azure OpenAI API的帳單是跟著Azure訂閱,同時在全球各地有不同的資料中心,這讓開發人員可以選擇距離自己(或自己的客戶)比較近的資料中心進行模型部署,以便於取得最好的運作效能。 由於微軟是透過在地的合作夥伴進行Azure銷售,因此在Azure OpenAI API的使用成本方面,可能因為採購的優惠折扣而有比較低的總體金額,相較之下OpenAI API就是死板板的固定金額,碰到問題的時候大概也只能上討論區尋求解答,比較沒有在地的服務。 OpenAI API有多次因為用戶數量太大,而導致API端點無法呼叫的案例,OpenAI API是全球同一個端點,因此當此問題發生時,很可能大家都會遭遇魚池之殃,全都無法使用。 另外就是,Azure OpenAI API針對具有暴力、自殘、猥褻、情色的文字的過濾相較於OpenAI API更加嚴格,你也可以從後台選擇不同等級的過濾器,來排除可能造成問題的文字,這對服務的安全性也是一種保障。 依照我現在自己測試的結果,最大的差異在於,微軟的API確實有比較嚴謹(有時候甚至過頭)的filter(過濾器),會對偏激或煽情的字眼非常敏感。在呼叫API時,你偶而會收到類似底下這樣的訊息( 註 ): 此外,就是目前(2024/1) OpenAI 有支援 Assistants API,但 Azure OpenAI 我還沒看到(2024/2... Read more »
VS Code的字體大小 作者: DD - 6月 10, 2018 身為.net developer,這年頭是什麼code都得要會寫的年代。 而雖然我的NB還沒從Windows淪陷為Mac OS,但寫Node.js和Python免不了要用VS Code,這是一種愛的表現。 但歲月不饒人,盡管微臣非常熱於配合,但VS Code預設字體的大小在我還沒錢買大尺寸螢幕的狀況下,實在讓老臣難以適應。當下的第一個反應是什麼? 當然是 Ctrl+滑鼠滾輪往上推…哇靠,沒用。看…這設計…恩,千錯萬錯一定是我的錯。 只好從選單 file –> Preferences –> Settings: 在出來的視窗中,你可以看到 editor.fontsize: 沒錯,改它就行了。改不動? 喔,不好意思,我沒仔細看說明,要copy到右邊是吧,沒問題,copy->paste->modify->Save…搞定。 好簡單啊…連ctrl+(mouse scroll up)都用不到了呢… 咦?這是一篇抱怨文嗎? 沒有,誰說的? 免費的tool我們還有什麼好抱怨的呢…要感恩啦。 啊….對了,如果你還是堅持要使用 Ctrl+滑鼠滾輪,請找關鍵字… "editor.mouseWheelZoom" Read more »
沒有密碼,才是最安全的密碼 - 使用 DefaultAzureCredential() 作者: DD - 7月 19, 2026 古時候 好久好久以前,在遙遠的開發國度中,程式設計師在撰寫應用程式時,常會把資料庫連線字串、API Key、帳號密碼或其他設定,直接放在程式碼裡面。 例如: string connectionString = "Server=myserver;Database=mydb;User Id=admin;Password=P@ssw0rd;"; 這樣做很方便,程式下載下來、編譯、執行,馬上就可以連線。 但問題也很明顯:只要程式碼被上傳到 Git Repos,或是被複製到其他地方,裡面的帳號密碼也會一起被帶走。 而且,即便 Repository 是 Private,也不代表這些敏感資訊就是安全的。 因為能夠讀取 Repository 的人、包含CI/CD Pipeline、第三方掃描工具、AI Coding Agent,都可能接觸到這些內容。 因此,大多數開發人員都知道: 不要把帳號密碼直接寫在程式碼裡。 於是,大家就把它移到設定檔裡。🤔(是不是哪裡怪怪的?) 例如 .NET 的 appsettings.json 或 web.config : { "ConnectionStrings": { "DefaultConnection": "Server=myserver;Database=mydb;User Id=admin;Password=P@ssw0rd;" } } 或是 Python 常見的 .env : DB_CONNECTION_STRING=Server=myserver;Database=mydb;User Id=admin;Password=P@ssw0rd; 這樣比把密碼寫在程式碼裡好嗎? 是的,至少在『心理上』稍微好了一點。因為帳號密碼是存在某個可以被替換的檔案裡。 但是這個檔案依舊可能會: 不小心被 Commit 到 Repository 被複製到測試環境或其他電腦 出現在部署封裝或 Container Image 裡 被寫進 CI/CD Pipeline 的 Log … 更麻煩的是,一旦密碼需要更換(資安規定90天要Roatate),我們就必須找出所有使用這組密碼的程式、環境與設定檔,再逐一... Read more »
使用 Render.com 作靜態網站的自動化佈署 作者: DD - 5月 01, 2025 最近在上課時,為了讓不想花錢申請 Azure 雲端服務的學員,也能夠實際體驗 CI/CD 的開發流程,我一直在尋找一個 免費、簡單 的網站部署的平台。希望用戶只要有 GitHub 帳號,就能將 repo 內的網站經由 GitHub Actions 自動佈署到雲端。 試過幾個方案之後,最後選擇了 Render.com 。它不但提供免費的靜態網站託管,還能輕鬆與 GitHub 整合,自動化部署流程幾乎沒什麼難度,非常適合教學與初學者練習使用。 什麼是 Render.com Render.com 是一個現代化的雲端平台,提供簡單、快速且免費的網站服務。透過與 GitHub 的整合,開發者可以輕鬆地將靜態網站自動部署到 Render,並利用 GitHub Actions 進行持續整合與部署(CI/CD)。 Render 支援多種服務類型,包括: 靜態網站(Static Sites) :適用於 HTML、CSS、JavaScript 等前端資源,透過全球 CDN 提供快速、安全的內容傳遞。 Web 服務(Web Services) :支援 Node.js、Python、Ruby 等後端應用程式的部署。(但不支援 .net) 私有服務(Private Services) 、 背景工作(Background Workers) 、 排程任務(Cron Jobs) :適用於內部服務、非同步處理及定時任務。 如何從 GitHub 部署靜態網站到 Render Render 本身直接支援自動化佈署,你可用 GitHub 帳號申請Render.com ,並且直接建立一個靜態網站: 你可以在建立站台的時候,直接選擇要從哪一個 GitHub Repo 進行佈署: 在選擇好後,你可以配置該網站關聯的資料來源位置(選擇Repo中的資料夾): 設定完成之後,只需要一鍵就能佈署完成: 如果要變成自動化呢? 我們可以在 GitHub Repo 中設定 Action,來進行網站的自動化佈署。 由於Render.Com 提供一個自動化佈署的 WebHook(本質上就是一個API),只要呼叫該API, Render.com 就可以自動從 GitHub repo 中取得最新的程式碼,並且佈署到伺服器端: 也因此,只要我們為其配置一個 GitHub Acti... Read more »
留言