๊ฑฐ๊ธฐ์— Postgres๊ฐ€ ์žˆ์ง€๋งŒ ๊ทธ๊ฑธ๋กœ ๋ฌด์—‡์„ ํ•ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. (c)

์ด๊ฒƒ์€ ์˜›๋‚ ์— Postgres์— ๋Œ€ํ•œ ์งˆ๋ฌธ์œผ๋กœ ๋‚˜์—๊ฒŒ ์ ‘๊ทผํ•œ ์นœ๊ตฌ ์ค‘ ํ•œ ์‚ฌ๋žŒ์˜ ์ธ์šฉ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ์šฐ๋ฆฌ๋Š” ๋ฉฐ์น  ๋งŒ์— ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๊ณ  ๊ทธ๋Š” ๋‚˜์—๊ฒŒ ๊ฐ์‚ฌํ•˜๋‹ค๊ณ  ๋ง๋ถ™์˜€์Šต๋‹ˆ๋‹ค. โ€œ์ต์ˆ™ํ•œ DBA๊ฐ€ ์žˆ์–ด์„œ ์ข‹์•„์š”.โ€

ํ•˜์ง€๋งŒ DBA๋ฅผ ๋ชจ๋ฅธ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ์นœ๊ตฌ ์ค‘์—์„œ ์นœ๊ตฌ๋ฅผ ์ฐพ๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์งˆ๋ฌธ์„ ์ง์ ‘ ์—ฐ๊ตฌํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ๋‹ต๋ณ€ ์˜ต์…˜์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ด๋–ค ๋Œ€๋‹ต์ด ๋– ์˜ค๋ฅด๋“  ์ข‹์€ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ๋ชจ๋“œ์—์„œ๋Š” Postgres์™€ ๊ทธ ์ฃผ๋ณ€์˜ ๋ชจ๋“  ๊ฒƒ์— ๋Œ€ํ•œ ์ถ”์ฒœ ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋ญ๊ณ , ์šฐ๋ฆฌ๋Š” ์–ด์ฉŒ๋‹ค๊ฐ€ ์ด๋ ‡๊ฒŒ ์‚ด๊ฒŒ ๋๋‚˜?

์™œ ์ด๊ฒƒ์ด ์ „๋ถ€์ž…๋‹ˆ๊นŒ?

Postgres๋Š” ์ ์–ด๋„ ์‰ฝ์ง€ ์•Š์œผ๋ฉฐ ๋•Œ๋กœ๋Š” ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ฐธ์—ฌ ์ •๋„์™€ ์ฑ…์ž„ ์ •๋„์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์šด์˜์— ์ข…์‚ฌํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ Postgres as a Service๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ฆฌ์†Œ์Šค ํ™œ์šฉ๋„, ๊ฐ€์šฉ์„ฑ, ๊ตฌ์„ฑ์˜ ์ ์ ˆ์„ฑ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์ •๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ์™€ ์ •๊ธฐ์ ์ธ ์ƒํƒœ ์ ๊ฒ€์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์ž‘์„ฑํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹๊ณผ ์ด๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ๋Š” ๊ธด๊ธ‰ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”์ง€ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์‚ฌ๋žŒ์ด ๊ธฐ์ˆ  ์ฑ…์ž„์ž/๊ธฐ์ˆ  ์ด์‚ฌ๊ฐ€ ๋  ๋งŒํผ ์šด์ด ์ข‹์ง€ ์•Š๋‹ค๋ฉด Postgres ์ „์ฒด๊ฐ€ ์•ˆ์ •์ ์ด๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜์ง€๋งŒ ์˜ค๋žซ๋™์•ˆ Postgres์— ๊นŠ์ด ๋น ์ ธ๋“ค์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. .

