๋ฉ”๋ชจ์žฅ ๋Œ€์‹  ๋ฉ‹์ง„ DIY ์‹œํŠธ ๋˜๋Š” GitHub

๋ฉ”๋ชจ์žฅ ๋Œ€์‹  ๋ฉ‹์ง„ DIY ์‹œํŠธ ๋˜๋Š” GitHub

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

์ด ์ข‹์€ ์ ์„ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ณต์œ ํ•˜๊ณ  ์ด ํŒŒ์ผ์„ GitHub์— ๊ฒŒ์‹œํ•˜๋ฉด ์–ด๋–จ๊นŒ์š”? ๊ทธ๋Ÿฌ๋ฉด ๊ท€ํ•˜์˜ ์ž‘์—…์ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ข‹์€ ์˜ค๋ž˜๋œ PR์„ ํ†ตํ•ด ์›ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜๋ฝํ•˜์—ฌ ํ•จ๊ป˜ ๊ด€๋ จ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ํ”„๋กœ์ ํŠธ๊ฐ€ ์„ค๊ณ„๋œ ์ด์œ ์ž…๋‹ˆ๋‹ค. ๋ฉ‹์ง„ ๋ชฉ๋ก. ์ด๋Š” GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ TOP 10์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋ณ„ 138๊ฐœ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ž‘์—…์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ๋ฃจํŠธ README์— ๋ฐ”๋กœ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์–ด ์ž‘์—…์— ๋Œ€ํ•œ ์—„์ฒญ๋‚œ ์ฒญ์ค‘์˜ ๊ด€์‹ฌ์„ ๋Œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ์•ฝ๊ฐ„์˜ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๋Ÿฌํ•œ ๋…ธ๋ ฅ์— ๋Œ€ํ•œ ๋‚˜์˜ ๊ฒฝํ—˜์„ ์—ฌ๋Ÿฌ๋ถ„๊ณผ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์ œ ์ด๋ฆ„์€ ๋งฅ์‹ฌ ๊ทธ๋ผ๋ฏผ์ž…๋‹ˆ๋‹ค. CROC์—์„œ๋Š” Java ๊ฐœ๋ฐœ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ตฌ๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” Awesome List๊ฐ€ ๋ฌด์—‡์ธ์ง€, ๊ทธ๋ฆฌ๊ณ  ์ž์‹ ๋งŒ์˜ ๊ณต์‹ ๋ฉ‹์ง„ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฉ‹์ง„ ๋ชฉ๋ก์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

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

์‚ฌ์‹ค ์ด๊ฒƒ์€ ๋ณ„๋„์˜ ์•„ํŒŒํŠธ์— ์‚ฌ๋Š” ์ผ๋ฐ˜ ์•„ํŒŒํŠธ readme.md์ž…๋‹ˆ๋‹ค. ์ €์žฅ์†Œ, ๋ชจ๋“  GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ค‘ 8์œ„๋ฅผ ์ฐจ์ง€ํ•˜๋ฉฐ ๋ชจ๋“  ์ฃผ์ œ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ์‹œํŠธ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์„น์…˜์—์„œ๋Š” Awesome Python ๋ฐ Awesome Go์— ๋Œ€ํ•œ ์‹œํŠธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ Front-End Development์—๋Š” WEB ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ์—„์ฒญ๋‚œ ์–‘์˜ ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌผ๋ก  - ์„น์…˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (์ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ์ž ์‹œ ํ›„์— ๋‹ค์‹œ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค). ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์€ ๊ธฐ์ˆ ์ ์ธ ์ฃผ์ œ์—๋งŒ ๊ตญํ•œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์—”ํ„ฐํ…Œ์ธ๋จผํŠธ ๋ฐ ๊ฒŒ์ž„ ์„น์…˜์—์„œ๋Š” ํฅ๋ฏธ๋กœ์šด ๊ฒƒ๋“ค์„ ๋งŽ์ด ์ฐพ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค(๊ฐœ์ธ์ ์œผ๋กœ ๊ธฐ๋ปค์Šต๋‹ˆ๋‹ค). ๊ต‰์žฅํ•œ ํ™˜์ƒ).
์ฃผ์š” ํŠน์ง•์€ ์ด ๋ชจ๋“  ์‹œํŠธ๊ฐ€ ์ž‘์„ฑ์ž๊ฐ€ ๊ฐœ์ธ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๋ฉฐ ํŠน๋ณ„ํ•˜๊ณ  ๋งค์šฐ ์—„๊ฒฉํ•œ ๊ทœ์ •์— ๋”ฐ๋ผ ํŽธ์ง‘๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฉ‹์ง„ ์„ ์–ธ๋ฌธ. ์ด๋Ÿฌํ•œ ๊ฐ ์‹œํŠธ๋Š” ๋…๋ฆฝ์ ์ธ ์ „๋ฌธ๊ฐ€ ์ปค๋ฎค๋‹ˆํ‹ฐ๋กœ, ์ž์‹ ์˜ ์‚ถ์„ ์‚ด์•„๊ฐ€๋ฉฐ ์‹œํŠธ๋ฅผ ๋”์šฑ ๊ฐœ์„ ํ•  ํ’€ ์š”์ฒญ์— ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ผ๋ถ€ ์ฃผ์ œ๊ฐ€ ์•„์ง ๋‹ค๋ฃจ์–ด์ง€์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ˆ„๊ตฌ๋‚˜ ์ž์‹ ์˜ ์‹œํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ „์ฒด ์‚ฌ์—…์˜ ์•„์ด๋””์–ด์˜ ์ €์ž์ด์ž ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ์ „์„ค์ ์ธ Sindre Sorhus์ž…๋‹ˆ๋‹ค. GitHub์˜ ์ฒซ ๋ฒˆ์งธ ์‚ฌ๋žŒ, ์ž‘์„ฑ์ž ๋”๋ณด๊ธฐ 1000npm ๋ชจ๋“ˆ, ๊ทธ๋ฆฌ๊ณ  ๊ท€ํ•˜์˜ PR์„ ๋ฐ›์„ ์‚ฌ๋žŒ์€ ๋ฐ”๋กœ ๊ทธ ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค.
๋ฉ”๋ชจ์žฅ ๋Œ€์‹  ๋ฉ‹์ง„ DIY ์‹œํŠธ ๋˜๋Š” GitHub

๋ฉ‹์ง„ ๋ชฉ๋ก์— ๋“ค์–ด๊ฐ€๋Š” ๋ฐฉ๋ฒ•

