最近電腦突然掛掉,幸好資料都有上 Visual Studio Online ,專案簽下來後,我發現我 C槽 被配置的很小
所以我想要轉到 D碟 去,但是我找了一下才找到,想筆記一下,如果改變 TFS 的對應目錄
首先,您應該已經連接上專案 並且在 Visual Studio 有開啟 Team Explorer ,這時候點選 原始碼管理員
兼任的偽善者,part-time的故事家,業餘的code generator,不服輸的夢想家,長不大的幼稚鬼,一個撿技術破爛的中年大叔
最近電腦突然掛掉,幸好資料都有上 Visual Studio Online ,專案簽下來後,我發現我 C槽 被配置的很小
所以我想要轉到 D碟 去,但是我找了一下才找到,想筆記一下,如果改變 TFS 的對應目錄
首先,您應該已經連接上專案 並且在 Visual Studio 有開啟 Team Explorer ,這時候點選 原始碼管理員
上一篇我們談到 PuppeteerSharp - 快照網頁並產出 PDF + 設定 PDF 格式 ,繼續上篇
原始的畫面長這樣子
這時候,客戶希望我能夠,將每一個產品都進行快照成圖片
後來我發現其實是可以透過 PuppeteerSharp 做到的,感覺到強大阿
Puppeteer-Sharp 是一個可以在.NET環境下運行的工具,它可以讓開發人員使用C#程式碼控制Headless Chrome或Chromium瀏覽器。
甚至你可以用自己的瀏覽器 ex.firefox
你可以透過這個工具來模擬人類使用瀏覽器的行為,像是瀏覽網頁、填寫表單、截圖或是生成PDF檔案。這篇文章將會介紹Puppeteer-Sharp 來將蝦皮某一個搜尋網頁
快照成 PDF,這套件有一個好處他自建瀏覽器核心,所以理論上應該是可以 Linux 運行,看一下網路上文件應該是沒啥問題。
HTML Agility Pack 是一個基於 C# 的開源庫,旨在幫助開發人員處理 HTML 文檔。
它提供了一種簡單易用的方法來解析和操作 HTML 內容,比起使用正則表達式或原生 C# 內置函數要容易得多。
HTML Agility Pack 的核心功能是把 HTML 文檔轉換為一個可操作的頁面物件,方便開發人員進行各種 HTML 操作,如遍歷頁面節點,修改頁面元素,抓取頁面內容等。
同時,HTML Agility Pack 也支持頁面解析過程中的錯誤回調,可以幫助開發人員處理不完整或錯誤的 HTML 文檔。
使用 HTML Agility Pack 實現任務非常簡單。開發人員可以通過一些簡單的 C# 程序代碼將 HTML 文檔轉換為頁面物件,然後就可以通過頁面物件進行各種操作。
上篇文章 大概講過 如何操作 HTML Agitlty Pack 最近剛好遇到 Azure 東南亞區域掛掉 24小時事件,剛好測試一下來抓某一區域的狀態
今天介紹一個 .NET6 之後才有的東西,MinBy 還有 MaxBy
其實我只是看到後想說跟原本的 Min 跟 Max 有啥不同,其實就字面上跟很多網路上的範例都可以知道這是幹嘛的
但是我很好奇如果是遇到一樣的值的呢,很多案例都是測 int[] 但是如果是 Object[] 的某屬性一樣那他是會拿到一個還是多個
今天接續之前透過 iCal.NET 來建立 .ics 的行事曆預約檔案的延伸
我們天才的業主希望在事件裡面加入 COUPON 圖片,我原本以為不行的想說婉拒
但是我後來查了一下好像可以,測試一下竟然成功,那就筆記一下
繼續上一篇文章 ( ASP.NET Core 6.0 - 一種可以將 Page 當 WebAPI 用的方法,但不推薦 )沒說得事情,其實是有一個方法
可以增加安全性不用加上 [IgnoreAntiforgeryToken] ,還是適當的增加了安全性可以簡單防禦了 XSRF/CSRF 攻擊
但是不一樣的是上一篇文章,你可以純用 .html 去用 AJAX 呼叫,但是這不行只能乖乖地開 Page
今天來寫一個不推薦使用的小技巧,但是又是一個可以解決一些小問題的方法
簡單說一下情境,在 ASP.NET Webform 時代,有時候真的有時候給客戶一個東西要 retun JSON 的答案
但是我又不想使用一大個框架來解決問題,我會就把 Page 清乾淨後 直接處理POST過來的參數再 retun 我要的 JSON string
這陣子我又遇到了,當然最好的解決方法,請使用 WebAPI ,這不是一個好的範例
用這方法請自己知道自己在做啥危險性有多高在評估使用。
今天來寫一個不算新但是很好用的東西 LINQ - Chunk , 這是 .NET 6 之後才有的
這東西很快只要一行就解決我每次都很不想寫的東西,就是分頁
以前寫分頁都要這樣下 LINQ AllData.Skip((page-1)*perPageDataCount).Take(perPageDataCount)
現在只要一行解決
寫一個有趣的小東西,大概算是 C# 冷知識,大概就跟台灣本島最北的國際機場是桃園中正機場而不是松山機場一樣冷知識
今天好奇問同事一個問題 假設我要 1+2+3+...+100 這答案
1. 我手動打 return 1+2+3+4+5+...+100;
2. 我用迴圈 for (var i = 1; i <= 100; i++) 最後 return sum;
3. 用梯形公式解 return ((1+100)*100)/2
這三個到底 哪一個執行比較快
雖然已經 21 世紀了,我也不知道為何業主非常喜歡 .ICS 這東西
不過,沒辦法收費辦事情,之前,我是自己大概看一下規格後自己產生,
但是最近客戶要做一些改動需求,不能夠這麼單幹了,查詢了一下,有一套一直有在更新的套件 Ical.Net
最近跟同事在測試一個 .NET Core 3.1 跟 .NET 6 的套件問題
我們再抓到底當時候用哪一個套件所產生的錯誤,因為我們一值 Nuget 換不同版本測試
這時候我們必須要知道到底現在(執行期)用的套件是哪一個版本
所以今天簡單筆記一下,就是在執行期的時候抓取所用的 package 版本
同事 Roger 碰到一個小雷,跟我說過後,決定記錄一下
因為一些專案的緣故,開發環境是 ASP.NET Core 6 他使用的
Microsoft.Extensions.Caching.Memory.MemoryCache
但是在大量用戶存取(非同步) 的時候造成 Exception
關於時間問題,這我在專案中寫過多次每次寫都要重新考慮一次
這次就索性整理一下,然後就是直接複製貼上,懶得重寫
簡單的說因為常常寫訂單系統,就是有像是家教那樣他假設 12:00~13:00 有課,所以他的客戶不選擇這時段
這時候程式怎麼判斷時段有沒有壓到
最近遇到的一個問題,就是關於 Json.NET 的 SerializeObject 的顯示問題
其實一般狀況下我就是直接無腦的 JsonConvert.SerializeObject(object)
但是,最近在維護一個系統因為物件要改成 Nullable 就有點麻煩,所以看看能不能直接再 SerializeObject
解決盡量的不使用 Attribute 或是改寫 Nullable 去解決
寫一個其實很基本,但是我每次都用蠢方式解決的東西,其實 .NET LINQ 都準備好好地給你用
認識我的人都知道我碰 NOSQL 比較多,所以我常常是在Sever 變成物件後解決一些事情
最近同事說到為何不用 IntersectBy 我才想起來有這東西,就筆記一下我怕自己又忘記有好用的東西
今天寫一個對很多人來說是很基礎的東西,不過因為之前我是從 ASP.NET Webform 寫的比較熟
中間的 ASP.NET MVC 時代,我比較沒有去觸碰 ,之前有測試過一些東西,但是因為很多原因所以還是主要不會去用此開發
現在到了 ASP.NET 6 的時代,有些基本功可能跟當初的 Webform 不太一樣今天筆記一下
也怕自己忘記