์๋
ํ์ธ์ โบ๏ธ
๋ชฐ์
์ ์ฆ๊ธฐ๋ ๊ฐ๋ฐ์, ๋ฐ์ฐ๋น์
๋๋ค.
(ํ) ์บ์นํ ์ด๋ธ(์๋) ์ํํธ์จ์ด ์์ง๋์ด
(์ ) ์ฐ์ํํ์ ๋ค ์ํํธ์จ์ด ์์ง๋์ด
์ฐ์ํํ ํฌ์ฝ์ค 3๊ธฐ, 4๊ธฐ ๋ฆฌ๋ทฐ์ด / ์ฐ์ํํ ํฌ์บ ํpro 1๊ธฐ ๋ฆฌ๋ทฐ์ด / ๊ทธ ์ธ ๋ค์ํ ๋ฆฌ๋ทฐ์ด ํ๋
Courses
Reviews
- Readable Code: Mindset for Writing Readable Code
- Readable Code: Mindset for Writing Readable Code
- Readable Code: Mindset for Writing Readable Code
- Practical Testing: Practical Testing Guide
- Practical Testing: Practical Testing Guide
Posts
Q&A
๋ง์ฝ ๋ณด๋๋ฅผ ์ด์ฉํ ๊ฒ์์ ์ข ๋ฅ๊ฐ ๋ ๋ค์ํด์ง๋ค๋ฉด ์ด๋ป๊ฒ ๋ ์ ์์์ง์ ๋ํ ๊ณ ๋ฏผ
์๋ ํ์ธ์, wjdghks5698 ๋!์ข์ ์ง๋ฌธ์ด๋ค์. ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ๊ตฌํ ๋ฐฉํฅ์ด ๋ฌ๋ผ์ง๊ฒ ์ง๋ง, ์๋ง ํ๋์ GameBoard ๊ตฌํ์ฒด๋ฅผ ๋๊ณ ์ฌ๋ฌ ๊ฒ์์ด ๊ณต์ ํ๋ค๋ฉด ๊ธฐ๋ฅ์ ์ ๋ง ์ ์ธ๋ถํํด์ผ ํ ๊ฒ ๊ฐ์์.๋ณด๋ํ ์์ฒด๊ฐ ๊ทธ์ ํ์ ์์ฑํ๊ณ , ๊ธฐ๋ฌผ์ ํ์ํ๋ ์ ๋์ ์ญํ ์ ๊ฐ๋๋ค๋ฉด ๋๋ถ๋ถ์ ๋ณด๋ํ ๊ฒ์์์ ํ์ํ ๊ธฐ๋ฅ์ด๋ ๋ง์ํ์ ๋๋ก ๊ฐ๋ฅํ ๊ฒ ๊ฐ์์.์กฐ๊ธ์ด๋ผ๋ ๊ฐ ๊ฒ์์ ํนํ๋ ๊ธฐ๋ฅ์ด ๋ณด๋ํ์ ํ์ํ ์ํฉ์ด๋ผ๋ฉด, ์คํ๋ ค ๊ฒ์ ๋ณ๋ก ๋ณด๋ํ์ ๋๋ ๊ฒ ํฅํ ์ ์ง๋ณด์์ ํธํ ์๋ ์์ต๋๋ค. (๋ณด๋์ ๊ธฐ๋ฅ์ ์ค๋ณตํด์ ๋ง๋๋ ๋ถํธํจ์ด ์๊ฒ ์ง๋ง์)์ง๊ธ ๊ฐ๋ณ๊ฒ ์๊ฐํ๊ธฐ์๋ ๊ณตํต์ ๋ณด๋ํ์ ์ฌ์ฉํ๋ ๊ฒ ๊ฐ๋ฅํ ๊ฒ ๊ฐ๋ค์. ์ฃผ์ด์ง ์๊ตฌ์ฌํญ์ ์ค์ฌ์ผ๋ก, ๊ทธ๋ฆฌ๊ณ ๋ฏธ๋์ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ๋์ ๋ฐฉํฅ์ผ๋ก ์์ฌ๊ฒฐ์ ํ๊ณ ํ๋ก๋ํธ๋ฅผ ์ค๊ณํ์๋ฉด ๋ฉ๋๋ค. ๋ณด๋์ฒ๋ผ ์ฌ๋ฌ ๊ณณ์์ ํ์ฉ๋๋ ๊ธฐ๋ฅ์ด ์ ๋ถ๋ฆฌ๋์ด ์ฌ์ฌ์ฉ๋๊ณ ํ์ฅ๋๋ ๊ฒ์ ๋ชฉํ๋ก ํด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค์.๊ฐ์ฌํฉ๋๋ค. ๐
- 0
- 2
- 10
Q&A
DIP ์ค๋ช ํ๋ฐ๋ถ์ IOC์ ๋ํ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์, ์ธ์์ํ์ ๋ชฉ๋ง ๋!๋จผ์ ์ปดํ์ผ ํ์๊ณผ ๋ฐํ์ ์์ ์ ๊ตฌ๋ถํด์ ์ดํดํ์ ์ผ ํฉ๋๋ค. DIP๊ฐ ์ ์ฉ๋์ง ์์ ์ฝ๋๋ ์ธํฐํ์ด์ค ์์ด ์์ ๋ชจ๋์ด ํ์ ๋ชจ๋์ ์ง์ ์ ์ผ๋ก ์ฐธ์กฐํ๊ณ ์๊ฒ ๋ฉ๋๋ค. ์ปดํ์ผ ํ์๋ถํฐ ์ด๋ค ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ ์ง ์๊ณ ์๊ฒ ๋๋ ๊ฒ์ด์ฃ . DIP๊ฐ ์ ์ ์ฉ๋์ด ์ธํฐํ์ด์ค๋ก ์ฐธ์กฐํ ๊ตฌํ์ฒด์ ๊ธฐ๋ฅ๋ง ์๊ณ ์๊ณ , ์ง์ ์ ์ธ ๊ตฌํ์ฒด ์์ฒด๋ ์ ์ ์๋ ๊ตฌ์กฐ๋ผ๋ฉด, ์ปดํ์ผ ์์ ์๋ ์ ์ ์์ง๋ง ์ค์ ์คํ ์์ ์ธ ๋ฐํ์ ์์ ์ ๊ตฌํ์ฒด๋ฅผ ์ฃผ์ ๋ฐ๊ฒ ๋ฉ๋๋ค.์คํ๋ง IOC์ ์ฅ์ ์ ์ค๋ช ํ๋ผ๊ณ ํ๋ฉด ์ ์ด์ ์ญ์ ์ด ๋๋ฉด์ ๊ตฌํ ์ธ์คํด์ค ๋ณ๊ฒฝ์ ์ ์ฐํด์ง๋ค๋ผ๊ณ ๋ค์๋๋ฐ์์ ๊ฐ์ด ํํํ์ ๊ฒ์ฒ๋ผ ์ง์ ์ฐธ์กฐ๊ฐ ์๋ ์ธํฐํ์ด์ค๋ฅผ ํตํ ์ฐธ์กฐ๋ผ๋ฉด ํ์ ๋ชจ๋์ธ ๊ตฌํ์ฒด ๊ฐ์ฒด๊ฐ ๋ณ๊ฒฝ๋์ด๋ (์ธํฐํ์ด์ค ์คํ๋ง ์ ์งํ๋ค๋ฉด) ์์ ๋ชจ๋์ด ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค. ๊ทธ๋ ๊ธฐ์ "๋ณ๊ฒฝ"์ ์ ์ฐํด์ง๋ค๊ณ ํ๋ ๊ฒ์ ๋๋ค. ๊ตฌํ์ฒด๊ฐ ๊ผญ ํ๋๋ง ์๋ ์ํฉ ๋ง๊ณ ๋, ์คํ๋ง์์๋ ๋ฐํ์ ์์ ์ ์ฌ๋ฌ ๊ตฌํ์ฒด(Bean) ์ค ์ํฉ์ ๋ง๋ ๊ฒ์ ์ ํํ์ฌ ์ฃผ์ ํ ์๋ ์์ต๋๋ค. ์ด์ฒ๋ผ ๋์ผํ ์ธํฐํ์ด์ค ์คํ๋ง ์ ์ง๋๋ค๋ฉด ๊ตฌํ์ฒด๋ฅผ ์ผ๋ง๋ ์ง ๊ต์ฒดํ ์ ์๊ธฐ ๋๋ฌธ์, ์คํ๋ง IoC๋ ๋ณ๊ฒฝ์ ์ ์ฐํ ๊ตฌ์กฐ๋ผ๊ณ ํ ์ ์์ต๋๋ค.๋์์ด ๋์ จ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.๊ฐ์ฌํฉ๋๋ค. ๐
- 0
- 2
- 13
Q&A
์๋ ํ์ธ์ ! ํน์ ์๋ฐ๊ฐ ์๋ ๋ค๋ฅธ ๊ฐ์ฒด์งํฅ ์ธ์ด๋ฅผ ์๊ณ ์์ด๋ ๊ฐ์๋ฅผ ๋ค์ด๋ ๊ด์ฐฎ์๊น์ ?!
์๋ ํ์ธ์, ๋ฐ์์ฝฉ ๋!๋ค, ๊ทธ๋ผ์! ์ถฉ๋ถํ ๊ฐ๋ฅํฉ๋๋ค. ํน์ ์ธ์ด์ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ์์ ๊ฐ ์๋๋ผ์, ๋ชจ๋ฅด๋ ๋ฌธ๋ฒ์ด ๋์๋ ๊ทธ๋๋ง๋ค ๊ฐ๋ณ๊ฒ ํ์ตํ๋ฉด์ ์งํํ์๋ฉด ์ถฉ๋ถํ ๋ฐ๋ผ๊ฐ์ค ์ ์์ต๋๋ค. (์์ฆ์ ๋ GPT๊ฐ ์ ์๋ ค์ฃผ๋๊น์~)๊ฐ์ฌํฉ๋๋ค ๐
- 0
- 1
- 15
Q&A
์๋ ํ์ธ์ ๋ฉ์๋๋ช ๋๋ฌธ์ ๊ณ ๋ฏผ์ด ์์ด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์, III ๋!์ด๋ ๋ฐฉ๋ฒ์ด ๋ฌด์กฐ๊ฑด ๋ ์ข๋ค๊ณ ๋งํ๊ธฐ๋ ์ด๋ ค์ด๋ฐ์, ์ํฉ์ ๋ฐ๋ผ ์ ํํ์๋ฉด ๋ ๊ฒ ๊ฐ์์.Tip ์ด๋ผ๋ ๋๋ฉ์ธ์ ํน์ฑ์ด ํญ์ save ํ์์ ๊ธฐ๋ฐ์ผ๋ก ๋์ํด์ผ ํ๋ค๋ฉด 1๋ฒ์ด ๋ ํธํ ๊ฒ์ด๊ณ , ๊ทธ๋ ์ง ์๊ณ ์ ์ฅ์ด ์๋ ๋ค๋ฅธ ํ์๋ง ์ํํ๋ ๊ฒฝ์ฐ๋ ์๋ค๋ฉด 2๋ฒ์ ๊ณ ๋ คํด๋ณผ ์๋ ์์ ๊ฒ ๊ฐ๋ค์.Builder์ ๊ฒฝ์ฐ๋ ๊ฐ์ฒด ์์ฑ์ ๊ด๋ จ๋ ์ฝ๋์ด๋, ์ ๋ ๊ฐ์ฒด(์ฌ๊ธฐ์๋ Entity) ์์ ๋ฃ๊ณ ์์ต๋๋ค.๋์์ด ๋์ จ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.๊ฐ์ฌํฉ๋๋ค. ๐
- 1
- 2
- 30
Q&A
์ปค๋ฒ๋ฆฌ์ง๋ ์ด๋ป๊ฒ ํ์ฉํ์๋์ง ๊ถ๊ธํฉ๋๋ค.
์๋ ํ์ธ์, seonrizee ๋!์ ๋ ๋ค์๊ณผ ๊ฐ์ด ์๊ฐํฉ๋๋ค.์ปค๋ฒ๋ฆฌ์ง ์์ฒด๋ฅผ ์ค์ํ๊ฒ ์ ๊ฒฝ์ฐ๋ ๊ฒ ๋ณด๋ค๋ ์ค์๋์ ๋ฐ๋ฅธ ๋๋ฉ์ธ/๋น์ฆ๋์ค ๋ก์ง์ ์ง์คํ์ฌ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๋ง๋ค.๋ค๋ง, ํ ๋ด์์ ์ปค๋ฒ๋ฆฌ์ง ์์ฒด์ ๋ํ ์ต์ ๊ธฐ์ค์ ๊ฐ์ ธ๊ฐ๋ ๊ฒ์ ํ์ ๋ชจ๋๊ฐ ์์์ ์ผ๋ก ํ ์คํธ ์ฝ๋๋ฅผ ๊พธ์คํ ์์ฑํ๊ฒ๋ ํ๋ ๋๋ ฅ์ด ๋ ์ ์๋ค.ex. ์ฐ๋ฆฌ ํ์ ์ต์ ๋ผ์ธ ์ปค๋ฒ๋ฆฌ์ง๋ 60%๋ก ์ ํ๋ค. (ํฅํ ์ปค๋ฒ๋ฆฌ์ง๊ฐ ๋ ์ข์์ง๋ฉด, 65, 70% ๋ก ๋์ฌ์ ์ ์ฉํด๋๊ฐ ์๋ ์์)๊ฐ์ฌํฉ๋๋ค. ๐
- 0
- 2
- 62
Q&A
ํ ์คํธ ๋ฌธ์ํ ์ง๋ฌธ์ ๋๋ค
์๋ ํ์ธ์, save ๋!ํ ์คํธ ์ฝ๋ ์์ฒด๋ฅผ ๊ตณ์ด ๋ฌธ์ํํ์ง๋ ์์ต๋๋ค. ์ด๋ฏธ ํ ์คํธ ์ฝ๋ ์์ฒด๊ฐ ๋ฌธ์์ ๊ธฐ๋ฅ์ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ใ ใ ๋์์ด ๋์ จ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.๊ฐ์ฌํฉ๋๋ค. ๐
- 0
- 2
- 39
Q&A
๋จ์ํ ์คํธ ์ง๋ฌธ์ด ์์ต๋๋ค
์๋ ํ์ธ์, woo93xna ๋!์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅธ๋ฐ์. ์๋ฅผ ๋ค์ด ๋ง์ฝ native query๋ก ์ง์ ๊ตฌํํ CRUD ๊ธฐ๋ฅ์ด๋ผ๋ฉด ๋น์ฐํ ๋ด๊ฐ ์์ฑํ ๊ธฐ๋ฅ์ด๋ ํ ์คํธ๊ฐ ํ์ํ ๊ฒ์ด๊ณ ์.JpaRepository ๊ฐ์ด ์ด๋ฏธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋จ์์ ๋ณด์ฅ๋ ๊ธฐ๋ฅ์ (๋ฌผ๋ก ํ ์คํธ ํด๋ ๋์ง๋ง) ๊ตณ์ด ํ ์คํธํ์ง ์์ผ์ ๋ ๊ด์ฐฎ์ต๋๋ค. ์ฐ๋ฆฌ์๊ฒ ์ค์ํ ๊ฒ์ ์๊ฐ์ด๊ณ , ๊ทธ ์๊ฐ์ ์๋์ ์ผ๋ก ๋ ์ค์ํ ํ ์คํธ์ ํ์ ์๋ ๊ฒ์ด ์ด๋์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.๋์์ด ๋์ จ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.๊ฐ์ฌํฉ๋๋ค. ๐
- 0
- 2
- 41
Q&A
์ปจํธ๋กค๋ฌ๋ ๋ชจํน์ ํ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค.
์๋ ํ์ธ์, jaljayo85 ๋!Controller ๊ณ์ธต์ ๋ณด์๋ค์ํผ ๋งค์ฐ ์์ ๊ณ์ธต์ผ๋ก, ๋น์ฆ๋์ค ๋ก์ง์ด ์๊ณ , ํ๋ผ๋ฏธํฐ์ ๊ฒ์ฆ ์ ๋๋ง์ ๋ด๋นํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ Controller๋ฅผ ํ ์คํธํ๊ณ ์ ํ ๋๋ ์๋์ ์ผ๋ก ๋ฌด๊ฑฐ์ด ๋น์ฆ๋์ค ๋ก์ง์ ๋ด๊ณ ์๋ Service๋ฅผ mockingํ๋ ๊ฒ์ด ์ ์ ํ ํ๋จ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.๋ฐ๋ฉด Service, Repository ๋ ๋ ๋ ์ด์ด๊ฐ ์ฐํฉํ์ฌ ๋น์ฆ๋์ค ๋ก์ง์ ์ ๊ฐํ๊ณ ์์ผ๋ฏ๋ก, (Repository์ ๊ธฐ๋ฅ๋ ๋จ๋ ํ ์คํธ๋ก ๋ณด์ฅํจ๊ณผ ๋์์) ํตํฉ ํ ์คํธ๋ฅผ ์์ฑํ์ฌ ์ํ๋ ์๊ตฌ์ฌํญ์ ๋ฐ์ํ๊ณ ์๋์ง๋ฅผ ํ ์คํธํ๋ค๊ณ ์ดํดํด์ฃผ์๋ฉด ๋๊ฒ ์ต๋๋ค.๋์์ด ๋์ จ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.๊ฐ์ฌํฉ๋๋ค. ๐
- 0
- 2
- 43
Q&A
ERD ๊ฐ์ฅ์๋ฆฌ์ ์๋ ๋๋ฉ์ธ ํ ์คํธ ์ง๋ฌธ
์๋ ํ์ธ์, ๊นํ์ค ๋!๋ค, ๋ง์ต๋๋ค. ์ฎ์ฌ ์๋ ๋๋ฉ์ธ์ด ๋ง์์๋ก ๋ฒ์ด์ง ์๋ฐ์ ์๋ ์ํฉ์ด๊ธฐ์, ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด๋ณด์๋ฉด ์ข์ต๋๋ค.ํ ์คํธ ํด๋์ค ๋ด์์ ์ค๋ณต ๋ก์ง ์ถ์ถ (์ ์ ํ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค๋ฉด) fixture ๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์๋ ์ ํธ ํด๋์ค ์ถ๊ฐ ๋ฐ ์ด์ฉ์๋ฅผ ๋ค์ด C ๋๋ฉ์ธ์ ๋ง๋ค๊ธฐ ์ํด A, B ๋๋ฉ์ธ์ด ์์ฐจ์ ์ผ๋ก ํ์ํ ์ํฉ์์, ๋๋ถ๋ถ์ ํ ์คํธ์์ A, B๊ฐ ํฌ๊ฒ ๋ฌ๋ผ์ง์ง ์๋๋ค๋ฉด ์์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด ์์ฐ์ฑ์ ๋์ฌ๋ณผ ์ ์์ ๊ฒ ๊ฐ์์.๋ค๋ง, ๋๋ฌด ๋ง์ ์ ๋ณด๋ฅผ ํจ์ถํ์ฌ ํ ์คํธ ์ฝ๋๋ฅผ ์ฝ์ ๋ ์ด๋ ค์์ด ์๊ธฐ๋ ์ํฉ์ ์ ํผํด์ ๋์ ํ๋ ๊ฒ์ด ์ข๊ฒ ์ต๋๋ค.๋์์ด ๋์ จ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.๊ฐ์ฌํฉ๋๋ค. ๐
- 0
- 2
- 39
Q&A
์๋ฐ record ์ฌ์ฉ์ ๋ํด์ ์ง๋ฌธ ๋๋ฆฝ๋๋ค!
์๋ ํ์ธ์, ์ด์ฐฌ์ ๋!์ข์ ์ง๋ฌธ์ด๋ค์. record๋ ๋ณธ์ง์ ์ผ๋ก DTO์ VO์ ์ฌ์ฉ๋๋ฉฐ, ๋ง์ํ์ ๋๋ก ๋ถ๋ณ์ฑ์ ๋ณด์ฅํ๋ฉด์ ์ฌ์ด๋์ดํํธ๋ฅผ ์ค์ฌ์ฃผ๋ ์ญํ ์ ํ๋๋ฐ์.์ธ์ record๋ฅผ ์ฐ๊ณ ์ธ์ class๋ฅผ ์ฌ์ฉํด์ผํ๋์ง ๋ช ํํ๊ฒ ์ง์นจ์ ์ธ์ฐ๊ธฐ๋ ์กฐ๊ธ ์ด๋ ต์ง๋ง, ์ด๋ฏธ ์ ์๊ณ ๊ณ์๋ ๊ฒ์ฒ๋ผ ํด๋น ๊ฐ์ฒด๊ฐ ๋ถ๋ณ์ฑ์ ๋ฐ์ด๋์ด ์ํ๊ฐ ๋ณํ๋ ๋ฑ์ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ฒ ๋๋ค๋ฉด class๋ก ๋ณ๊ฒฝํ ๊ฒ ๊ฐ์์. ์๋ง record์ ๊ธฐ๋ฅ์ ํ์ฅํ์๋ฉด์ ํ๊ณ๊ฐ ๋๊ปด์ก๋ค๋ ๋ถ๋ถ์ด ์ด๋ฐ ๋ถ๋ถ ์๋์์๊น ์ถ๋ค์ ใ ใ ๊ฐ์ฌํฉ๋๋ค. ๐
- 0
- 2
- 58






