[C#] 探索 FreeSql:讓資料庫操作更為簡便高效 - 一對多的對應輕鬆操作
上一篇文章,我們針對 資料如果過於龐大,拆成兩張表,並且同 Key 狀況下
進行 Table 擴充,還有一種狀況在開發上會常遇到的就是 OneToMany 的狀況
我有一個 OrderInfo 他有一個 Propery 物件為 Cate ,但是 CATES 表格中 中,每一個 Cate 會被許多 OrderInfo 的 CateId 給關聯著
[C#] 探索 FreeSql:讓資料庫操作更為簡便高效 - 擴增資料 OneToOne
上一篇文章,我們簡單的測試了 FreeSql ,今天我們要稍微複雜一點了
我們常常再設計資料庫表格的時候假設有一個資料模型非常大,這時候我們會拆開
把熱資料當作主表,其他比較冷的資料,會再用另一張表紀錄,這時候要用到 FreeSql OneToOne 的概念
[C#] .Net 下操作 Excel 新選擇 EPPlus - 輸出 Excel 中的圖片,取得圖片在 Excel 中的資訊。
最近因為處理 Excel 比較多,所以分享比較多 EPPlus 遇到的事情跟心得,最近這需求是因為
我要去抓取 Excel 中的圖片,並且把其中的圖片抓出來,這邊是簡化過的範例,畢竟只是寫文章記錄
不用這麼去複雜化案例,這邊是我開一個 Excel 隨便貼入兩張圖,之後我們來測試看看使用 EPPlus 來把兩張圖片在 Excel 中的資訊抓出
並且把檔案輸出成每個圖檔..
[C#] .Net 下操作 Excel 新選擇 EPPlus - 插入圖片,技巧使用 AutoFit
最近使用 EPPlus 來解決 , Excel 問題,不免俗的又是遇到一個萬年的問題
如何插入圖片,其實在 Excel 中插入圖片一直都是一個麻煩的問題,因為圖片其實都是浮在儲存格的上面
所以,基本上你很難控制儲存格的大小,但是其實是有一個小技巧,以前我在處理 Excel 也是這樣處理的..
[C#] .Net 下操作 Excel 新選擇 EPPlus - 超簡單將 List 輸出成 Excel 檔案
[Google 試算表] 透過 Yahoo Finance 撈取各國的股票現在價格
筆記一下免得之後找不到,之前有一篇文章 取得台灣股票現在的價格,而不使用 GOOGLEFINANCE 內建的方法
之後我分享在網路上,有人就問我說可不可以撈取其他國家,像是 日本 或是 新加坡的股票
其實我當下提供了 GOOGLEFINANCE,其實就可以辦到,但是...
標籤: 隨貼即用 , GOOGLE , Javascript , office
[C#] .Net 下操作 Excel 新選擇 EPPlus - 建立 Excel 檔案,讀取 Excel ,寫入公式,計算公式讀取公式
[C#] 一個輕量化的Database - LiteDB 中索引 ( index ) 的相關測試
今天主要不是寫程式,主要是測試 LiteDB 到底對於索引的處理結果,我這邊有三個測試 collection
FRIEND1- 一百萬的資料沒有做索引
FRIEND2- 前50 萬筆建立好後,製作索引,後面再寫入 50萬筆
FRIEND3- 一百萬筆資料建立好後,再建立索引
[C#] 一個輕量化的Database - LiteDB 中的 關聯式操作 : DbRef
[C#] 一個輕量化的Database -LiteDB 製作 List<Object>屬性索引查詢的最佳方法
上一篇文章 說到 LiteDB 製作索引(index) ,百萬資料測試查詢篇,後來我有測到一個東西
就是我對屬性是 List<Object> 中的 某一屬性進行查詢,是不是可以做索引 (index) ,
答案是可以的,但是要直接做到 List<Object> 中要被查詢的該屬性..
[C#] 一個輕量化的Database - LiteDB 大檔處理 _files,_chunks
如果是測試 Database 我也很好奇,LiteDB 是怎麼處理大型檔案格式的,看了一下
你將大檔案寫入該資料庫中,他會規畫一區讓你放檔案,有一張表負責記錄你放入啥檔案,另外一個 他稱之為 chunk 的
主要是會把檔案切割,每 255KB 切一段
[C#] 一個輕量化的Database - LiteDB 中 Shared Connection + Parallel.For 測試修改一筆資料
[C#] 一個輕量化的Database - LiteDB 關於 Transation 的測試 Commit , Rollback
[C#] 一個輕量化的Database - LiteDB 各種查詢姿勢
最近因為在測試 LiteDB ,所以這邊筆記幾個查詢方法,可以方便自己之後可以快速的回憶起來要怎麼寫
下面主要就是列舉幾種查詢資料的方法,最後一個測試比較久因為我查詢了 物件中的 List<Object>
裡面的屬性並且使用 %LIKE%
[C#] 一個輕量化的Database - LiteDB 關於 BsonValue 轉回物件問題
今天來說一個在嘗試 LiteDB 的時候遇到的錯誤,因為該套件的底層是使用 BSON ,所以在還原回物件的時候
他預設都是 LiteDB.BsonValue ,因為我直接下一個查詢語法後直接使用 Json.NET , SerializeObject 的時候直接出現錯誤
Unhandled exception. Newtonsoft.Json.JsonSerializationException: Error getting value from 'AsBoolean' on 'LiteDB.BsonValue'.
---> System.InvalidCastException: Unable to cast object of type 'System.String' to type 'System.Boolean'.
at lambda_method23(Closure, Object)
at Newtonsoft.Json.Serialization.ExpressionValueProvider.GetValue(Object target)
--- End of inner exception stack trace ---
[C#] 一個輕量化的Database - LiteDB的簡介與使用
[C#] .NET8 - SHA3-256 操作遭遇的平台問題
最近在看 .NET 8 新功能,最近好像多了 SHA3_256 ,因為之前在弄區塊鏈的東西,其實都是使用套件
BouncyCastle 套件,但是現在 .NET 8 好像已經內建有支援,想說來測試一下,結果出現了
Unhandled exception. System.PlatformNotSupportedException: Operation is not supported on this platform.
at System.Security.Cryptography.SHA3_256.TryHashData(ReadOnlySpan`1 source, Span`1 destination, Int32& bytesWritten)
at System.Security.Cryptography.SHA3_256.HashData(ReadOnlySpan`1 source, Span`1 destination)
at System.Security.Cryptography.SHA3_256.HashData(ReadOnlySpan`1 source)
at System.Security.Cryptography.SHA3_256.HashData(Byte[] source)
標籤: .Net , .Net8 , .NetCore小筆記 , C#
[C#] .NET8 - Dictionary、FrozenDictionary、HashTable的性能對決
最近在看 .NET 8 新功能,有一個東西有點興趣 就是 FrozenDictionary ,想說他跟傳統的 Dictionary 有啥不同
畢竟 .NET 8 是以輾壓級效能做為賣點 ,看了一下官方這段話的介紹
以效能為焦點的類型.NET 8 引進數種旨在改善應用程式效能的新類型。
新的 System.Collections.Frozen
命名空間包含集合類型和 FrozenDictionary、
感覺使用上就是拿來可以放在記憶體中快速索引的好東西,直接用 BenchmarkDotNet 跑一下
標籤: .Net , .Net8 , .NetCore小筆記 , C#
[.Net8]從AOT到dotnet publish:在Raspberry Pi 3上成功運行.NET 8 Web API的步驟
最近因為要佈署一些 基於 .Net8 的Web API 到 Raspberry Pi 3 上面跑,因為 .Net 8 AOT 無法在上面執行
所以還是得安裝 dotnet 8 runtime ,因為我不死心我直接把程式碼放上去編譯,我原本是在 x64 電腦編譯後放過去
結果無法執行起來即使我 chmod+x 也沒用,但是放上去 透過 dotnet publish 後發現
標籤: .netcore , ASP.net , C# , Native AOT , Raspberry Pi , RPi , WebAPI
[.Net][RPi] 將.NET 8搬上Raspberry Pi 3的操作指南
最近很訝異,因為我在 一台舊舊的 Raspberry Pi 3 上面執行起來一個 .net 8 的程式
雖然玩 Pi 也是有些年頭了,但是我沒有在上面面跑過 .Net 到是 Chromebook 我之前有在上面寫過 ASP.net 的小專案
重點是 因為我跑的機器是 Pi 3 ,我比較訝異,因為到了 Pi 4 性能上都有爆發成長都可以裝 Win11 了
這次我測是跑的專案是 這個 之前寫的 Console ,然後就放到 Pi3 上面跑跑看竟然成功了
所以分享一下步驟
標籤: .Net8 , Native AOT , Raspberry Pi , RPi
[C#] 理解以太坊 HD 錢包生成:解密 BIP39 規範與單字驗證,無效助憶詞
[.Net] 優雅的效能評估:BenchmarkDotNet讓測試變得輕鬆愜意
今天介紹一個我腿了很久的東西,就是 BenchmarkDotNet ,有時候我們會必須要測試一個 function 或是某個新功能的效能
直接就是來個暴力跑個 Parallel.For 然後 在跑之前使用 Stopwatch 來測試,有時候看論壇都會出現一些在 console 中票票釀釀的表格
原來有一個套件可以解決,用起來也是非常的溫馨
標籤: .Net , .Net8 , .netcore , .NetCore小筆記
[C#] 探索 ASP.NET Core Web API 中的 Native AOT功能 MapPost
最近在看 .Net 8 的東西,看起來多了一些新東西,我再開專案的時候看到這個 ASP.NET Core Web API (Native AOT)
可以使用最小單位來製作 Web API ,因為我很喜歡在小裝置上面搞事情就想說來玩一下
標籤: .Net8 , ASP.net , C# , Native AOT , WebAPI
[C#] 比特幣冒險:掌握BRC-20標準及Witness資料的抽取技巧
最近幣圈風風火火關於比特幣銘文(Ordinals),這時候要說到 BRC-20,我相信前幾年如果你有聽過 NFT 或是乙太幣,應該對這名詞覺得有點熟悉但是又陌生
BRC-20 是一個實驗性的比特幣同質化代幣標準,由推特用戶 @domodata 於 2023 年 3 月 8 日基於 Ordinal 協議創建它類似於以太坊的 ERC20 標準,
規定了比特幣上發行代幣的名稱、發行量、轉帳等功能BRC-20 代幣可以通過 Ordinal 協議在比特幣網路上鑄造和轉移
如果您對 BRC-20 代幣等虛擬貨幣感興趣可以看看下面這影片,說的是淺顯易懂
標籤: .Net7 , ASP.net , Bitcoin , BlockChain , Ordinals
[C#] String 中 Environment.NewLine 關於 \r\n 的判斷
最近遇到一個奇妙的問題紀錄一下,因為公司的專案慢慢地從 .Net Framework 轉成 .NET 6-8
遇到一個很小很小的問題,就是在 string 中的 \r\n 的判斷在 .Net Framewok 和 .Net Core 3.1 以上版本解讀是不一樣的
標籤: .Net , .Net8 , .NetCore小筆記 , C#
[C#] 簡單測試 ThreadStatic ,一個可以瞬間了解的範例
最近在玩一些東西,看到一個有趣的東西,已經出來很久了,但是最近才看到覺得很有趣
但是看了一下官方範例有點看不太懂,之後自己測試一下才發現原來是這樣設計使用的
就是一個 Attribute 叫做 [ThreadStatic]
[C#] 簡單計算 RSI 相對強弱指數
最近再研究 BTC 的一些指數,有一個東西叫做 RSI (相對強弱指數 是一種技術分析指標,用於即時價格波動的速度和幅度。)
因為需要這指數判斷一些東西,後來上網查一下,似乎不是很困難,所以筆記一下
給之後有需要用到的人..
[Javascript] 製作 div 的反差色,解決上面文字顏色的問題
最近在處理一些前端的東西,遇到一個問題,就是假設設計在一個 <div> 有 background-image 是可以讓客戶更換的
但是,在這 <div> 上面有文字,文字有顏色,如果可以設定一張純白,純嘿,或是花花綠綠的圖該怎麼辦 ?
標籤: ASP.net , Javascript
[Google 試算表] 取得 Bitfinex 上面的 數字貨幣價格
最近在看一些資料,順便回答一下朋友問的問題,他主要是透過 Google Sheet 來管理他的虛擬貨幣資產
但是他需要知道價格,我直覺地回他使用 GOOGLEFINANCE 這個 function ,但是他要抓的那個虛擬貨幣代碼是 GOOGLEFINANCE
沒有提供的,這時候該怎麼辦,只好自己寫一個 函式..
標籤: 虛擬貨幣 , GOOGLE , Javascript
[Javascript] 網路離線依然可以顯示資料 Service Worker 簡單實作
今天測試一個東西,解開我很久的疑惑,為何有些網站在我沒有網路的情況下,依然可以顯示一些資訊
有的是顯示你現在正在離線,或是有的依然變成一個資訊孤島依然還是可以查資料,正常狀況下不是應該都會顯示
[C#] Console.WriteLine 出現?? ,亂碼顯示問題
簡單記錄一個很白癡的事情,測試程式常常使用 Console.WriteLine 但是竟然
會出現 ?? ,後來我才發現,原來預設的不是 UTF8 就會導致這樣
我測試文字
当麻测试测试123简体中文とうま
[Trick] 指定不同程式使用不同網路(WIFI , LAN )
最近算是找到一個方法解決一個問題,之前沒有認真去找過,今天找一下測試一下才發現可以用,主要目的在於
我電腦有接線的網路,也有 WIFI,兩個 對外 IP 不一樣,因為一些操作我有的應用程式需要用到 A 網路,有的應用程式用到 B 網路
這就很麻煩了,因為通常他都會預設使用有線網路,我就在想我有沒有辦法找到 某個應用程式指定使用 WIFI 網路
網路上找到一個關鍵字 ForceBindIP
[Javascript] 關於一個 select 的 multiple 的處理
最近在處理一項需求時,遇到了一個讓我感到驚訝的情況,但仔細思考後發現其實只是我自己的誤解。這也是一個比較少用到的情境。
在HTML規範中,select元素有一個multiple 的屬性,詳細可參考這裡。儘管多選通常可以使用input checkbox來實現,
但在前端處理上會稍嫌繁瑣。因此,有時我會建議客戶使用select的multiple="multiple"屬性,特別是在手機上,操作體驗相對更為舒適。
標籤: ASP.net , HTML , Javascript
[Javascript] 使用 Keydown 事件實現輸入框值的同步支持負數小數點
主要遇到,客戶希望再輸入一個 價格的時候,其他欄位的價格可以預先填寫好,如果他修改過價格後就不能再被更改
這需求感覺蠻常碰到的,但是客戶要求很直觀,等於我就是只能從 Keydown 事件下手,今天,我們將探討如何使用 JavaScript 中的 Keydown 事件來實現這樣的需求
標籤: ASP.net , HTML , Javascript
[Javascript] 實做鍵盤方向鍵的左右鍵連續點擊
最近我遇到業主一個需求,需要在網頁上實現按下鍵盤方向鍵左鍵和右鍵時執行相應的動作。在尋找相應的解決方案時,
發現 Javascript 並沒有提供直接的方法,於是我嘗試使用一種古老的方法,即利用時間差來達到按兩次快速點擊的效果。
標籤: ASP.net , HTML , Javascript