Ssemi

Ssemi

https://github.com/ssemi
๐Ÿ“ South Korea https://www.ssemi.net

.NET ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•œ Worker ์„œ๋น„์Šค ๊ฐœ๋ฐœ๊ธฐ -4-

์ง€๋‚œ ๋ฒˆ์— .NET Core 3.1 ๋กœ Worker Service ๋ฅผ ๊ตฌํ˜„ ํ•˜๋ฉด์„œ ์ƒ๊ธด ์ด์Šˆ๋ฅผ ๊ฐ€์ง€๊ณ  NET5 ๋กœ Migration ํ•˜๋ฉด์„œ ๊ตฌ์กฐ๋„ ๋งŽ์ด ๋ณ€๊ฒฝ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค -------------------------------------------------------------------------------- ๋˜ํ•œ ๊ธ€์„ ๋‹ค ์“ฐ๊ณ  github ์— ์ฝ”๋“œ๋„ ์˜ฌ๋ฆฌ๊ณ  ํ™•์ธํ•˜๋‹ˆ, ์„œ๋น„์Šคํ™” ์‹œํ‚ค๋Š” ๋‚ด์šฉ์ด ๋น ์ง„ ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค. ๋ณดํ†ต์€ dockerize ํ•ด์„œ ์‚ฌ์šฉ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, docker run ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์†
โ€” 8 min read

.NET ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•œ Worker ์„œ๋น„์Šค ๊ฐœ๋ฐœ๊ธฐ -3-

.NET Framework Service ์—์„œ .NET Core 3.1 ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค ์ฒ˜์Œ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ  ๋•Œ๋ฌธ์— ๋ณ€ํ™˜ ํ•˜๊ธฐ๋กœ ๋งˆ์Œ ๋จน๊ณ  ์ง„ํ–‰ ํ–ˆ๋‹ค * Container ์„œ๋น„์Šค๋กœ Worker ๋ฅผ ๋Œ๋ฆฌ๊ณ  ์‹ถ์—ˆ๋‹ค. * .NET Framework ๋ฅผ Dockerize (windows) = ํ‰๊ท  4.5GB ์ด์ƒ ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ * .NET Core ๋ฅผ Dockerize ย (linux) = ํ‰๊ท  350MB ์ด์ƒ ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ
โ€” 7 min read

.NET ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•œ Worker ์„œ๋น„์Šค ๊ฐœ๋ฐœ๊ธฐ -2-

