TIL 37 | Database

dabin *.โ—Ÿ(หŠแ—จห‹)โ—ž.*ยท2021๋…„ 9์›” 13์ผ
0

Database

๋ชฉ๋ก ๋ณด๊ธฐ
1/6
post-thumbnail

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ž€?

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

๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋Š” ๋ณดํ†ต ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์‹œ์Šคํ…œ(DBMS, Database Management System)์œผ๋กœ ์ œ์–ดํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค. ๋ฐ์ดํ„ฐ์™€ DBMS, ์ด์™€ ์—ฐ๊ด€๋œ ๋‹ค๋ฅธ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ†ตํ‹€์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์‹œ์Šคํ…œ, ํ˜น์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๋” ์งง๊ฒŒ๋Š” DB๋ผ๊ณ  ๋งํ•œ๋‹ค.

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

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDBMS, Relational Database Management System)

๋ชจ๋“  ๋ฐ์ดํ„ฐ์—๋Š” ์ƒํ˜ธ ์—ฐ๊ด€์„ฑ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์‹œ์Šคํ…œ์ด๋‹ค. ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ํ…Œ์ด๋ธ”๋กœ ๊ตฌ์„ฑ๋˜๊ณ , ์—‘์…€๊ณผ ๋น„์Šทํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

idfirst namelast nameagehobby
1dabinan25weight training
2seokjunan70climbing

ํ…Œ์ด๋ธ”์€ column(๊ฐ ํ•ญ๋ชฉ)๊ณผ row(ํ•ญ๋ชฉ์˜ ๊ฐ’)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” 2์ฐจ์› ํ…Œ์ด๋ธ”์ด๋‹ค. ํ…Œ์ด๋ธ”์˜ ๊ฐ€์žฅ ์ฒซ column์€ ์–ธ์ œ๋‚˜ id๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ row๋Š” ์–ธ์ œ๋‚˜ ๊ณ ์œ ํ•œ ๋ฒˆํ˜ธ(id)๋ฅผ ๊ฐ€์ง€๊ณ , ์ด๋ฅผ primary key๋ผ๊ณ  ํ•œ๋‹ค. primary key๋ฅผ ํ†ตํ•ด ํ•ด๋‹นํ•˜๋Š” row๋ฅผ ์ฐพ๊ฑฐ๋‚˜ ์ธ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

ํ…Œ์ด๋ธ” ์—ฐ๊ฒฐ ์ข…๋ฅ˜

one to one

ํ…Œ์ด๋ธ” A์˜ ๋กœ์šฐ์™€ ํ…Œ์ด๋ธ” B์˜ ๋กœ์šฐ๊ฐ€ ์ •ํ™•ํžˆ ์ผ๋Œ€์ผ ๋งค์นญ์ด ๋˜๋Š” ๊ด€๊ณ„.

ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ ์ฐธ์กฐํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์—๋Š” ์œ ์ €์˜ ์ด๋ฆ„์ด, ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์—๋Š” ์œ ์ € ์ด๋ฆ„๊ณผ ๋งค์นญ๋˜๋Š” ์ฃผ๋ฏผ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์ฃผ๋ฏผ๋ฒˆํ˜ธ๋Š” ํ•œ ์‚ฌ๋žŒ๋‹น ํ•˜๋‚˜๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์˜ ๋กœ์šฐ๋Š” ๋‹ค๋ฅธ ํ…Œ์ด๋ธ” ํ•˜๋‚˜์˜ ๋กœ์šฐ์™€ ์—ฐ๊ฒฐ๋œ๋‹ค. ๋ฐ˜๋Œ€๋กœ ํ•ด๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค.

one to many

ํ…Œ์ด๋ธ” A์˜ ๋กœ์šฐ๊ฐ€ ํ…Œ์ด๋ธ” B์˜ ์—ฌ๋Ÿฌ ๋กœ์šฐ์™€ ์—ฐ๊ฒฐ์ด ๋˜๋Š” ๊ด€๊ณ„.

