昨天晚上,wil 保哥發了一則貼文。就是用gpt4訓練了一個.net core 後端工程師的面試line。主要是透過問答方式,瞭解像.net core與.net framework的異同、restful api的設計原則、非同步、DI、memorycache、middleware、entity framework。
line官方帳號 @290quxfz
大型網站架構..net 架構師.rabbitMQ.redis.行動開發.APP開發教學.PHP Laravel開發..net core C# 開發.架構師之路.Delphi開發.資料庫程式.進銷存.餐飲POS系統
昨天晚上,wil 保哥發了一則貼文。就是用gpt4訓練了一個.net core 後端工程師的面試line。主要是透過問答方式,瞭解像.net core與.net framework的異同、restful api的設計原則、非同步、DI、memorycache、middleware、entity framework。
line官方帳號 @290quxfz
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();
透過微軟azure上的語音服務,辨識麥克風傳入的聲音後將語音轉成文字
接著再把文字送到open ai api中的chatgpt 模型中取得回應內容
最後再將回應內容透過語音合成送出
參考:
Introducing ChatGPT and Whisper APIs
https://openai.com/blog/introducing-chatgpt-and-whisper-apis
openai api
https://platform.openai.com/docs/guides/chat
Betalgo.OpenAI.GPT3
https://www.nuget.org/packages/Betalgo.OpenAI.GPT3/6.7.0
https://github.com/betalgo/openai
看到DJI TELLO有SDK,幾個重點整理
1 使用的是UDP
2 IP是: 192.168.10.1
3 使用的PORT有 8889(指令) 8890(狀態) 11111(取得畫面)
程式碼大概就是
// 定義 IP
string DJIIP = "192.168.10.1";
//定義埠號
int DJIPort = 8889;
// 開啟
UdpClient udpClient = new UdpClient();
udpClient.Connect(DJIIP,DJIPort);
//
Byte[] sendCmdBytes = null;
sendCmdBytes = Encoding.UTF8.GetBytes(“takeoff”);
udpClient.Send(sendCmdBytes, sendCmdBytes.Length);
https://www.ryzerobotics.com/zh-tw
https://www.ryzerobotics.com/zh-tw/tello/downloads
使用對的演算法與資料結構,在程式效能上有很大的幫助。常用的資料結構有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
預計在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取得時間戳
2022年11月微軟準備在.net 新版本中發表 Multi-platform APP UI(MAUI)新的跨平台開發架構,透過c#以及XAML就可以開發出同時在windows、android以及ios與mac os上的程式(對了!目前還沒有支援到linux)!
簡單的說它算是Xamarin.Forms後續的版本,近期開始著手撰寫以及錄製MAUI的教學以及學習文件。