
๊ฐ์ IntelliJ ์์ ํ๋ก ํธ ์ชฝ ์์ ์ ํ๋ค๋ณด๋ฉด, ๊ณต๋ฐฑ์ด๋ ํน์ ๋ฌธ๊ตฌ์ ๋ํด ์๋์ผ๋ก Renderํ์ฌ ํ๊ธฐ(์ฌ์ค์ ์ถ๊ฐ)ํ๋ค. ์ฒ์์ ํธ๋ฆฌํ๊ณ ์ข์๋๋ฐ, ์ธ์ ๊ฐ ๋ฐฐํฌํ๋ฉด์ ์ด ๊ธฐ๋ฅ ๋๋ฌธ์ ์ ๋ ฌ์ด ํ์ด์ง๋ ์ด์๊ฐ ๋ฐ์ํ์ฌ ํด๋น ๊ธฐ๋ฅ์ ์ข ๋ฃํ๊ธฐ๋ก ํ๋ค. * ์ค์ ํ๊ธฐ Setting - Advanced Settings - Render special characters, such as control codes, usiong their Unicode name abbreviations ์ ์ฒดํฌ๋ฐ์ค ํด์ ๊ฒฐ๊ณผ ์๋ ์์ฑ๋์๋ special charactersspecial characters ๊ฐ ์ฌ๋ผ์ง๊ณ ๊ณต๋ฐฑ์ผ๋ก ๋ณ๊ฒฝ์ด ๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค. ํ๊ธฐ ์ด์๊ฐ ๋ฐ์ํ์ ๋ ๊ณง๋ฐ๋ก ์ฐพ์ ์ ์์์ง๋ง, ์ฐ๋ฆฌ ํ์์ด ๋ดค๋ค๋ฉด..