ํ•˜๋‚˜์˜ ์ฃผ์ฒด๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ƒํƒœ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ํ•˜๋‚˜์˜ ์นดํ…Œ๊ณ ๋ฆฌ์— ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” ์—ฌ๋Ÿฌ ์ œํ’ˆ์ด ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ์˜ˆ์‹œ๋กœ ๋“ค ์ˆ˜ ์žˆ๋‹ค. ํ…Œ์ด๋ธ” A์˜ ๋กœ์šฐ ํ•˜๋‚˜๋Š” ํ…Œ์ด๋ธ” B์˜ ์—ฌ๋Ÿฌ ๋กœ์šฐ์™€ ์—ฐ๊ฒฐ๋˜์ง€๋งŒ, ํ…Œ์ด๋ธ” B์˜ ๋กœ์šฐ ํ•˜๋‚˜๋Š” ํ…Œ์ด๋ธ” A์˜ ๋กœ์šฐ ํ•˜๋‚˜์™€ ์—ฐ๊ฒฐ๋œ๋‹ค.

many to many

ํ…Œ์ด๋ธ” A์˜ ์—ฌ๋Ÿฌ ๋กœ์šฐ๊ฐ€ ํ…Œ์ด๋ธ” B์˜ ์—ฌ๋Ÿฌ ๋กœ์šฐ์™€ ์—ฐ๊ฒฐ์ด ๋˜๋Š” ๊ด€๊ณ„.

์ฑ…์€ ์—ฌ๋Ÿฌ ์ž‘๊ฐ€์— ์˜ํ•ด ์“ฐ์ผ ์ˆ˜ ์žˆ๊ณ  ์ž‘๊ฐ€๋“ค์€ ์—ฌ๋Ÿฌ ์ฑ…์„ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ํ…Œ์ด๋ธ” A์˜ ๊ฐ’๊ณผ ์—ฐ๊ฒฐ๋œ ํ…Œ์ด๋ธ” B์˜ ๊ฐ’์ด ๊ฐ๊ฐ ์ฐธ์กฐ๋˜์–ด ์ค‘๊ฐ„ํ…Œ์ด๋ธ”์— ๊ธฐ๋ก๋œ๋‹ค.

๋˜‘๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ์ €์žฅํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด , foreign key๋ฅผ ์ด์šฉํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. foreign key๋Š” fk๋ผ๊ณ  ์ค„์—ฌ์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ…Œ์ด๋ธ” A์˜ id๋ฅผ ์ฐธ์กฐํ•ด ํ…Œ์ด๋ธ” B์˜ ์ฐธ์กฐํ•œ ๋ฐ์ดํ„ฐ์˜ id๊ฐ’(foreign key)๋ฅผ ํ•จ๊ป˜ ์ €์žฅํ•œ๋‹ค.

์™œ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์— ๋‚˜๋ˆ„์–ด ์ €์žฅํ•˜๊ณ  ์—ฐ๊ฒฐํ• ๊นŒ?

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

NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

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

SQL vs NoSQL

SQL

[์žฅ์ ]

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ฒด๊ณ„์ , ํšจ์œจ์ ์œผ๋กœ ์ €์žฅ
  • ๋ฏธ๋ฆฌ ๊ตฌ์กฐ ์ •์˜ํ•˜๋ฏ€๋กœ ์™„์ •์„ฑ ๋ณด์žฅ
  • ํŠธ๋žœ์žญ์…˜ ํ†ตํ•ด ์•ˆ์ •์ ์œผ๋กœ ์ €์žฅ

[๋‹จ์ ]

  • ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ๋ณ€ํ™”์— ๋œ ์œ ์—ฐ
  • ํ™•์žฅ์ด ์‰ฝ์ง€ ์•Š์Œ

[ํ™œ์šฉ]

  • ์ •ํ˜•ํ™”๋œ ๋ฐ์ดํ„ฐ
  • ์™„์ „์„ฑ์ด ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ
  • ์ „์ž์ƒ๊ฑฐ๋ž˜, ์€ํ–‰ ๊ณ„์ขŒ ์ •๋ณด ๋“ฑ

NoSQL

[์žฅ์ ]

  • ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ •์˜ํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ณ€ํ™”์— ์œ ์—ฐ
  • ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ณ€ํ™”๊ฐ€ ์œ ๋ฆฌํ•ด ํ™•์žฅํ•˜๊ธฐ ์‰ฌ์›Œ ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ์— ์œ ๋ฆฌํ•จ

[๋‹จ์ ]

  • ํŠธ๋žœ์žญ์…˜์ด ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋น„๊ต์  ๋ถˆ์•ˆ์ •

[ํ™œ์šฉ]

  • ์ฃผ๋กœ ๋น„์ •ํ˜•ํ™” ๋ฐ์ดํ„ฐ