๊ฐ‘์ž๊ธฐ ๊ด€์‹ฌ ์žˆ๋Š” ์ฃผ์ œ์— ๋Œ€ํ•œ ์ ์ ˆํ•œ ์‹œํŠธ๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค๋ฉด, ์ด๊ฒƒ์ด ์ง์ ‘ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋Š” ์ฒซ ๋ฒˆ์งธ ์‹ ํ˜ธ์ž…๋‹ˆ๋‹ค!

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

๋‚˜๋Š” ๋ฌด์—‡์„ํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

  1. ์šฐ๋ฆฌ๋Š” awesome-whatever์™€ ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ์ผ๋ฐ˜ GitHub ์ €์žฅ์†Œ๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ๊ฒฝ์šฐ์—๋Š” awesome-database-tools์˜€์Šต๋‹ˆ๋‹ค.
  2. ์šฐ๋ฆฌ๋Š” ์‹œํŠธ๋ฅผ ๋ฉ‹์ง„ ํ˜•์‹์œผ๋กœ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์šฐ๋ฆฌ์—๊ฒŒ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐœ์ „๊ธฐ ๋ฉ‹์ง„ ๋ชฉ๋ก, ํ•„์š”ํ•œ ๋ชจ๋“  ํŒŒ์ผ์„ ํ•„์š”ํ•œ ํ˜•์‹์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ์‹ค์ œ CI๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ต‰์žฅํ•œ ๋ฆฐํŠธ Travis ci๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ†ต์ œํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค ํƒ€๋‹น์„ฑ ์šฐ๋ฆฌ ์‹œํŠธ
  4. ์šฐ๋ฆฌ๋Š” 30์ผ์„ ๊ธฐ๋‹ค๋ฆฐ๋‹ค
  5. ์šฐ๋ฆฌ๋Š” ์ ์–ด๋„ 2๋ช…์˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ PR์„ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.
  6. ๋งˆ์ง€๋ง‰์œผ๋กœ ์šฐ๋ฆฌ๋Š” ๋ฉ”์ธ ์ €์žฅ์†Œ์— PR์„ ๋งŒ๋“ค๊ณ  ์—ฌ๊ธฐ์— ์šฐ๋ฆฌ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์ฃผ์˜ ๊นŠ๊ฒŒ ์ฝ๊ณ  ์ƒˆ ์‹œํŠธ์™€ PR ์ž์ฒด์— ๋Œ€ํ•œ ์ˆ˜๋งŽ์€ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜์˜ ์ฒซ ํŒฌ์ผ€์ดํฌ ๋ญ‰ํˆญํ•˜๊ฒŒ ์ƒ๊ฒผ๋‹ค
๋ฉ”๋ชจ์žฅ ๋Œ€์‹  ๋ฉ‹์ง„ DIY ์‹œํŠธ ๋˜๋Š” GitHub
ํ•˜์ง€๋งŒ ์•ฝ๊ฐ„์˜ ์‹œ๊ฐ„์ด ์ง€๋‚˜์„œ ๋” ๋งŽ์€ ์ž๋ฃŒ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์‹ค์ˆ˜๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๊ฐํžˆ ๋‘ ๋ฒˆ์งธ ์‹œ๋„.

๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์•„์ฃผ ์ค‘์š”ํ•œ ๊ฒƒ์„ ์žŠ์–ด๋ฒ„๋ ธ๋Š”๋ฐ, ๊ทธ๊ฒƒ์€ ๋‚˜์—๊ฒŒ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์•”์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋ฉ”๋ชจ์žฅ ๋Œ€์‹  ๋ฉ‹์ง„ DIY ์‹œํŠธ ๋˜๋Š” GitHub

๋ณ„๋กœ ์กฐ์‹ฌํ•˜์ง€ ์•Š์•˜๊ณ  ๋ชจ๋“  ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์œ ๋‹ˆ์ฝ˜์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
๋ฉ”๋ชจ์žฅ ๋Œ€์‹  ๋ฉ‹์ง„ DIY ์‹œํŠธ ๋˜๋Š” GitHub

๊ทธ๋Ÿฐ ๋‹ค์Œ ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๋” ํ๋ฅด๊ณ  ๋Œ“๊ธ€์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ช‡ ๊ฐ€์ง€ ํŽธ์ง‘์ด ๋” ์ด๋ฃจ์–ด์กŒ์œผ๋ฉฐ ์˜ค๋žซ๋™์•ˆ ๊ธฐ๋‹ค๋ ค์˜จ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ํŠธ์œ„ํ„ฐ๋‚ด PR์ด ์Šน์ธ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

๊ฒŒ์‹œ๋ฌผ ๊ฒŒ์‹œ ๋‹น์‹œ์˜ ํ˜„์žฌ ์„ ํƒ ํ•ญ๋ชฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ฉ‹์ง„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋„๊ตฌ ๋ฉ”๋ชจ์žฅ ๋Œ€์‹  ๋ฉ‹์ง„ DIY ์‹œํŠธ ๋˜๋Š” GitHub

์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋„๊ตฌ ๋ชฉ๋ก

์—ฌ๊ธฐ์—์„œ๋Š” DBA, DevOps, ๊ฐœ๋ฐœ์ž ๋ฐ ๋‹จ์ˆœํ•œ ํ•„์‚ฌ์ž๋ฅผ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋Š” ์œ ์šฉํ•˜๊ณ  ๋›ฐ์–ด๋‚œ ์‹คํ—˜ ๋„๊ตฌ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ์˜ db-tools ๋˜๋Š” ์ฆ๊ฒจ ์‚ฌ์šฉํ•˜๋Š” ํƒ€์‚ฌ db-tools์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

๋‚ด์šฉ

