[Azure] C# + Azure.Storage.Blobs v12 - 透過 Tag 進行搜尋包含文字日期

2020年12月31日

上一篇文章 [Azure] C# + Azure.Storage.Blobs v12 - 上傳檔案並且加入 Tags 、包含一些上傳數據 ,接下來就是接續下去看看如何透過索引標籤查詢



[Azure] C# + Azure.Storage.Blobs v12 - 上傳資料並且加入 Tags 、包含一些上傳數據

今天我們來聊一個新的東西,真的很新碰到一些坑,因為我之前有跟 Azure Storage Table 搏鬥的經驗,大概了解 Azure 的想法,不然我一定幹聲連連,今天要做的是假設我塞了一堆東西上去 像是 log 但是我總不可能要查詢的時候把所有檔案都拉回來吧,以前的我可能會把log 放在 SQL Server ( 但是好貴QQ) ,其實是可以放在 Blob 上面,之前我的選擇是用  Azure Storage Table ,現在這也變成是一種選擇,因為 Azure Storage Blob 多了新功能  Manage and find Azure Blob data with blob index tags (preview) 。請注意這還是 Preview




[Azure] Azure 線上測速工具 SpeedTestTool

在以前 Azure 不盛行的年代,我們通常都會知道 我們在選機器都會選擇對 目標客戶端最近的地方,如果沒有其他政治或是物理因素考量,根據經驗法則,台灣通常都會選擇東南亞,但是之後 東亞(目前在香港),所以我們都會該選擇遷徙到東亞,但是隨著現在 Azure 蓬勃發展,現在遍地開花,我們在開機器的時候就會不知道到底哪裡比較好,這邊介紹一些工具,因為我最近碰到要測試一些東西,但是偏偏只有 法國中部,法國南部,加拿大中部,加拿大東部,我們家 DevOps 說哪邊比較好,他也只能癱手,網路上找一下也問一下 Dino 哥,他也提供我一些資訊想說就整理一下…



[Azure] C# + Azure.Storage.Blobs v12 - 取得檔案下載位置並且限定下載時間

2020年12月30日

這功能我會蠻常用到的,可以生成一個 Blob 上面的檔案聯結並且限定過期時間,這樣可以做出,譬如要給老闆的報表產好後放在 blob 上面,然後設定一個他會閱讀跟下載的時間之後自動過期,又不用處理 Email 夾檔問題,也不用特殊再去處理,或是跑排程砍掉,然後又可以留底在 azure 上面,開開心心~




[Azure] C# + Azure.Storage.Blobs v12 - 開啟虛刪除(Soft Delete) 、還原刪除的檔案

Azure Storage Blob 的虛刪除(雖然我比較喜歡稱之軟刪除)可保護您的資料免于不慎或錯誤地修改或刪除。 針對儲存體帳戶啟用 blob 的虛刪除時,該儲存體帳戶中的 blob、blob 版本和快照集,在您指定的保留期限內可能會復原。

如果您的資料有可能意外遭到應用程式或其他儲存體帳戶使用者修改或刪除,Microsoft 建議您開啟虛刪除。 如需啟用虛刪除的詳細資訊,請參閱 啟用和管理 blob 的虛刪除

當然這篇文章我們是要用程式控制還原..



[Azure] C# + Azure.Storage.Blobs v12 - 建立快照,從快照還原,設定讀取 Metadata

這篇主是要是建立快照,然後取得快照的副本們,之後透過快照去還原,網路上面這資料就少了點,所以在寫測試範例的時候花了一點時間去理解,簡單的說,這可以對某一檔案進行快照,請注意,建立快照時建議加入 meta 資料,這樣你可以根據 meta 資料裡面的值來確保是否還原該資料,你可以放入日期,這樣你就可以快速的將某資料還原到該時間點,當然這也只是我的作法,你可用其他方法來做到..


[Azure] C# + Azure.Storage.Blobs v12 - 判斷檔案存在、取得 ETag 、判斷 ETag 刪除檔案

2020年12月29日

