๐ป C# / .NET ยท ์ฃผ๊ฐ
-
.NET Minimal APIs, ์ด์ ํ๋ก๋์
์ค๋น๊ฐ ์๋ฃ๋๋ค
.NET 6์์ ๋์ ๋ Minimal APIs๊ฐ ์ฒ์์๋ ๋ฐ๋ชจ ๋๊ตฌ๋ก ์ธ์๋์์ง๋ง, ์ค์ ๋ก๋ ํ๋ก๋์ ํ๊ฒฝ์์๋ ์์ ํ ์ฌ์ฉ ๊ฐ๋ฅํ ์์ค์ผ๋ก ์ฑ์ฅํ์ต๋๋ค. ์ ํต์ ์ธ ์ปจํธ๋กค๋ฌ ๊ธฐ๋ฐ API ๊ฐ๋ฐ ๋ฐฉ์๊ณผ ๋น๊ตํด๋ ์ฑ๋ฅ๊ณผ ๊ธฐ๋ฅ์ฑ์์ ์์์ด ์์ผ๋ฉฐ, ๋น ๋ฅธ ํ๋กํ ํ์ดํ๊ณผ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ๋ฐ์ ํนํ ์ ๋ฆฌํฉ๋๋ค. ๊ฐ๋ฐ ์ปค๋ฎค๋ํฐ๋ ์ด์ Minimal APIs๋ฅผ ์ง์งํ ์ ํ์ง๋ก ์ธ์ ํ๊ณ ์์ต๋๋ค.
-
.NET 10.0.7 ๊ธด๊ธ ๋ณด์ ์
๋ฐ์ดํธ - CVE-2026-40372 ๋์
Microsoft๊ฐ CVE-2026-40372 ์ทจ์ฝ์ ํด๊ฒฐ์ ์ํด .NET 10.0.7์ ๊ธด๊ธ ๋ณด์ ์ ๋ฐ์ดํธ๋ก ์ถ์ํ์ต๋๋ค. ํ๋ก๋์ ํ๊ฒฝ์์ .NET์ ์ฌ์ฉ ์ค์ธ ๋ชจ๋ ๊ฐ๋ฐํ๊ณผ ์ด์ํ์ ์ด ๋ณด์ ์ ๋ฐ์ดํธ๋ฅผ ์ต๋ํ ๋นจ๋ฆฌ ์ ์ฉํด์ผ ํฉ๋๋ค. Out-of-Band ๋ณด์ ์ ๋ฐ์ดํธ๋ ์ ๊ธฐ ๋ฆด๋ฆฌ์ค ์ผ์ ๊ณผ ๋ณ๊ฐ๋ก ๊ธด๊ธ ๋ฐํ๋๋ฏ๋ก ๋ฐ๋์ ๋ชจ๋ํฐ๋ง์ด ํ์ํฉ๋๋ค.
-
Ubuntu 26.04, .NET 10๊ณผ ํจ๊ป ์ถ์ - Linux ๊ฐ๋ฐ ํ๊ฒฝ ์
๊ทธ๋ ์ด๋
Ubuntu 26.04 (Resolute Raccoon)๊ฐ .NET 10์ ํฌํจํ์ฌ ๊ณต์ ์ถ์๋์์ต๋๋ค. ์์นด์ด๋ธ์์ ์ง์ .NET 10์ ์ค์นํ ์ ์์ผ๋ฉฐ, ์๋ก์ด -resolute ์ปจํ ์ด๋ ํ๊ทธ๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค. Native AOT ์ฑ ๋น๋ ๋ฐฉ๋ฒ๋ ์ง์๋๋ฉฐ, dotnet-backports PPA๋ฅผ ํตํด .NET 8๊ณผ 9๋ ํจ๊ป ์ค์น ๊ฐ๋ฅํฉ๋๋ค. Linux ๊ธฐ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ต์ .NET ๊ธฐ์ ์ ํ์ฉํ๋ ค๋ ๊ฐ๋ฐ์๋ค์๊ฒ ์ค์ํ ์ ๋ฐ์ดํธ์ ๋๋ค.
-
.NET Native AOT๋ก Node.js ์ ๋์จ ๊ฐ๋ฐ - Python ์์กด์ฑ ์ ๊ฑฐ
C# Dev Kit ํ์ด ๊ธฐ์กด์ C++ Node.js ์ ๋์จ์ C#๊ณผ Native AOT๋ก ์์ ํ ๋์ฒดํ์ต๋๋ค. N-API, LibraryImport, UnmanagedCallersOnly ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ Python ์์กด์ฑ์ ์ ๊ฑฐํ๋ฉด์๋ ๊ณ ์ฑ๋ฅ ๋ค์ดํฐ๋ธ ์ ๋์จ์ ๊ฐ๋ฐํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. ์ด๋ .NET์ ์ํธ์ด์ฉ์ฑ(interop) ๋ฅ๋ ฅ์ ์๋ก์ด ์์ค์ผ๋ก ๋์ด์ฌ๋ฆฌ๋ ์ฌ๋ก๋ก, ๋ค๋ฅธ ์ธ์ด์์ ํตํฉ์ด ํ์ํ ํ๋ก์ ํธ์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
-
async/await ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๊ธฐ - ์ฑ๋ฅ ๋ญ๋น ๋ฌธ์ ํด๊ฒฐ
๋๋ถ๋ถ์ .NET ๊ฐ๋ฐ์๋ค์ด async/await๋ฅผ ์๋ชป ์ฌ์ฉํ๊ณ ์๋ค๋ ํ์ค์ ์ง์ํ๋ ๊ธ์ ๋๋ค. ์ผ๋ฐ์ ์ธ ์ค์ ์ฌํญ๋ค๊ณผ ๊ฐ๊ฐ์ ์ฑ๋ฅ ์ํฅ์ ๋ถ์ํ๊ณ , ์ฌ๋ฐ๋ฅธ ๋น๋๊ธฐ ํจํด์ ์ ์ํฉ๋๋ค. ํนํ ConfigureAwait ์ฌ์ฉ, Task.Result ํผํ๊ธฐ, async all the way ์์น ๋ฑ ์ค๋ฌด์์ ์์ฃผ ๋์น๋ ๋ถ๋ถ๋ค์ ๋ค๋ฃน๋๋ค. ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ ์๋ฆฌ๋ฅผ ์ ๋๋ก ์ดํดํ๋ฉด ํจ์ฌ ํจ์จ์ ์ด๊ณ ๋ฐ์์ฑ ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค.
-
.NET 10๊ณผ Blazor๋ก ํ๊ต๊ด๋ฆฌ์์คํ
๊ตฌ์ถํ๊ธฐ (1๋ถ: ์ธ์ฆ ๋ฐ ์ฌ์ฉ์๊ด๋ฆฌ)
Naija Prime School ํ๋ก์ ํธ์์ ์ต์ .NET 10๊ณผ Blazor๋ฅผ ํ์ฉํ์ฌ ํ์คํ ํ๊ต๊ด๋ฆฌ์์คํ ์ ๊ตฌ์ถํ๋ ์ค์ ํํ ๋ฆฌ์ผ์ ๋๋ค. ์ฒซ ๋ฒ์งธ ์คํ๋ฆฐํธ๋ Identity ํ๋ ์์ํฌ๋ฅผ ํตํ ์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ๋ค๋ฃน๋๋ค. Clean Architecture ํจํด์ ๋ฐ๋ฅด๋ฉฐ, aspnetcore์ Blazor์ ์ต์ ๊ธฐ๋ฅ๋ค์ ์ค์ ํ๋ก์ ํธ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
-
Semantic Kernel - LLM ๊ธฐ์ ์ ์ฑ์ ๋น ๋ฅด๊ฒ ํตํฉํ๊ธฐ (27,769โญ)
Microsoft์ Semantic Kernel์ ์ต์ LLM(Large Language Model) ๊ธฐ์ ์ C# ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ํตํฉํ ์ ์๋ ๊ณต์ SDK์ ๋๋ค. OpenAI ๋ฐ ๋ค์ํ AI ๋ชจ๋ธ์ ์ง์ํ๋ฉฐ, ํ๋กฌํํธ ๊ด๋ฆฌ๋ถํฐ ์์ด์ ํธ ๊ตฌํ๊น์ง AI ๊ธฐ๋ฅ์ ์ฒด๊ณ์ ์ผ๋ก ๊ตฌ์ถํ ์ ์์ต๋๋ค. 27,000๊ฐ ์ด์์ ์คํ๋ฅผ ๋ฐ์ผ๋ฉฐ C# ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ AI ํตํฉ์ ์ค์ง์ ํ์ค์ผ๋ก ์๋ฆฌ์ก์์ต๋๋ค.
-
Ubuntu 26.04์์ .NET 10 ์ถ์ ๋ฐ ์๋ก์ด ๊ธฐ๋ฅ
Ubuntu 26.04 (Resolute Raccoon)๊ฐ .NET 10์ ์ ์ ์ง์ํ๋ฉฐ ์ถ์๋์์ต๋๋ค. ์์นด์ด๋ธ์์ ์ง์ .NET 10์ ์ค์นํ ์ ์์ผ๋ฉฐ, Docker ์ฌ์ฉ์๋ฅผ ์ํ ์๋ก์ด `-resolute` ์ปจํ ์ด๋ ํ๊ทธ๊ฐ ์ ๊ณต๋ฉ๋๋ค. Native AOT ์ ํ๋ฆฌ์ผ์ด์ ๋น๋๊ฐ ๊ธฐ๋ณธ ์ง์๋๋ฉฐ, dotnet-backports PPA๋ฅผ ํตํด .NET 8๊ณผ 9๋ ์ค์น ๊ฐ๋ฅํฉ๋๋ค. Linux ๊ธฐ๋ฐ .NET ๊ฐ๋ฐ ํ๊ฒฝ์ด ๋์ฑ ํ์คํ๋๊ณ ์์ต๋๋ค.
-
.NET 10.0.7 ๊ธด๊ธ ๋ณด์ ์
๋ฐ์ดํธ ์ถ์
CVE-2026-40372 ์ทจ์ฝ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด .NET 10.0.7 OOB(Out-of-Band) ๋ณด์ ์ ๋ฐ์ดํธ๊ฐ ๊ธด๊ธ ์ถ์๋์์ต๋๋ค. ์์ฐ ํ๊ฒฝ์์ .NET 10์ ์ด์ ์ค์ธ ๋ชจ๋ ๊ฐ๋ฐ์์๊ฒ ์ฆ์ ์ ๊ทธ๋ ์ด๋๋ฅผ ๊ถ์ฅํฉ๋๋ค. ์ด ํจ์น๋ ๋ณด์ ์ํ์ ์ ์ํ๊ฒ ํด๊ฒฐํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฑ์ ๊ฐํํฉ๋๋ค.
-
Node.js ์ ๋์จ์ .NET Native AOT๋ก ์์ฑํ๊ธฐ
C# Dev Kit ํ์ด C++ Node.js ์ ๋์จ์ C#๊ณผ Native AOT๋ก ์์ ํ ๋์ฒดํ์ต๋๋ค. ์ด์ Python ์์กด์ฑ์ ์ ๊ฑฐํ๊ณ N-API์ LibraryImport๋ฅผ ์ฌ์ฉํ์ฌ ์์ C#์ผ๋ก๋ง Node.js ๋ค์ดํฐ๋ธ ์ ๋์จ์ ๋น๋ํ ์ ์์ต๋๋ค. UnmanagedCallersOnly ์์ฑ์ ํ์ฉํ๋ฉด ๊ณ ์ฑ๋ฅ์ interop ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ์ด๋ C#๊ณผ Node.js์ ๊ฒฝ๊ณ๋ฅผ ํ๋ฌผ๋ฉฐ ํ์คํ ๊ฐ๋ฐ์ ์๋ก์ด ๊ฐ๋ฅ์ฑ์ ์ด์ด์ค๋๋ค. Windows, Linux, macOS ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ด ํ์ธต ๊ฐํธํด์ก์ต๋๋ค.