IDE

  • AnySQL ๋งˆ์—์ŠคํŠธ๋กœ โ€” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ, ์ œ์–ด ๋ฐ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ตœ๊ณ ์˜ ๋‹ค๋ชฉ์  ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ์•„์ฟ ์•„ ๋ฐ์ดํ„ฐ ์ŠคํŠœ๋””์˜ค โ€” Aqua Data Studio๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ฐœ์ž, DBA ๋ฐ ๋ถ„์„๊ฐ€๋ฅผ ์œ„ํ•œ ์ƒ์‚ฐ์„ฑ ์†Œํ”„ํŠธ์›จ์–ด์ž…๋‹ˆ๋‹ค.
  • Database.net โ€” 20๊ฐœ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ง€์›ํ•˜๋Š” ๋‹ค์ค‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๊ทธ๋ฆฝ โ€” JetBrains์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ SQL์šฉ ํฌ๋กœ์Šค ํ”Œ๋žซํผ IDE.
  • DBeaver โ€” ๋ฌด๋ฃŒ ๋ฒ”์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž ๋ฐ SQL ํด๋ผ์ด์–ธํŠธ.
  • MySQL ์šฉ dbForge ์ŠคํŠœ๋””์˜ค โ€” MySQL ๋ฐ MariaDB ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ฐœ, ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ฒ”์šฉ IDE์ž…๋‹ˆ๋‹ค.
  • Oracle์šฉ dbForge ์ŠคํŠœ๋””์˜ค โ€” Oracle ๊ด€๋ฆฌ, ์šด์˜ ๋ฐ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ IDE์ž…๋‹ˆ๋‹ค.
  • PostgreSQL์šฉ dbForge ์ŠคํŠœ๋””์˜ค โ€” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊ฐœ์ฒด๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ GUI ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • SQL Server์šฉ dbForge Studio โ€” SQL Server ๊ฐœ๋ฐœ, ๊ด€๋ฆฌ, ์šด์˜, ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ๋ณด๊ณ ๋ฅผ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค.
  • dbKoda โ€” ์ตœ์‹ (JavaScript/Electron ํ”„๋ ˆ์ž„์›Œํฌ), MongoDB์šฉ ์˜คํ”ˆ ์†Œ์Šค IDE. MongoDB ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฐœ๋ฐœ, ๊ด€๋ฆฌ ๋ฐ ์„ฑ๋Šฅ ์กฐ์ •์„ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • IBExpert โ€” Firebird ๋ฐ InterBase๋ฅผ ์œ„ํ•œ ํฌ๊ด„์ ์ธ GUI ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ํ•˜์ด๋””SQL โ€” Delphi๋กœ ์ž‘์„ฑ๋œ MySQL, MSSQL ๋ฐ PostgreSQL ๊ด€๋ฆฌ์šฉ ๊ฒฝ๋Ÿ‰ ํด๋ผ์ด์–ธํŠธ์ž…๋‹ˆ๋‹ค.
  • MySQL ์›Œํฌ ๋ฒค์น˜ โ€” MySQL Workbench๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์ž, ๊ฐœ๋ฐœ์ž ๋ฐ DBA๋ฅผ ์œ„ํ•œ ํ†ตํ•ฉ๋œ ์‹œ๊ฐ์  ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ๋‚˜๋น„ ์บฃ โ€” ๋‹จ์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ MySQL, MariaDB, SQL Server, Oracle, PostgreSQL ๋ฐ SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋™์‹œ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ฐœ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • Oracle SQL ๊ฐœ๋ฐœ์ž โ€” Oracle SQL Developer๋Š” ๊ธฐ์กด ๋ฐฐํฌ์™€ ํด๋ผ์šฐ๋“œ ๋ฐฐํฌ ๋ชจ๋‘์—์„œ Oracle Database์˜ ๊ฐœ๋ฐœ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋ฌด๋ฃŒ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค.
  • pgAdmin โ€” ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋ฐœ์ „๋œ ์˜คํ”ˆ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ธ PostgreSQL์„ ์œ„ํ•œ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๊ณ  ๊ธฐ๋Šฅ์ด ํ’๋ถ€ํ•œ ์˜คํ”ˆ ์†Œ์Šค ๊ด€๋ฆฌ ๋ฐ ๊ฐœ๋ฐœ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
  • pgAdmin3 - pgAdmin3์— ๋Œ€ํ•œ ์žฅ๊ธฐ ์ง€์›.
  • PL / SQL ๊ฐœ๋ฐœ์ž โ€” Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์šฉ ์ €์žฅ ํ”„๋กœ๊ทธ๋žจ ๋‹จ์œ„ ๊ฐœ๋ฐœ์„ ํŠน๋ณ„ํžˆ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” IDE์ž…๋‹ˆ๋‹ค.
  • PostgreSQL ๋งˆ์—์ŠคํŠธ๋กœ โ€” PostgreSQL์„ ์œ„ํ•œ ์™„๋ฒฝํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ, ๊ด€๋ฆฌ ๋ฐ ๊ฐœ๋ฐœ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ๋‘๊บผ๋น„ โ€” Toad๋Š” ๊ฐœ๋ฐœ์ž, ๊ด€๋ฆฌ์ž ๋ฐ ๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€๋ฅผ ์œ„ํ•œ ์ตœ๊ณ ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ๋‹จ์ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ด€๋ฆฌํ•˜์„ธ์š”.
  • ๋‘๊บผ๋น„ ๊ฐ€์žฅ์ž๋ฆฌ โ€” MySQL ๋ฐ Postgres๋ฅผ ์œ„ํ•œ ๋‹จ์ˆœํ™”๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ฐœ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ํ† ๋ผ โ€” TOra๋Š” Oracle, MySQL ๋ฐ PostgreSQL dbs์šฉ ์˜คํ”ˆ ์†Œ์Šค SQL IDE์ž…๋‹ˆ๋‹ค.
  • ๋ฐœ๋ Œํ‹ฐ๋‚˜ ์ŠคํŠœ๋””์˜ค โ€” Valentina DB, MySQL, MariaDB, PostgreSQL ๋ฐ SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ฌด๋ฃŒ๋กœ ์ƒ์„ฑ, ๊ด€๋ฆฌ, ์ฟผ๋ฆฌ ๋ฐ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GUI ๊ด€๋ฆฌ์ž/ํด๋ผ์ด์–ธํŠธ

  • ๊ด€๋ฆฌ์ž โ€” ๋‹จ์ผ PHP ํŒŒ์ผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • DbVisualizer โ€” ๊ฐœ๋ฐœ์ž, DBA ๋ฐ ๋ถ„์„๊ฐ€๋ฅผ ์œ„ํ•œ ๋ฒ”์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • HouseOps โ€” ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ClickHouse ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ฉฐ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ƒ๊ฐํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” Enterprise ClickHouse Ops UI์ž…๋‹ˆ๋‹ค.
  • ์žญDB โ€” ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋””์— ์žˆ๋“  ๋ชจ๋“  ๋ฐ์ดํ„ฐ์— ์ง์ ‘ SQL ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ด๋‹ˆDB โ€” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์›น ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • Pgweb โ€” Go๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ macOS, Linux ๋ฐ Windows ์‹œ์Šคํ…œ์—์„œ ์ž‘๋™ํ•˜๋Š” PostgreSQL์šฉ ์›น ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ธŒ๋ผ์šฐ์ €์ž…๋‹ˆ๋‹ค.
  • phpLite๊ด€๋ฆฌ์ž โ€” SQLite3 ๋ฐ SQLite2๋ฅผ ์ง€์›ํ•˜๊ณ  PHP๋กœ ์ž‘์„ฑ๋œ ์›น ๊ธฐ๋ฐ˜ SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • phpMyAdmin์„ โ€” MySQL ๋ฐ MariaDB์šฉ ์›น ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.
  • ์†ํŽธ โ€” PSequel์€ ์ผ๋ฐ˜์ ์ธ PostgreSQL ์ž‘์—…์„ ์‹ ์†ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ํŒSQL โ€” ํŒ€์„ ์œ„ํ•œ ์ตœ์‹  ํ˜‘์—… SQL ํŽธ์ง‘๊ธฐ์ž…๋‹ˆ๋‹ค.
  • ํฌ์Šคํ‹ฐ์ฝ” - Mac์šฉ ์ตœ์‹  PostgreSQL ํด๋ผ์ด์–ธํŠธ.
  • ๋กœ๋ณด3T โ€” Robo 3T(์ด์ „์˜ Robomongo)๋Š” ์‰˜ ์ค‘์‹ฌ์˜ ํฌ๋กœ์Šค ํ”Œ๋žซํผ MongoDB ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ์†ํŽธ ํ”„๋กœ โ€” Sequel Pro๋Š” MySQL ๋ฐ MariaDB ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ์œ„ํ•œ ๋น ๋ฅด๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด Mac ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.
  • SQL ์šด์˜ ์ŠคํŠœ๋””์˜ค โ€” Windows, macOS ๋ฐ Linux์—์„œ SQL Server, Azure SQL DB ๋ฐ SQL DW ์ž‘์—…์„ ์ง€์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • SQLite ์ „๋ฌธ๊ฐ€ โ€” ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ชจ๋“  SQLite ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • SQL ํŒจ๋“œ โ€” ์›น ๊ธฐ๋ฐ˜ SQL ํŽธ์ง‘๊ธฐ๋Š” ์ž์ฒด ํ”„๋ผ์ด๋น— ํด๋ผ์šฐ๋“œ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • SQLํ”„๋กœ โ€” ๊ฐ„๋‹จํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ macOS์šฉ Postgres ๊ด€๋ฆฌ์ž์ž…๋‹ˆ๋‹ค.
  • ๋‹ค๋žŒ์ฅ โ€” Java๋กœ ์ž‘์„ฑ๋œ ๊ทธ๋ž˜ํ”ฝ SQL ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด JDBC ํ˜ธํ™˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ณ , ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„๋ณด๊ณ , SQL ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • SQL๋„๊ตฌ โ€” VSCode์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ.
  • SQL์š”๊ทธ โ€” ๊ฐ€์žฅ ์™„๋ฒฝํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด MySQL GUI์ž…๋‹ˆ๋‹ค.
  • ํƒ€๋น…์Šค โ€” Clickhouse๋ฅผ ์œ„ํ•œ SQL ํŽธ์ง‘๊ธฐ ๋ฐ ์˜คํ”ˆ ์†Œ์Šค ๊ฐ„๋‹จํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์ธํ…”๋ฆฌ์ „์Šค.
  • ํ…Œ์ด๋ธ”ํ”Œ๋Ÿฌ์Šค โ€” MySQL, PostgreSQL, SQLite ๋“ฑ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์œ„ํ•œ ํ˜„๋Œ€์ ์ด๊ณ  ์นœ์ˆ™ํ•œ ๊ธฐ๋ณธ GUI ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ํŒ€PostgreSQL โ€” PostgreSQL ์›น ๊ด€๋ฆฌ GUI โ€” ํ’๋ถ€ํ•˜๊ณ  ๋น ๋ฅธ AJAX ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์–ด๋””์„œ๋‚˜ PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CLI ๋„๊ตฌ

  • ipython-sql โ€” IPython ๋˜๋Š” IPython Notebook ๋‚ด์—์„œ SQL ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ ˆ๋””์Šค โ€” ์ž๋™ ์™„์„ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ•์กฐ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ Redis์šฉ Cli์ž…๋‹ˆ๋‹ค.
  • pgcenter โ€” PostgreSQL์„ ์œ„ํ•œ ์ตœ๊ณ ์˜ ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • pg_ํ™œ๋™ โ€” PostgreSQL ์„œ๋ฒ„ ํ™œ๋™ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•œ ์ตœ๊ณ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค.
  • pg_top - PostgreSQL์˜ ๊ฒฝ์šฐ 'top'์ž…๋‹ˆ๋‹ค.
  • pspg โ€”ํฌ์ŠคํŠธ๊ทธ๋ ˆ์Šค ํ˜ธ์ถœ๊ธฐ
  • SQLCL โ€” Oracle SQL Developer Command Line(SQLcl)์€ Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์šฉ ๋ฌด๋ฃŒ ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.
  • usql โ€” PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค NoSQL ๋ฐ ๋น„๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค!

