在web app 上設定 組態→路徑對應,然後把上傳預設的路徑設定即可(自己記錄一下)
分類: 程式設計
redis 的key 過期通知設定
redis有expire機制,且同時有redis keyspace notification。不過預設默認的通知是關閉的~需要透過redis.conf或config set啟用。
config set notify-keyspace-events KEA
接著在c# 使用StackExchange.Redis
然後訂閱__keyevent@0__:expired 這個頻道就可以了
var redisConnection = ConnectionMultiplexer.Connect(“localhost”);
var db = redisConnection.GetDatabase();
var subscriber = redisConnection.GetSubscriber();
// 訂閱過期事件通知頻道
subscriber.Subscribe(“__keyevent@0__:expired”, (channel, key1) =>
{
// 在這裡進行過期事件的處理邏輯
// key 是過期的 Redis 鍵名
Console.WriteLine($”Key {key1} has expired.”);
});
Console.WriteLine(“Press any key to exit.”);
Console.ReadKey();
// 斷開與 Redis 的連線
redisConnection.Close();
chatGPT與line官方帳號結合 = line ai 小助理
OpenAI設計的ChatGPT問世後,很快的ai的使用人數破億。且chatgpt讓ai整個流行了起來~ 想說台灣最流行的通訊工具line,有沒有機會跟chatgpt串到一起,於是很快的用php以及.net core都串了一次。簡單明瞭~很易懂
分享關鍵的php,有問題歡迎line: superlevin 林壽山
$api_key = 'xxxxxxxxxx';
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.openai.com/v1/completions',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer ' . $api_key
],
CURLOPT_POSTFIELDS => json_encode([
'prompt' => $ask_question,
'model' => 'text-davinci-003',
'max_tokens' => 1000,
'temperature' => 0.3
])
]);
$response = curl_exec($curl);
$json = json_decode($response, true);
C#資料結構與演算法
使用對的演算法與資料結構,在程式效能上有很大的幫助。常用的資料結構有array、stack、 queue、 linked list、 tree、 graph、 heap、 hash。在c#上常見的是使用array 、arraylist、 list、 dictonary 以及queue可以滿足絕大部份的場景。
以下介紹github上二個高階資料結構與演算法的項目。
一、C Sharp Algorithms
一開始是學習資料結構,在不斷更新以及維護後,可以用在正式環境。
https://github.com/aalhour/C-Sharp-Algorithms
二、Advanced Algorithms
Nginx 視覺化管理工具
https://github.com/onlyGuo/nginx-gui
https://nginx.org/
首先先安裝 nginx,下載nginx後解壓縮,修改conf目錄下的 nginx.conf把listen改掉需要的port
然後 cmd start nginx.exe 就可以
停止的話 nginx.exe -s stop
重新載入設定則為 nginex.exe -s reload
nginx-gui解壓後
修改 conf/conf.properties
指定完路徑後,可以用startup.bat打開 shutdown.bat 停止
預設的port是 8889 ,帳密都是admin
.Net maui 跨平台開發 4小時完整教學
.Net 7 開發增進效能的小撇步
預計在2022年11月發布的.net7目前進入RC2的版本。來談談.net7 做了那些效能上的改進~
LINQ部份
1針對max/min最佳化
2針對Average/sum
3新增order/orderDescending 取代orderby/orderbydescending
4 System.IO的改善 WriteAllText改ReadAllText
5 針對Jsonserializer NoCachedOptions提昇
6Guid的 GuidEquals提昇
7ParseBigInt提昇
8ParseBool
9 Stopwatch中的getprocessbyname與getcurrentprocessname
10 在stopwatch加上getelapsedtime取得時間戳
.net Multi-platform APP UI(MAUI)教學準備中
2022年11月微軟準備在.net 新版本中發表 Multi-platform APP UI(MAUI)新的跨平台開發架構,透過c#以及XAML就可以開發出同時在windows、android以及ios與mac os上的程式(對了!目前還沒有支援到linux)!
簡單的說它算是Xamarin.Forms後續的版本,近期開始著手撰寫以及錄製MAUI的教學以及學習文件。



Redis for Windows 5.0.14.1
最近因為開發上的需求使用Redis,不過Redis並不支援Windows。官網上的建議做法也是建議打開WSL(Windows Subsystem for Linux),裝上ubuntu後再安裝(詳見: Install Redis on Windows )。windows上面網路上建議安裝的是Microsoft 已封存的3.0版本 ( https://github.com/microsoftarchive/redis ) 或是建議使用相容redis 6的 memurai (https://www.memurai.com/ ) 。但考量.net後續可以在Linux上跑的原因~還是以較悠久的redis為主,於是在網路上找到一個比較貼近的版本,是由網路上的大神Tomasz Poradowski 在github上分享的版本 https://github.com/tporadowski/redis/releases 。2022年2月發佈最新的版本是5.0.14.1。




延伸資料:
對 Azure DevOps 導入有興趣值得一聽的~Azure DevOps導入與數位轉型祕辛
這是 ‧NET Walker 大內行者 董大偉老師舉辦的一場很棒的線上課程,除了二位老師外還有 Will 保哥的技術交流中心 的保哥。在FB還可以看到 安德魯的部落格 Andrew Wu 的留言,大約2個小時多的直播中。從一開始為何導入Azure DevOps 是為了Sprint週期變短以及Dev+Ops等指標。討論交付時間延長就等於安全交付?實際開發狀況是專案時間就夠緊迫了,我要有辦法去做TDD?CodeReview?重構?技術債改善這些事嗎? 接著探討頻繁交付的適當性等議題。 大家可以聽一聽實務界技術大老討論,不過說真的沒有對錯,能夠讓自己公司團隊做出質量好產出的就是適合自己的方法。