์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 

[C#/.NET 8.0]์–ด์„œ์™€, Blazor Server๋Š” ์ฒ˜์Œ์ด์ง€?

โ˜….NET 8.0โ˜…Blazor Server๋ฅผ ํ™œ์šฉํ•œ Web ๊ฐœ๋ฐœ ๊ธฐ์ดˆ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. EntityFrameworkCore๋ฅผ ํ™œ์šฉํ•œ DB CRUD๋ฅผ ํŽธํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ๊ฐ€์„ธ์š”. Razor Page UI Design "๊ธฐ์ดˆ"๋ฅผ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฐ•์˜์— ์‚ฌ์šฉ๋œ Source Code๋„ ์ œ๊ณตํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค :)

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[์›น ๊ฐœ๋ฐœ, ํ’€์Šคํƒ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • Blazor Server์— ๋Œ€ํ•œ ์ดํ•ด

  • .NET8.0 Blazor์— ๋Œ€ํ•œ ์ดํ•ด

  • Razor ๊ตฌ๋ฌธ ํ™œ์šฉ์— ๋Œ€ํ•œ ์ดํ•ด

  • EntityFramework Core์— ๋Œ€ํ•œ ์ดํ•ด

  • ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„์— ๋Œ€ํ•œ ์ดํ•ด

  • ๊ธฐํƒ€ UI ๊ฐœ๋ฐœ Tip๋“ค

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Blazor Server ๊ธฐ์ดˆ ๊ฐ•์˜ ๐Ÿ“–

โ—‹ ๋ณธ ๊ฐ•์˜๋Š” C#/.NET ๊ฐœ๋ฐœ์ž๋“ค์„ ์œ„ํ•œ Blazor Server ๊ฐœ๋ฐœ ๊ธฐ์ดˆ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

โ—‹ Interface, Service, Dependency Injection๋“ฑ ๊ฐ์ฒด์ง€ํ–ฅ Programming ๊ธฐ๋ฒ•์„ ๋ฐฐ์šฐ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ—‹ Razor Page๋ฅผ ๊ฐ™์ด Designํ•ด๋ด„์œผ๋กœ์„œ UI์˜ ๊ธฐ์ดˆ์ ์ธ ๋ถ€๋ถ„์„ ํ•™์Šตํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๋‚˜๋ฉด ์ด๋Ÿฐ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์š”

Data ์ž…๋ ฅ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ๋ฐ UI ๊ตฌํ˜„

  • DB CRUD ๊ธฐ๋Šฅ์„ ์œ„ํ•œ UI ๋ฐ Logic ๊ตฌํ˜„

  • PostgreSQL + EntityFramework Core ํ™œ์šฉ

Dashboard ๊ฐœ๋ฐœ ๋ฐ UI ๊ตฌํ˜„

  • XAML Design ๋ฐ ๊ธฐํƒ€ UI ๊ฐœ๋ฐœ Tip

  • View Model ๋ฐ Code-behind์™€ ์ƒํ˜ธ์ž‘์šฉ

[ ๋™์˜์ƒ์„ ์žฌ์ƒํ•ด๋ณด์„ธ์š”! ]

[ ๋™์˜์ƒ์„ ์žฌ์ƒํ•ด๋ณด์„ธ์š”! ]

  • .NET8.0 Blazor Server์— ๋Œ€ํ•ด ํ™•์‹คํžˆ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ•ต์‹ฌ์ ์ธ Class ์„ค๊ณ„๋ฅผ ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋А์Šจํ•œ ๊ฒฐํ•ฉ์„ ์œ„ํ•œ Interface, Service, Dependency Injection์„ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • DB CRUD๋ฅผ ์œ„ํ•œ EntityFramework๋ฅผ ํ™œ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Razor Page Design ๋ฐ ๊ธฐํƒ€ UI ๊ฐœ๋ฐœ Tip๋“ค์„ ์–ป์–ด๊ฐ€์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•™์Šต ๋‚ด์šฉ

์„น์…˜ (1) Blazor Server์— ๋Œ€ํ•œ ์ดํ•ด

  • ์ƒˆ๋กœ์›Œ์ง„ .NET8.0์„ ์•Œ์•„๋ณด์„ธ์š”

  • ๊ธฐ๋ณธ์ ์ธ Blazor Server ๊ตฌ์กฐ๋ฅผ ์•Œ์•„๋ณด์„ธ์š”

  • Blazor Server๊ฐœ๋ฐœ ์ „ ํ™˜๊ฒฝ ์ค€๋น„๋ฅผ ๋จผ์ € ํ•ฉ๋‹ˆ๋‹ค

์„น์…˜ (2) Database ๋ฐ Entity Framework Core

  • Database ํ™œ์šฉ ์ค€๋น„๋ฅผ ๋จผ์ € ํ•ฉ๋‹ˆ๋‹ค

  • DB CRUD๋ฅผ ์œ„ํ•œ Framework๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค

  • Class ์„ค๊ณ„ ํ›„ ์ง์ ‘ ํ•ธ๋“ค๋ง ํ•ด๋ด…๋‹ˆ๋‹ค

์„น์…˜ (3) Razor Page Design(1)

  • DB CRUD ์šฉ Razor Page๋ฅผ Design ํ•ด๋ด…๋‹ˆ๋‹ค

  • UI Framework๋ฅผ ์ ๊ทน ํ™œ์šฉํ•ด๋ด…๋‹ˆ๋‹ค

  • ๊ธฐ์ดˆ์ ์ธ Datagrid UI๋ฅผ Design ํ•ด๋ด…๋‹ˆ๋‹ค

์„น์…˜ (4) Razor Page Design(2)

  • Dashboard Page๋ฅผ Design ํ•ด๋ด…๋‹ˆ๋‹ค

  • UI Layout ๋ฐ ์—ฌ๋Ÿฌ Control์„ ํ™œ์šฉํ•ด๋ด…๋‹ˆ๋‹ค

  • ๊ธฐํƒ€ UI ๊ฐœ๋ฐœ Tip๋„ ์•Œ์•„๊ฐ€์„ธ์š”


์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

์‹ค์Šต ํ™˜๊ฒฝ

  • ์šด์˜ ์ฒด์ œ ๋ฐ ๋ฒ„์ „(OS): Windows 10

  • ์‚ฌ์šฉ ๋„๊ตฌ: VisualStudio2022, pgAdmin4

ํ•™์Šต ์ž๋ฃŒ

  • ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ•์˜ ๋‚ด ์Œ์„ฑ์œผ๋กœ ์ œ๊ณต๋˜๋ฉฐ, ํ•„์š”ํ•œ ์ž๋ฃŒ๋‚˜ Site๋Š” ๊ฐ•์˜ ์ž๋ฃŒ์— ์ ์–ด๋“œ๋ฆฝ๋‹ˆ๋‹ค!

์„ ์ˆ˜ ์ง€์‹ ๋ฐ ์œ ์˜์‚ฌํ•ญ

  • ํ•™์Šต ๋‚œ์ด๋„๋ฅผ ๊ณ ๋ คํ•œ ํ•„์ˆ˜ ์„ ์ˆ˜ ์ง€์‹ ์—ฌ๋ถ€

    • C# ์–ธ์–ด์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•๋งŒ ์•„์…”๋„ ์ˆ˜๊ฐ•์— ์ง€์žฅ ์—†์Šต๋‹ˆ๋‹ค ๐Ÿ‘

  • ๊ฐ•์˜ ์˜์ƒ ํ’ˆ์งˆ(์Œ์งˆ/ํ™”์งˆ) ๋“ฑ ์ˆ˜๊ฐ•๊ณผ ์ง์ ‘ ์—ฐ๊ด€๋œ ๋‚ด์šฉ ๋ฐ ๊ถŒ์žฅ ํ•™์Šต ๋ฐฉ๋ฒ•

    • ๋…ธ์ด์ฆˆ๋Š” ์ตœ๋Œ€ํ•œ ์ค„์ด๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค! ์กฐ๊ธˆ์˜ ๋…ธ์ด์ฆˆ๋Š” ์–‘ํ•ด ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค ๐Ÿ™

  • ์งˆ๋ฌธ/๋‹ต๋ณ€ ๋ฐ ์ถ”ํ›„ ์—…๋ฐ์ดํŠธ ๊ด€๋ จ ๋‚ด์šฉ

    • ์งˆ๋ฌธ์€ ์–ธ์ œ๋“  ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ๊ฐ€์šฉํ•œ ์‹œ๊ฐ„์— ๋ฐ”๋กœ ๋‹ต๋ณ€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

    • ์ถ”ํ›„ ์—…๋ฐ์ดํŠธํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ๋งŽ์€ F/B ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค ๐Ÿ˜„

  • ๊ฐ•์˜ ๋ฐ ํ•™์Šต ์ž๋ฃŒ ์ €์ž‘๊ถŒ ๊ด€๋ จ ๊ณต์ง€์‚ฌํ•ญ

    • ๊ฐ•์˜์—์„œ ์ œ๊ณต ๋“œ๋ฆฐ ์†Œ์Šค ์ฝ”๋“œ๋Š” ๋งˆ์Œ๊ป ํ™œ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ๐Ÿ”ฅ

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • C#/.NET ๊ธฐ์ดˆ๋Š” ์•Œ์ง€๋งŒ Web ๊ฐœ๋ฐœ์€ ํ•œ ๋ฒˆ๋„ ์•ˆ ํ•ด๋ณด์‹  ๋ถ„

  • WinForm์ด๋‚˜ WPF ๊ฐœ๋ฐœ๋งŒ ํ•ด์„œ Web ๊ฐœ๋ฐœ์„ ์–ด๋–ป๊ฒŒ ์‹œ์ž‘ํ• ์ง€ ๊ฐ์ด ์•ˆ ์˜ค์‹œ๋Š” ๋ถ„

  • Blazor๋ฅผ ์ดํ•ดํ•˜๋ฉด์„œ ์‹ค์Šต์„ ํ†ตํ•ด ๋น ๋ฅด๊ฒŒ ํ™œ์šฉํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • C#/.NET

  • PostgreSQL

์•ˆ๋…•ํ•˜์„ธ์š”
RAZOR์ž…๋‹ˆ๋‹ค.

700

๋ช…

์ˆ˜๊ฐ•์ƒ

47

๊ฐœ

์ˆ˜๊ฐ•ํ‰

41

๊ฐœ

๋‹ต๋ณ€

4.5

์ 

๊ฐ•์˜ ํ‰์ 

5

๊ฐœ

๊ฐ•์˜

์•ˆ๋…•ํ•˜์„ธ์š”. ๊ฐœ๋ฐœ์ž RAZOR ์ž…๋‹ˆ๋‹ค. Python, C#/.NET(Winform, WPF, Blazor) ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค :)

์ œ ๊ฐ•์˜ ๋“ค์–ด์ฃผ์…”์„œ ์–ธ์ œ๋‚˜ ๊ฐ์‚ฌ๋“œ๋ฆฌ๋ฉฐ, ๊ฑฐ์นจ์—†์ด ํ•˜์ดํ‚ฅ(?) ๋ง๊ณ  F/B ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค!๐ŸคŸ๐ŸคŸ๐ŸคŸ

 

โ˜…RAZOR๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ณ ํ’ˆ๊ฒฉ(?) ๊ฐ•์˜ List

โ—‹ Python Fast API ๊ฐ•์˜ LINK : https://inf.run/h7eTV

โ—‹ Winform ๊ฐ•์˜ LINK : https://inf.run/iovRi

โ—‹ WPF ๊ฐ•์˜ LINK : https://inf.run/ptAYH

โ—‹ Blazor WASM ๊ฐ•์˜ LINK : https://inf.run/tptBE

โ—‹ Blazor Server ๊ฐ•์˜ LINK : https://inf.run/fKHBg

 

โ˜…RAZOR์—๊ฒŒ ๋ฉ˜ํ† ๋ง ๋ฐ›๊ณ  ์‹ถ๋‹ค๋ฉด?

โ—‹ ๋ฉ˜ํ† ๋ง LINK : https://inf.run/7u6fC

 

 โ˜…RAZOR๊ฐ€ ์ง์ ‘ ์ž‘์„ฑํ•œ ์˜จ๋ผ์ธ ๊ฐ•์˜ ํŒ๋งค๋กœ ๋ถ€์ˆ˜์ž… ์–ป๋Š” ๋ฒ• ๊ถ๊ธˆํ•˜๋‹ค๋ฉด?

โ—‹ 219์ผ๋งŒ์— 1300๋งŒ์› ๋ถ€์ˆ˜์ž… ์–ป๋Š” ๋ฐฉ๋ฒ• : PDF ์ „์ž์ฑ… ํ˜•ํƒœ๋กœ ํŒ๋งคํ•ฉ๋‹ˆ๋‹ค.

โ—‹ ๊ตฌ๋งค ์˜ํ–ฅ ์žˆ์œผ์‹œ๋ฉด ๋ฉ”์ผ(resti52@naver.com)๋กœ ์—ฐ๋ฝ์ฃผ์„ธ์š” :)

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

14๊ฐœ โˆ™ (4์‹œ๊ฐ„ 9๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!