dbcli

  • ์•„ํ…Œ๋‚˜ํด โ€” AthenaCLI๋Š” ์ž๋™ ์™„์„ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ•์กฐ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” AWS Athena ์„œ๋น„์Šค์šฉ CLI ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ๋ผ์ดํŠธํด๋ฆฌ - ์ž๋™ ์™„์„ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ•์กฐ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์šฉ CLI.
  • mssql-cli โ€” ์ž๋™ ์™„์„ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ•์กฐ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” SQL Server์šฉ ๋ช…๋ น์ค„ ํด๋ผ์ด์–ธํŠธ์ž…๋‹ˆ๋‹ค.
  • ๊ท ์‚ฌ์ฒด โ€” ์ž๋™ ์™„์„ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ•์กฐ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ MySQL์šฉ ํ„ฐ๋ฏธ๋„ ํด๋ผ์ด์–ธํŠธ์ž…๋‹ˆ๋‹ค.
  • pgcli - ์ž๋™ ์™„์„ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ•์กฐ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” Postgres CLI.
  • vcli โ€” ์ž๋™ ์™„์„ฑ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ•์กฐ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” Vertica CLI.

DB ์Šคํ‚ค๋งˆ ํƒ์ƒ‰ ๋ฐ ์‹œ๊ฐํ™”

  • dbdiagram.io โ€” ๊ฐ„๋‹จํ•œ DSL ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๊ณ„ ๋‹ค์ด์–ด๊ทธ๋žจ๊ณผ ํ๋ฆ„์„ ๋น ๋ฅด๊ฒŒ ๊ทธ๋ฆฌ๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • E์—ฐ๊ธˆ์ˆ  โ€” ์—”ํ„ฐํ‹ฐ ๊ด€๊ณ„ ๋‹ค์ด์–ด๊ทธ๋žจ ์ƒ์„ฑ ๋„๊ตฌ.
  • ์Šคํ‚ค๋งˆ ํฌ๋กค๋Ÿฌ โ€” ๋ฌด๋ฃŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๊ฒ€์ƒ‰ ๋ฐ ์ดํ•ด ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ์Šคํ‚ค๋งˆ ์ŠคํŒŒ์ด โ€” ์—”ํ„ฐํ‹ฐ ๊ด€๊ณ„ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ํฌํ•จํ•˜์—ฌ HTML ๋ฌธ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • tbls โ€” Go๋กœ ์ž‘์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ CI ์นœํ™”์ ์ธ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

