๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ61 02/20(ํ) ๋ด์ผ๋ฐฐ์์บ ํ Java 40์ผ์ฐจ TIL - ํตํฉํ ์คํธ ๐ ์ค๋์ ํ์ต ํค์๋ ๋จ์ํ ์คํธ ํตํฉํ ์คํธ ๐ฅ ๋จ์ํ ์คํธ์ ํตํฉํ ์คํธ 1. ๋จ์ํ ์คํธ (Unit Test) - ํ๋์ ๋ชจ๋์ด๋ ํด๋์ค์ ๋ํด ์ธ๋ฐํ ๋ถ๋ถ๊น์ง ํ ์คํธ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. - ํ์ง๋ง ๋ชจ๋ ๊ฐ์ ์ํธ ์์ฉ์ ๊ฒ์ฆํ ์ ์์ต๋๋ค. 2. ํตํฉํ ์คํธ (Integration Test) - ๋ ๊ฐ ์ด์์ ๋ชจ๋์ด ์ฐ๊ฒฐ๋ ์ํ๋ฅผ ํ ์คํธํ ์ ์์ต๋๋ค. - ๋ชจ๋ ๊ฐ์ ์ฐ๊ฒฐ์์ ๋ฐ์ํ๋ ์๋ฌ ๊ฒ์ฆ์ด ๊ฐ๋ฅํฉ๋๋ค. โ๏ธ ํตํฉํ ์คํธ์ ํน์ง 1. ์ปดํฌ๋ํธ ๊ฐ ์ํธ ์์ฉ ํ์ธ : ์์คํ ๋ด๋ถ์ ์ฌ๋ฌ ์ปดํฌ๋ํธ ๊ฐ์ ํตํฉ์ ํ์ธํ์ฌ ์๊ธฐ์น ๋ชปํ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํฉ๋๋ค. 2. ์ธํฐํ์ด์ค ๋ฐ ๋ฐ์ดํฐ ํ๋ฆ ๊ฒ์ฆ : ์ปดํฌ๋ํธ ๊ฐ์ ์ธํฐํ์ด์ค์ ๋ฐ์ดํฐ ํ๋ฆ์ด ์ ๋๋ก ๋์ํ๋์ง ํ์ธํฉ๋๋ค. 3. ์ ์ฒด์ ์ธ ์์คํ ๋์ ํ์ธ : ๋จ์ ํ ์คํธ๋ก .. 2024. 2. 20. 02/19(์) ๋ด์ผ๋ฐฐ์์บ ํ Java 39์ผ์ฐจ TIL - ๋จ์ํ ์คํธ ๐ ์ค๋์ ํ์ต ํค์๋ ๋จ์ํ ์คํธ ๐ฅ ๋จ์ํ ์คํธ(Unit Test) ๋จ์ํ ์คํธ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ๊ฐ๋ณ ์ฝ๋ ๋จ์๊ฐ ์์๋๋ก ์๋ํ๋์ง ํ์ธํ๊ธฐ ์ํ ํ ์คํธ์ ๋๋ค. ์ฝ๋์ ๊ฐ ๋ฉ์๋์ ๋ํ ํ ์คํธ๋ฅผ ์์ฑํ์ฌ ํด๋น ๋ถ๋ถ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋์ง ํ์ธํฉ๋๋ค. โ๏ธ ๋จ์ ํ ์คํธ์ ๊ธฐ๋ณธ ๊ฐ๋ 1. ๋ ๋ฆฝ์ฑ(Independence) : ๋จ์ํ ์คํธ๋ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋ ์ ์์ด์ผ ํ๊ณ , ๋ค๋ฅธ ํ ์คํธ๋ ์ธ๋ถ ํ๊ฒฝ์ ์ํฅ์ ๋ฐ์ง ์๊ณ ์คํ๋์ด์ผ ํจ. 2. ๋ฐ๋ณต ๊ฐ๋ฅ์ฑ(Repeatable) : ๋์ผํ ์ ๋ ฅ์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ ํญ์ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์์ผ ํฉ๋๋ค. ์ด๊ฒ์ ํ ์คํธ์ ์ผ๊ด์ฑ์ ๋ณด์ฅํจ. 3. ์๋ํ(Automated) : ๋จ์ํ ์คํธ๋ ์๋ํ๋์ด์ผ ํฉ๋๋ค. ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ๋๋ง๋ค ์๋์ผ๋ก ํ ์คํธ๋ฅผ ์คํํ๋ ๊ฒ์ ๋ฒ๊ฑฐ.. 2024. 2. 19. 02/16(๊ธ) ๋ด์ผ๋ฐฐ์์บ ํ Java 38์ผ์ฐจ TIL - OAuth ๐ ์ค๋์ ํ์ต ํค์๋ ์์ ๋ก๊ทธ์ธ OAuth ๐ฅ ์์ ๋ก๊ทธ์ธ ๋ชจ๋ ์น ์ฌ์ดํธ์์ ํ์๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์น๋ ๊ฒ์ ์ฌ์ฉ์์๊ฒ ๋ถ๋ด์ด ๋ฉ๋๋ค. ๋งค๋ฒ ๋ฒ๊ฑฐ๋ก์ด ํ์๊ฐ์ ๊ณผ์ ์ ์ํํ ๋ฟ ์๋๋ผ, ์น ์ฌ์ดํธ๋ง๋ค ๋ค๋ฅธ ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ธฐ์ตํด์ผ ํฉ๋๋ค. ๋ํ ์น ์ฌ์ดํธ๋ฅผ ์ด์ํ๋ ์ธก์์๋ ํ์๋ค์ ๊ฐ์ธ์ ๋ณด๋ฅผ ์ง์ผ์ผ ํ๋ ์ญํ ์ด ๋ถ๋ด์ด ๋ฉ๋๋ค. ๋ฐ์ด๋ฌ์ค์ ๋ฐฑ์ ์ ๊ด๊ณ ์ฒ๋ผ, ๋ฐ์ ํ๋ ํดํน ๊ธฐ์ ์ ๋ง๊ธฐ ์ํด ๋ณด์์ ๊ฐํํ๋ ๋ ธ๋ ฅ์ด ์ง์์ ์ผ๋ก ํ์ํ๊ธฐ ๋๋ฌธ์ด์ฃ . ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด OAuth ๋ฅผ ์ฌ์ฉํ ์์ ๋ก๊ทธ์ธ์ด ๋ฑ์ฅํฉ๋๋ค. ๐ฅ OAuth OAuth๋ ์ธํฐ๋ท ์ฌ์ฉ์๋ค์ด ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๊ณตํ์ง ์๊ณ ๋ค๋ฅธ ์น์ฌ์ดํธ ์์ ์์ ๋ค์ ์ ๋ณด์ ๋ํด ์น์ฌ์ดํธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ ์ ์๋ ๊ณตํต์ ์ธ ์๋จ์ผ๋ก์จ ์ฌ.. 2024. 2. 16. 02/15(๋ชฉ) ๋ด์ผ๋ฐฐ์์บ ํ Java 37์ผ์ฐจ TIL - .gitignore ๐ ์ค๋์ ํ์ต ํค์๋ gitignore ๐ฅ .gitignore ๋? .gitignore ํ์ผ์ Git ์ root ๋๋ ํ ๋ฆฌ์ ์ ์ฅ๋์ด, Git Repository ๋ Staging Area ์ ์ถ๊ฐ๋์ง ๋ง์์ผ ํ๋ ํด๋๋, ํ์ผ์ ์ ์ํ๋ ํ์ผ์ ๋๋ค. .gitignore ์ ์ ์๋ ํ์ผ์ Staging Area ์ ์ฌ๋ผ๊ฐ์ง ์๊ธฐ ๋๋ฌธ์ tracking ๋์ง ์์์ git status ๋ฅผ ํ์ ๋ ๋ณด์ด์ง ์์ต๋๋ค. โ๏ธ gitignore ๋ก git ์ ์ถ๊ฐ๋์ง ๋ง์์ผ ํ ํ์ผ ์ ์ **/application.properties ์ด ์ฝ๋๋ฅผ ์ถ๊ฐํจ์ผ๋ก์จ ๊นํ๋ธ์ ์ค์์ ๋ณด๊ฐ ์ฌ๋ผ๊ฐ์ง ์๊ฒ ๋์์ต๋๋ค. application.properties ์ ๊ฐ์ ๋ฏผ๊ฐํ ํ์ผ๋ค์ ๊นํ๋ธ์ ์ฌ๋ผ๊ฐ์ง ์๊ฒ ํ์์ต๋๋ค. ๐ ์ค๋.. 2024. 2. 15. 02/15(๋ชฉ) ๋ด์ผ๋ฐฐ์์บ ํ NEWSFEED KPT ํ๊ณ ๐ NEWSFEED KPT ํ๊ณ ์ ํฌ ์กฐ๋ ์ด๋ฒ์ ์ค๋์ ์ด๋๊ณผ ์๋จ์ ๋ญ์์ด? ๋ฅผ ์ค์ธ ์ค์ด์๋ญ๋ผ๋ ํ๋ก์ ํธ๋ฅผ ์งํํ์์ต๋๋ค. โ๏ธ GitHub ๋งํฌ https://github.com/potatobboi/newsfeed Keep - ํ์ฌ ๋ง์กฑํ๊ณ ์๋ ๋ถ๋ถ ๋ง๋ค๊ณ ์ถ์ ๊ธฐ๋ฅ์ ๋ํด์ ๊ณํํ๋๋๋ก ๊ตฌํํ๋ค. ์ฌ๋ ๋ฑ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์์ฌ์ํต์ ํ ๊ฒ ํ์๋ค๊ณผ์ ๋ถ์๊ธฐ๊ฐ ์ข์๋ค. ๊ฐ์ ๋งก์ ํํธ๋ฅผ ๋ชจ๋ ๊ตฌํํ๋ค. Problem - ๋ถํธํ๊ฒ ๋๋ผ๋ ๋ถ๋ถ ์์ง ์คํ๋ง์ ๋ํ ์ดํด๋๊ฐ ๋ฎ์ ๋ง์ ์ด๋ ค์์ ๊ฒช์๋ค. ์ค๊ณ๋จ๊ฒ์ spring๊ณผ spring security์ ๋ํ ์ดํด ๋ถ์กฑ ResponseEntity๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ์ฌ์ฉํ๋ค. Exceptionhandler๋ก ๊ธ๋ก๋ฒํ๊ฒ ์๋ฌ์ฒ๋ฆฌ๋ฅผ ํ์ง ์์๋ค. ์ปค๋ฐ์ด๋ pu.. 2024. 2. 15. 02/14(์) ๋ด์ผ๋ฐฐ์์บ ํ Java 36์ผ์ฐจ TIL - Validation ๐ ์ค๋์ ํ์ต ํค์๋ Validation ๐ฅ Validation ์ด๋? ํ๋ก๊ทธ๋๋ฐ์ ํ๋ ๋ฐ ์์ด์ ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ ๋๋ค. ํนํ, Java ๋ null ๊ฐ์ ๋ํ ์ ๊ทผ์ ๋ํด NullPointrException ์ค๋ฅ๊ฐ ๋ฐํํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ๋ถ๋ถ์ ์๋ฐฉํ๊ธฐ ์ํด Validation (๊ฒ์ฆ ๊ณผ์ ) ์ด ํ์ํฉ๋๋ค. Spring ์์๋ null ํ์ธ๋ฟ ์๋๋ผ ๋ฌธ์์ ๊ธธ์ด ์ธก์ ๊ณผ ๊ฐ์ ๋ค๋ฅธ ๊ฒ์ฆ ๊ณผ์ ๋ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก Bean Validation ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ๐ฅ Bean Validation ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๋ ์ฌ๋ฌ ์๋ํ ์ด์ ์ ์ ๊ณตํด์ค๋๋ค. - @NotNull : null ๋ถ๊ฐ - @NotEmpty : null, "" ๋ถ๊ฐ - @NotBlank : null, "", " " ๋ถ๊ฐ - @.. 2024. 2. 14. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 11 ๋ค์