上篇文章  [Azure] C# + Azure.Storage.Blobs 2020 - 建立 Container, 上傳檔案 , 列出資料 , 列出資料夾 , 刪除檔案 , 刪除檔案夾  我們對 Azure Storage Blobs 有基本的操作,之後開始寫一些不是那麼基本的,但是我覺得我會蠻常用到的操作..



[Azure] C# + Azure.Storage.Blobs v12 - 建立 Container, 上傳檔案 , 列出資料 , 列出資料夾 , 刪除檔案 , 刪除檔案夾

之前其實我寫過 Azure Storage Blob 手把手從頭開始 - 建立檔案夾和檔案 , 但是那時候用的 nuget library Microsoft.Azure.Storage.Blob (  https://www.nuget.org/packages/Microsoft.Azure.Storage.Blob/ ) 已經要被停用了 ,現在都改用 Azure.Storage.Blobs ( https://www.nuget.org/packages/Azure.Storage.Blobs ) 差異在哪裡,在 namespace 少了 Microsoft 字樣,內部 API 也有寫許更動,設計邏輯感覺比較更成熟,之前 async 顯得略凌亂,這次 API 感覺使用起來 舒爽了些,然後跟 Stoarge Table 拆開了。



[C#] 使用 Jieba.net 進行中文分詞

2020年12月28日

在很久很久以前 大概八年前 我分享過一篇文章 利用盤古分詞來做分詞 ( https://blog.no2don.com/2012/10/c_5.html ) 結果我最近又被問到這需求,不過物換星移,我查了一下,現在使用 結巴的人很多,稍微玩了一下,就把測試後的結果留下來,給需要的朋友參考一下…


[Azure] 建立一個新的 Traffic Manager Profile + External Endpoint

2020年12月24日

今天要做的是我們要建立一個 新的 Traffic Manager Profile ,並且加入一個  External Endpoint 指向一個 FQDN




[Azure] Azure Traffic Manager - 使用 C# 拿到 時間區間內的 Activity Logs

最近就是在跟 Azure Traffic Manager 交手,其實是最近打算做一個系統來控制我們專案的東西,但是如何知道我們操作行為錯誤,不能只靠程式的  Exception 吧,後來發現其實會有 Activity Log ,所以我們試著去讀取紀錄,來判斷我們操作的行為對不對..


[Azure] C# 如何控制 Azure Traffic Manager - 刪除 Endpoint 再新增一個 Endpoint

2020年12月23日

上一篇文章 C# 如何控制 Azure Traffic Manager - 新增 Custom Header , 停用 ExternalTargetEndpoint , 改 FQDN , 列出所有 ExternalTargetEndpoint 我們談到如何 控制 Azure Traffic Manager ,但是有一個小遺憾,經過目前版本測試 我不能改 cutomer header 但是山不轉我轉,有沒有可能,我直接刪除那個 ExternalEndpoint 然後再把它加回去呢?




[Azure] C# 如何控制 Azure Traffic Manager - 新增 Custom Header , 停用 ExternalTargetEndpoint , 改 FQDN , 列出所有 ExternalTargetEndpoint

2020年12月22日

最近在跟 Azure Traffic Manager 較勁, 折騰了一下,就筆記一下目前測試到的東西,說來都是淚阿,文件稀少,可能我用的方式比較冷門,就記錄一下..




[Azure] Traffic Manager 小雷 404 Web Site not found

2020年12月21日

最近,在玩弄 Azure 上面的 Traffice Manager ,遇到一個問題他明明就可以指向一個 App Service ,但是我指過去就是




[Azure] C# 如何控制 Azure DevOps - 將取得檔案公開分享的資訊

2020年12月11日

上一篇文章 ( [Azure] C# 如何控制 Azure DevOps - 上面的專案 取得檔案內容跟所有 Repository資訊 ) 簡單的讓你可以取得  Azure 上面 的Respository  以及他的檔案,今天我們要來聊一下,傳上去的 image or .js 檔案,我們在外部如何讀取他呢? 至於能做啥我就不好說了..



[Azure] C# 如何控制 Azure DevOps - 新增/刪除/修改 上面的檔案

上一篇文章 ( [Azure] C# 如何控制 Azure DevOps - 上面的專案 取得檔案內容跟所有 Repository資訊 ) 簡單的讓你可以取得  Azure 上面 的Respository  以及他的檔案,今天我們要來聊一下,關於如何上傳/修改/刪除上面的檔案



[.Net] 佈署 .net core 到 Azure VM 上的 IIS 但是忽略 web.config

2020年12月10日

最近佈署程式到 Azure VM   上面 佈署到 Azure  AppService 比較沒有這問題,但是但是,自己弄好 msdeploy 檔案後 佈署到 Auzre VM 上的 IIS 總是會出現一個新的 web.config 但是 .net core 程式沒有用到阿,但是 DevOps 需要再 IIS 上面設定一些值,每次佈署上去後 web.config 都會重新出現一個…


[Azure] C# 如何控制 Azure DevOps - 上面的專案 取得檔案內容跟所有 Repository資訊

2020年12月9日

最近一些需要,要直接控制 放在 https://dev.azure.com/ 上面的東西,所以大概就筆記一下,敘述一下,這邊我是用 .net Core 3.1 寫的,然後是以理解並且分享給同事使用為主,所以沒有封裝…



[C#] 透過程式 查看/開啟/關閉 Cloudflare Development Mode

2020年11月27日

之前寫過幾篇文章聊到關於透過 API TOKEN 去修改 Cloudflare 的 DNS  紀錄 ,有時候在 Cloudflare 有點麻煩的是 如果修改一張圖片會因為有 cloudflare CDN cache 的問題,這是好事也是壞事,之後我想到一個方法,就是如果在準備修改之前,當然你可以設計在進入到客戶在進入管理後台的時候,偷偷的先打開 development mode ,反正開始後三小時會關閉 development code  機制,這樣也是一個好方法,這樣就可以閃躲 cache 問題…

首先你要先去 https://dash.cloudflare.com/profile/api-tokens ,產生一個 token 記得這次產生的時候要先選 Edit Zone DNS



[Javascript] 令人討厭的 facebook 的 live chat ( fb-customerchat ) 的此訊息未送出的不寫錯誤訊息

2020年11月23日

也不是最近,不過,行銷界最近很愛這個 就是網站的 live  chat (fb-customerchat) ,就是網站會多出一個 即時對談然後客戶,可以使用臉書自己的身分進去像是下圖那樣..




[Javascript] 筆記一下 FullCalendar 切換到週模式下,更改樣式


最近朋友有問這問題,後來幫忙解決了,就筆記一下,FullCalendar 在手機的閱覽下,月顯示跟日顯示都正常,但是在 safari 下會出現擠壓,但是在Chrome 下正常,如果是 MacOS 的 Safari 也是正常

iOS - Safari 下 長這樣



[LINE] 清除 LINE 預覽的快取 – Clear LINE URL Preview Cache.

2020年11月18日

對於做行銷的很重視  LINE ,今天被朋友問到為何,他怎麼改變 meta 都沒有用,這時候 我找一下,原來 LINE 也有像是 facebook linter 的東西,只是藏的有點深。



[C#] Github 透過程式 fork Repository , 刪除 Repository , 將 Repository 公開或是設成私人

2020年11月10日


之前寫過幾篇文章( Github 透過 Octokit.net 操控 Github - 檔案是否存在,刪除檔案,傳檔案上去 、Github 透過 Octokit.net 操控 Github - 取得所有 Repositories)

使用 Octokit.net  https://github.com/octokit/octokit.net 去操控 Github ,今天繼續把一些測試的筆記紀錄一下



[C#] 圖片轉 WebP

最近有一個需求就是要做圖片壓縮,目前 JPG 應該不是啥問題,問題比較大的是 PNG ,網路上看一下 WebP 對圖片可以做有效壓縮,就決定是你了,但是我在用 C# 轉的時候遇到一些問題,想說筆記一下,之後給需要的人



[C#] 製作一鍵開站小工具-透過 Microsoft.Web.Administration 建立IIS 站台,Application Pool ,指向指定路徑,更改檔案,套入權限

2020年11月4日

最近有一些需求,我們需要透過程式一鍵開啟一個網站,指向到一個指定路徑,並且佈署程式,所以稍微研究一下,是不難但是就是實作上有碰到一些順序上的問題,所以就筆記一下,希望可以之後我直接CP


[C#] 更改檔案夾套入 IIS APPPOOL\ 權限

2020年11月3日

最近有一個需求,要透過程式套入檔案夾套入 iis apppool\test2 的權限



[C#] 透過程式 新增/刪除/修改 Cloudflare 中的 DNS Record

2020年10月28日

上一篇文章 取得在 Cloudflare 中的 DNS Records ,我們拿到了 Cloudflare 的 Zone Id , API Token 也成功取得了 DNS Record 記錄們,接下來我們要來自己新增/刪除/修改他們



[C#] 取得在 Cloudflare 中的 DNS Records

2020年10月27日

最近有需要用到 cloudflare 來做我的 DNS 代理,因為我不想一直進入登入進入後台,所以我就乾脆看一下他的 API ,看看能不能透過自己使用程式操控,有一些小結果就分享一下吧,以後遇到也避免跌坑..



[Javascript] 透過 Fetch 讓圖片 load base64 的圖片

2020年9月28日

一個看似沒啥用但是有一些特殊用途的東西,簡單的說,就是我有一個圖片我把這圖轉轉成 base 64 之後,存成一個線上的檔案副檔名可能是 .txt or .html 之類的 ( ex. https://raw.githubusercontent.com/ctimggit/storage1/master/base64/test1.txt ) ,當然這個網址不能直接填在 img 的 src 中,雖然內容可以,接下來就是使用 ES 的 fetch 取得內容回來後再去載入到各圖之中..




[Azure][C#] 使用 C# 進行兩個 AppService 交換

2020年9月25日

在 Azure  的 App Service 中有一個很方便的功能,就是你可以先設定兩台 AppService 互換,這樣的話再換板上面可以做到幾乎無縫的切換,而且風險也會變得比較小,但是,因為某些原因,我需要把這切換的功能做在我們程式端,而不用在進入 Azure Portal 進行切換..




[Azure][C#] 刪除已產生的憑證

2020年9月24日

之前寫過一篇文章,關於產生憑證 取得 AppService 中的 Application Settings 並且更改值,但是文中產生的憑證超級大,之後我又搞了一輪,於是可以產生有限制的憑證 產生有權限的憑證控制,透過 C# 控制 Azure 上面的服務,之後問題了了,如何註銷之前 的憑證,經過我們家 DevOps 幫忙測試後..



[Azure][C#] 產生有權限的憑證控制,透過 C# 控制 Azure 上面的服務

2020年9月22日

上一篇文章 [Azure][C#] 取得 AppService 中的 Application Settings 並且更改值 ,我們提到了再 Azure 上面產生權限,並且讀寫 AppService 上面的 App Settings ,但是上一篇文章有一個不大不小的問題,就是押出的憑證權限太大了,幾乎可以對自己的服務摧枯拉朽,這點我們家 DevOps 不悅了,所以我大概研究一下如何押出有權限的憑證..



[Azure][C#] 取得 AppService 中的 Application Settings 並且更改值

2020年9月15日

最近有一個需求,我要透過程式去控制 Azure AppService 中的 Application Settings ,但是網路上找,幾乎都是使用  Azure CLI  下 PS 指令比較多,這時候我就想溫馨的微軟應該會有出 SDK 來可以讓工程師來做到一些自己的自動化設定。



[C#] 字串壓縮,不完美但是可以用

2020年9月14日


這幾天同事在討論一件事情,是不是可以壓縮字串,但是要人類可以閱讀 ,網路上也有相對應的網站,這時候我腦袋浮現了是不是有辦法先將 一段文字轉 byte[] ,再 用 zip  壓縮,再轉 base 64 ,這樣應該會變小一點點,如果重複字串夠多的話,之後我改用 7z 去當壓縮器來壓縮,然後 使用 base 85 來顯示,之後就來實作看看..




[Maker] 不專業自製便宜版的螞蟻冷氣

2020年8月4日

先說好這一篇只是分享文加上些許的教學,要不要做就看你自己,我是自己做了來實驗我的想法,自從去年 Ascii 大大推坑我螞蟻的世界之後,身旁的朋友也知道我最近對養螞蟻有莫名的熱愛,今年天氣爆炸熱,室外隨便都 37 度以上,如果不開冷氣的話在我家室內溫度大概是 30~31 度,有些螞蟻是需要溫控會比較好,像是台北巨山蟻、茅巨山、泰勒巨山,基本上很多蟻友也是不溫控就成功了,但是如果面對比較貴的螞蟻,像是台北巨山基本上應該都會想用溫控,畢竟取得不易。



[C#] 一個小工具,可以打包一些指令目錄,之後分別各自壓縮成一個 .7z 放在指定的目錄下面

2020年8月3日

最近工作需求,需要分別打包不同的資料夾們,變成獨立的壓縮檔( 7z ),想說之後應該會用到,就乾脆直接放在github 上面 open soruce ,之後要用到也可以馬上上手




[Javascript] 一個好用的排版 HTML + JS 的 library

2020年7月19日

之前寫過一篇文章,[Javascript] 再次探索CodeMirror,熱鍵,自動排版,佈景主題 ,這裡面我有提到可以用一個 codemirror pluging 可以做到程式碼排版,但是他排版狀況,大致 OK ,但是對於一些小部份我覺得不是很好看,尤其是跟 javascript 混再一起的時候,後來我上網找了一下,大家推薦這個 beauty js https://github.com/beautify-web/js-beautify


[C#][.NET Core 3] 發佈到Azure AppService 忽略 appsettings.json

2020年7月14日

最近發現,我使用 Visual Studio 2019 發佈.net Core 3 的程式到 Azure AppService 上面,因為我規劃一個 appsettings.godmovespeed.json 讓 .net Core 程式去吃這設定,這樣 appsettings.json 不用發佈上去,雖然我用 Web Deploy ,但是我連上 FTP 去看檔案結構時發現



[C#] Regex 驗證台灣的手機號碼,中間無 -

2020年7月8日

最近要幫客戶驗證手機號碼,中間不需要 - ,網路上找了一下,大部分都是驗證中國的手機門號,不能讓我直接CP 殘念,所以這邊紀錄一下,想說之後就可以直接 CP


[開箱] 秒秒测智能健康日历簡易開箱 (非業配)

2020年7月7日


這我買很久(2020.04)了,一直沒有寫開箱文,但是就默默放在我的桌上,提醒著我一些不重要? 的事情,這東西身為一個電紙控,看到有這產品也不管黃牛價就買了一個。




[C#] 透過 skypetoken 如何取得 RegistrationToken(Bug 修正)

2020年6月3日

之前有寫一個需要用到的專案,關於 skype 廣播,但是最近發現一個 不知道算不算是 bug  ,主要專案是 這個 https://github.com/donma/LazyLizard

之前寫的文章是這一篇 透過 skypetoken 如何取得 RegistrationToken ,遇到的問題在於 其中我提到 "https://client-s.gateway.messenger.live.com/v1/users/ME/endpoints",這個網址,其實他不一定是對的


[C#][.NET Core] 試著用 C# 透過 Jint 執行 Javascript ,混和執行

2020年3月27日

很久以前寫過這篇文章  透過C# 執行javascript code 並且執行得到結果  ,基本上他很吃 OS ,現在來到 .net Core 時代基本上要跨平台的需求,看來原本作法就不行了,現在這篇我測試主要是在 .net Core 3.1 ,後來我找到一個 project 叫做 Jint ,測試一下成功了,就紀錄一下。



[C#] 上圖到 imgur圖床 建立相簿、上傳圖片至相簿、移除相簿中圖片、刪除圖片

最近因為客戶不想要在機器上放圖片,而且對他來說這些圖片就是不是很重要,所以決定放在圖床上面做短期使用,但是因為基於有點小潔癖,所以順手研究了一下怎麼 "群組" 化圖片,還有如何刪除圖片。


[C#] 玩一下 EOS 的交易 - 使用 Jungle Testnet,進行交易

2020年3月4日

承上一篇文章 使用 Jungle Testnet,建立帳號,查詢餘額 ,這一篇我們來實作看看交易,也就是打錢到第二個錢包。



[C#] 玩一下 EOS 的交易 - 使用 Jungle Testnet,建立帳號,查詢餘額

這一篇主要紀錄一下,關於之前研究 EOS 的屍體,因為研究到一半,基本上專案停止了,但是因為已經測試了一些東西想說紀錄一下。



[C#] 關於 Rotate 90 CW 解決 iPhone 拍照網頁使用問題

2020年2月27日

這一陣子遇到一個很惱人的問題,因為最近處理到有朋友需要直接把照片上傳到網站上,他是透過手機拍照,然後利用 iPad or iPhone 上傳照片,他是直的拍,他用手機看也是直的,上傳到網頁上面,他用 Safari or Chrome on iPhone Device 也是直的,但是我電腦看就變成橫的,如果用電腦上面的 Chrome 直接看那張圖就是直的,非常詭異,順帶一題我電腦是 Windows 10 + Chrome 去看得,仔細看了一下,我猜測是 照片 EXIF 的問題,結果經過測試真的是…



[C#] Github 透過 Octokit.net 操控 Github - 透過遞迴取得(下載)整個 Repository

2020年1月14日

上一篇文章( Github 透過 Octokit.net 操控 Github - 檔案是否存在,刪除檔案,傳檔案上去)我們聊到了 如何檢查檔案是否存在,刪除,並且上傳新的檔案,這一篇我們聊一下如何把整個 Repository 下載下來。



[.NetCore 小筆記] 關於 讀取 appsettings.json 的一些事情,讀取 Dictionary

2020年1月9日

最近在寫 .Net Core 的東西遇到一些問題,想說就是筆記一下,讓自己記住一些事情,免得在跌坑,所以開啟這個系列 .NetCore 小筆記,這次遇到的問題是,我在專案中的 appsettings.json 長這樣



[C#] 複製、刪除、搬移 大量的資料(mass datas?)

最近在處理一些東西,然後建立了一些資料大概就是一個檔案夾裡面有幾百萬個小檔,所以就想說用程式刪除,發現非常的慢,於是我測了一些東西,這速度目前還算可以接受,一個檔案夾裡面有 1,200,000 個檔案要進行刪除,最後我電腦花了 19分鐘,進行複製到其他檔案夾並且刪除原本的 120萬個檔案,這動作就是搬移,簡單的說就是使用 Parallel.ForEach 加上使用 win32 的函式庫
這程式主要是網路上看許多案例綜合所測出來的結論,並非都是我寫的,這邊要說明一下。

這是我電腦配置:


[C#] Github 透過 Octokit.net 操控 Github - 檔案是否存在,刪除檔案,傳檔案上去

2020年1月2日

上一篇 Github 透過 Octokit.net 操控 Github - 取得所有 Repositories 我們聊到了如何列出所有的 Repositories  ,這一篇我們要來上傳檔案了。



[RPi] Raspberry Pi 4 散熱問題

最近買了 Raspberry Pi4 ,因為我的用法是把他裝上 3.5 吋螢幕,然後撥放 youtube 當作我的多媒體撥放器,但是我發現,雖然現在 RPi4 播放 youtube 不會 lag 了,但是旁邊都會出現溫度計 ,看一下溫度,天啊,竟然最高可以拉到 84度C ,所以我只能上網路找找解決方案。



當麻許的超技八 2014 | Donma Hsu Design.