์ด ๊ฒฝ์šฐ์—๋Š” ๊ท€ํ•˜์™€ Postgres๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Postgres๋ฅผ ์ œ๋Œ€๋กœ ์ œ๊ณตํ•˜๋ ค๋ฉด Postgres์— ๋Œ€ํ•ด ์ž˜ ์ดํ•ดํ•˜๊ณ  ์ž‘๋™ ๋ฐฉ์‹์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Postgres๊ฐ€ ์ง์ ‘์ ์ธ ์ „๋ฌธ ๋ถ„์•ผ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ Postgres๋ฅผ ๋ฐฐ์šฐ๋Š” ๋ฐ ๊ฝค ๋งŽ์€ ์‹œ๊ฐ„์„ ํ• ์• ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ƒ์ ์œผ๋กœ๋Š” ์‹œ๊ฐ„๊ณผ ์š•๊ตฌ๊ฐ€ ์žˆ์„ ๋•Œ ์–ด๋””์„œ ์‹œ์ž‘ํ•ด์•ผ ํ• ์ง€, ์–ด๋–ป๊ฒŒ, ์–ด๋””๋กœ ์ด๋™ํ• ์ง€ ํ•ญ์ƒ ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๋ก ์ ์œผ๋กœ ์šด์˜์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง์ด ๋„์ž…๋˜๋”๋ผ๋„ ์ „๋ฌธ ์ง€์‹์˜ ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„๋ฅผ ์ฝ๊ณ  ์ดํ•ดํ•˜๋ ค๋ฉด Postgres์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ์ž˜ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ๋ชจ๋‹ˆํ„ฐ๋ง์ด ํ•˜๋ฃจ ์ค‘ ์ž„์˜์˜ ์‹œ๊ฐ„์— ์•Œ๋ฆผ์œผ๋กœ ์ธํ•ด ์Šฌํ”ˆ ๊ทธ๋ฆผ๊ณผ ์ŠคํŒธ์œผ๋กœ ๋ณ€ํ•ฉ๋‹ˆ๋‹ค.

๋ฌด๊ธฐ๋ฅ˜ Postgres๋ฅผ ๋” ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค๋Š” Postgres์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„ํ•˜๊ณ  ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด ์„œ๋น„์Šค์˜ ์ฃผ์š” ๋ชฉํ‘œ๋Š” ํ˜„์žฌ ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š” ์ผ๊ณผ ๋‹ค์Œ์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ช…ํ™•ํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ „๋ฌธ ์ง€์‹์ด ์—†๋Š” ์ „๋ฌธ๊ฐ€๋ฅผ ์œ„ํ•ด ๊ถŒ์žฅ ์‚ฌํ•ญ์€ ๊ณ ๊ธ‰ ๊ต์œก์„ ์œ„ํ•œ ์ถœ๋ฐœ์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ธ‰ ์ „๋ฌธ๊ฐ€์˜ ๊ฒฝ์šฐ ๊ถŒ์žฅ ์‚ฌํ•ญ์€ ์ฃผ์˜ํ•ด์•ผ ํ•  ์‚ฌํ•ญ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ ์—์„œ Weaponry๋Š” ์ผ์ƒ์ ์ธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ํŠน๋ณ„ํ•œ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•œ ๋ฌธ์ œ๋‚˜ ๋‹จ์ ์„ ์ฐพ์•„๋‚ด๋Š” ๋ณด์กฐ์ž ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌด๊ธฐ๋Š” Postgres๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ฒฐํ•จ์„ ์ง€์ ํ•˜๋Š” ๋ฆฐํ„ฐ์— ๋น„์œ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ์€ ์–ด๋–ค๊ฐ€์š”?

์ˆœ๊ฐ„์—์„œ, ๋ฌด๊ธฐ๋ฅ˜ ํ…Œ์ŠคํŠธ ๋ชจ๋“œ์ด๋ฉฐ ๋ฌด๋ฃŒ์ด๋ฏ€๋กœ ๋“ฑ๋ก์ด ์ผ์‹œ์ ์œผ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ž์›๋ด‰์‚ฌ์ž๋“ค๊ณผ ํ•จ๊ป˜ ์šฐ๋ฆฌ๋Š” ๊ทผ๊ฑฐ๋ฆฌ ์ „ํˆฌ ๊ธฐ์ง€์—์„œ ์ถ”์ฒœ ์—”์ง„์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ , ์˜คํƒ์ง€๋ฅผ ์‹๋ณ„ํ•˜๊ณ , ์ถ”์ฒœ ํ…์ŠคํŠธ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ๊ถŒ์žฅ ์‚ฌํ•ญ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹โ€‹โ€‹๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์„ธ๋ถ€ ์ •๋ณด์—†์ด ๋ฌด์—‡์„ ํ•ด์•ผํ• ์ง€, ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋จผ์ € ๊ด€๋ จ ๋งํฌ๋ฅผ ๋”ฐ๋ฅด๊ฑฐ๋‚˜ Google์„ ๋”ฐ๋ผ์•ผํ•ฉ๋‹ˆ๋‹ค. ์ ๊ฒ€ ๋ฐ ๊ถŒ์žฅ ์‚ฌํ•ญ์—๋Š” ์‹œ์Šคํ…œ ๋ฐ ํ•˜๋“œ์›จ์–ด ์„ค์ •, Postgres ์ž์ฒด ์„ค์ •, ๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ ๋ฐ ์‚ฌ์šฉ๋œ ๋ฆฌ์†Œ์Šค๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์•„์ง ๊ณ„ํš์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•  ๊ฒƒ๋“ค์ด ๊ฝค ๋งŽ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฌผ๋ก , ์šฐ๋ฆฌ๋Š” ์„œ๋น„์Šค๋ฅผ ์‹œ๋„ํ•˜๊ณ  ํ”ผ๋“œ๋ฐฑ์„ ์ค„ ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ๋Š” ์ž์›๋ด‰์‚ฌ์ž๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋„ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค ๋ฐ๋ชจ, ๋“ค์–ด์™€์„œ ๊ตฌ๊ฒฝํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜๊ณ  ์‹œ๋„ํ•ด ๋ณผ ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด ๋‹ค์Œ ์ฃผ์†Œ๋กœ ์šฐ๋ฆฌ์—๊ฒŒ ํŽธ์ง€๋ฅผ ๋ณด๋‚ด์‹ญ์‹œ์˜ค. ์šฐํŽธ.

