์•ˆ๋…•ํ•˜์„ธ์š”.

์ด๋ฒˆ ์ฃผ์— ๊ฐœ๋ฐœ์ผ์ง€๋Š” ์Œ... ์‚ฌ์‹ค ์ƒ ๋ฌผ ๊ฑด๋„ˆ๊ฐ„ ๊ฒƒ ๊ฐ™๋„ค์š”.


๊ทธ๋ž˜๋„ ์ด์ œ ๋‹ค์Œ ์ฃผ ๋ถ€ํ„ฐ๋Š” ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์— ์ „๋…ํ•  ์ˆ˜ ์žˆ์„ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.

์ œ๋ชฉ์—์„œ ๋ณด์‹œ๋‹ค์‹œํ”ผ ํŒ€ ํ™ˆํŽ˜์ด์ง€ ๊ฐœ๋ฐœ์ด ๋๋‚ฌ์Šต๋‹ˆ๋‹ค!



์•ฝ 1๋‹ฌ ๋ฐ˜ ๋™์•ˆ ๋งค์ผ ์ˆ˜๋งŽ์€ ์ž‘์—…์„ ๋๋‚ด๊ณ  ๋งˆ๋ฌด๋ฆฌ๋ฅผ ์ง€์—ˆ์Šต๋‹ˆ๋‹ค.

ํ™ˆํŽ˜์ด์ง€๋Š” ์•„๋งˆ ์˜ค๋Š˜ ์•„๋‹ˆ๋ฉด ๋‚ด์ผ ์ฏค์— ํ˜ธ์ŠคํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๊ฒƒ ๊ฐ™๊ณ ์š”.


์ด์ œ ํ›„๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.


-----


.NET Core ์ž…๋ฌธ์— ๋Œ€ํ•ด


ASP.NET Core๋Š” ํ˜„์žฌ ํ™œ๋ฐœํ•˜๊ฒŒ ๊ฐœ๋ฐœ๋˜๊ณ  ๋น ๋ฅด๊ฒŒ ๊ฐœ์„ ๋˜๋Š” ์ค‘์ธ .NET Core๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

.NET Core๋Š” Windows์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

MacOS๋‚˜ Linux, ์‹ฌ์ง€์–ด Android์—์„œ๋„ ๋Œ๋ฆด ์ˆ˜ ์žˆ์„๋งŒํผ ์ž์œ ๋กœ์šด ํŽธ ์ž…๋‹ˆ๋‹ค.


ํ•˜์ง€๋งŒ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœ๋˜๊ณ  ๊ฐœ์„ ์ค‘์ธ ํ”Œ๋žซํผ์ด ์žฅ์ ์ด๋ผ๊ณ ๋Š” ๋งํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜์ž๋งˆ์ž ์ตํ˜”๋˜ ๊ธฐ์ˆ ๊ณผ ๊ธฐ๋Šฅ๋“ค์ด ์–ธ์ œ deprecated๋  ์ง€ ๋ชจ๋ฅด๋Š” ์ƒํ™ฉ์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด์ฃ .


๋ฆฌ์Šคํฌ๋ฅผ ๊ฐ์•ˆํ•˜๋”๋ผ๋„, ์ €์—๊ฒŒ๋Š” .NET Core๊ฐ€ ๋งค๋ ฅ์ ์ด์˜€์Šต๋‹ˆ๋‹ค.

์™œ๋ƒํ•˜๋ฉด, ์šฐ์„  ์œ ๋‹ˆํ‹ฐ๋ฅผ ์ž์ฃผ ์• ์šฉํ•˜๊ณ  ์žˆ๊ณ , WPF๋‚˜ UWP ์•ฑ์„ ๋งŒ๋“ค์–ด ๋ณธ ์ ์ด ์žˆ๋Š”๋ฐ๋‹ค๊ฐ€

C#์„ ์ฃผ๋ ฅ์œผ๋กœ ์‚ผ๊ณ  ์žˆ๋Š” ์ €์—๊ฒŒ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•œ ํ”Œ๋žซํผ์œผ๋กœ ๋ˆˆ์—ฌ๊ฒจ๋ดค๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.


๊ทธ๋ ‡๊ฒŒ ์‹œ์ž‘๋œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ...


-----


ํ•œ๊ตญ์–ด๋กœ ๋ฒˆ์—ญ๋œ ๋ฌธ์„œ


