ํผ๋๋ฐฑ ๋๋ ๋ค๋ฅธ ์ฌ๋๋ค์ ์๊ฒฌ๋ค์ ๋๋ง์ ๊ฒ์ผ๋ก ๋ง๋ค๊ธฐ ์ํด, ๊ฐ๋ฐํ๋ฉด์ ๊ณ ๋ คํ๋ฉด ์ข์ ๊ฒ ๊ฐ์ ๋ด์ฉ๋ค์ ์ถ๊ฐํฉ๋๋ค.
- [2020/11/19] ๋งค๊ฐ๋ณ์์ ์์๋ ์ค์ํ๋ค. ๊ฐ์ ํ์ ์ผ๋ก ์ด์ด์ง๋ ๊ฒฝ์ฐ ์ค์ํ ์ฌ์ง๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- [2020/11/19] ํจํค์ง๋ ํด๋น ๋ ์ด์ด์์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ง๋์ง ์๊ฐํ๋ผ.
- [2020/11/20] ์ ๋๋ก ๋ vlidation์ ์ฒ๋ฆฌํ์.
- DB๋ ๋น์ผ ์์์ด๊ธฐ ๋๋ฌธ์ ์ฌ์ ์ ๋ฏธ๋ฆฌ validation ์ฒ๋ฆฌ๋ฅผ ํ์.
- Controller, Service, Model์์ Validation์ ์ฐ์ ์์๋ฅผ ์๊ฐํ๋ค๋ฉด, Model -> Service -> Controller ์์ด๋ผ๊ณ ์๊ฐํ๋ค.
- ๊ฒฝ๊ณ๊ฐ์ ๋ํ validation๋ ๊ณ ๋ฏผํ์.
- [2020/11/20] ์์์ ์๊ด์๋ ๋ก์ง์ ์ฌ๋ฌ ๊ฐ์ง๋ฅผ ์ํํด์ผ ํ๋ค๋ฉด, ๊ฐ๋ฒผ์ด ์ฐ์ฐ๋ถํฐ ์ฒ๋ฆฌํ๋๋ก ํ์.
- [2020/11/26] ๋ฌด์ธ๊ฐ ์์ธก๋์ง ์์ ์์ธ์ ๋ํด ์ฒ๋ฆฌํ ๋๋ ๋๋ฒ๊น
์ ๋์๋๋ ๋ก๊ทธ๋ฅผ ๋จ๊ฒจ๋ผ.
- ๋ชจ๋ ์์ธ์ ๋ํด ๊ธฐ๊ณ์ ์ผ๋ก error ๋ก๊น ์ ๋จ๊ธฐ์ง ๋ง๋ผ.
- ๋ก๊ทธ๋ฅผ ๋จ๊ฒจ์ผ ํ ๋ ํ ์คํธ ํฌ๋งท, ๋ก๊น ๋ ๋ฒจ ๋ฑ์ ๊ณ ๋ฏผํ๋ผ. (stack trace ๊ฐ์ ๋๋ฒ๊น ์ ํ์ํ ๊ฒ๋ค์ ์๊ฐํ๋ผ)
- [2020/11/19] ๊ฐ์ ์บ์คํ ์ ํ๋ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ์๊ธธ ๊ฐ๋ฅ์ฑ์ด ๋์ผ๋ฏ๋ก, ์์ธ ์ฒ๋ฆฌ๋ ๊ผญ ํ๋๋ก ํ์.
- [2020/11/19] ์ปฌ๋ ์ ์ ๋ค๋ฃจ๋ฉด์ ๋๋ก Stream์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ๊ฐ๋ ์ฑ์ด ์ข๊ธฐ๋ ํ๋ค. (๋น์ฉ์ ์ธ ์ธก๋ฉด๋ ๋ฏธ๋นํ ์ฐจ์ด๋ฏ๋ก, ๊ฐ๋ ์ฑ ์ฐจ์ด๊ฐ ํฌ๋ค)
- [2020/11/20] equals์ hashcode, toString ๊ตฌํ์ ๊ผผ๊ผผํ๊ฒ ํ์.
- [2020/11/20] ์์ฑ์๋ 3๊ฐ -> 4๊ฐ -> 5๊ฐ ์์ผ๋ก ์ฒด์ด๋ํ์. (์์ ๊ฐ์์์ ๋ง์ ๊ฐ์์ ์์ฑ์๋ฅผ ํธ์ถํ๋๋ก)
- [2020/11/20] ํ๋๋ Immutable ์ํ๋ก ๋จผ์ ๋ง๋ค์. (final ํค์๋๋ฅผ ์ ์ธํ๊ณ , ์ ์ง์ ์ผ๋ก ๋ฆฌํฉํ ๋ง ํ์)
- [2020/11/20] ์ธ์๊ฐ ๋ง์์ง๋ฉด ๋น๋ ํจํด์ ๊ณ ๋ คํ์.
- [2020/11/20] Optional์ ์ฌ์ฉํด์ if-else๋ฅผ ์ด๋ค๋ฉด Optional์ ์ฌ์ฉํ ์ด์ ๊ฐ ์๋ค.
- [2020/11/20] Optional์ ๋ฆฌํดํ๋ ๊ฒ์ด ์๋๋ฉด, ๋ฐ๋์ null์ ๋ฆฌํดํ์ง ๋ง๋ผ.
- [2020/11/19] @RequestBody์ DTO๋ฅผ ์ฌ์ฉํ ์ง, Map์ ์ฌ์ฉํ ์ง ์ฅ๋จ์ ์ ๋ฐ์ ธ์ ์์ ๋ง์ ๊ธฐ์ค์ ๋ง๋ค์.
- [2020/11/26] ์ค์นผ๋ผ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋, ์กฐํ๋๋ row๊ฐ ๋ง์ผ๋ฉด join์ ์ฌ์ฉํ๋๋ก ํ์.
- ์ค์นผ๋ผ ์๋ธ์ฟผ๋ฆฌ(SELECT๋ฌธ์ ์๋ ์๋ธ์ฟผ๋ฆฌ), ์ธ๋ผ์ธ ๋ทฐ(FROM์ ์ ์๋ ์๋ธ์ฟผ๋ฆฌ), ์๋ธ์ฟผ๋ฆฌ(WHERE์ ์ ์๋ ์๋ธ์ฟผ๋ฆฌ)
- ์ค์นผ๋ผ ์๋ธ์ฟผ๋ฆฌ๋ LEFT OUTER JOIN์ผ๋ก ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
- [2021/03/11] MAX, MIN๊ณผ ORDER BY LIMIT 1 ์ ํํ๋ ๊ธฐ์ค์ ๋จ์ผ ์ปฌ๋ผ์ ๋ํ๋ด์ผ ํ๋ค๋ฉด ์ ์, ๋ณต์์ ์นผ๋ผ์ ๋ํ๋ด์ผ ํ๋ค๋ฉด ํ์๋ฅผ ์ ํํ์
- [2021/03/11] ์ง๊ณํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ๊ทธ๋ฃน์ผ๋ก ๊ตฌ๋ถํ ๋๋ GROUP BY ์ ์ ์ฌ์ฉํ๋ฉฐ, ํน์ ๊ทธ๋ฃน ๊ตฌ๋ถ์์ด ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ ๊ฒฝ์ฐ DISTINCT ์ ์ ์ฌ์ฉํ๋๋ก ํ์
- [2020/11/20] Service ํด๋์ค์ ๋ชจ๋ ๋ฉ์๋๋ ๊ฐ๋ฅํ ํ ์คํธํ๋๋ก ํ์.
- [2020/11/20] ๊ตณ์ด ์ฐ์ ์์๋ฅผ ๋๋ค๋ฉด, ํตํฉ ํ ์คํธ๋ณด๋ค ๋จ์ ํ ์คํธ๋ฅผ ํ์คํ๊ฒ ํ๋๋ก ํ์.
- [2020/11/20] ์ ๋ง๋ก ํ ์คํธ ๋์ด์ผ ํ๋ ๋ถ๋ถ์ ์๊ฐํ๋ฉด์ ์์ฑํ์.
- [2021/01/31] ์ต๋ํ ๋จ์ํ๊ณ , ๊ฐ๊ฒฐํ๊ณ , ํํ๋ ฅ์ด ํ๋ถํ๊ฒ ๋ํ๋ด์. assert ํ๋๋ก ๊ฒ์ฆํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ์ง๋ง, ํ๋์ ํ ์คํธ์ ํ ๊ฐ๋ ๋ง ํ ์คํธํ๊ณ ์๋์ง ๋ฌผ์ํ๋ฅผ ๋์ง๋๋ก ํ์.
- [2021/09/19] ์ฑ๋ฅํ ์คํธ๋ Warm up time์ ๊ณ ๋ คํ๋ผ.