Backend/Spring
SRP(Single responsibility principle) ๋จ์ผ ์ฑ
์ ์์น ํ ํด๋์ค๋ ํ๋์ ์ฑ
์๋ง ๊ฐ์ ธ์ผ ํ๋ค. ์ค์ํ ๊ธฐ์ค์ ๋ณ๊ฒฝ์ด๋ค. ๋ณ๊ฒฝ์ด ์์ ๋ ํ๊ธ ํจ๊ณผ๊ฐ ์ ์ผ๋ฉด ๋จ์ผ ์ฑ
์ ์์น์ ์ ๋ฐ๋ฅธ ๊ฒ์ด๋ค. ex) UI ๋ณ๊ฒฝ, ๊ฐ์ฒด์ ์์ฑ๊ณผ ์ฌ์ฉ์ ๋ถ๋ฆฌ OCP(Open/closed principle) ๊ฐ๋ฐฉ-ํ์ ์์น ์ํํธ์จ์ด ์์๋ ํ์ฅ์๋ ์ด๋ ค ์์ผ๋ ๋ณ๊ฒฝ์๋ ๋ซํ ์์ด์ผ ํ๋ค. ๋คํ์ฑ์ ์ฌ์ฉํ๋๋ผ๋ OCP ์์น์ ์งํฌ ์ ์๋ค๋ ๋ฌธ์ ์ (ํด๋ผ์ด์ธํธ ์ฝ๋ ๋ณ๊ฒฝ)์ด ์๋ค. ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ , ์ฐ๊ด๊ด๊ณ๋ฅผ ๋งบ์ด์ฃผ๋ ๋ณ๋์ ์กฐ๋ฆฝ, ์ค์ ์๊ฐ ํ์ํ๋ค. (์คํ๋ง ์ปจํ
์ด๋์ ์ญํ ) LSP(Liskov substitution principle) ๋ฆฌ์ค์ฝํ ์นํ ์์น ํ๋ก๊ทธ๋จ์ ๊ฐ์ฒด๋ ํ๋ก๊ทธ๋จ์ ์ ํ์ฑ์ ๊นจ๋จ..
Backend/Spring
โ MVC(Model, View, Controller)๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค, ๋ฐ์ดํฐ ๋ฐ ๋
ผ๋ฆฌ ์ ์ด๋ฅผ ๊ตฌํํ๋ ๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ๋์์ธ ํจํด์
๋๋ค. ์ํํธ์จ์ด์ ๋น์ง๋์ค ๋ก์ง๊ณผ ํ๋ฉด์ ๊ตฌ๋ถํ๋๋ฐ ์ค์ ์ ๋๊ณ ์์ต๋๋ค. MVC์ ๋ชฉ์ ์ ํ๋ฉด๊ณผ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ๋ถ๋ฆฌํด ์ฝ๋๊ฐ์ ์ข
์์ฑ์ ์ค์ด๊ณ ๊ตฌ์ฑ์์๊ฐ์ ์ญํ ์ ๋ช
ํํ๊ฒ ํจ์ผ๋ก์จ ์ฝ๋ ๋ถ๋ฆฌ๊ฐ ์ฝ๊ณ ํ์
์ ์ฉ์ดํ๊ฒ ํ๋๋ฐ ์์ต๋๋ค. โ ๋ชจ๋ธ(Model) ์ดํ๋ฆฌ์ผ์ด์
์ด ๋ฌด์์ ํ ๊ฒ์ธ์ง ์ ์ํ๋ค. ๋ด๋ถ ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ญํ ์ ํ๋ค. ์ฆ, ๋ฐ์ดํฐ ์ ์ฅ์(ex. DB)์ ์ฐ๋ํ์ฌ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋ฐ์ดํฐ๋ ์ฌ์ฉ์์๊ฒ ์ถ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฌ๋ค. ํนํ, ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์์
(ex. ์ถ๊ฐ, ๋ณ๊ฒฝ, ์ญ์ )๋ฅผ ํ๋์ ์์
์ผ๋ก ๋ฌถ์ ํธ๋์ญ์
์ ๋ค๋ฃจ๋ ..
Backend/Spring
โ ์ค๋น๋ฌผ JDK: Java 11 ์ค์น IDE: IntelliJ ์ค์น โ ์คํ๋ง ํ๋ก์ ํธ ์์ฑ http://start.spring.io ์ฌ์ดํธ๋ก ์ด๋ํ์ฌ ํ๋ก์ ํธ ์์ฑ(๋ณธ์ธ์ ํ๋ก์ ํธ์ ๋ง๊ฒ ์ ํ ํ GENERATE ํด๋ฆญ) โ Open or Import Project IntelliJ IDEA ์คํ Open or Import ์ ํ ์์ถ์ ํผ ํ์ผ์ build.gradle ์ ํ Open as Project(์์ฑ) โ ๋์ ํ์ธ ๊ธฐ๋ณธ ๋ฉ์ธ ํด๋์ค ์คํ ์คํ๋ง ๋ถํธ ๋ฉ์ธ ์คํ ํ ์๋ฌ ํ์ด์ง๋ก ๊ฐ๋จํ๊ฒ ๋์ ํ์ธ(http://localhost:8080)