์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค) Lv4 [ํŒ€ ํ”„๋กœ์ ํŠธ] ์ •๋ฆฌ, ํ›„๊ธฐ

Lv4 : ํŒ€ ํ”„๋กœ์ ํŠธ -> https://github.com/eattogether/hey-together -> ํŒ€ ์œ„ํ‚ค ์š”๊ตฌ์‚ฌํ•ญ ์ง€์†์  ํ†ตํ•ฉ (๋ชจ๋“  ํ…Œ์ŠคํŠธ ํ†ต๊ณผํ• ๋•Œ๋งŒ ๋ฐฐํฌ, ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ 80%, ํ’ˆ์งˆ ๊ธฐ์ค€ ํ†ต๊ณผ(์ •์  ๋ถ„์„ ๋„๊ตฌ ์ด์šฉ))์„ ์ ์šฉํ•ด ์ผ์ • ๊ธฐ์ค€์ด ๋„˜๋Š” ํ™˜๊ฒฝ์œผ๋กœ ๋ฐฐํฌ Spring Rest Docs๋ฅผ ์ด์šฉํ•ด API ๋ฌธ์„œํ™” ํ”„๋ก ํŠธ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋ณด๋‹ค ๋ฐ”๋‹๋ผ JS ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋Š”๊ฒŒ ์–ด๋–จ๊นŒ? ์ธ์ฆ์€ OAuth2๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉด ์–ด๋–จ๊นŒ? ๋‹จ Spring Security ์‚ฌ์šฉX ์ธ์ฆ์„ ์ œ์™ธํ•˜๊ณ  ์ตœ์†Œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์™ธ๋ถ€ API์™€ ์—ฐ๋™ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€(๋ณ€ํ•˜์ง€) ์•Š๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด (๋ฐฑ์—”๋“œ ๋ถ€๋ถ„์—) Cache๋ฅผ ์ ์šฉ REST ์›์น™์„ ์ง€ํ‚ค๋ฉฐ ๊ฐœ๋ฐœ (์ฐธ๊ณ ๋งํฌ) Docker ๊ฒฝํ—˜ ๊ธฐ๋Šฅ ..

์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค) Lv3 - 7~9์ฃผ์ฐจ [DI ๊ตฌํ˜„] ๋ฏธ์…˜ ํ›„๊ธฐ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ

Lv3 - 7~9์ฃผ์ฐจ ๋ฏธ์…˜ : DI ๊ตฌํ˜„ https://github.com/woowacourse/jwp-di ํ•™์Šต๋ชฉํ‘œ DI ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌํ˜„์„ ํ†ตํ•ด DI ๊ฐœ๋…๊ณผ Spring ํ”„๋ ˆ์ž„์›Œํฌ ์ดํ•ด AOP ๊ฐœ๋… ๋ฐ Spring AOP ์ ์šฉ Transaction๊ณผ Spring Transaction ์š”๊ตฌ์‚ฌํ•ญ step1 BeanFactory, BeanScanner ๊ตฌํ˜„ ์ด์ „์˜ MVC ๋ฏธ์…˜ ์ฝ”๋“œ๊นŒ์ง„, ์ž๋ฐ” Reflection์„ ํ™œ์šฉํ•ด @Controller๋ฅผ ์ฐพ์•„ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  URL ๋งคํ•‘์„ ์ž๋™ํ™”ํ–ˆ๋‹ค. ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ @Service, @Repository๋„ ๊ฐ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ๊ณผ ์˜์กด๊ด€๊ณ„ ์„ค์ •์„ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ž๋™ํ™”ํ•œ๋‹ค. ๊ฐ ์ธ์Šคํ„ด์Šค๊ฐ„์˜ ์˜์กด๊ด€๊ณ„๋Š” @Inject ์–ด๋…ธํ…Œ์ด์…˜ ์‚ฌ์šฉ MVC๋ชจ๋“ˆ์˜ Controll..

์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค) Lv3 - 5~6์ฃผ์ฐจ [JDBC ๊ตฌํ˜„, ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ] ๋ฏธ์…˜ ํ›„๊ธฐ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ

Lv3 - 5~6์ฃผ์ฐจ ๋ฏธ์…˜ : JDBC ๊ตฌํ˜„, ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ https://github.com/woowacourse/jwp-jdbc ํ•™์Šต๋ชฉํ‘œ ๋‚˜๋งŒ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝํ—˜์„ ํ•จ์œผ๋กœ์จ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋Š” ์—ฐ์Šต์„ ํ•œ๋‹ค. ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ๊นจํŠธ๋ฆฌ์ง€ ์•Š์œผ๋ฉด์„œ ๋ฆฌํŒฉํ† ๋งํ•˜๋Š” ์—ฐ์Šต์„ ํ•œ๋‹ค. ๋ชฉํ‘œ๋กœํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ธฐ ์œ„ํ•œ SQL ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. SQL ์ฟผ๋ฆฌ์˜ ์‹คํ–‰ ๊ณ„ํš์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ์„ฑ๋Šฅ์ƒ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๋ถ€๋ถ„์„ ์ฐพ์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋ชฉํ‘œ๋กœํ•˜๋Š” ์„ฑ๋Šฅ์„ ๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํŠœ๋‹ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์š”๊ตฌ์‚ฌํ•ญ Jdbc ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•ด์„œ, UserDao์—” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•ด์•ผํ•˜๋Š” ์ฝ”๋“œ๋งŒ ๋‚จ๊ธฐ์ž ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ •์—์„œ ์ปดํŒŒ์ผ ์—๋Ÿฌ๋ฅผ ๋‚ด์ง€ ์•Š๊ธฐ "์ ์ง„์ ์ธ ๋ฆฌํŒฉํ† ๋ง" ๋ฉ”์†Œ๋“œ2๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ํ•ด๊ฒฐ๊ฐ€๋Šฅํ•œ ..

์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค) Lv3 - ๋‚จ์€ ํ•™์Šต์ฃผ์ œ, ํšŒ๊ณ 

์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค ๋ ˆ๋ฒจ3 (9์ฃผ) Lv3 - ํšŒ๊ณ  ๋ ˆ๋ฒจ 1, 2, 3 ์ค‘ ๊ฐ€์žฅ ๋ฏธ์…˜์ด ์žฌ๋ฐŒ๋Š” ๋ ˆ๋ฒจ์ด์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ‘์ž‘์Šค๋ ˆ ๋ฉด์ ‘์ผ์ •์ด ๊ฒน์น˜๋ฉฐ ์ƒ๋‹น๊ธฐ๊ฐ„(๋Œ€๋žต 2-3์ฃผ)์„ ๋ฏธ์…˜์— ์ง‘์ค‘ํ•  ์ˆ˜ ์—†์–ด ์•„์‰ฌ์› ๋‹ค. ์„ ํƒ์˜ ๊ฐˆ๋ฆผ๊ธธ์— ์„ฐ๋‹ค. ๋ ˆ๋ฒจ3 ๋ฏธ์…˜ ์ง‘์ค‘ or ๋ฉด์ ‘์ค€๋น„. ์ •๋‹ต์€ ์—†๊ณ  ์–ด๋Š๊ฒƒ์„ ์„ ํƒํ–ˆ์–ด๋„ ํ›„ํšŒ๋Š” ์—†์—ˆ์„ ๊ฒƒ์ด๋‹ค. ๋‚œ ํ›„์ž๋ฅผ ์„ ํƒํ–ˆ๊ณ  ์—ญ์‹œ ํ›„ํšŒํ•˜์ง„ ์•Š๋Š”๋‹ค. ์žฌ๋ฐŒ๋Š” ๋ ˆ๋ฒจ3 ๋ฏธ์…˜๋„ ๋Œ๋ ธ์ง€๋งŒ, ๋ฉด์ ‘์ค€๋น„๋ฅผ ํ•˜๋ฉฐ ๊ทธ๋™์•ˆ ๋ ˆ๋ฒจ1-3์—์„œ 6๊ฐœ์›”๊ฐ„ ๋ฐฐ์šด ์ˆ˜๋งŽ์€ ๊ฐœ๋…๋“ค์„ ๋˜์งš์–ด๋ณด๊ณ  ์ •๋ฆฌํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ์žŠ๊ณ  ์žˆ๋˜ ๊ฒƒ๊ณผ ์• ๋งคํ•˜๊ฒŒ ์•Œ๊ณ ์žˆ๋˜ ๊ฒƒ๋“ค์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ •๋ฆฌํ•˜๋ฉฐ ๋‚ด ๊ฒƒ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด ์ข‹์•˜๋‹ค. ๋ ˆ๋ฒจ2๋ถ€ํ„ฐ ์Šฌ์Šฌ ์ฒด๊ณ„ํ™”ํ•ด์˜ค๋˜ ๋‚˜๋งŒ์˜ ๊ณต๋ถ€๋ฐฉ์‹์„, ์ด์   ์–ด๋Š์ •๋„ ํ™•๋ฆฝํ•ด์„œ ๊ณต๋ถ€์— ๋Œ€ํ•œ ์ŠคํŠธ๋ ˆ์Šค๋„ ์•ฝ๊ฐ„ ์ค„์—ˆ๊ณ  ํŽธํ•ด์กŒ๋‹ค. 1์ฐจ๋ฉด์ ‘์งํ›„์—” ๋ ˆ๋ฒจ..