์ƒ๊ฐ๋ณด๋‹ค .NET Core์™€ ASP.NET Core๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๊ธฐ์—ฌ๊ฐ€ ํฐ ํŽธ์— ์†ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•œ๊ธ€์„ ๋งŽ์ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ASP.NET Core๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ๋„ ์–ด๋ ต์ง€ ์•Š๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.


.NET Core

https://docs.microsoft.com/ko-kr/dotnet/core/


ASP.NET Core

https://docs.microsoft.com/ko-kr/aspnet/core/


์ค€๋น„๋ฌผ์€ vscode์™€ vscode์˜ c# ํ™•์žฅ, ๊ทธ๋ฆฌ๊ณ  .NET Core SDK๋งŒ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

vs2017๊ณผ ๊ฐ™์€ IDE๋Š” ์„ค์น˜ํ•  ๋•Œ ๊ฐœ๋ฐœ๋„๊ตฌ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฑธ๋กœ ์„ค์น˜๋งŒ ๋๋‚˜๋ฉด ๋ฐ”๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๊ณ ์š”.


-----


๋ฐฑ์—”๋“œ๋ผ์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€


์ผ๋‹จ ๊ธฐ๋ณธ์ ์œผ๋กœ ์›น์„ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด์˜€์ง€๋งŒ,

๋ฐฑ์—”๋“œ ์•ฑ์„ '์ง์ ‘' ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ์— ๋”ฐ๋ผ ๊ต‰์žฅํ•œ ์ž์œ ๋„๋ฅผ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.


๊ทธ๋กœ ์ธํ•ด ํŒ€ ๋น„๊ณต๊ฐœ๋กœ ์‚ฌ์šฉํ•˜๋˜ Discord์„œ๋ฒ„์— ๋ชจ๋“  ์†Œ์‹๊ณผ ๊ฒŒ์‹œ๊ธ€, ์ •๋ณด๋ฅผ

์ง์ ‘ ์ž์œ ๋กญ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก Discord ๋ด‡์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” DSharpPlus์˜€๊ณ , .NET Core์˜ ๋ฌธ์„œ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ

๋ ˆํผ๋Ÿฐ์Šค๋งŒ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์•ฝ๊ฐ„์˜ ๋‚œํ•ญ์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹คํ–‰ํžˆ๋„ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋งŒ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด์˜€๊ธฐ ๋•Œ๋ฌธ์—

์ตœ์†Œํ•œ์˜ ๊ธฐ๋Šฅ๋งŒ ์ฐพ์•„์„œ ๋„ฃ๋Š” ๊ฒƒ์œผ๋กœ ๋๋ƒˆ์Šต๋‹ˆ๋‹ค.


๊ทธ ๋‹ค์Œ์€ ์„œ๋ฒ„์— ์ง์ ‘ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด DB๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ์‹์„ ์“ฐ๋Š” ๋Œ€์‹  EF Core๋ฅผ ์‚ฌ์šฉํ•ด DB์™€ ์•ฑ ๊ฐ„์˜ ์ฟผ๋ฆฌ์‹ ๋Œ€์‹  LINQ ๋ฉ”์„œ๋“œ๋“ค์„ ์“ฐ๋Š” ๊ฑธ๋กœ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

EF Core๋Š” ์ฟผ๋ฆฌ์‹์„ ๋Œ€์‹ ํ•ด ๋งŒ๋“ค์–ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋น„์Šค ๊ฐ„ ์ „ํ™˜์ด ์ž์œ ๋กœ์›Œ

MySQL์„ ์“ฐ๋‹ค๊ฐ€ PostgreSQL๋กœ ์ „ํ™˜ํ•˜๋Š” ๋“ฑ์˜ ์œ ์—ฐ์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.



์‹ฌ์ง€์–ด SQLite๋„ ๊ฐ€๋Šฅํ•ด์„œ Unity์— ๋ผ์šธ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ?

ํ•˜๋Š” ์ƒ๊ฐ์— ์—ฌ๋Ÿฌ๊ฐ€์ง€๋ฅผ ์‹œ๋„ํ•ด๋ดค์ง€๋งŒ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค. (...)


๋งˆ์ง€๋ง‰์œผ๋กœ ํŒ€์˜ ์†Œ์‹์„ ๋น ๋ฅด๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก, SNS ๊ณ„์ •์— ์†Œ์‹ ๊ธ€์„ ์˜ฌ๋ฆฌ๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด CoreTweet๋„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.



