๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐“’๐“ช๐“ฝ๐“ฎ๐“ฐ๐“ธ๐“ป๐”‚26

Part 1. ๊ฐœ๋ก  - Chp 05. ์„œ๋น„์Šค๊ธฐํš๋ถ€ํ„ฐ ๋Ÿฐ์นญ, ์šด์˜, ํšŒ๊ณ ๊นŒ์ง€ 01 ์ „์ฒด ์„œ๋น„์Šค๊ธฐํš ํ”„๋กœ์„ธ์Šค ์‚ดํŽด๋ณด๊ธฐ ์—ฌํƒœ๊นŒ์ง€๋Š” ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ด๋ก ๋“ค์„ ํ•™์Šตํ–ˆ๋‹ค๋ฉด ์ด๋ฒˆ ์‹œ๊ฐ„๋ถ€ํ„ฐ๋Š” ๋ณธ๊ฒฉ์ ์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ๊ธฐํšํ•˜๊ณ  ์˜คํ”ˆํ•˜๋Š” ๊ณผ์ •๊นŒ์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ์ „์ฒด ์„œ๋น„์Šค ๊ธฐํš ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํฌ๊ฒŒ 8๊ฐ€์ง€๋กœ ๋‚˜๋ˆ ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. ๋ฆฌ์„œ์น˜/๋ถ„์„ - ๊ณ ๊ฐ ๋‹ˆ์ฆˆ ํŒŒ์•… (๊ณ ๊ฐ๋“ค์€ ์–ด๋–ค ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ๊ณ ๊ฐ์˜ ๋‹ˆ์ฆˆ๋ฅผ ํŒŒ์•…ํ•˜๊ณ ) - ์‹œ์žฅ์กฐ์‚ฌ, ๋ฒค์น˜๋งˆํ‚น (๊ตญ๋‚ด์™ธ ์‹œ์žฅ ์กฐ์‚ฌ๋ฅผ ์ง„ํ–‰ํ•˜๊ฑฐ๋‚˜ ์œ ์‚ฌํ•œ ์„œ๋น„์Šค๊ฐ€ ์žˆ์œผ๋ฉด ๋ฒค์น˜๋งˆํ‚น์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค) - ํŠธ๋ Œ๋“œ ๋ถ„์„ (์ด ๋•Œ ์‹œ์žฅ๊ณผ ๊ณ ๊ฐ ํŠธ๋ Œ๋“œ ๋ถ„์„๊นŒ์ง€ ์ง„ํ–‰ํ•œ๋‹ค๋ฉด ํ›จ์”ฌ ๋” ๋„์›€์ด ๋  ๊ฒƒ์ด๋‹ค) 2. ์š”๊ตฌ์‚ฌํ•ญ ์ •์˜ (๋ฆฌ์„œ์น˜ ์ž๋ฃŒ, ๋‹ด๋‹น์ž, ์ œํ’ˆ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ๋ช…, ์„ค๋ช… ๋“ฑ์„ ์ ๊ฒŒ ๋จ) - ์ถ”์ง„ ๋ฐฐ๊ฒฝ, ๋ชฉ์ , ๋ชฉํ‘œ ์„ค์ • (์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค๊ณ ์žํ•˜๋Š” ์„œ๋น„์Šค์˜.. 2023. 8. 27.
Part 1. ๊ฐœ๋ก  - Chp 02. ๋งˆ์ผ“ ๋ฆฌ์„œ์น˜ ์šฐ๋ฆฌ๋‚˜๋ผ ์‹œ์žฅ์—์„œ ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๋ฅผ ์ง„ํ–‰ํ•ด๋„ ๊ดœ์ฐฎ์€ ๊ฑด์ง€ ๋ฆฌ์„œ์น˜๋ฅผ ํ•˜๋Š” ์ด์œ  - ์ƒˆ๋กœ์šด ์‚ฌ์—…/์„œ๋น„์Šค ์ถœ์‹œ์— ์•ž์„œ ๋‹น์œ„์„œ์„ ์ฐพ๊ธฐ ์œ„ํ•จ - ๋ณ€ํ™”ํ•˜๋Š” ์‹œ์žฅํ™˜๊ฒฝ์— ๋Œ€์‘ ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๋ฅผ ์ถœ์‹œํ•˜๊ธฐ ์œ„ํ•จ ์„œ๋น„์Šค ๊ธฐํš์„ ํ•˜๊ธฐ ์•ž์„œ์„œ ์ƒ์œ„ ์„œ๋น„์Šค ๊ธฐํš ๋‹จ๊ณ„์—์„œ ๋ชจ๋‘ ์ปค๋ฒ„๋ฅผ ํ•ด์•ผํ•˜๋Š” ๋ถ€๋ถ„์ž„ ๋ฆฌ์„œ์น˜ ๋ฐฉ๋ฒ• - ์–ธ๋ก  (๊ธฐ์‚ฌ) - ๊ฒ€์ƒ‰์—”์ง„ (๋„ค์ด๋ฒ„, ๊ตฌ๊ธ€ ๋“ฑ) - ์ฆ๊ถŒ์‚ฌ ๋ฆฌํฌํŠธ - ๋‰ด์Šค๋ ˆํ„ฐ ๊ตฌ๋… - ๋”๋ธŒ์ด์”จ (THE VC) 2023. 8. 23.
Part 1. ๊ฐœ๋ก  - Chp 01. ๋ฌธ์ œ ๋ฐœ๊ฒฌ ๋ฐ ๊ธฐํšŒ ์ฐฝ์ถœ 01 ๊ฐ•์˜ ์†Œ๊ฐœ Chapter1 ๋ฌธ์ œ ๋ฐœ๊ฒฌ ๋ฐ ๊ธฐํšŒ ์ฐฝ์ถœ ํŽ˜์ธํฌ์ธํŠธ ์ฐพ๊ธฐ, ํฌ์ง€์…”๋‹๋งต ์ž‘์„ฑํ•˜๊ธฐ ๋ณธ๊ฒฉ์ ์ธ ์„œ๋น„์Šค ๊ธฐํš์— ์•ž์„œ์„œ ๊ณ ๊ฐ์˜ ํŽ˜์ธํฌ์ธํŠธ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์ด ์ œ์ผ ์ค‘์š”ํ•จ ํŽ˜์ธํฌ์ธํŠธ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์•„์ด๋””์–ด๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์ž„ ํŽ˜์ธํฌ์ธํŠธ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฐ ๋ถ„์„ ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆฌ๋ ค๊ณ  ํ•จ ํŽ˜์ธํฌ์ธํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ฃผ์š” ๊ธฐ๋Šฅ๋“ค์„ ์™„์„ฑํ•ด๋ณด๊ณ  ์ฃผ์š” ๊ธฐ๋Šฅ๋“ค์˜ ๋‹ค์–‘ํ•œ ๋ถ„์„ ๋ฐฉ๋ฒ•์œผ๋กœ ์„œ๋น„์Šค์˜ ์ฐจ๋ณ„ํ™” ์ „๋žต ๋ฐฉ๋ฒ•์„ ๋ง์”€๋“œ๋ฆฌ๊ณ ์ž ํ•œ๋‹ค Chapter2 ๋งˆ์ผ“ ๋ฆฌ์„œ์น˜ ์‹œ์žฅํ™˜๊ฒฝ ๋ฐ ๊ฒฝ์Ÿ์‚ฌ ๋ฆฌ์„œ์น˜ ๋ฐฉ๋ฒ• ์•Œ์•„๋ณด๊ธฐ ๊ณ ๊ฐ์— ๋Œ€ํ•œ ์ด์œ ์™€ ๋ฐœ๊ฒฌ์ด๋ผ๊ณ  ํ•˜๋ฉด ์—ฌ๊ธฐ์„œ๋Š” ์‹œ์žฅ์— ๋Œ€ํ•œ ์ด์œ ์™€ ๋ฐœ๊ฒฌ์ธ ๊ฒƒ์ž„ ์šฐ๋ฆฌ๊ฐ€ ํƒ€๊ฒŸํ•˜๊ณ  ์žˆ๋Š” ํƒ€๊ฒŸ์ธต์ด ์•„์ฃผ ๋ช…ํ™•ํ•˜๋‹ค๊ณ  ํ•ด๋„ ์‹œ์žฅ ๊ทœ๋ชจ๊ฐ€ ์•„์ฃผ ์ž‘๊ฑฐ๋‚˜ ์ง„์ž…์ด ์–ด๋ ค์šด ์‹œ์žฅ์ด๋ผ๋ฉด ์„œ๋น„์Šค๋ฅผ ์˜คํ”ˆํ•ด๋‚˜๊ฐ€๊ธฐ ์–ด๋ ค์šธ ๊ฒƒ์ด๋ผ๊ณ  ํŒ๋‹จ๋จ.. 2023. 8. 23.
Chp5. ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์™€ OAuth 2.0์œผ๋กœ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ(Spring Security)๋Š” ๋ง‰๊ฐ•ํ•œ ์ธ์ฆ(Authentication)๊ณผ ์ธ๊ฐ€(Authorization) (ํ˜น์€ ๊ถŒํ•œ ๋ถ€์—ฌ) ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์‚ฌ์‹ค์ƒ ์Šคํ”„๋ง ๊ธฐ๋ฐ˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ๋ณด์•ˆ์„ ์œ„ํ•œ ํ‘œ์ค€์ด๋ผ๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ์…‰ํ„ฐ, ํ•„ํ„ฐ ๊ธฐ๋ฐ˜์˜ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์„ ์ ๊ทน์ ์œผ๋กœ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํ”„๋ง์˜ ๋Œ€๋ถ€๋ถ„ ํ”„๋กœ์ ํŠธ๋“ค(Mvc, Data, Batch ๋“ฑ๋“ฑ)์ฒ˜๋Ÿผ ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋‹ค ๋ณด๋‹ˆ ๋‹ค์–‘ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์†์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์†์‰ฌ์šด ์„ค์ •์€ ํŠนํžˆ๋‚˜ ์Šคํ”„๋ง ๋ถ€ํŠธ 1.5์—์„œ 2.0์œผ๋กœ ๋„˜์–ด์˜ค๋ฉด์„œ ๋”์šฑ ๋” ๊ฐ•๋ ฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ์žฅ์—์„œ๋Š” ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์™€ OAuth 2.0์„ ๊ตฌํ˜„ํ•œ ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ์„ ์—ฐ๋™ํ•˜์—ฌ ๋กœ๊ทธ์ธ.. 2023. 8. 19.
Chp3. ์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ JPA๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋‹ค๋ค„๋ณด์ž ์›น ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์šด์˜ํ•˜๋‹ค ๋ณด๋ฉด ํ”ผํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋‹ค๋ฃจ๋Š” ์ผ์ž„ iBatis์™€ ๊ฐ™์€ SQL ๋งคํผ๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•จ ๊ทธ๋Ÿฌ๋‹ค ๋ณด๋‹ˆ ์‹ค์ œ๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ์‹œ๊ฐ„๋ณด๋‹ค SQL์„ ๋‹ค๋ฃจ๋Š” ์‹œ๊ฐ„์ด ๋” ๋งŽ์•„์กŒ์Œ ์ด๋Ÿฌ๋‹ค๋ณด๋‹ˆ ๊ฐ์ฒด ๋ชจ๋ธ๋ง๋ณด๋‹ค๋Š” ํ…Œ์ด๋ธ” ๋ชจ๋ธ๋ง์—๋งŒ ์ง‘์ค‘ํ•˜๊ณ , ๊ฐ์ฒด๋ฅผ ๋‹จ์ˆœํžˆ ํ…Œ์ด๋ธ”์— ๋งž์ถ”์–ด ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ์—ญํ• ๋งŒ ํ•˜๋Š” ๊ฐœ๋ฐœ์€ ๋ถ„๋ช… ๊ธฐํ˜•์ ์ธ ํ˜•ํƒœ์ž„ ์–ด๋ฏ๊ฒŒ ํ•˜๋ฉด ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ด์šฉํ•˜๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ์„๊นŒ ๊ณ ๋ฏผํ•จ ๊ทธ๋Ÿฌ๋˜ ์ค‘, ์ด๋ฏธ ๊ธฐ์กด์˜ ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๋ถ„๋“ค ์—ญ์‹œ ์ด ๊ณ ๋ฏผ์„ ํ•˜๊ณ  ์žˆ์—ˆ์Œ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Œ ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ JPA๋ผ๋Š” ์ž๋ฐ” ํ‘œ์ค€ ORM (Object Relational Mapping) ๊ธฐ์ˆ ์„ ๋งŒ๋‚˜๊ฒŒ ๋จ ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” JPA๋ฅผ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด ๋ณด๊ฒ .. 2023. 8. 19.
Chp 2. ์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ž ์š”์ฆ˜ ๋Œ€๋ถ€๋ถ„์˜ ์„œ๋น„์Šค ํšŒ์‚ฌ๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์— ๊ด€ํ•ด ์š”๊ตฌํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์š”์ฆ˜ ์„ ๋งํ•˜๋Š” ์„œ๋น„์Šค ํšŒ์‚ฌ์— ์ทจ์—…๊ณผ ์ด์ง์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” ์ ˆ๋Œ€ ๋น ์งˆ ์ˆ˜ ์—†๋Š” ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ์ง„ํ–‰ํ•  ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์˜ ๊ธฐ๋ณธ์„ ๋ฐฐ์›Œ๋ด…์‹œ๋‹ค. 2.1 ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์†Œ๊ฐœ TDD๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ์ฃผ๋„ํ•˜๋Š” ๊ฐœ๋ฐœ์„ ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. - TDD : RED -> GREEN -> REFACTOR RED : ํ•ญ์ƒ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•˜๊ณ  GREEN : ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•˜๋Š” ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  REFACTOR : ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•˜๋ฉด ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•ฉ๋‹ˆ๋‹ค ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋Š” TDD์˜ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„์ธ ๊ธฐ๋Šฅ ๋‹จ์œ„์˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. TDD์™€.. 2023. 8. 19.