๋ชจ๋ธ๋Ÿฌ

  • Navicat ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋Ÿฌ โ€” ๊ณ ํ’ˆ์งˆ์˜ ๊ฐœ๋…์ , ๋…ผ๋ฆฌ์ , ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๊ฐ•๋ ฅํ•˜๊ณ  ๋น„์šฉ ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • Oracle SQL ๊ฐœ๋ฐœ์ž ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋Ÿฌ โ€” Oracle SQL Developer Data Modeler๋Š” ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ž‘์—…์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋ฌด๋ฃŒ ๊ทธ๋ž˜ํ”ฝ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • pgmodeler โ€” PostgreSQL์šฉ์œผ๋กœ ์„ค๊ณ„๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋„๊ตฌ

  • 2๋ฒ ์ด์Šค โ€” ๋ฉฑ๋“ฑ์„ฑ DDL ์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋…์„ ํ™œ์šฉํ•˜๋Š” ์ฝ”๋“œํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์„ฑ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ํ”Œ๋ผ์ด ์›จ์ด - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋„๊ตฌ.
  • ๊ท€์‹  โ€” MySQL์„ ์œ„ํ•œ ์˜จ๋ผ์ธ ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜.
  • ์•ก์ƒ โ€” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ , ๊ด€๋ฆฌ ๋ฐ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋…๋ฆฝ์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
  • Migra โ€” diff์™€ ๋น„์Šทํ•˜์ง€๋งŒ PostgreSQL ์Šคํ‚ค๋งˆ์šฉ์ž…๋‹ˆ๋‹ค.
  • ๋…ธ๋“œ-pg-๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ โ€” Postgres ์ „์šฉ์œผ๋กœ ๊ตฌ์ถ•๋œ Node.js ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ด€๋ฆฌ์ž…๋‹ˆ๋‹ค. (๊ทธ๋Ÿฌ๋‚˜ SQL ํ‘œ์ค€์„ ์ค€์ˆ˜ํ•˜๋Š” ๋‹ค๋ฅธ DB(์˜ˆ: CockroachDB)์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)
  • ํ”ผ๋ฅด์„ธ์•„์Šค โ€” PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋ฅผ YAML๋กœ ์„ค๋ช…ํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์Šคํ‚ค๋งˆํžˆ์–ด๋กœ โ€” ์„ ์–ธ์  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ Kubernetes ์—ฐ์‚ฐ์ž(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ์šฉ gitops)์ž…๋‹ˆ๋‹ค.
  • ์Šคํ€ด์น˜ โ€” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํ•„์š” ์—†๋Š” ๊ฐœ๋ฐœ๊ณผ ์•ˆ์ •์ ์ธ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ํ•ฉ๋ฆฌ์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ๋ฐ˜ ๋ณ€๊ฒฝ ๊ด€๋ฆฌ์ž…๋‹ˆ๋‹ค.
  • ์œ ๋‹ˆํฌ โ€” ๋„ค์ดํ‹ฐ๋ธŒ .NET Core 3.0 ์ด์ƒ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋˜ ๋‹ค๋ฅธ ์Šคํ‚ค๋งˆ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

์ฝ”๋“œ ์ƒ์„ฑ ๋„๊ตฌ

  • ddl ์ƒ์„ฑ๊ธฐ โ€” ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ์—์„œ SQL DDL(๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด)์„ ์ถ”๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ตฌ์„ฑํ‘œ2ddl โ€” ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š์€ ์ •๋ณด ํ•„ํ„ฐ๋ง, ๋‹ค์–‘ํ•œ ํŒŒ์ผ์˜ DDL ๋ถ„๋ฆฌ, ์˜ˆ์œ ํ˜•์‹ ์ถœ๋ ฅ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ddl init ์Šคํฌ๋ฆฝํŠธ ์„ธํŠธ๋กœ Oracle ์Šคํ‚ค๋งˆ๋ฅผ ๋‚ด๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ๋ช…๋ น์ค„ ์œ ํ‹ธ๋ฆฌํ‹ฐ์ž…๋‹ˆ๋‹ค.

๋ž˜ํผ

  • ๋“œ๋ฆผ ํŒฉํ† ๋ฆฌ โ€” ๋ชจ๋ฐ”์ผ, ์›น ๋ฐ IoT ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค REST API ๋ฐฑ์—”๋“œ์ž…๋‹ˆ๋‹ค.
  • ํ•˜์ˆ˜๋ผ GraphQL ์—”์ง„ โ€” ์„ธ๋ถ„ํ™”๋œ ์•ก์„ธ์Šค ์ œ์–ด ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ Postgres์˜ ๋งค์šฐ ๋น ๋ฅด๊ณ  ์ฆ‰๊ฐ์ ์ธ ์‹ค์‹œ๊ฐ„ GraphQL API๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์›นํ›„ํฌ๋„ ํŠธ๋ฆฌ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  • jl-sql - JSON ๋ฐ CSV ์ŠคํŠธ๋ฆผ์šฉ SQL.
  • mysql_fdw โ€” MySQL์šฉ PostgreSQL ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ๋ž˜ํผ.
  • Oracle REST ๋ฐ์ดํ„ฐ ์„œ๋น„์Šค โ€” ์ค‘๊ฐ„ ๊ณ„์ธต Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ธ ORDS๋Š” HTTP(S) ๋™์‚ฌ(GET, POST, PUT, DELETE ๋“ฑ)๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŠธ๋žœ์žญ์…˜์— ๋งคํ•‘ํ•˜๊ณ  JSON์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜•์‹ํ™”๋œ ๋ชจ๋“  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋ฆฌ์ฆ˜ โ€” Prisma๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‹ค์‹œ๊ฐ„ GraphQL API๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ํฌ์ŠคํŠธ๊ทธ๋ ˆ์ŠคํŠธ - ๋ชจ๋“  Postgres ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์œ„ํ•œ REST API์ž…๋‹ˆ๋‹ค.
  • ์ง€์†ํ•˜๋‹ค โ€” Go๋กœ ์ž‘์„ฑ๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ RESTful API๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  • ๋‚˜๋จธ์ง€SQL โ€” Java ๋ฐ HTTP API๊ฐ€ ํฌํ•จ๋œ SQL ์ƒ์„ฑ๊ธฐ๋Š” XML ๋˜๋Š” JSON ์ง๋ ฌํ™”์™€ ํ•จ๊ป˜ ๊ฐ„๋‹จํ•œ RESTful HTTP API๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์‹œ ๋งํ•˜๋‹ค โ€” SQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ REST API๋กœ ์‰ฝ๊ฒŒ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒŒ๋“œ๋งจ โ€” ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ RESTful API ์„œ๋น„์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • SQL ๋ถ€ํŒ… โ€” SQL ์ฟผ๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ณ ๊ธ‰ REST ๋ฐ UI ๋ž˜ํผ์ž…๋‹ˆ๋‹ค.