ํŠธ๋žœ์žญ์…˜์ด๋ž€?
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™˜์‹œํ‚ค๋Š” ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์˜ ๋‹จ์œ„ ๋˜๋Š” ํ•œ๊บผ๋ฒˆ์— ๋ชจ๋‘ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•  ์ผ๋ จ์˜ ์—ฐ์‚ฐ๋“ค์„ ๋œปํ•œ๋‹ค. ํ’€์–ด ์„ค๋ช…ํ•˜์ž๋ฉด, ๋ฌถ์Œ ์ฒ˜๋ฆฌ๋œ ์ž‘์—…์˜ ๋‹จ์œ„๋ฅผ ์ˆ˜ํ–‰ํ•˜๋‹ค๊ฐ€ ๋งŒ์•ฝ ์ค‘๊ฐ„์— ์ค‘์ง€๋˜์—ˆ์„ ๊ฒฝ์šฐ์— ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•˜๋Š” ๋กค๋ฐฑ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ์˜ค๋ฅ˜์—†์ด ๋งˆ์น˜๋ฉด commit์„ ํ•˜๋Š” ์ˆ˜ํ–‰๋‹จ์œ„๋‹ค. ๋กค๋ฐฑ์ด ์ •ํ™•ํžˆ ๋ญ˜๊นŒ? ๋‚ด๊ฐ€ ์นœ๊ตฌํ•œํ…Œ ์†ก๊ธˆ์„ ํ•˜๋Š” ์ƒํ™ฉ์„ ์ƒ๊ฐํ•ด๋ณด์ž. ๋‚ด ๊ณ„์ขŒ์—์„œ๋Š” ๋ˆ์ด ๋‚˜๊ฐ”๋Š”๋ฐ ์นœ๊ตฌ ๊ณ„์ขŒ์— ๋ˆ์ด ๋“ค์–ด๊ฐ€์ง€ ์•Š์•˜๋‹ค๋ฉด ๋ˆ์€ ๊ณต์ค‘๋ถ„ํ•ด๋œ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์ค‘๊ฐ„์— ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ฑฐ๋‚˜ ํ•˜๋Š” ์ƒํ™ฉ์ด ์˜ค๋ฉด ์ฒ˜์Œ์œผ๋กœ ๋˜๋Œ์•„๊ฐ€ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๊ฒŒ ๋ฐ”๋กœ ๋กค๋ฐฑ์ด๋‹ค!
ํŠธ๋žœ์žญ์…˜์€ ์ž‘์—… ์ˆ˜ํ–‰์˜ ๋…ผ๋ฆฌ์  ๋‹จ์œ„๊ณ , DBMS์˜ ์„ฑ๋Šฅ์€ ์ดˆ๋‹น ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰์ˆ˜๋กœ ์ธก์ •ํ•œ๋‹ค.(TPS) ํŠธ๋žœ์žญ์…˜์€ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ DB์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜, ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ๊ฐฑ์‹ ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •์—์„œ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ๋ถ€์ •ํ•ฉ์„ ๋ฐฉ์ง€ํ•˜๊ณ ์žํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ํŠธ๋žœ์žญ์…˜์€ ๋„ค ๊ฐ€์ง€์˜ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
์›์ž์„ฑ
ํŠธ๋žœ์žญ์…˜๊ณผ ๊ด€๋ จ๋œ ์ž‘์—…๋“ค์ด ๋ถ€๋ถ„์ ์œผ๋กœ ์‹คํ–‰๋˜๋‹ค๊ฐ€ ์ค‘๋‹จ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณด์žฅ
์ผ๊ด€์„ฑ
ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰์„ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒํ•˜๋ฉด ์–ธ์ œ๋‚˜ ์ผ๊ด€์„ฑ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ
๊ณ ๋ฆฝ์„ฑ
ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰ ์‹œ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์˜ ์—ฐ์‚ฐ ์ž‘์—…์ด ๋ผ์–ด๋“ค์ง€ ๋ชปํ•˜๋„๋ก ๋ณด์žฅ
์ง€์†์„ฑ
์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋œ ํŠธ๋žœ์žญ์…˜์€ ์˜์›ํžˆ ๋ฐ˜์˜๋˜์–ด์•ผ ํ•จ
https://coding-factory.tistory.com/226

profile
๋ชจ๋ฅด๋Š”๊ฒƒํˆฌ์„ฑ์ด

0๊ฐœ์˜ ๋Œ“๊ธ€