-----


๊ฐœ๋ฐœ๊ธฐ๊ฐ„ : ์•ฝ 1๋‹ฌ ๋ฐ˜


์ œ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์ด ๋งŽ์•˜๊ณ , ํ™˜๊ฒฝ์ ์ธ ์ œ์•ฝ๋„ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค.

์šฐ์„  ์ฒซ๋ฒˆ์งธ๋กœ ์ œ๊ฐ€ ํšŒ์‚ฌ๋ฅผ ๋‹ค๋‹ˆ๊ณ  ์žˆ๋Š” ๋ฐ๋‹ค ์ถœํ‡ด๊ทผ์—๋„ ์‹œ๊ฐ„์ด ๊ฝค ๊ฑธ๋ฆฌ๋Š” ํŽธ์ด๋ผ ํ‰์ผ์— ๋‚˜๋Š” ์‹œ๊ฐ„์ด ๋งŽ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ…Œ์ŠคํŠธ์™€ ๋””์ž์ธ ๊ณ ๋ ค์‚ฌํ•ญ, DB ์ •๋ฆฌ ๋“ฑ ์‚ดํŽด๋ด์•ผ ํ•  ๊ฒƒ์ด ๋งŽ์•˜์ฃ .


์‹ค์งˆ์ ์œผ๋กœ ํ”„๋กœ๋•์…˜์„ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜๋Š” ์†๋„ ์ž์ฒด๋Š” ๋นจ๋ž์ง€๋งŒ, ๊ทœ๋ชจ์— ๋น„ํ•ด ๋А๋ ธ๋‹ค๋Š” ๋А๋‚Œ์ด๋„ค์š”...


๊ทธ๋ž˜๋„ ์˜ค๋Š˜ ์™„์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.


-----


๋งˆ์ง€๋ง‰์œผ๋กœ...


์ €๋Š” ์›น ํ˜ธ์ŠคํŠธ์šฉ์œผ๋กœ ๋งŒ๋“ค์—ˆ์ง€๋งŒ, ASP.NET Core๋Š” ์ด๊ฒƒ ๋ง๊ณ ๋„ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


API ์„œ๋ฒ„ :

์˜ˆ๋ฅผ ๋“ค์–ด ์œ ๋‹ˆํ‹ฐ์—์„œ ์ฃผ์†Œ์— ์ฟผ๋ฆฌ๊ฐ’์ด๋‚˜ HTTP POST๋กœ

๊ฐ’์„ ์„œ๋ฒ„์— ์ „๋‹ฌํ•ด DB์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DB ์ฟผ๋ฆฌ์‹์€ EF Core๋ฅผ ์ด์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์ตœ๊ณ ๊ธฐ๋ก ์ ์ˆ˜๋‚˜ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๊ฒ ์ฃ .


SignalR์„ ์ด์šฉํ•œ ์‹ค์‹œ๊ฐ„ ์‘๋‹ต ์„œ๋ฒ„ :

์ด๊ฒƒ์€ ์‹ค์ œ๋กœ ์‹ค์‹œ๊ฐ„ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ,

๊ฐ„๋‹จํ•œ ์ˆ˜์ค€์œผ๋กœ๋Š” ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์ด ์žˆ๊ณ , ์ด๊ฑธ ํ™œ์šฉํ•ด์„œ ์‹ค์‹œ๊ฐ„ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด ๊ฒŒ์ž„์˜ ์„œ๋ฒ„๋„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


-----


์ด์ œ ๋‹ค์Œ ์ฃผ ๋ถ€ํ„ฐ๋Š” ๋‹ค์‹œ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์— ์ „๋…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋๋„ค์š”.


๊ทธ๋Ÿฌ๋‹ˆ ๋‹ค์Œ ์ฃผ์—๋Š” ๊ฐœ๋ฐœ์ผ์ง€๋กœ ๋‹ค์‹œ ์ฐพ์•„์˜ค๊ฒ ์Šต๋‹ˆ๋‹ค.


ํ™ˆํŽ˜์ด์ง€ : https://creffect.com


* ํ™ˆํŽ˜์ด์ง€๋Š” ๊ธ€ ๊ฒŒ์‹œ ์‹œ์ ๋ถ€ํ„ฐ ๋“ฑ๋ก ์ž‘์—…์ด ์ง„ํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.