๊ฐ์ * ์์ธํ์ -์ฒซ ํ๋ฉด(๋์๋ณด๋) ์ง์ ์ ๋๋ฆผ ๐์์์ ์ด๋ ๋ค. '์ฐ๋ฆฌ ์ฌ์ดํธ๊ฐ ๋๋ฌด ๋๋ ค์.. ์ด๋ป๊ฒ ๊ฐ์ ์๋ ๊น์?' ๋ผ๋ ๋ง์ ๋ฃ๊ณ ์ฌ์ดํธ๋ฅผ ๋ค์ด๊ฐ๋ดค๋ค. ์ธ์์.. ์ฌ์ฉ์ ๊ฒฝํ์ด ๋ฏธ์ฒ ์์ด๊ธฐ๋ ์ ์ ๋์กฐ์ฐจ๋ ์ดํํ๊ณ ์ถ์ ์๋์๋ค. DevTools ๋ก ๋คํธ์ํฌ ์กฐํํด๋ณด๋ ์ฌ์ดํธ ์ง์ ์, Font์ ๋ํ CSS ํ์ผ์ ๋ถ๋ฌ์ค๋๋ฐ ๊ฝค๋ ํฐ ๋ชซ์ ํ๊ณ ์์๋ค. ์์ธ ์์ธ์ Font! ๊ตฌ๊ธ์์ fonts ๋ฅผ ๋ถ๋ฌ์ค๋ ๊ณณ์์ ํฐ Delay ๊ฐ ์์๋๋ฐ, ๋ถํ์ํ ๋ฆฌ์์ค ์์ฒญ๊ณผ ํจ๊ป ์์ฒญ ๋ง์ font ๋ฅผ ๋ถ๋ฌ์ค๊ณ ์์๋ค. ์๋ฒ์ ๊ฒฝ๋ํ๋ฅผ ์ํด์์ธ์ง(์ถ์ธก) Google fonts ๋ฅผ ์ง์ ํธ์ถํ๊ณ ์์๋๋ฐ ์ฌ์ง์ด ์ฌ์ฉํ์ง ์๋ font ๋ค๋ ์ ์ธํ์ฌ ํธ์ถ์ค์ด์๋ค.. (์ด๋ฐ.. cdn ์๋ฒ๊ฐ ๊ฐ๊น์ด์ง๋ ๋ชจ..

QUOTE THE DAY “ ์๋ฌ ์๋ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๋ฐ๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค. ๊ทธ๋ฐ๋ฐ ์ธ๋ฒ์งธ ๊ฒ๋ง ์๋ํ๋ค. ” - Alan J. Perlis (์จ๋ฐ J. ํ๋ฆฌ์ค) CQRS (Command Query Responsibility Segregation) * CQRS ๋? ๐์ง์ญํ์๋ฉด ๋ช ๋ น๊ณผ ์ฟผ๋ฆฌ์ ์ญํ ์ ๊ตฌ๋ถํ๋ค๋ ๊ฒ์ด๋ค. Create-Insert, Update, Delete ์ ๊ฐ์ด ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ๊ณผ Select-Read ์ ๊ฐ์ด ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๊ฒ ๋ ๊ฐ์ง์ ์ฑ ์์ ๋ถ๋ฆฌํ๋ค๋ ๊ฒ์ด๋ค. * ์ ์ฌ์ฉํ ๊น? ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋(ํน์ ์ฌ์ฉํ๋) ์ ํต์ ์ธ CRUD ์ํคํ ์ณ ๊ธฐ๋ฐ์์ ์์คํ ์ ์ ์ง๋ณด์ํ๋ค ๋ณด๋ฉด, ์ถ๊ฐ์ ์ธ ์๊ตฌ์ฌํญ๊ณผ ์ ์ฑ ์ ๋ณํ๋ค๋ก ์์ฐ์ค๋ฝ๊ฒ ๋ก์ง์์ Domain Model ๋ณต์ก๋๊ฐ ์ฆ๊ฐํ๊ฒ..

๊ฐ์ * ์ผ์ ๋๋ ๋งฅ ํค๋ณด๋๋ฅผ(๋งฅ ํค๋ณด๋ ์ต์ ์) ๊ทธ๋๋ก ์ฐ๊ณ ์ถ์ด! ๐๋งฅ OS(๋งฅ๋ถ) ์ ์๋์ฐ OS(๋ฐ์คํฌํฑ) ๋ ๊ฐ์ OS๋ฅผ ์ฌ์ฉ์ค์ธ ๋ณธ์ธ์ ํ๋์ ํค๋ณด๋๋ก ์ค์์นญ ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ ์ฌ์ฉํ๊ณ ์๋ค. ๊ทธ๋ฐ๋ฐ ์ค์์นญ์ด ๋๋ฌด ๋ฒ๊ฑฐ๋กญ๊ณ ์ ํ ์๋ง๋ค ๋๋ ์ด๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์๋์ฐ๋ฅผ ๋งฅ์ ๋ง์ถ๊ธฐ๋ก ํ๋ค. ๊ทธ๋ ๊ฒ ์ฐพ๋ค๊ฐ ๋ฐ๊ฒฌํ PowerToys - Microsoft ์ฑ ์คํ ์ด์์ ๋ค์ด๋ก๋ ๋๋ ๋งํฌ๋ค. Get Microsoft PowerToys from the Microsoft Store Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows 10 and 11 experience for great..

DBeaver (๋จ์ถํค) * SQL Editor ๐จ๐ป๐ปโจ CTRL+Enterํ์ฌ ์ฟผ๋ฆฌ ์คํ ( * ) CTRL+\์ ํญ์์ ํ์ฌ ์ฟผ๋ฆฌ ์คํ ALT+Xํ์ฌ ์คํฌ๋ฆฝํธ ์คํ ( ** ) CTRL+ALT+'์ ํ๋ SQL ์ ์คํ ๋ฐ ๊ฒฐ๊ณผ ์ถ๋ ฅ CTRL+SHIFT+Eํ์ฌ ์ฟผ๋ฆฌ ์คํ ๊ณํ ์ค๋ช CTRL+ALT+SHIFT+Xํ์ฌ ์คํฌ๋ฆฝํธ์ ์ฟผ๋ฆฌ๋ฅผ ๋์์ ์คํํ์ฌ ๋ณ๋์ ํญ์ ๊ฒฐ๊ณผ ํ์ CTRL+9ํ์ฑ(Session) ์ฐ๊ฒฐ ์ ํ (SQL ์คํฌ๋ฆฝํธ์ ๊ฒฝ์ฐ) CTRL+Space Option+SpaceSQL ์๋ฃ ์ ์ ํ์ CTRL+ALT+SpaceSQL ํ ํ๋ฆฟ ์ ์ ํ์ CTRL+SHIFT+Fํ์ฌ ํฌ๋งทํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฌ ์คํฌ๋ฆฝํธ ํฌ๋งท ( ** ) CTRL+/ CTRL+SHIFT+/๋จ์ผ / ๋ค์ค ํ์ ์ฃผ์ ์ ํ ALT+U..
IntelliJ IDEA ์๋์ฐ ๋จ์ถํค ์ ๋ฆฌ Tab ํ์ฌ ์ํ ๊ตฌ์ญ(๊ดํธ) ๋น ์ ธ๋๊ฐ F2 ์ค๋ฅ๊ฐ ๋ฐ์ํ ๋ถ๋ถ์ผ๋ก ์ด๋ F2๋ก import ๋์ง ์์ ๊ณณ์ผ๋ก ์ด๋ํ ๋ค์ ๋ฐ๋ก Alt + Enter ๋๋ฅด๋ฉด ํธํ๋ค. Ctrl + Alt + S Setting ์ฐฝ Ctrl + Alt + Shift + S Project Structure ์ฐฝ ํ๋ก์ ํธ JDK ๋ฒ์ ๋ณ๊ฒฝ ์ ์ฌ์ฉ Ctrl + Shift + Enter ; ์๋ ์ ๋ ฅ ๊ดํธ ์์์ ์ฌ์ฉ ์ ; ์๋ ์ ๋ ฅ ๋ฐ ๋ค์ ์ค๋ก Enter ๋๋ค. ์๋ฐ์์๋ ๋์ง๋ง html ํ์ผ์์๋ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ซ๋ ํ๊ทธ ์ ์ ์ปค์๊ฐ ์์ ๋ ๋ค์ ์ค๋ก ์ด๋ํ๊ธฐ ํธ๋ฆฌํ๋ค. Alt + insert ์์ฑ์, getter(), setter(), toString() ๋ฉ์๋ ์๋ ์์ฑ C..

๊ฐ์ API ๋ฅผ ๊ฐ๋ฐํ๊ฑฐ๋, ํน์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ์ดํ๊ธฐ ์ํด ํ์ ๊ฐ์ ์ง์ ํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. (ํ๋ผ๋ฏธํฐ์ ๋ํ ์ ํจ์ฑ) ๋ฐ๋ก Rule ์ด ์๋ค๋ฉด ๋ฐฉ๋ฒ์ ๋ฌด๊ถ๋ฌด์งํ๋ค. ๋ชจ๋ ์์ฒญ์ if๋ฅผ ๊ฑธ์ด ๊ฒ์ฌํ๊ฑฐ๋.. ๊ณตํต์ผ๋ก ํ๋์ Class ๋ฅผ ๋ง๋ค์ด์ ๊ฒฝ์ ํ๊ฒ ํ๊ฑฐ๋.. ์ด ๊ธ์์๋ ๊น๋ํ ์ฝ๋๋ฅผ ์ํด ํ๋ก์ ํธ ๋ด์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ Exception ์ฒ๋ฆฌ๋ฅผ ํ๊ณ ์ ํ๋ค. ๊ทธ๋์ผ ๊น๋ํ๋ค. ๊ธฐ์กด Spring ์ด๋ Spring Boot์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์๋์ ๊ฐ์ ๋ด์ฉ์ผ๋ก ๋ฐ์ํ๋ค. ์ฐ๋ฆฌ๋ Spring Boot์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ์๋ฌ ๋ฉ์์ง๋ฅผ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋ฉ์์ง๋ก ์ ์ดํ ์์ ์ด๋ค. *์๋ ๊ธ์์๋ ์ฟ ํฐ์ ๋ฐํํ๊ธฐ ์ํ ๋ด์ฉ์ ์๋๋ฆฌ์ค๋ก @Valid ๋ฅผ ๋ฃ์ด ๊ตฌํํ์๋ค. 1. ์ฌ์ ์ค๋น ๐Maven ์ ๊ธฐ..

์ ๊ท ํํ์(๋ณด์กฐ์ ๋ชฉ * ์ธ์ ์ฐ์ด๋๊ฐ? ๐๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด, ์ ํจ์ฑ ๊ฒ์ฆ์ ์ํด ์ ๊ท ํํ์์ ์ฌ์ฉํ ๋๊ฐ ์๋ค. ์ซ์๋ง ์ ๋ ฅ, ์๋ฌธ์๋ง ์ ๋ ฅ, ์ฐ๋ฝ์ฒ์ '-' ๋ฅผ ํฌํจํ์ฌ ์ ๋ ฅ ๋ฑ๋ฑ.. ์ ํ์ ๋๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ค. ์ด์ ์์ฃผ ์ฐ์ด๋ ํํ์์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋์ด ๊ณต์ ํ๊ณ ์ ํ๋ค. ์ ๊ท ํํ์ ์ค๋ช ^[0-9]*$ ์ซ์ ^[a-zA-Z]*$ ์๋ฌธ์ ^[๊ฐ-ํฃ]*$ ํ๊ธ \\w+@\\w+\\.\\w+(\\.\\w+)? E-Mail ^\d{2,3}-\d{3,4}-\d{4}$ ์ ํ๋ฒํธ ^01(?:0|1|[6-9])-(?:\d{3}|\d{4})-\d{4}$ ํด๋์ ํ๋ฒํธ \d{6} \- [1-4]\d{6} ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ ^\d{3}-\d{2}$ ์ฐํธ๋ฒํธ ์์ฑ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค. #์ฐ๋ฝ์ฒ ์ํ @Pattern(reg..