๋์ธํ๋/CodePresso9 ์ฝ๋ํ๋ ์ ์ฒดํ๋จ 7 : ์ฒ์ ์์ํ๋ SQL ํ๋ก๊ทธ๋๋ฐ ์ด ๊ฐ์์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ SQL์ ๊ธฐ๋ณธ์ ์ธ ๋ช ๋ น์ด์ ๋ํด ๋ค๋ฃจ๊ณ ์๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ SQL ์ํค๋ฐฑ๊ณผ์ ์ํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ๋ฌ ์ฌ๋์ด ๊ณต์ ํ์ฌ ์ฌ์ฉํ ๋ชฉ์ ์ผ๋ก ์ฒด๊ณํํด ํตํฉ, ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ์ ์งํฉ์ด๋ค. ์ด๋ฐ ๋ฐ์ดํฐ๋ค์ ๊ด๋ฆฌํ๊ธฐ ์ํ ํ๋ก๊ทธ๋จ์ DBMS(DataBase Management System)๋ผ๊ณ ํ๋ค. ์ด DBMS์ ์ข ๋ฅ๋ก๋ MySQL, Oracle, SQLite๋ฑ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ ์ด๋ฒ ๊ฐ์์์๋ MySQL์ ๋ํด ๋ค๋ฃจ๊ณ ์๋ค. MySQL์ ์คํ์์ค RDBMS๋ก, ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ DBMS์ค ํ๋์ด๋ค. ๊ทธ๋ ๋ค๋ฉด SQL์ด๋ผ๋ ๊ฒ์ ๋ฌด์์ผ๊น? SQL์ Structed Query Language์ ์ฝ์์ด๋ค. ์ธ๊ฐ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ ์ธ์ด๋ผ๊ณ ์ดํดํ๋ฉด ๋ ๊ฒ์ด๋ค. ์์๋ ์๋์ ๊ฐ๋ค.. ๋์ธํ๋/CodePresso 2022. 2. 4. ์ฝ๋ํ๋ ์ ์ฒดํ๋จ 6-2 : Spring Boot ์น ๊ฐ๋ฐ ์ ๋ฌธ ์ด์ ๊ธ ๋ณด๋ฌ๊ฐ๊ธฐ https://sectumsempra.tistory.com/119 ์ฝ๋ํ๋ ์ ์ฒดํ๋จ 6-1 : Spring Boot ์น ๊ฐ๋ฐ ์ ๋ฌธ ์ด๋ฒ ๊ฐ์์์๋ ๋ฐฑ์๋์ ๋ํ ๊ธฐ์ด์ ์ธ ์ง์๊ณผ Spring Boot์ ๊ฐ๋จํ ์ด๋ก ๊ณผ ์ค์ต์ ๋ํด ๋ค๋ฃจ๊ณ ์๋ค. ๋ด์ฉ์ด ๋ง์ 2๊ฐ์ ๊ธ์ ๋๋ ์ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. IP์ Port์ ๊ฐ๋ ์ผ๋ฐ์ ์ผ๋ก Client, ์ฆ sectumsempra.tistory.com ์ด๋ฒ ๊ธ์์๋ Spring Bean๊ณผ ์์กด์ฑ ์ฃผ์ , ๊ทธ๋ฆฌ๊ณ ์ ๊ธ์์ ๋ค๋ฃฌ Spring Controller์ ๋ํด ์์ธํ ์์ฑํด ๋ณด๊ณ ์ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก API ๋ฌธ์์ ๋ํด์๋ ๊ฐ๋จํ ์์๋ณผ ๊ฒ์ด๋ค. Spring Bean๊ณผ ์์กด์ฑ ์ฃผ์ ํ๋์ ๋ชจ๋(ํด๋์ค, ํจํค์ง ๋ฑ)์ด ๋ค๋ฅธ ๋ชจ๋์ ์ฌ์ฉํ๋ ๊ฒ์.. ๋์ธํ๋/CodePresso 2022. 2. 4. ์ฝ๋ํ๋ ์ ์ฒดํ๋จ 6-1 : Spring Boot ์น ๊ฐ๋ฐ ์ ๋ฌธ ์ด๋ฒ ๊ฐ์์์๋ ๋ฐฑ์๋์ ๋ํ ๊ธฐ์ด์ ์ธ ์ง์๊ณผ Spring Boot์ ๊ฐ๋จํ ์ด๋ก ๊ณผ ์ค์ต์ ๋ํด ๋ค๋ฃจ๊ณ ์๋ค. ๋ด์ฉ์ด ๋ง์ 2๊ฐ์ ๊ธ์ ๋๋ ์ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. IP์ Port์ ๊ฐ๋ ์ผ๋ฐ์ ์ผ๋ก Client, ์ฆ ์น ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ์ ์์ฒญ์ ํ๊ณ , ์๋ฒ๊ฐ ์ด ์์ฒญ์ ๋ํด ์๋ต์ ํ๋ฉด ์ด๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ฃผ๋ ์ญํ ์ ํ๋ค. ์ด๋ ์ ์ธ๊ณ์๋ ๊ต์ฅํ ๋ง์ ์์ ์๋ฒ๋ค์ด ์๋๋ฐ ์ฐ๋ฆฌ๊ฐ ์์ฒญ์ ํ ์๋ฒ, ์ฆ host์ ์ฃผ์๋ฅผ IP์ฃผ์ ๋ผ๊ณ ํ๋ค. ์ด๋ฌํ IP์ฃผ์๋ ๊ณต์ธ(Public) IP์ฃผ์์ ์ฌ์ค(Private) IP์ฃผ์, 2๊ฐ์ง๋ก ๋๋์ด์ง๋ค. ๊ทธ ํน์ง๋ค์ ์๋์ ๊ฐ๋ค. ๊ณต์ธ IP์ฃผ์ ์ธํฐ๋ท ์์ ๊ณ ์ ํ IP ์ฃผ์ IP์ฃผ์๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๊ด์ผ๋ก๋ถํฐ ํ ๋น๋ฐ์ ์ฌ์ฉ๊ฐ๋ฅ ๋๋ฅ๋ณ, ๊ตญ๊ฐ๋ณ ํ ๋น๋ฐ์ ๊ณต์ธ IP์ฃผ์๊ฐ ์กด.. ๋์ธํ๋/CodePresso 2022. 2. 4. ์ฝ๋ํ๋ ์ ์ฒดํ๋จ 5 : SW ์ ์ง๋ณด์์ฑ ํฅ์์ ์ํ Clean Code ์ด๋ฒ์๋ Clean Code ๊ด๋ จ ๊ฐ์๋ฅผ ์๊ฐํ๋ค. ๋จผ์ Clean Code๊ฐ ๋ฌด์์ธ์ง์ ๋ํด ์์๋ณด๋๋ก ํ์. Clean Code๋? Clean Code์ ๋ํด Robert C.Martin์ ์๋์ ๊ฐ์ด ์๊ฐํ๊ณ ์๋ค. clean code๋ ์ดํดํ๊ธฐ ์ฝ๊ณ , ๋ณ๊ฒฝํ๊ธฐ ์ฌ์ด ์ฝ๋ by Robert C.Martin, Clean Code Clean Code์ ํ์ค์ด๋ ์๊ฒฉํ ์ ์๋ ์กด์ฌํ์ง ์๋๋ค. ํ์ง๋ง ๊ณตํต๋ ์๊ฒฌ์ด ์กด์ฌํ๋ค. ์ฌ๋์ด ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฝ๋ค ๋จ์ํ ํ ๊ฐ์ง ์ญํ ์ ํ๊ณ , ๋ช ํํ ์ด๋ฆ(ํํ)์ ๊ฐ๊ณ ์๋ค. ์ค๋ณต์ด ์๋ค ํ ์คํธ ์ผ์ด์ค๊ฐ ์๋ค. ๊ทธ๋ ๋ค๋ฉด Clean Code๋ ์ ์ค์ํ ๊น? ์ผ๋ฐ์ ์ผ๋ก SoftWare๋ ํ ๋ฒ ๊ฐ๋ฐ๋๊ณ , ์ค๋ ๊ธฐ๊ฐ๋์ ์ ์ง๋ณด์๋๋ค. ์ด๋ ๊ธฐ์กด ์ฝ๋์ ์ถ๊ฐ ์์ ํ๋ ์๊ฐ.. ๋์ธํ๋/CodePresso 2022. 1. 24. ์ฝ๋ํ๋ ์ ์ฒดํ๋จ 4-1 : Java ํ๋ก๊ทธ๋๋ฐ ์ด๊ธ ์ ๋ฆฌํ๋ค๋ณด๋ ๋ด์ฉ์ด ๊ธธ์ด์ ธ์ 2๊ฐ์ ๊ธ์ ๋๋์ด ์ ๋ฆฌํ๊ณ ์ ํ๋ค. ์ด๋ฒ ๊ฐ์๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด ๋ฌด์์ธ์ง, ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํน์ง์ ๋ํด ๋ค๋ฃจ๋ ๊ฐ์์๋ค. ๊ฐ์ฒด ์งํฅ vs ์ ์ฐจ ์งํฅ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object Oriented Programming)์ ํน์ง์ ์๋์ ๊ฐ๋ค. ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ์ ๋ํ ์ฐ์ฐ์ ์ํํ๋ ์ฝ๋๋ฅผ ๊ทธ๋ฃนํ ํ ๊ฐ์ฒด๋ฅผ ์ค์ฌ์ผ๋ก SW๋ฅผ ์ค๊ณ ๊ฐ๋ฐํ๋ ํจ๋ฌ๋ค์ ์์คํ ์ ์ฐธ์ฌํ๊ณ ์ฑ ์์ ๊ฐ๋ ๊ฐ์ฒด๊ฐ ๋ฌด์์ธ์ง์ ์ฃผ๋ชฉ ๋ค์์ ๊ฐ์ฒด๊ฐ ๊ฐ์์ ์ญํ ์ ํ๊ณ , ๊ฐ์ฒด ๊ฐ์๋ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ์ ์ฒด ์์คํ ์ ๊ตฌ์ฑ ์์๋ฅผ ๋ค์๋ฉด ์๋์ ๊ฐ๋ค. ๐ก ์ปคํผ์์ ์ด์ํ๋ค๊ณ ๊ฐ์ ํ์. ์ง์ A, B, C๊ฐ ์๋ ์ํฉ A - ๋ฐ๋ฆฌ์คํํ, B- ์ ๋นตํ, C- ์ด์ํ์ ๋งก๊ธด๋ค. A๋ ์ปคํผ๋ฅผ ๋ด๋ฆฌ๊ณ , B.. ๋์ธํ๋/CodePresso 2022. 1. 18. ์ฝ๋ํ๋ ์ ์ฒดํ๋จ 3 : ์ค๋ฌด์๊ฐ ์๋ ค์ฃผ๋ Git ํ์ฉํ ํ๋ก์ ํธ ๊ด๋ฆฌ https://sectumsempra.tistory.com/109 ์ฝ๋ํ๋ ์ ์ฒดํ๋จ : 1. ์ค๋ฌด์๊ฐ ์๋ ค์ฃผ๋ Git ์ ๋ฌธ ์ ๊ณต๋ฐ์ ๊ฐ์๋ฅผ ๋ชจ๋ ์๊ฐํด์ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. ์ฐ์ Git bashํ๋ก๊ทธ๋จ์ ๊น๊ณ , github์ ์ ์ฅ์๋ฅผ ๋ง๋ค์ด์ผ ํ๋๋ฐ ์ด๋ ๊ตฌ๊ธ๋ง์ ํตํด ์ฝ๊ฒ ํ ์ ์์ผ๋ ์๋ตํ๊ฒ ๋ค.(๊ฐ์์์๋ ์๋ ค sectumsempra.tistory.com ์์์ ์์ฑํ ๊ธ ๋ค์ ๋จ๊ณ์ ๊ฐ์์ด๋ค. ์ด ๊ฐ์์์๋ ๋ธ๋์น ์์ฑ ๋ฐ ๋ณํฉ์ ๋ํด ์ค์ ์ ์ผ๋ก ๋ค๋ฃฌ๋ค. Git ๋ธ๋์น์ ์ดํด ๐ก branch๋? ๐กbranch๋? ๋ณธ๋์ ์์ค์ฝ๋๋ก๋ถํฐ ํ์ํ ๋ ๋ฆฝ์ ์ธ ์์ ๊ณต๊ฐ์ผ๋ก, ์ต์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๋ ์ผ์ข ์ ํฌ์ธํฐ์ด๋ค. ๐กhead๋? ํ์ฌ ๋ธ๋์น๋ฅผ ๊ฐ๋ฆฌํค๋ ์ผ์ข ์ ํฌ์ธํฐ์ด๋ค. ์ ์ํ์์ ๋๋ฒ์งธ ์ปค๋ฐ์ ์.. ๋์ธํ๋/CodePresso 2022. 1. 15. ์ฝ๋ํ๋ ์ ์ฒดํ๋จ : 2. ์ฒ์ ์์ํ๋ Java ํ๋ก๊ทธ๋๋ฐ ์ด๋ฏธ C++์ ๊ณต๋ถํ๋๋ฐ Java์ ์๋นํ ์ ์ฌํ ๋ถ๋ถ์ด ๋ง์ ์ด๋ก ์ ์ธ ๋ถ๋ถ์ ๋ง์ด ์ป์ด๊ฐ ๊ฐ์์๋ค. Java ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์๊ฐ ์ฐ์ Java์ธ์ด์ ํน์ง์ ์๋์ ๊ฐ๋ค. WORA - Write Once Run Anywhere ๊ฐ์ฒด ์งํฅ ์ธ์ด →์์, ๋คํ์ฑ, ์บก์ํ ๋ฑ์ ๊ฐ์ฒด์งํฅ์ ์์๋ฅผ ์ธ์ด์ ์ผ๋ก ์ง์ →Java ์ฝ๋๋ class๋ฅผ ๊ธฐ๋ณธ ๋จ์๋ก ๊ตฌ์ฑ๋จ ์๋ํ ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ →JVM์ Garbage Collector๊ฐ ์ฌ์ฉ๋์ง ์๋ ๋ฉ๋ชจ๋ฆฌ ์์์ ํ์ →๊ฐ๋ฐ์๊ฐ ์ง์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ํ์ง ์์๋ ๋จ Java ์ด์ C,C++์ ํ๋์จ์ด์ ์์กด์ →๋ค๋ฅธ ์ข ๋ฅ์ ํ๋์จ์ด์์ ์คํํ๊ธฐ ์ํด์๋ ์ฌ ์ปดํ์ผ ํ์ Java๋ ํ ๋ฒ ์์ฑ ๋ฐ ์ปดํ์ผ ๋ ๊ฒฐ๊ณผ๋ฌผ์ด ์ด๋์๋ ๋์ ๊ฐ๋ฅ →JVM(Java Virtual.. ๋์ธํ๋/CodePresso 2022. 1. 14. ์ฝ๋ํ๋ ์ ์ฒดํ๋จ : 1. ์ค๋ฌด์๊ฐ ์๋ ค์ฃผ๋ Git ์ ๋ฌธ ์ ๊ณต๋ฐ์ ๊ฐ์๋ฅผ ๋ชจ๋ ์๊ฐํด์ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. ์ฐ์ Git bashํ๋ก๊ทธ๋จ์ ๊น๊ณ , github์ ์ ์ฅ์๋ฅผ ๋ง๋ค์ด์ผ ํ๋๋ฐ ์ด๋ ๊ตฌ๊ธ๋ง์ ํตํด ์ฝ๊ฒ ํ ์ ์์ผ๋ ์๋ตํ๊ฒ ๋ค.(๊ฐ์์์๋ ์๋ ค์ค๋ค.) Git ๊ธฐ๋ณธ ํ๋ก์ฐ ์ฐ๋ฆฌ๊ฐ ํ ์์ ๋ค์ ์๋์ ๊ฐ๋ค. 1. ์๊ฒฉ ์ ์ฅ์์ ์์ค์ฝ๋ ๋ค์ด๋ก๋(clone) 2. ์์ ๋๋ ํ ๋ฆฌ์์ ์์ ํ ๋ด์ฉ ์คํ ์ด์ง ์์ญ์ ์ถ๊ฐ(add) 3. ์๋ฏธ์๋ ๋ณ๊ฒฝ์ ์ด ์์ด๋ฉด ์ปค๋ฐ์ ๋ง๋ค์ด(commit) 4. ๋ก์ปฌ ์ ์ฅ์์ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ 5. ์๊ฒฉ ์ ์ฅ์์ ์ ์ฅ (push) 6. ์๊ฒฉ ์ ์ฅ์์์ ๋ณ๊ฒฝ์ฌํญ ๊ฐ์ ธ์ด(pull) Git ๊ธฐ๋ณธ ํ๋ก์ฐ ์ดํด๋ฅผ ์ํ ์ค์ต 1. ์ ์ฅ์ ์์ฑ ์ ์ฅ์ ์์ฑ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค. 1 . cloneํ๊ธฐ 2 . ๋ก์ปฌ ์ ์ฅ์ ์์ฑ -> ์ด๊ธฐํ (g.. ๋์ธํ๋/CodePresso 2022. 1. 13. ์ฝ๋ํ๋ ์ ์ฒดํ๋จ : ๊ฐ์ ๊ฒจ์ธ๋ฐฉํ์ ํ ๋งํ ํ๋์ ์ฐพ๋ค๊ฐ ์ฝ๋ํ๋ ์ Java ์น ๊ฐ๋ฐ ํธ๋ ์ฒดํ๋จ ํ๋์ ์๊ฒ ๋์๋ค. ๋ฐฉํ ๋ ์คํ๋ง ๋ถํธ๋ฅผ ์ด์ฉํด ์ฑ ๊ฐ๋ฐ ํ๋ก์ ํธ์ ์ฐธ์ฌํ ๊ณํ์ธ๋ฐ ํ๋ก์ ํธ๋ฅผ ํ๊ธฐ ์ ๋ด์ฉ ๋ณต๊ธฐ๋ ํ๊ณ , ์คํ๋ง ๋ถํธ๋ฅผ ์ข ๋ ์ฒด๊ณ์ ์ผ๋ก ์ฐจ๊ทผ ์ฐจ๊ทผ ๊ณต๋ถํ๊ณ ์ถ์ด์ ์ง์ํ๊ฒ ๋์๋ค. ์ปค๋ฆฌํ๋ผ ๋ฐ ์ง์ ์๊ฒฉ ์ปค๋ฆฌํ๋ผ์ ์๋์ ๊ฐ๋ค. Git๊ฐ์๋ฅผ ์ ๊ณตํ๊ณ ์๋ฐ ๊ธฐ์ด๋ฅผ ๋ค๋ฃฌ ๋ค ์คํ๋ง๋ถํธ๋ฅผ ๊ณต๋ถํ๋ค๋ ์ ์ด ๋ง์์ ๋ค์๋ค. ๊ทธ๋ฆฌ๊ณ ์ต์ข ์ ์ผ๋ก SNS๋ฅผ ๊ตฌํํ๋ค๋ ์ ์ญ์ ๋ง์์ ๋ค์๋ค. ์ง์ ์๊ฒฉ์ ๋ณ๋ก ๊น๋ค๋กญ์ง ์์๋ค. ์๊ธฐ์๊ฐ์ ์ง๋ฌธ์ 3๊ฐ์๋ค. 1. ์๊ธฐ์๊ฐ (200์ ์ด์) * ๋ณธ์ธ์ ์ฅโค๋จ์ ์ด๋ ์ฑ๊ฒฉ ๋ฑ์ ์์ ๋กญ๊ฒ ์์ ํด์ฃผ์ธ์. 2. ์ง์ ๋๊ธฐ (400์ ์ด์) * Code.presso Java ์น ๊ฐ๋ฐ ํธ๋ .. ๋์ธํ๋/CodePresso 2022. 1. 12. ์ด์ 1 ๋ค์