๋ฐฑ์—… ๋„๊ตฌ

๋ณต์ œ/๋ฐ์ดํ„ฐ ์ž‘์—…

  • ๋ฐ์ดํ„ฐ ์„ธํŠธ โ€” ๋ฐ์ดํ„ฐ๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ  ๊ฒŒ์‹œํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • dtle โ€” MySQL์šฉ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ์ „์†ก ์„œ๋น„์Šค.
  • pgsync - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„์— Postgres ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • pg_์นด๋ฉœ๋ ˆ์˜จ โ€” Python 3์œผ๋กœ ์ž‘์„ฑ๋œ MySQL-PostgreSQL ๋ณต์ œ ์‹œ์Šคํ…œ. ์‹œ์Šคํ…œ์€ mysql-replication ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ PostgreSQL์— JSONB๋กœ ์ €์žฅ๋œ ํ–‰ ์ด๋ฏธ์ง€๋ฅผ MySQL์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • PGDeltaStream โ€” Postgres ๋…ผ๋ฆฌ์  ๋””์ฝ”๋”ฉ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น์†Œ์ผ“์„ ํ†ตํ•ด Postgres ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ•œ ๋ฒˆ ์ด์ƒ ์ŠคํŠธ๋ฆฌ๋ฐํ•˜๋Š” Golang ์›น ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.
  • ๋‹ด๋‹น์ž โ€” ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” PostgreSQL์šฉ ๋ณต์ œ ๊ด€๋ฆฌ์ž์ž…๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฝํŠธ

  • pgx_scripts โ€” PostgreSQL Experts ํŒ€์ด ๋งŒ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ถ„์„ ๋ฐ ๊ด€๋ฆฌ์— ์œ ์šฉํ•œ ์ž‘์€ ์Šคํฌ๋ฆฝํŠธ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.
  • pgsql-bloat-์ถ”์ • โ€” PostgreSQL์šฉ ์ธ๋ฑ์Šค ๋ฐ ํ…Œ์ด๋ธ”์˜ ํ†ต๊ณ„์  ํŒฝ์ฐฝ์„ ์ธก์ •ํ•˜๋Š” ์ฟผ๋ฆฌ์ž…๋‹ˆ๋‹ค.
  • pgWikiDont โ€” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋‹ค์Œ์˜ ๊ทœ์น™์„ ๋”ฐ๋ฅด๋Š”์ง€ ํ™•์ธํ•˜๋Š” SQL ํ…Œ์ŠคํŠธ https://wiki.postgresql.org/wiki/Donโ€™t_Do_This.
  • pg-utils โ€” ์œ ์šฉํ•œ PostgreSQL ์œ ํ‹ธ๋ฆฌํ‹ฐ.
  • ํฌ์ŠคํŠธ๊ทธ๋ ˆ์Šค ์น˜ํŠธ ์‹œํŠธ โ€” ์œ ์šฉํ•œ SQL ์Šคํฌ๋ฆฝํŠธ ๋ฐ ๋ช…๋ น .
  • postgres_dba โ€” Postgres DBA ๋ฐ ๋ชจ๋“  ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์œ ์šฉํ•œ ๋„๊ตฌ ์„ธํŠธ๊ฐ€ ๋ˆ„๋ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • postgres_queries_and_commands.sql - ์œ ์šฉํ•œ PostgreSQL ์ฟผ๋ฆฌ ๋ฐ ๋ช…๋ น.
  • TPT โ€” ์ด๋Ÿฌํ•œ sqlplus ์Šคํฌ๋ฆฝํŠธ๋Š” Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง/ํ†ต๊ณ„/์„ฑ๋Šฅ

  • ASH ๋ทฐ์–ด โ€” Oracle ๋ฐ PostgreSQL DB ๋‚ด์˜ ํ™œ์„ฑ ์„ธ์…˜ ๊ธฐ๋ก ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๊ทธ๋ž˜ํ”ฝ ๋ณด๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชฌ์š• โ€” ์—์ด์ „ํŠธ๊ฐ€ ์—†๊ณ  ๋น„์šฉ ํšจ์œจ์ ์ธ MySQL ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • mssql-๋ชจ๋‹ˆํ„ฐ๋ง โ€” Collectd, InfluxDB ๋ฐ Grafana๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SQL Server on Linux ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.
  • ๋‚ด๋น„์บฃ ๋ชจ๋‹ˆํ„ฐ โ€” ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ตœ๋Œ€ํ•œ ํšจ๊ณผ์ ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ ์•ˆ์ „ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๋ฉฐ ์—์ด์ „ํŠธ ์—†๋Š” ์›๊ฒฉ ์„œ๋ฒ„ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • Percona ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌ โ€” MySQL ๋ฐ MongoDB ์„ฑ๋Šฅ์„ ๊ด€๋ฆฌํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
  • pganalyze ์ˆ˜์ง‘๊ธฐ โ€” PostgreSQL ์ง€ํ‘œ ๋ฐ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ธฐ ์œ„ํ•œ Pganalyze ํ†ต๊ณ„ ์ˆ˜์ง‘๊ธฐ์ž…๋‹ˆ๋‹ค.
  • ํฌ์ŠคํŠธ๊ทธ๋ ˆ์Šค ์ ๊ฒ€ โ€” ์‚ฌ์šฉ์ž๊ฐ€ Postgres ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ์— ๋Œ€ํ•œ ์‹ฌ์ธต ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ฐจ์„ธ๋Œ€ ์ง„๋‹จ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • postgres_exporter โ€” PostgreSQL ์„œ๋ฒ„ ์ธก์ •ํ•ญ๋ชฉ์„ ์œ„ํ•œ Prometheus ๋‚ด๋ณด๋‚ด๊ธฐ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.
  • pgDash โ€” PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ชจ๋“  ์ธก๋ฉด์„ ์ธก์ •ํ•˜๊ณ  ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.
  • PgHero โ€” Postgres์šฉ ์„ฑ๋Šฅ ๋Œ€์‹œ๋ณด๋“œ โ€” ์ƒํƒœ ํ™•์ธ, ์ œ์•ˆ ์ธ๋ฑ์Šค ๋“ฑ.
  • pgmetrics โ€” ์‹คํ–‰ ์ค‘์ธ PostgreSQL ์„œ๋ฒ„์—์„œ ์ •๋ณด์™€ ํ†ต๊ณ„๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • pg๊ฒจ์ž โ€” Postgres์šฉ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์—์„œ๋Š” ๊ณ„ํš๊ณผ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ ํŒ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
  • pgstats โ€” PostgreSQL ํ†ต๊ณ„๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ด๋ฅผ CSV ํŒŒ์ผ์— ์ €์žฅํ•˜๊ฑฐ๋‚˜ stdout์— ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.
  • pgwatch2 โ€” ์œ ์—ฐํ•œ ๋…๋ฆฝํ˜• PostgreSQL ์ง€ํ‘œ ๋ชจ๋‹ˆํ„ฐ๋ง/๋Œ€์‹œ๋ณด๋“œ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.
  • Telegraf PostgreSQL ํ”Œ๋Ÿฌ๊ทธ์ธ โ€” Postgres ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ธก์ •ํ•ญ๋ชฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ž ๋น„์ธ 

  • ๋งˆ๋ชฌ์ˆ˜ โ€” PostgreSQL์šฉ ๋ชจ๋‹ˆํ„ฐ๋ง ์—์ด์ „ํŠธ.
  • ์˜ค๋ผ๋น…์Šค โ€” Orabbix๋Š” Zabbix Enterprise Monitor์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜์—ฌ ์„œ๋ฒ„ ์„ฑ๋Šฅ ์ง€ํ‘œ์™€ ํ•จ๊ป˜ Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋‹ค๊ณ„์ธต ๋ชจ๋‹ˆํ„ฐ๋ง, ์„ฑ๋Šฅ ๋ฐ ๊ฐ€์šฉ์„ฑ ๋ณด๊ณ  ๋ฐ ์ธก์ •์„ ์ œ๊ณตํ•˜๋„๋ก ์„ค๊ณ„๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ž…๋‹ˆ๋‹ค.
  • pg_monz โ€” PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์šฉ Zabbix ๋ชจ๋‹ˆํ„ฐ๋ง ํ…œํ”Œ๋ฆฟ์ž…๋‹ˆ๋‹ค.
  • ํ”ผ์˜ค๋ผ โ€” Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” Python ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค.
  • ZabbixDBA - ZabbixDBA๋Š” RDBMS๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด ๋น ๋ฅด๊ณ  ์œ ์—ฐํ•˜๋ฉฐ ์ง€์†์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ž…๋‹ˆ๋‹ค.