2020-09-16 ์—…๋ฐ์ดํŠธ๋จ. ์‹œ์ž‘ํ•˜๊ธฐ.

๋“ฑ๋ก ํ›„ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์Šคํ„ด์Šค๋ฅผ ๊ทธ๋ฃน์œผ๋กœ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์—์ด์ „ํŠธ ๊ตฌ์„ฑ ๋ฐ ์„ค์น˜ ์ง€์นจ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ ์—์ด์ „ํŠธ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•œ ๋‹ค์Œ ์—์ด์ „ํŠธ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‰˜ ๋ช…๋ น์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

psql -c "CREATE ROLE pgscv WITH LOGIN SUPERUSER PASSWORD 'A7H8Wz6XFMh21pwA'"
export PGSCV_PG_PASSWORD=A7H8Wz6XFMh21pwA
curl -s https://dist.weaponry.io/pgscv/install.sh |sudo -E sh -s - 1 6ada7a04-a798-4415-9427-da23f72c14a5

ํ˜ธ์ŠคํŠธ์— pgbouncer๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์—์ด์ „ํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ์‚ฌ์šฉ์ž๋„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. pgbouncer์—์„œ ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๋‹ค์–‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‚ฌ์šฉ๋œ ๊ตฌ์„ฑ์— ๋”ฐ๋ผ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์„ค์ •์€ ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ท€๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ํ†ต๊ณ„_์‚ฌ์šฉ์ž ๊ตฌ์„ฑ ํŒŒ์ผ(๋ณดํ†ต pgbouncer.ini) ๋งค๊ฐœ๋ณ€์ˆ˜์— ์ง€์ •๋œ ํŒŒ์ผ์— ๋น„๋ฐ€๋ฒˆํ˜ธ(๋˜๋Š” ํ•ด๋‹น ํ•ด์‹œ)๋ฅผ ์”๋‹ˆ๋‹ค. ์ธ์ฆ_ํŒŒ์ผ. stats_users๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด pgbouncer๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

install.sh ์Šคํฌ๋ฆฝํŠธ๋Š” ๊ฐ ํ”„๋กœ์ ํŠธ์— ๊ณ ์œ ํ•œ ๋ช‡ ๊ฐ€์ง€ ํ•„์ˆ˜ ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ์‚ฌ์šฉ์ž์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋ชจ๋“œ์—์„œ ์—์ด์ „ํŠธ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ์ž์‹ ์„ PATH์— ๋ณต์‚ฌํ•˜๊ณ  ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๊ตฌ์„ฑ, systemd ๋‹จ์œ„๋ฅผ ์ƒ์„ฑํ•˜๊ณ  systemd ์„œ๋น„์Šค๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
์ด๊ฒƒ์œผ๋กœ ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๋ช‡ ๋ถ„ ์•ˆ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์Šคํ„ด์Šค๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ˜ธ์ŠคํŠธ ๋ชฉ๋ก์— ๋‚˜ํƒ€๋‚˜๋ฉฐ ์ด๋ฏธ ์ฒซ ๋ฒˆ์งธ ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ค‘์š”ํ•œ ์ ์€ ๋งŽ์€ ์ถ”์ฒœ์—๋Š” (์ ์–ด๋„ ํ•˜๋ฃจ์—) ๋งŽ์€ ์ˆ˜์˜ ๋ˆ„์ ๋œ ์ง€ํ‘œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€