๐Ÿ’ป C# / .NET ์›”๊ฐ„

์›”๊ฐ„ C# / .NET ์ข…ํ•ฉ

.NET 10์˜ ์ •์‹ ์ถœ์‹œ ๋ฐ ๋ณด์•ˆ ๊ฐ•ํ™”, Native AOT ๊ธฐ์ˆ ์˜ ์‹ค๋ฌด ํ™•์‚ฐ, Semantic Kernel์„ ํ†ตํ•œ AI ํ†ตํ•ฉ ํ‘œ์ค€ํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ์œผ๋ฉฐ, Linux ์ง€์› ๊ฐ•ํ™”์™€ Node.js ์—ฐ๋™์œผ๋กœ C# ๊ฐœ๋ฐœ์˜ ํ”Œ๋žซํผ ํ™•์žฅ์ด ๊ฐ€์†ํ™”๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ## 1. .NET 10์˜ ์ •์‹ ์ถœ์‹œ์™€ ๋ณด์•ˆ ๊ฐ•ํ™” .NET 10์ด Ubuntu 26.04์—์„œ ์ •์‹ ์ง€์›๋˜๋ฉฐ Linux ๊ธฐ๋ฐ˜ ๋ฐฐํฌ๊ฐ€ ํ‘œ์ค€ํ™”๋˜๊ณ , Docker ์ปจํ…Œ์ด๋„ˆ์™€ dotnet-backports PPA๋ฅผ ํ†ตํ•ด .NET 8, 9์™€ ํ•จ๊ป˜ ๋‹ค์–‘ํ•œ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. CVE-2026-40372 ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ๊ธด๊ธ‰ OOB ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ(10.0.7)๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ, ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์˜ ์ฆ‰์‹œ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค. ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ์—์„œ .NET์˜ ์„ ํƒ์ง€์™€ ๋ณด์•ˆ ๊ธฐ์ค€์ด ํ•œ์ธต ํ–ฅ์ƒ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ‚ค์›Œ๋“œ: `.NET 10` `Linux` `Security` `Ubuntu` `aspnetcore` ## 2. Native AOT ๊ธฐ์ˆ ์˜ ์„ฑ์ˆ™ํ™”์™€ ์‹ค๋ฌด ์ ์šฉ .NET 10์—์„œ Native AOT ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋นŒ๋“œ๊ฐ€ ๊ธฐ๋ณธ ์ง€์›๋˜๋ฉฐ, Ubuntu 26.04์—์„œ๋„ ์™„์ „ํžˆ ์ง€์›๋ฉ๋‹ˆ๋‹ค. C# Dev Kit์ด Node.js ๋„ค์ดํ‹ฐ๋ธŒ ์• ๋“œ์˜จ์„ Native AOT๋กœ ์™„์ „ํžˆ ์žฌ์ž‘์„ฑํ•˜๋ฉด์„œ N-API, LibraryImport, UnmanagedCallersOnly๋ฅผ ํ™œ์šฉํ•œ ๊ณ ์„ฑ๋Šฅ interop ํŒจํ„ด์„ ์ •๋ฆฝํ–ˆ์Šต๋‹ˆ๋‹ค. Python ์˜์กด์„ฑ ์ œ๊ฑฐ์™€ ์ˆœ์ˆ˜ C# ๊ฐœ๋ฐœ๋กœ Windows, Linux, macOS ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋นŒ๋“œ ํšจ์œจ์ด ๊ทน๋Œ€ํ™”๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ‚ค์›Œ๋“œ: `native aot` `.NET 10` `Node.js` `N-API` `interop` `C#` ## 3. Blazor ํ’€์Šคํƒ ๊ฐœ๋ฐœ์˜ ์‹ค์ „ ์‚ฌ๋ก€ ํ™•์‚ฐ .NET 10๊ณผ Blazor๋ฅผ ํ™œ์šฉํ•œ Naija Prime School ํ”„๋กœ์ ํŠธ๊ฐ€ Identity ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋ฐ˜์˜ ์ธ์ฆ ๋ฐ ์‚ฌ์šฉ์ž๊ด€๋ฆฌ ๊ตฌ์ถ• ์Šคํ”„๋ฆฐํŠธ๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. Clean Architecture ํŒจํ„ด์„ ๋”ฐ๋ฅด๋ฉฐ aspnetcore์™€ Blazor์˜ ์ตœ์‹  ๊ธฐ๋Šฅ์„ ์‹ค์ œ ํ”„๋กœ๋•์…˜ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋Š” ์ƒ์„ธํ•œ ํŠœํ† ๋ฆฌ์–ผ์ด ๊ณต๊ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ํ’€์Šคํƒ ๊ฐœ๋ฐœ ์ƒํƒœ๊ณ„์—์„œ Blazor์˜ ์ž…์ง€๊ฐ€ ๋”์šฑ ๊ฐ•ํ™”๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ‚ค์›Œ๋“œ: `Blazor` `aspnetcore` `Clean Architecture` `.NET 10` `Identity` ## 4. Semantic Kernel์„ ํ†ตํ•œ AI ํ†ตํ•ฉ์˜ ํ‘œ์ค€ํ™” Microsoft์˜ Semantic Kernel์ด 27,000๊ฐœ ์ด์ƒ์˜ GitHub ์Šคํƒ€๋ฅผ ๋ฐ›์œผ๋ฉฐ C# ๊ธฐ๋ฐ˜ AI ํ†ตํ•ฉ์˜ ์‹ค์งˆ์  ํ‘œ์ค€์œผ๋กœ ์ž๋ฆฌ์žก์•˜์Šต๋‹ˆ๋‹ค. OpenAI ๋ฐ ๋‹ค์–‘ํ•œ LLM ๋ชจ๋ธ์„ ์ง€์›ํ•˜๋ฉฐ, ํ”„๋กฌํ”„ํŠธ ๊ด€๋ฆฌ๋ถ€ํ„ฐ ์—์ด์ „ํŠธ ๊ตฌํ˜„๊นŒ์ง€ ์ฒด๊ณ„์ ์ธ AI ๊ธฐ๋Šฅ ๊ตฌ์ถ•์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. C# ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ณต์žกํ•œ LLM API ์ง์ ‘ ์—ฐ๋™ ๋Œ€์‹  SDK ๊ธฐ๋ฐ˜ ํ†ตํ•ฉ์œผ๋กœ AI ๊ฐœ๋ฐœ์˜ ์ง„์ž… ์žฅ๋ฒฝ์„ ํฌ๊ฒŒ ๋‚ฎ์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ‚ค์›Œ๋“œ: `ai` `LLM` `OpenAI` `sdk` `csharp` ## 5. C#๊ณผ ๋ฉ€ํ‹ฐํ”Œ๋žซํผ ์ƒํƒœ๊ณ„์˜ ๊ฒฝ๊ณ„ ํ•ด์†Œ C# Dev Kit์ด Node.js ๋„ค์ดํ‹ฐ๋ธŒ ์• ๋“œ์˜จ์„ C# Native AOT๋กœ ์™„์ „ํžˆ ๋Œ€์ฒดํ•˜๋ฉด์„œ, JavaScript์™€ C# ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์˜ ์ƒํ˜ธ์šด์šฉ์„ฑ์„ ํš๊ธฐ์ ์œผ๋กœ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. UnmanagedCallersOnly์™€ N-API๋ฅผ ํ™œ์šฉํ•œ ๊ณ ์„ฑ๋Šฅ interop ํŒจํ„ด์œผ๋กœ C#์˜ ์„ฑ๋Šฅ ์žฅ์ ์„ JavaScript ์ƒํƒœ๊ณ„์— ์ง์ ‘ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ€ํ‹ฐํ”Œ๋žซํผ ํฌ๋กœ์Šค ์ปดํŒŒ์ผ ์ง€์›์œผ๋กœ ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ž๋“ค์˜ ๊ธฐ์ˆ  ์„ ํƒ ํญ์ด ํฌ๊ฒŒ ํ™•๋Œ€๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ‚ค์›Œ๋“œ: `native aot` `Node.js` `interop` `C#` `cross-platform`

ํ‚ค์›Œ๋“œ

์ถœ์ฒ˜

โ† ๋ฆฌ์ŠคํŠธ๋กœ