์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค) Lv1, 2 - ๋‚˜์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ ์ •๋ฆฌ, ํšŒ๊ณ  (from ๋ฏธ๋‹ˆํ”„๋กœ์ ํŠธ, ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ)

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

์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค) Lv3 - 1~2์ฃผ์ฐจ [WAS ๊ตฌํ˜„] ๋ฏธ์…˜ ํ›„๊ธฐ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ

Lv3 ๊ณผ์ • ์†Œ๊ฐœ ํ•™์Šต ๋ชฉํ‘œ ์›น ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์–ด ๋ณด๋Š” ๊ฒฝํ—˜์„ ํ†ตํ•ด HTTP์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ๋†’์ธ๋‹ค. TCP/IP์™€ ๊ฐ™์ด ๋‹ค์–‘ํ•œ ํ”„๋กœํ† ์ฝœ์„ ๋ถ„์„ํ•ด ๋„คํŠธ์›Œํฌ์˜ ๊ธฐ๋ณธ ์—ญ๋Ÿ‰์„ ์Œ“๋Š”๋‹ค. ๋‚˜๋งŒ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•ด ๋ณด๋Š” ๊ฒฝํ—˜์„ ํ†ตํ•ด ์—…๋ฌด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์—ญ๋Ÿ‰์„ ์Œ“๋Š”๋‹ค. ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ์— ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์—ญ๋Ÿ‰์„ ์Œ“๋Š”๋‹ค. MVC, DI ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•ด ๋ณด๋Š” ๊ฒฝํ—˜์„ ํ†ตํ•ด Spring ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋‚ด๋ถ€ ๋™์ž‘ ์›๋ฆฌ์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ๋†’์ธ๋‹ค. ์„ฑ๋Šฅ์„ ๊ณ ๋ คํ•ด ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๊ณ , ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒฝํ—˜์„ ํ•œ๋‹ค. ๊ตฌ์„ฑ 1~2์ฃผ์ฐจ : ์›น์„œ๋ฒ„, WAS ๊ตฌํ˜„์„ ํ†ตํ•œ HTTP ์ดํ•ด + ํŒจํ‚ท๋ถ„์„์„ ํ†ตํ•œ ๋„คํŠธ์›Œํฌ ์ดํ•ด 3~4์ฃผ์ฐจ : MVC ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌํ˜„ + ํ•œ๋Œ€์˜ ์„œ๋ฒ„์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ์ธก์ •, ์„ฑ๋Šฅ ๊ด€๋ จ ๊ธฐ๋ณธ ๊ฐœ๋… 5~6์ฃผ์ฐจ ..

์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค) Lv2 - ๋‚จ์€ ํ•™์Šต์ฃผ์ œ

์šฐํ…Œ์ฝ” ๋ ˆ๋ฒจ2 ๋‚จ์€ ํ•™์Šต ์ฃผ์ œ ๋Œ€์ƒ ๋ ˆ๋ฒจ2 ๊ณผ์ •์ค‘ ๋ฏธ์ฒ˜ ๊ณต๋ถ€ํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋„˜์–ด๊ฐ„ ๋ถ€๋ถ„ ๋‹จ์ˆœํžˆ ๊ธฐ์ˆ ์‚ฌ์šฉ๋งŒ ํ•ด๋ดค๊ฑฐ๋‚˜ ์•Œ์•„๋„ ์ œ๋Œ€๋กœ ์•Œ์ง€๋ชปํ•˜๊ณ  ์–ด๋ ดํ’‹์•„๋Š” ๊ฐœ๋…๋“ค ๋‹ค์‹œ ๋˜์งš๊ณ  ๋„˜์–ด๊ฐ€๊ณ  ์‹ถ์€ ๊ฐœ๋…๋“ค ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•œ ๊ธฐ์ˆ  ๊ฐœ๋… JPA ๊ด€๋ จ ์—ฐ๊ด€๊ด€๊ณ„ ๋งคํ•‘ (ch3.1) @OneToMany ๋“ฑ .. ๋‹จ/์–‘๋ฐฉํ–ฅ, ๋ถ€๋ชจ/์ž์‹ fetchType cascade, orphanRemoval, onDeleteCascade ์˜์†์„ฑ (ch3.2, notion7-4) Paging (ch2.11), Sorting JPQL @Entity๋กœ ์—”ํ‹ฐํ‹ฐ๊ฐ€ ์ธ์‹๋˜๋Š” ๊ณผ์ •๊ณผ, ํŠน์ • ํŒจํ‚ค์ง€ ๋‚ด๋ถ€์˜ @Entity๋งŒ ์Šค์บ”ํ•˜๋Š” ๋ฐฉ๋ฒ• Spring ๊ด€๋ จ spring boot ์ฒ˜์Œ๋ถ€ํ„ฐ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค์–ด๋ณด๊ธฐ (ch1.1) spring Annotation (ch1..

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