์ง€์›

  • DbFit โ€” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฝ”๋“œ์˜ ์†์‰ฌ์šด ํ…Œ์ŠคํŠธ ์ค‘์‹ฌ ๊ฐœ๋ฐœ์„ ์ง€์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.
  • RegreSQL โ€” ํšŒ๊ท€ ํ…Œ์ŠคํŠธ SQL ์ฟผ๋ฆฌ.

๋ฐ์ดํ„ฐ ์ƒ์„ฑ๊ธฐ

  • ๋ฐ์ดํ„ฐ๋ฒ ๋„ค ๋ฒ ๋„ˆ๋ ˆ์ดํ„ฐ โ€” ํ…Œ์ŠคํŠธ ์ค‘์ธ ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ํ˜„์‹ค์ ์ด๊ณ  ์œ ํšจํ•œ ๋Œ€์šฉ๋Ÿ‰ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค(Datalite ์•ˆํ‹ฐ ํŒจํ„ด ๋ฐฉ์ง€).
  • MySQL์šฉ dbForge ๋ฐ์ดํ„ฐ ์ƒ์„ฑ๊ธฐ โ€” ๋Œ€๋Ÿ‰์˜ ์‹ค์ œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ GUI ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • Oracle์šฉ dbForge ๋ฐ์ดํ„ฐ ์ƒ์„ฑ๊ธฐ โ€” ์ˆ˜๋งŽ์€ ์‹ค์ œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ Oracle ์Šคํ‚ค๋งˆ๋ฅผ ์ฑ„์šฐ๊ธฐ ์œ„ํ•œ ์ž‘์ง€๋งŒ ๊ฐ•๋ ฅํ•œ GUI ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • SQL Server์šฉ dbForge ๋ฐ์ดํ„ฐ ์ƒ์„ฑ๊ธฐ โ€” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์˜๋ฏธ ์žˆ๋Š” ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ GUI ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

ํ–‰์ •์‹ค

  • pgbadger - ๋น ๋ฅธ PostgreSQL ๋กœ๊ทธ ๋ถ„์„๊ธฐ.
  • pgbedrock โ€” Postgres ํด๋Ÿฌ์Šคํ„ฐ์˜ ์—ญํ• , ์—ญํ•  ๋ฉค๋ฒ„์‹ญ, ์Šคํ‚ค๋งˆ ์†Œ์œ ๊ถŒ ๋ฐ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • pgslice โ€” Postgres ํŒŒํ‹ฐ์…”๋‹์€ ํŒŒ์ด์ฒ˜๋Ÿผ ์‰ฝ์Šต๋‹ˆ๋‹ค.

HA/์žฅ์•  ์กฐ์น˜/์ƒค๋”ฉ

  • ์‹œํˆฌ์Šค โ€” ๋ฐ์ดํ„ฐ์™€ ์ฟผ๋ฆฌ๋ฅผ ์—ฌ๋Ÿฌ ๋…ธ๋“œ์— ๋ถ„์‚ฐ์‹œํ‚ค๋Š” Postgres ํ™•์žฅ์ž…๋‹ˆ๋‹ค.
  • ํ›„์›์ž โ€” ZooKeeper, etcd ๋˜๋Š” Consul์„ ์‚ฌ์šฉํ•œ PostgreSQL ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ ํ…œํ”Œ๋ฆฟ์ž…๋‹ˆ๋‹ค.
  • Percona XtraDB ํด๋Ÿฌ์Šคํ„ฐ โ€” MySQL ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ ๊ณ ํ™•์žฅ์„ฑ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.
  • ์Šคํ†จ ๋ก  โ€” PostgreSQL ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ PostgreSQL ๊ด€๋ฆฌ์ž์ž…๋‹ˆ๋‹ค.
  • pg_auto_failover โ€” ์ž๋™ํ™”๋œ ์žฅ์•  ์กฐ์น˜ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ Postgres ํ™•์žฅ ๋ฐ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
  • pglookout โ€” PostgreSQL ๋ณต์ œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์žฅ์•  ์กฐ์น˜ ๋ฐ๋ชฌ.
  • PostgreSQL ์ž๋™ ์žฅ์•  ์กฐ์น˜ โ€” ์—…๊ณ„ ์ฐธ์กฐ Pacemaker ๋ฐ Corosync๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ Postgres์˜ ๊ณ ๊ฐ€์šฉ์„ฑ.
  • postgresql_cluster โ€” PostgreSQL ๊ณ ๊ฐ€์šฉ์„ฑ ํด๋Ÿฌ์Šคํ„ฐ("Patroni" ๋ฐ "DCS(etcd)" ๊ธฐ๋ฐ˜). Ansible์„ ํ†ตํ•œ ๋ฐฐํฌ ์ž๋™ํ™”.
  • ๋น„ํ…Œ์Šค โ€” ์ผ๋ฐ˜ํ™”๋œ ์ƒค๋”ฉ์„ ํ†ตํ•œ MySQL์˜ ์ˆ˜ํ‰์  ํ™•์žฅ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ง ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

