[spring boot] @.์ž๋ฐ” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์˜ ๊ธฐ๋ณธ ์ง€์‹

    ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ


    โœฆ ์„œ๋ฒ„ ๋ž€? 

    ์„œ๋ฒ„(Server)๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ request ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฃผ์ฒด์ž…๋‹ˆ๋‹ค.
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  (Post ๋ฐฉ์‹) ,
    ์„œ๋ฒ„ ๋‚ด์—์„œ ์ฒ˜๋ฆฌ๋งŒ ํ•ด๋‹ฌ๋ผ๋Š” ์š”์ฒญ์„ ํ•˜๋ฉด ํ•ด๋‹น ์š”์ฒญ๋งŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. (Get๋ฐฉ์‹) 
     

    โœฆ ํด๋ผ์ด์–ธํŠธ ๋ž€? 

    ํด๋ผ์ด์–ธํŠธ(Client)๋Š” ์„œ๋ฒ„๋กœ ์š”์ฒญํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ผ์ปซ๋Š” ๋ง์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€
    ๋Œ€ํ‘œ์ ์ธ ํด๋ผ์ด์–ธํŠธ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด URL์„ ์ž…๋ ฅํ•˜๊ณ  ํ™”๋ฉด์„ ์š”์ฒญํ•˜๋Š” ํ–‰๋™์„ ํ†ตํ•ด ํ•ด๋‹น ๋งํฌ๋กœ์˜ ์ด๋™์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด์™€ ๊ฐ™์ด ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ(Enter) ํ‚ค๋ฅผ ํ†ตํ•ด ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์„ "์„œ๋ฒ„์— ์š”์ฒญํ•œ๋‹ค" ์ฆ‰, Request ํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, ์ด ํ–‰๋™์„ ํ†ตํ•ด ์„œ๋ฒ„๋Š” Response ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 
     


     

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

    ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (Database)๋Š” ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๊ณต๊ฐ„์— ๋ชจ์•„ ์ €์žฅํ•˜๊ณ , 
    ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ์‚ฌ์šฉํ•  ๋ชฉ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ์ž…๋‹ˆ๋‹ค. 
    ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ์ธ DBMS๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌํ•˜๋ฉฐ  SQL ์ฟผ๋ฆฌ ์ฆ‰, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์–ธ์–ด๋ฅผ ํ†ตํ•ด
    ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ค๋ฉฐ ๋™์ž‘์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 


    โœฆ RDB ๋ž€? 

    RDB๋Š” Relational Database ์ฆ‰, ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ผ๊ณ  ํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ํ–‰(Row)๊ณผ ์—ด(Column)๋กœ ์ด๋ฃจ์–ด์ง„
    ํ…Œ์ด๋ธ”๋กœ ๊ด€๋ฆฌํ•˜๋ฉฐ, ๊ธฐ๋ณธํ‚ค (Primary Key)๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ ํ–‰์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ ํ…Œ์ด๋ธ”๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ง€์–ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. 
    RDB ์ด์™ธ์—๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” NoSQL, NewSQL๋“ฑ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. 
     

    โœฆ SQL์ด๋ž€? 

    SQL(=Structured Query Language)์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค. 
    ANSI ํ‘œ์ค€ SQL๋„ ์žˆ๊ณ , ๊ฐ RDB๋ณ„๋กœ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
    ์ฆ‰, ์‰ฝ๊ฒŒ ๋งํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ์ˆ˜์ •ํ•˜๊ณ , ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ํ•˜๋Š” ํ–‰์œ„๋ฅผ ํ•  ๋•Œ ์ž…๋ ฅํ•˜๋Š” ์–ธ์–ด๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. 
     

    โœฆ NoSQL ์ด๋ž€? 

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


    ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ

    ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ์˜จ์ „ํžˆ ํ˜ผ์ž์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜๋ฉด ์—„์ฒญ๋‚œ ์‹œ๊ฐ„์ด ๋“ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
    ๋”ฐ๋ผ์„œ ํ˜„์—…์—์„œ๋Š” ์ด๋ฏธ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋งŒ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ฐ€์ ธ์™€ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 
     

    โœฆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ž€? 

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

    โœฆ ํ”„๋ ˆ์ž„์›Œํฌ๋ž€? 

    ํ”„๋ ˆ์ž„์›Œํฌ(Framework)๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์„ ์ˆ˜์›”ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ํ‹€(Frame)๊ณผ ์ผํ•˜๋‹ค(Work)์˜ ํ•ฉ์„ฑ์–ด๋กœ ์ผ์„ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ํ‹€์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ •ํ•ด์ง„ ํ‹€์— ๋งž์ถ”์–ด์„œ ๊ฐœ๋ฐœ์„ ํ•ด์•ผํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์ง€๋งŒ, ๊ทธ ๋ฐฉ์‹๋งŒ ์ œ๋Œ€๋กœ ์ตํžŒ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŽ์€ ์ง€์›์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ ํšจ์œจ์ด ๊ต‰์žฅํžˆ ๋†’๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
     

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

    ์•„์ดํ”ผ์™€ ํฌํŠธ

    IP(์•„์ดํ”ผ)๋Š” ์ธํ„ฐ๋„ท์—์„œ ์ปดํ“จํ„ฐ ๋˜๋Š” ๊ธฐ๊ธฐ๋“ค์ด ์„œ๋กœ ์‹๋ณ„ํ•˜๊ณ  ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. 
    ๊ทธ๋ž˜์„œ ์•„์ดํ”ผ๋ฅผ ์•Œ๊ณ  ์žˆ์œผ๋ฉด ์„œ๋ฒ„๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 'ํฌํŠธ'๋„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. 
    ์•„์ดํ”ผ๊ฐ€ ์„œ๋ฒ„๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ ๋ฒˆํ˜ธ๋ผ๋ฉด ํฌํŠธ๋Š” ๊ทธ ์„œ๋ฒ„์—์„œ ์šด์šฉ๋˜๊ณ  ์žˆ๋Š” ์„œ๋น„์Šค๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. 
    ์‰ฝ๊ฒŒ ๋งํ•ด ์•„์ดํ”ผ๋ฅผ ๋ฐฑํ™”์ ์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ํฌํŠธ๋Š” ๊ทธ ๋ฐฑํ™”์ ์— ๋“ค์–ด๊ฐ€์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋งค์žฅ์ด๋ผ๊ณ  ๋น„์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 
     
    ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์˜ URL์„ ์ž์„ธํ•˜๊ฒŒ ์‚ดํŽด๋ณด๋ฉด ์•„์ดํ”ผ์™€ ํฌํŠธ๋ฅผ ์‰ฝ๊ฒŒ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 
    www.naver.com ๊ณผ ๊ฐ™์€ ์ฃผ์†Œ๋Š” ์•„์ดํ”ผ๋ฅผ ์‰ฝ๊ฒŒ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ์ด๋ฆ„ํ‘œ๋ฅผ ๋ถ™์ธ ๊ฒƒ์ด๊ณ ,  https:// ๋ผ๋Š” ๊ฒƒ์ด ์„œ๋ฒ„์˜ 443๋ฒˆ ํฌํŠธ๋ฅผ ์ด์šฉํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ๋Š”๊ฒƒ์ž…๋‹ˆ๋‹ค. 
     


     

    ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์˜ ์—…๋ฌด

    ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š” ๋Œ€์ฒด ๋ฌด์Šจ์ผ์„ ํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€? 
    ์ฃผ๋œ ์—…๋ฌด๋Š” ๋ฐ”๋กœ ์„œ๋ฒ„ ์ธก ์„ ๊ด€๋ฆฌํ•˜๊ณ , ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๋ฉฐ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐฐํฌํ•˜๊ณ  ์„œ๋น„์Šค ํ•  ์ˆ˜ ์žˆ๋„๋ก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์กฐ์ง๋งˆ๋‹ค ์กฐ๊ธˆ์”ฉ ์ผ์— ์žˆ์–ด ์ฐจ์ด๋Š” ์žˆ๊ฒ ์ง€๋งŒ ๋Œ€๊ฐœ ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. 
     

    ๊ณผ์ œํ• ๋‹น > ๊ณผ์ œ๋ถ„์„ > ๊ฐœ๋ฐœ > ํ…Œ์ŠคํŠธ(๋ฆฌ๋ทฐ) > QA ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ • > ๋ฐฐํฌ > ์œ ์ง€๋ณด์ˆ˜

     

    โœฆ ๊ณผ์ œํ• ๋‹น & ๊ณผ์ œ๋ถ„์„

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

    โœฆ ๊ฐœ๋ฐœ

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

    โœฆ ํ…Œ์ŠคํŠธ(๋ฆฌ๋ทฐ)

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

    โœฆ QA ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ •

     ๊ฐœ๋ฐœ๊ณผ ํ…Œ์ŠคํŠธ๊ฐ€ ์–ด๋Š์ •๋„ ๋งˆ๋ฌด๋ฆฌ๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ๊ณผ ํ’ˆ์งˆ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด QA๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.  QA๋Š” Quality Assurance์˜ ์•ฝ์ž๋กœ ์†๋„๋ฅผ ๋†’์ด๊ฑฐ๋‚˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์ด์— ๋”ฐ๋ฅธ ๋ฒ„๊ทธ๋“ฑ์„ ์ˆ˜์ •ํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

    โœฆ ๋ฐฐํฌ & ์œ ์ง€๋ณด์ˆ˜

     QA๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์„œ๋ฒ„์— ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 
    ๋•Œ์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๊ณผ์ œ๋ฅผ ํ•œ๋ฒˆ์— ๋ณ‘ํ•ฉํ•˜์—ฌ ๋ฐฐํฌํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋ ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กญ๊ฒŒ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. 
    ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐฐํฌํ•˜๋ฉฐ, ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ์‰ฝ๊ฒŒ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋„๋ก ์ž‘์—…์„ ํ•˜๋Š”๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. 
     
    ๋ฐฐํฌ์˜ ๋ฐฉ๋ฒ•์—๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. 
    ํŠน์ • ๊ฐœ์ˆ˜์˜ ์„œ๋ฒ„๋“ค์„ ๋Œ์•„๊ฐ€๋ฉฐ ๋ฐฐํฌํ•˜๋Š” ๋กค๋ง๋ฐฐํฌ, ๋˜‘๊ฐ™์€ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค๋ฅผ ๋„์šฐ๊ณ  ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์„ค์ •์„ ๋ฐ”๊พธ๋Š” ๋ธ”๋ฃจ ๊ทธ๋ฆฐ ๋ฐฐํฌ
    ์ „์ฒด ์„œ๋ฒ„์˜ ํŠน์ • ๋น„์œจ๋งŒํผ ๋ฐฐํฌํ•ด๋ณด๊ณ  ๋ฌธ์ œ์—†๋Š” ๊ฒฝ์šฐ ์ ์  ๋ฐฐํฌ๋ฅผ ๋Š˜๋ ค๊ฐ€๋Š” ์นด๋‚˜๋ฆฌ ๋ฐฐํฌ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    ๊ฐœ๋ฐœ์ž๋Š” ์ฝ”๋“œ์˜ ๊ฐœ๋ฐœ๋ถ€ํ„ฐ ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ, ๋ชจ๋‹ˆํ„ฐ๋ง๊นŒ์ง€ ์‚ฌ์‹ค์ƒ ์ด ๋ชจ๋“  ๊ณผ์ •์„ ๋ฌดํ•œ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. 
     
    ๋นŒ๋“œ๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€์˜ ๊ณผ์ •์€ ์ž๋™ํ™”์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
    CI/CD (Continuous Integration / Continuous Delivery & Continuous Deployment)
    CI๋Š” ์ง€์†์ ์ธ ํ†ตํ•ฉ๊ณผ ์ƒˆ๋กœ์šด ์ฝ”๋“œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ •๊ธฐ์ ์œผ๋กœ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ํ•˜์—ฌ ์ €์žฅ์†Œ์— ํ†ตํ•ฉ๋˜๋Š” ๊ณผ์ •์„ ์ž๋™ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋ฉฐ,
    CD๋Š” ์ง€์†์ ์ธ ๋ฐฐํฌ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.
    ์ฆ‰, CI๋Š” ์ €์žฅ์†Œ์— ์ฝ”๋“œ๊ฐ€ ๋ฐ˜์˜๋˜๋Š” ๊ฒƒ์„ ๋งํ•˜๊ณ , CD๋Š” ์‹ค์ œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ๊นŒ์ง€ ๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ๊ฐ€ ๋ฐ˜์˜๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
     
     
     

    ๋Œ“๊ธ€