.NET Framework ์—์„œ Service ๊ฐœ๋ฐœ ์ฒ˜์Œ .NET Framework ์—์„œ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœ ํ•  ๋‹น์‹œ์—๋Š” ๋‹น์—ฐํ•˜๊ฒŒ Windows ์„œ๋ฒ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— Windows Service Template ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์—ˆ๋‹ค. (์ด๊ฑธ 2022๋…„๋„์— ๊ธ€์„ ์“ฐ๊ณ  ์žˆ์œผ๋‹ˆ ์•„๋ จํ•˜๊ฒŒ ๋– ์˜ค๋ฅธ๋‹ค) .NET Framework ์—์„œ Windows Service ๊ฐœ๋ฐœ ํ…œํ”Œ๋ฆฟ์„ ์„ ํƒํ•˜์—ฌ Worker ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค. static void Main(string[
โ€” 4 min read

.NET ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•œ Worker ์„œ๋น„์Šค ๊ฐœ๋ฐœ๊ธฐ -1-

> ์˜ค๋ž˜ ์ „๋ถ€ํ„ฐ Web Service๊ฐ€ ์•„๋‹Œ Worker Service ๊ฐ™์€ ๋ถ€๋ฅ˜๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ž‘์—…์„ ์–ด๋–ค ์‹์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋Š”์ง€ ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ค ์ƒ๊ฐ์„ ํ–ˆ๋Š”์ง€ ์ข€ ์ •๋ฆฌ ํ•ด๋ณด๊ณ , ์ตœ๊ทผ์—๋Š” ์–ด๋–ป๊ฒŒ ๋ฐœ์ „ํ–ˆ๋Š”์ง€ ์†ŒํšŒ๋ฅผ ๋‚จ๊ธฐ๋ ค๊ณ  ํ•œ๋‹ค. ํฌ๊ฒŒ ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ์˜ ์‹œ๋ฆฌ์ฆˆ๊ฐ€ ๋  ๊ฒƒ ๊ฐ™๋‹ค. 1. Message Broker ๋ฅผ ํ™œ์šฉํ•œ Pub-Sub ๊ฐœ๋… 2. .NET Framework - Windows Service
โ€” 4 min read

OAuth ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

์–ด๋–ป๊ฒŒ ์‹œ์ž‘ํ•ด์•ผ ํ• ๊นŒ? ์–ด๋–ป๊ฒŒ ์„ค๋ช…ํ•ด์•ผ ์ž˜ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์„๊นŒ? ๊ณ ๋ฏผ์„ ํ–ˆ๋‹ค ์šฐ์„  ์ด์ „์— ์„ค๋ช… ํ–ˆ๋“ฏ์ด [https://www.ssemi.net/sso-configuration/]SSO๋Š” ์„œ๋น„์Šค๊ณ ,OAUTH๋Š” ๊ทœ์•ฝ(ํ”„๋กœํ† ์ฝœ) ์ด๋‹ค ์š”์‹์—… ์„œ๋น„์Šค์—๋Š” ๋ฐฐ์†ก ๊ทœ์•ฝ(ํ”„๋กœํ† ์ฝœ)์ด ์ค€๋น„ ๋˜์–ด์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ง์ด๋‹ค > SSO (์„œ๋น„์Šค) ๋Š” OAUTH (ํ”„๋กœํ† ์ฝœ) ๋ฐฉ์‹์„ ์ด์šฉํ•ด์„œ ์„ค๊ณ„ ๋˜์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค OAUTH (Open Standard
โ€” 7 min read

ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ Bearer Authentication

OAuth๋ฅผ ๋“ค์–ด๊ฐ€๋ ค๊ณ  ์ƒ๊ฐํ•˜๋‹ค๊ฐ€, ์ด์ „์— Bearer scheme ๋ถ€ํ„ฐ ์กฐ์ ธ์•ผ ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ๋จผ์ € ํ•ด๋ดค๋‹ค ๋ธ”๋กœ๊ทธ์— ๊ธ€์„ ์“ธ ๋•Œ ๋งˆ๋‹ค ๋“œ๋Š” ์ƒ๊ฐBearer scheme ์— ๋Œ€ํ•ด์„œ ์ •ํ™•ํžˆ ์„ค๋ช…์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์—ฌ๋Ÿฌ ์ž๋ฃŒ๋“ค์„ ๋ดค๋Š”๋ฐ, ํ•œ๊ธ€ ํ’€์ดํ˜•์œผ๋กœ ๊ฐ€์žฅ ์•Œ๋งž์€ ๋ง์€ ์ „๋‹ฌ์ž ๊ฐ€ ์ œ์ผ ๊ทธ๋‚˜๋งˆ ์•Œ๋งž์€ ๋ง์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ ์ œ๋ชฉ์— ์ „๋‹ฌ์ž ์ธ์ฆ ์ด๋ผ๊ณ  ์“ฐ๋ ค๊ณ  ๋ณด๋‹ˆ ๋˜
โ€” 8 min read

SSO๋ฅผ ๊ตฌ์„ฑ(Configuration)ํ•˜๋Š” ๊ฒƒ๋“ค

์ด์ „ ๊ธ€ [https://www.ssemi.net/what-is-the-sso-single-sign-on/]์—์„œ SSO ๋ฅผ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋„๋ก ์„ค๋ช…ํ–ˆ๋Š”๋ฐ, ์ด๋ฒˆ ๊ธ€์„ ๋ณด๊ณ  ๋” ์ •ํ™•ํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค ์šฐ์„  ๋ช‡ ๊ฐ€์ง€ ์šฉ์–ด๋ฅผ ์จ๋ณด๋„๋ก ํ•˜์ž. ๋ง‰ ์ƒ๊ฐ๋‚˜๋Š” ๋Œ€๋กœ ์จ๋ดค๋‹ค * SSO (Single Sign On) * OAUTH (Open Authorization) * SAML(Security Assertion Markup Language) * OpenID Connect * ADFS (Active Directory
โ€” 7 min read

SSO? Single Sign On ์ด๋ž€?

๋“œ๋””์–ด ์—ฌ๊ธฐ๊นŒ์ง€ ์™”๋‹ค. SSO ๋ถ€ํ„ฐ ์„ค๋ช…ํ•  ๋‚ด์šฉ๋“ค์ด ๋งŽ์•„์„œ ์šฉ์–ด ์ •๋ฆฌ๋ฅผ ๋จผ์ € ํ•˜๊ณ  ๊ฐ€๋ ค๊ณ  ํ•œ๋‹ค SSO ๋Š” ์‚ฌ์‹ค ์ธ์ฆ์ด๋ผ๋Š” ํฐ ๋ฒ”์œ„ ์•ˆ์˜ ํ•˜๋‚˜์˜ scheme ์ฆ‰ ์ผ๋ถ€์ผ ๋ฟ์ด๋‹ค > Single sign-on (SSO) is an authentication scheme that allows a user to log in with a single ID and password to any of several
โ€” 5 min read

.NET6 C# ์œผ๋กœ ๊ตฌํ˜„ํ•œ ๊ธฐ๋ณธ ์ธ์ฆ Basic Authentication

์ด์ „ ๊ธ€ [https://www.ssemi.net/basic-authentication/]์—์„œ Basic Authentication์ด ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ ๋˜๋Š”์ง€ ์„ค๋ช…์€ ํ–ˆ๋Š”๋ฐ, ์‚ฌ์‹ค ์ฝ”๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ๋™ ๋˜๋Š”์ง€ ๋ณด์ง€ ์•Š์œผ๋ฉด ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ด๋ ‡๊ฒŒ github gist ๋„ ์จ๋ณด๊ณ ์ž ํ•œ ๋ฒˆ ์ฝ”๋“œ๋กœ ๊ธฐ๋ณธ ์ธ์ฆ์„ ๊ตฌํ˜„ํ•ด๋ณด์ž ๊ทธ๋ฆฌ๊ณ  2021. 11์›”์— ์ƒˆ๋กœ ๋‚˜์˜จ .NET6 ์˜ ์ƒˆ ๊ธฐ๋Šฅ Minimal
โ€” 8 min read

๊ธฐ๋ณธ ์ธ์ฆ Basic Authentication

๊ธฐ๋ณธ ์ธ์ฆ ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ์šฐ๋Š” Basic Authentication ํ† ํฐ ์ธ์ฆ์ด ์ž˜ ์“ฐ์ด๊ธฐ ์ด์ „์—, ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ๋งŽ์ด ์“ฐ์ด๋˜ ๊ฐ€์žฅ ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•˜๋Š” ์ธ์ฆ ๋ฐฉ๋ฒ• ์ค‘์— ํ•˜๋‚˜. ์ด ๋ฐฉ๋ฒ•์ด ์™œ ๋งŽ์ด ์“ฐ์˜€์„๊นŒ?? ์ด์ „ ๊ธ€ [https://www.ssemi.net/what_is_the_authentication/]์—์„œ๋„ ๋งํ–ˆ๋“ฏ์ด ์„ธ์…˜ ๊ธฐ๋ฐ˜ ์ธ์ฆ์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋กœ ๋ณต์žกํ•˜๊ณ  ๋ฌธ์ œ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ทธ
โ€” 3 min read