Kubernetes

  • KubeDB โ€” Kubernetes์—์„œ ํ”„๋กœ๋•์…˜๊ธ‰ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‰ฝ๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํฌ์ŠคํŠธ๊ทธ๋ ˆ์Šค ์—ฐ์‚ฐ์ž โ€” Postgres Operator๋Š” Patroni๊ฐ€ ์ œ๊ณตํ•˜๋Š” Kubernetes(K8s)์—์„œ ๊ณ ๊ฐ€์šฉ์„ฑ PostgreSQL ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ์Šคํ•„๋กœ - Docker๊ฐ€ ํฌํ•จ๋œ HA PostgreSQL ํด๋Ÿฌ์Šคํ„ฐ.
  • StackGres โ€” Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ํ’€ ์Šคํƒ PostgreSQL.

๊ตฌ์„ฑ ํŠœ๋‹

  • MySQLํŠœ๋„ˆ-ํŽ„ โ€” MySQL ์„ค์น˜๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€ํ† ํ•˜๊ณ  ์กฐ์ •ํ•˜์—ฌ ์„ฑ๋Šฅ๊ณผ ์•ˆ์ •์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋„๋ก Perl๋กœ ์ž‘์„ฑ๋œ ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค.
  • PG๊ตฌ์„ฑ์ž โ€” ์ตœ์ ํ™”๋œ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฌด๋ฃŒ ์˜จ๋ผ์ธ ๋„๊ตฌ postgresql.conf.
  • pgtune โ€” PostgreSQL ๊ตฌ์„ฑ ๋งˆ๋ฒ•์‚ฌ.
  • postgresqltuner.pl โ€” PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์„ฑ์„ ๋ถ„์„ํ•˜๊ณ  ํŠœ๋‹ ์กฐ์–ธ์„ ์ œ๊ณตํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž

  • DB๋งˆ์—์ŠคํŠธ๋กœ โ€” DBmaestro๋Š” ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ๋ฅผ ๊ฐ€์†ํ™”ํ•˜๊ณ  ์ „์ฒด IT ์ƒํƒœ๊ณ„์—์„œ ๋ฏผ์ฒฉ์„ฑ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • Toad DevOps ํˆดํ‚ท โ€” Toad DevOps Toolkit์€ ํ’ˆ์งˆ, ์„ฑ๋Šฅ ๋˜๋Š” ์•ˆ์ •์„ฑ์„ ์ €ํ•˜์‹œํ‚ค์ง€ ์•Š๊ณ  DevOps ์›Œํฌํ”Œ๋กœ ๋‚ด์—์„œ ์ฃผ์š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ฐœ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์Šคํ‚ค๋งˆ ์ƒ˜ํ”Œ

ํ†ต๊ณ„ ๋ณด๊ณ ์„œ

  • ํด๋ฆฌ โ€” SQL ์• ํ˜ธ๊ฐ€๋ฅผ ์œ„ํ•ด ์ œ์ž‘๋œ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด SQL ๋ณด๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค.

๋ฐฐํฌํŒ

  • DB๋ฐฐํฌ์ž โ€” MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋ฅผ ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • dbatools โ€” ๋ช…๋ น์ค„ SQL Server Management Studio์ฒ˜๋Ÿผ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” PowerShell ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค.
  • Postgres.app โ€” ํ‘œ์ค€ Mac ์•ฑ์œผ๋กœ ํŒจํ‚ค์ง€๋œ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ PostgreSQL ์„ค์น˜.
  • BigSQL โ€” ๊ฐœ๋ฐœ์ž ์นœํ™”์ ์ธ Postgres ๋ฐฐํฌํŒ์ž…๋‹ˆ๋‹ค.
  • ์ฝ”๋ผ๋ฆฌ ์ฐฝ๊ณ  โ€” PostgreSQL๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฒˆ๋“ค๋กœ ์ œ๊ณตํ•˜๋Š” ์›น ๊ธฐ๋ฐ˜ PostgreSQL ๊ด€๋ฆฌ ํ”„๋ŸฐํŠธ ์—”๋“œ์ž…๋‹ˆ๋‹ค.

๋ณด์•ˆ

  • ์•„ํฌ๋ผ โ€” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณด์•ˆ ์ œํ’ˆ๊ตฐ. ํ•„๋“œ ์ˆ˜์ค€ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”„๋ก์‹œ, ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰, SQL ์ฃผ์ž… ๋ฐฉ์ง€, ์นจ์ž… ํƒ์ง€, ํ—ˆ๋‹ˆํŒŸ. ํด๋ผ์ด์–ธํŠธ ์ธก ๋ฐ ํ”„๋ก์‹œ ์ธก("ํˆฌ๋ช…") ์•”ํ˜ธํ™”๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. SQL, NoSQL.

์ฝ”๋“œ ํฌ๋งทํ„ฐ

  • ์ฝ”๋“œ๋ฒ„ํ”„ โ€” ๊ธฐ๊ณ„ ํ•™์Šต์„ ํ†ตํ•œ ์–ธ์–ด์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๋Š” ์˜ˆ์œ ์ธ์‡„.

๊ธฐ์—ฌ

  • ๊ท€ํ•˜์˜ ๊ธฐ์—ฌ๋Š” ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! ์ฝ์–ด ๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค ๊ธฐ์—ฌ ์ง€์นจ ๋จผ์ €.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋ฐœ๊ฒฌ์ด ์žˆ์œผ๋ฉด ๊ณต์œ ํ•ด ์ฃผ์„ธ์š”. PR์ด๋‚˜ ์Šคํƒ€ ๋“ฑ ํ”ผ๋“œ๋ฐฑ๋„ ๊ธฐ๊บผ์ด ๋ฐ›๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž์‹ ๋งŒ์˜ ์‹œํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ๋ฉด ์ ์–ด๋ณด์„ธ์š”.

์ถœ์ฒ˜ : habr.com

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