๋ชฉ๋กWEB/Server (33)
์ฐ์ ๊ธฐ๋ก ๐ช
ํ์ฌ ์์กด ๊ด๊ณ๋ ์์ ๊ฐ๋ค. ์ฌ๊ธฐ์ memberController๋ง @Autowired๋ฅผ ์ด์ฉํ๊ณ memberService๊ณผ memberRepository๋ ์๋ฐ ์ฝ๋๋ฅผ ์ด์ฉํด ์คํ๋ง ๋น์ ์ง์ ๋ฑ๋กํด๋ณด๋ ค๊ณ ํ๋ค. ๋จผ์ memberService์ memberRepository๋ ๊ฐ๊ฐ ์๋์ ๊ฐ๋ค.(๋ฉ์๋ ์๋ต)public class MemberService { private final MemberRepository memberRepository; public MemberService(MemberRepository memberRepository){ this.memberRepository=memberRepository; }}public class MemoryMemberRepos..
DI์ IoC์คํ๋ง์๋ DI(Dependency Injection, ์์กด์ฑ ์ฃผ์ )์ด๋ผ๋ ๊ฐ๋ ์ด ์๋ค. @Autowired๊ฐ ์์ผ๋ฉด ์คํ๋ง์ด ์ฐ๊ด๋ ๊ฐ์ฒด๋ฅผ ์คํ๋ง ์ปจํ ์ด๋์์ ์ฐพ์์ ๋ฃ์ด์ฃผ๋ ๊ฒ์ด๋ค. ๋ ์คํ๋ง์ @Component ์ด๋ ธํ ์ด์ ์ด ์์ผ๋ฉด ์คํ๋ง ๋น์ผ๋ก ์๋ ๋ฑ๋กํ๊ณ ์ด๋ฐ ๊ฐ์ฒด๋ค์ ์์ฑ, ์ค์ , ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ๋ค. ์ด๋ ๊ฒ ํ๋ ์์ํฌ(์คํ๋ง)๊ฐ ๊ฐ์ฒด์ ์์ฑ๊ณผ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ IoC(Inversion of Control, ์ ์ด์ ์ญ์ )์ด๋ผ๊ณ ํ๋ค. ์ด๋ ๊ฒ ๊ธ๋ก๋ง ์ฝ์ด์๋ ์ ์๋ฟ์ง ์๋๋ค. ์์ ๋ฅผ ํตํด DI์ IoC์ ๋ํด ์ดํดํด๋ณด๋๋ก ํ์. ์ฝ๋๋ฅผ ๋ณด๊ธฐ ์ MemberController์์ MemberService๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ค๋ ์ํฉ์ด๋ผ๊ณ ๊ฐ์ ํ์. ์ด ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ์ ์ธํด์ ์ฌ์ฉํ ..
๊ฐ๋ฐ์ ํ๊ธฐ ์ ์คํ๋ง์์ ์น์ ๊ฐ๋ฐํ๋ 3๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ํด ๊ฐ๋จํ ์ดํด๋ณด๋๋ก ํ์. ํฌ๊ฒ ์ ์ ์ปจํ ์ธ , MVC์ ํ ํ๋ฆฟ์์ง, API ๋ฐฉ์์ผ๋ก ๋๋๋ค.์ ์ ์ปจํ ์ธ ์ค์ต์ ์ ์ปจํ ์ธ ๋ ์๋ฒ์์ ๋ฐ๋ก ์์ ์ ํ์ง ์๊ณ ๊ทธ๋๋ก ํ์ผ์ ์น ๋ธ๋ผ์ฐ์ ์ ๋ด๋ ค์ฃผ๋ ๊ฒ์ด๋ค. ์ ์ ์ด๋ผ๋ ๋ง ๊ทธ๋๋ก ๋ฐ๋์ง ์๋ ์ปจํ ์ธ ์ด๋ค. main/resources/staticํด๋์ hello-static.htmlํ์ผ์ ์์ฑํ๊ณ (cmd+n) ์๋ ์ฝ๋๋ฅผ ๋ฃ์ด๋ณด์. ์ ์ ์ปจํ ์ธ ์ ๋๋ค.์๋ฒ๋ฅผ ์คํํ ๋ค localhost:8080/hello-static.html๋ก ์ ์ํ๋ฉด ์ ์ ์ปจํ ์ธ ์ ๋๋ค.๋ผ๋ ํ๋ฉด์ด ๋ณด์ผ ๊ฒ์ด๋ค.๋์ ์๋ฆฌ๋ด๋ถ์ ์ผ๋ก๋ ์น ๋ธ๋ผ์ฐ์ ์์ localhost:8080/hello-static.html์์ฒญ์ด ์จ ๊ฒ์ ๋ณด๊ณ ๋ด์ฅ๋ Tomcat..
์คํ๋ง๋ถํธ์๋ Maven๊ณผ Gradle์ด ์๋ค. ๋ ๋ค ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ก๊ฒจ์ค๊ณ ๋น๋ ๋ผ์ดํ์ฌ์ดํด์ ๊ด๋ฆฌํด์ฃผ๋ ์ญํ ์ ํ๋ค. ์์ฆ์ Gradle์ ์ฃผ๋ก ์ฌ์ฉํ๋ค. ์คํ๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฒด๋ Gradle๋ก ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ๊ณ ์๋ค. ์ด ๊ธ์์๋ ์คํ๋ง๋ถํธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ๋น๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ค๋ฃฌ๋ค.โญ ํ๊ฒฝmacOS, IntelliJ Untimate ๋ฒ์ ์์ ์งํ 1. ํ๋ก์ ํธ ์์ฑ์ธํ ๋ฆฌ์ ์ด๋ฅผ ์ด๊ณ New Project๋ฒํผ์ ๋๋ฅธ๋ค. ์ดํ ์๋์ ๊ฐ์ด ์ค์ ํ๋ค.Language, Type, JDK, Java, Packaging๋ถ๋ถ์ ์ ๋ง์ถฐ์ค์ผ ํ๋ค.๊ทธ๋ฆฌ๊ณ ๊ฐ๋จํ๊ฒ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํด spring web๊ณผ Thymeleaf๋ฅผ ํ๋ก์ ํธ์ ์ถ๊ฐํด์ฃผ๋๋ก ํ์.์ฐธ๊ณ ๋ก spring boot ์ดํ๋ฆฌ์ผ..
๊ฐ์ api ํธ์ถ ์๋ฅผ ํธ๋ํนํ๊ธฐ ์ํด airbridge๋ฅผ ์ฌ์ฉํ๊ฒ ๋์์ต๋๋ค. ๋ณธ๋ airbridge๋ ๊ด๊ณ ์ฑ๊ณผ ๋ถ์์ ํ๋๋ฐ์ ์ฌ์ฉ๋๋ ํด์ด์ง๋ง ์ด๋ฒคํธ๋ฅผ ์์ด๋ธ๋ฆฟ์ง ์๋ฒ๋ก ๋ณด๋ด๊ณ ์ด๋ฅผ ์ฝ๊ฒ ์กฐํํ๊ณ ํํฐ๋งํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ๊ฒ ๋์์ต๋๋ค. api ํธ์ถ ์๋ฅผ ํธ๋ํนํ๊ธฐ ์ํ ๋ฐฉ์์ ์ฐพ๋ ์ค ์์ด๋ธ๋ฆฟ์ง๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ๊ธฐ์ ์ด๋ฐ ๋ฐฉ๋ฒ๋ ์๋ค๋ ๊ฒ์ ์๋ฆฌ์๋ ์ทจ์ง๋ก ๊ธ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค. ์ฌ์ ์ค๋น ๋จผ์ ์์ด๋ธ๋ฆฟ์ง๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์๋ ๊ฐ๋จํ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํฉ๋๋ค. ์์ด๋ธ๋ฆฟ์ง ํ์๊ฐ์ ์ฑ ๋ฑ๋ก ์์ด๋ธ๋ฆฟ์ง๋ ์๋ ํ์ด์ง์์ ์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ๋ง์ผ๋ก ๊ฐํธํ๊ฒ ํ์๊ฐ์ ํ ์ ์์ต๋๋ค. https://www.airbridge.io/ko ์์ด๋ธ๋ฆฟ์ง | ๋ชจ๋ฐ์ผ ์ฑ ์ฑ์ฅ์ ๊ทน๋ํํ์ธ์. ํฉ๋ฆฌ์ ..
๋์ ๋ก์ปฌ mysql์ ๋์ปค๋ก ๊ตฌ์ถ๋์ด์๋ค. ํด๋น ๋์ปค์ ์ ๊ทผํด์ database๋ฅผ ๋ง๋๋ ๊ณผ์ ์ ๋ํ ๊ธฐ๋ก์ด๋ค. ์ฐ์ ๋ด ๋์ปค์ mysql์ mysql_test๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ง๋ค์ด์ ธ ์๋ค. database๋ฅผ ๋ง๋๋ ๊ณผ์ ์ ์๋์ ๊ฐ๋ค. docker unpause mysql_test //mysql_test ์์ docker exec -it mysql_test bash // mysql_test์ปจํ ์ด๋์ bash์ ์คํ mysql -u root -p //mysql์ root ๊ถํ์ผ๋ก ์ ์ create database kite; // ์คํํ๊ณ ์ถ์ ๋ช ๋ น์ด, kite๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ์ฌ๊ธฐ์ it์ ๋ํด ์ข ๋ ์์ธํ ์์๋ณด๋๋ก ํ์. i์ t๋ ๊ฐ๊ฐ ์ํธ์ ์ถ๋ ฅ๊ณผ tty ํ์ฑํ๋ฅผ ์๋ฏธํ๋ค. i : ์ํธ ์ ์ถ..
CD๋ฅผ ํ๋ฉด ๋ณดํต codeploy๋ฅผ ์ด์ฉํด ๋ง์ด ํ๋ ๊ฒ ๊ฐ๋๋ฐ ๋ค๋ฅธ ๋ฐฉ๋ฒ ์ญ์ ๊ธฐ๋กํด๋ณด๊ณ ์ ํ๋ค. ์๋ฒ์ ssh๋ก ์ ์ํ์ฌ ์ง์ ๋ ๋ช ๋ น์ด๋ฅผ ์ฐ์ํด์ ์คํํด์ฃผ๋ ์์ ์ ์๋ํ ํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํ ๊ธ์ด๋ค. ์ด ๋ฐฉ๋ฒ์ ์์ ํ๊ณ ๊ณต์์ ์ธ ๋ฐฉ๋ฒ์ด๋ผ๊ธฐ ๋ณด๋ค๋ ์ผ๋งค ๋๋์ด ๊ฐํ์ง๋ง ์ผ๋จ ๋์๊ฐ๋๋ก ํ๋ ๋ฐ์ ๊ด์ฌ์ด ์๋ ์ฌ๋์ ์ํด ๊ทธ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํด๋ณด๊ณ ์ ํ๋ค. ์ฌ์ ์๊ตฌ ์ฌํญ EC2 ๋ฐ ๋ฐฐํฌํ ์ฝ๋ EC2 password๋ก ์ ์ํ๋ ์ค์ ์ํฉ ๋์ ๊ฒฝ์ฐ ์๋ฒ์ ์ ์ํด์ ์คํ๋์ด์ผ ํ๋ ๋ช ๋ น์ด๋ ์๋์ ๊ฐ๋ค. pm2 kill rm -rf dist //ํ์ ์คํฌ๋ฆฝํธ ๋น๋ ํ์ผ ์ญ์ git pull origin main //์ดํ ๋น๋ฐ๋ฒํธ ์ ๋ ฅ yarn run buildOnly //ํ์ ์คํฌ๋ฆฝํธ ํ์ผ ๋น๋ pm2 start..
๋ฐฑ์๋ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค ๋ณด๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์๋ฒ์ ์ฌ๋ฆฌ๊ณ ์์ ์ ํ๊ฒ ๋๋ค. ํผ์ ์์ ํ ๋๋ ๋ก์ปฌ์์ ํ ์คํธํด๋ ๋์ง๋ง ํ์ ์ ํ ๋์๋ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ณต์ ํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์๋ฒ์ ์ฌ๋ ค์ผ ํ๋ค. 1. AWS์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ถํ๊ธฐ ์ฐ์ AWS RDS๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์๋ฒ์ ์ฌ๋ ค๋ณด๋๋ก ํ์. ์ ์ผ ๋จผ์ ์๋ aws์ฌ์ดํธ์ ๋ก๊ทธ์ธ์ ํด์ผํ๋ค. https://aws.amazon.com/ko/ ํด๋ผ์ฐ๋ ์๋น์ค | ํด๋ผ์ฐ๋ ์ปดํจํ ์๋ฃจ์ | Amazon Web Services ๊ฐ๋ฐ์, ๋ฐ์ดํฐ ์ฌ์ด์ธํฐ์คํธ, ์๋ฃจ์ ์ค ์ํคํ ํธ ๋๋ AWS์์ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๋ ๋ฐ ๊ด์ฌ์ด ์๋ ๋ชจ๋ ์ฌ์ฉ์์ฉ ๋ฌด๋ฃ ์จ๋ผ์ธ ๊ต์ก AWS ์ ๋ฌธ๊ฐ๊ฐ ๊ตฌ์ถํ 500๊ฐ ์ด์์ ๋ฌด๋ฃ ๋์งํธ ๊ต์ก ๊ณผ์ aws...
์ด ๊ฐ์์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ SQL์ ๊ธฐ๋ณธ์ ์ธ ๋ช ๋ น์ด์ ๋ํด ๋ค๋ฃจ๊ณ ์๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ SQL ์ํค๋ฐฑ๊ณผ์ ์ํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ๋ฌ ์ฌ๋์ด ๊ณต์ ํ์ฌ ์ฌ์ฉํ ๋ชฉ์ ์ผ๋ก ์ฒด๊ณํํด ํตํฉ, ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ์ ์งํฉ์ด๋ค. ์ด๋ฐ ๋ฐ์ดํฐ๋ค์ ๊ด๋ฆฌํ๊ธฐ ์ํ ํ๋ก๊ทธ๋จ์ DBMS(DataBase Management System)๋ผ๊ณ ํ๋ค. ์ด DBMS์ ์ข ๋ฅ๋ก๋ MySQL, Oracle, SQLite๋ฑ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ ์ด๋ฒ ๊ฐ์์์๋ MySQL์ ๋ํด ๋ค๋ฃจ๊ณ ์๋ค. MySQL์ ์คํ์์ค RDBMS๋ก, ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ DBMS์ค ํ๋์ด๋ค. ๊ทธ๋ ๋ค๋ฉด SQL์ด๋ผ๋ ๊ฒ์ ๋ฌด์์ผ๊น? SQL์ Structed Query Language์ ์ฝ์์ด๋ค. ์ธ๊ฐ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ ์ธ์ด๋ผ๊ณ ์ดํดํ๋ฉด ๋ ๊ฒ์ด๋ค. ์์๋ ์๋์ ๊ฐ๋ค..
์ด์ ๊ธ ๋ณด๋ฌ๊ฐ๊ธฐ 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๊ณผ ์์กด์ฑ ์ฃผ์ ํ๋์ ๋ชจ๋(ํด๋์ค, ํจํค์ง ๋ฑ)์ด ๋ค๋ฅธ ๋ชจ๋์ ์ฌ์ฉํ๋ ๊ฒ์..
์ด๋ฒ ๊ฐ์์์๋ ๋ฐฑ์๋์ ๋ํ ๊ธฐ์ด์ ์ธ ์ง์๊ณผ Spring Boot์ ๊ฐ๋จํ ์ด๋ก ๊ณผ ์ค์ต์ ๋ํด ๋ค๋ฃจ๊ณ ์๋ค. ๋ด์ฉ์ด ๋ง์ 2๊ฐ์ ๊ธ์ ๋๋ ์ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. IP์ Port์ ๊ฐ๋ ์ผ๋ฐ์ ์ผ๋ก Client, ์ฆ ์น ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ์ ์์ฒญ์ ํ๊ณ , ์๋ฒ๊ฐ ์ด ์์ฒญ์ ๋ํด ์๋ต์ ํ๋ฉด ์ด๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ฃผ๋ ์ญํ ์ ํ๋ค. ์ด๋ ์ ์ธ๊ณ์๋ ๊ต์ฅํ ๋ง์ ์์ ์๋ฒ๋ค์ด ์๋๋ฐ ์ฐ๋ฆฌ๊ฐ ์์ฒญ์ ํ ์๋ฒ, ์ฆ host์ ์ฃผ์๋ฅผ IP์ฃผ์ ๋ผ๊ณ ํ๋ค. ์ด๋ฌํ IP์ฃผ์๋ ๊ณต์ธ(Public) IP์ฃผ์์ ์ฌ์ค(Private) IP์ฃผ์, 2๊ฐ์ง๋ก ๋๋์ด์ง๋ค. ๊ทธ ํน์ง๋ค์ ์๋์ ๊ฐ๋ค. ๊ณต์ธ IP์ฃผ์ ์ธํฐ๋ท ์์ ๊ณ ์ ํ IP ์ฃผ์ IP์ฃผ์๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๊ด์ผ๋ก๋ถํฐ ํ ๋น๋ฐ์ ์ฌ์ฉ๊ฐ๋ฅ ๋๋ฅ๋ณ, ๊ตญ๊ฐ๋ณ ํ ๋น๋ฐ์ ๊ณต์ธ IP์ฃผ์๊ฐ ์กด..
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค๋ณด๋ฉด ๋ธ๋์น๋ฅผ ํ๊ณ , ์ดํ ๋ค์ ํฉ์น๋ ๊ฒฝ์ฐ๊ฐ ๊ต์ฅํ ๋ง๋ค. ์์คํธ๋ฆฌ๋ฅผ ํตํด ์ด ์์ ๋ค์ ๊ฐํธํ๊ฒ ํ ์ ์๋ค. ์ฐ์ ํ๋ก์ ํธ๋ฅผ ํ ๋๋ ๋ณดํต ๋ธ๋์น๋ฅผ ๋ง๋ค์ด ์์ ์ ํ๋ค. ์๋ฅผ๋ค๋ฉด A,B,C,D ํ์ผ์ด ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. a๋ Aํ์ผ์ ๊ฑด๋๋ฆฌ๋ฉฐ "๋ก๊ทธ์ธ" ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๊ฒ์ด๊ณ , b๋ Bํ์ผ์ ๊ฑด๋๋ฆฌ๋ฉฐ "ํ์๊ฐ์ " ๊ธฐ๋ฅ์ ๋ง๋ค ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ a์ b๋ ๊ณตํต์ ์ผ๋ก Cํ์ผ์ ๊ฑด๋๋ ค์ผ ํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ฌด์จ ์ผ์ด ๋ฐ์ํ ๊น? a์ b๋ ๋ฌผ๋ก ์์ ์ ๋ก์ปฌ ์ปดํจํฐ์์ ์์ ํ ๋ด์ฉ์ ๊นํ๋ธ์ ๋์์์ด pushํ ๊ฒ์ด๋ค. A,Bํ์ผ์ ๋ํด์๋ ์๋ก ์์ ํ ๋ด์ฉ์ด ๊ฒน์น์ง ์์ผ๋ ์ถฉ๋์ด ๋์ง ์์ง๋ง Cํ์ผ์ ๋ํด์๋ ๋์์์ด ์ถฉ๋์ด ๋ฐ์ํ ๊ฒ์ด๋ค. ์ด๊ฒ์ ์์ ์ ํ๋๋ฐ ํฐ ๋ฐฉํด๊ฐ ๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ์ฌ๋..
ํ๋ก์ ํธ ๋์ค ๊ฒ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด like ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. ๊ทธ๋ฐ๋ฐ like๋ฌธ์ ์ฟผ๋ฆฌ๋ฌธ ๋ฌธ๋ฒ์ ์๋์ ๊ฐ๋ค. --A๋ฅผ ํฌํจํ๋ ๋ฌธ์ ์ฐพ๊ธฐ-- SELECT ์ปฌ๋ผ๋ช FROM ํ ์ด๋ธ WHERE ์ปฌ๋ผ๋ช LIKE '%A%' ๊ทธ๋ฐ๋ฐ Springboot ๋ด์์๋ ์ฟผ๋ฆฌ๋ฌธ์ ์๋์ ๊ฐ์ด ํฐ ๋ฐ์ดํ("")๋ก ๋ฌถ๋๋ค. //MovieDao ํ์ผ public Writer getWriter(int userIdx) { //sql๋ฌธ String getUserQuery = "select user_idx,nickname,photo from user where user_idx=?;"; int param=userIdx; return this.jdbcTemplate.queryForObject(getUserQuery, (rs, r..
์ด๋ฒ์๋ Clean Code ๊ด๋ จ ๊ฐ์๋ฅผ ์๊ฐํ๋ค. ๋จผ์ Clean Code๊ฐ ๋ฌด์์ธ์ง์ ๋ํด ์์๋ณด๋๋ก ํ์. Clean Code๋? Clean Code์ ๋ํด Robert C.Martin์ ์๋์ ๊ฐ์ด ์๊ฐํ๊ณ ์๋ค. clean code๋ ์ดํดํ๊ธฐ ์ฝ๊ณ , ๋ณ๊ฒฝํ๊ธฐ ์ฌ์ด ์ฝ๋ by Robert C.Martin, Clean Code Clean Code์ ํ์ค์ด๋ ์๊ฒฉํ ์ ์๋ ์กด์ฌํ์ง ์๋๋ค. ํ์ง๋ง ๊ณตํต๋ ์๊ฒฌ์ด ์กด์ฌํ๋ค. ์ฌ๋์ด ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฝ๋ค ๋จ์ํ ํ ๊ฐ์ง ์ญํ ์ ํ๊ณ , ๋ช ํํ ์ด๋ฆ(ํํ)์ ๊ฐ๊ณ ์๋ค. ์ค๋ณต์ด ์๋ค ํ ์คํธ ์ผ์ด์ค๊ฐ ์๋ค. ๊ทธ๋ ๋ค๋ฉด Clean Code๋ ์ ์ค์ํ ๊น? ์ผ๋ฐ์ ์ผ๋ก SoftWare๋ ํ ๋ฒ ๊ฐ๋ฐ๋๊ณ , ์ค๋ ๊ธฐ๊ฐ๋์ ์ ์ง๋ณด์๋๋ค. ์ด๋ ๊ธฐ์กด ์ฝ๋์ ์ถ๊ฐ ์์ ํ๋ ์๊ฐ..
์ ๋ฆฌํ๋ค๋ณด๋ ๋ด์ฉ์ด ๊ธธ์ด์ ธ์ 2๊ฐ์ ๊ธ์ ๋๋์ด ์ ๋ฆฌํ๊ณ ์ ํ๋ค. ์ด๋ฒ ๊ฐ์๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด ๋ฌด์์ธ์ง, ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํน์ง์ ๋ํด ๋ค๋ฃจ๋ ๊ฐ์์๋ค. ๊ฐ์ฒด ์งํฅ vs ์ ์ฐจ ์งํฅ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object Oriented Programming)์ ํน์ง์ ์๋์ ๊ฐ๋ค. ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ์ ๋ํ ์ฐ์ฐ์ ์ํํ๋ ์ฝ๋๋ฅผ ๊ทธ๋ฃนํ ํ ๊ฐ์ฒด๋ฅผ ์ค์ฌ์ผ๋ก SW๋ฅผ ์ค๊ณ ๊ฐ๋ฐํ๋ ํจ๋ฌ๋ค์ ์์คํ ์ ์ฐธ์ฌํ๊ณ ์ฑ ์์ ๊ฐ๋ ๊ฐ์ฒด๊ฐ ๋ฌด์์ธ์ง์ ์ฃผ๋ชฉ ๋ค์์ ๊ฐ์ฒด๊ฐ ๊ฐ์์ ์ญํ ์ ํ๊ณ , ๊ฐ์ฒด ๊ฐ์๋ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ์ ์ฒด ์์คํ ์ ๊ตฌ์ฑ ์์๋ฅผ ๋ค์๋ฉด ์๋์ ๊ฐ๋ค. ๐ก ์ปคํผ์์ ์ด์ํ๋ค๊ณ ๊ฐ์ ํ์. ์ง์ A, B, C๊ฐ ์๋ ์ํฉ A - ๋ฐ๋ฆฌ์คํํ, B- ์ ๋นตํ, C- ์ด์ํ์ ๋งก๊ธด๋ค. A๋ ์ปคํผ๋ฅผ ๋ด๋ฆฌ๊ณ , B..
https://sectumsempra.tistory.com/109 ์ฝ๋ํ๋ ์ ์ฒดํ๋จ : 1. ์ค๋ฌด์๊ฐ ์๋ ค์ฃผ๋ Git ์ ๋ฌธ ์ ๊ณต๋ฐ์ ๊ฐ์๋ฅผ ๋ชจ๋ ์๊ฐํด์ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. ์ฐ์ Git bashํ๋ก๊ทธ๋จ์ ๊น๊ณ , github์ ์ ์ฅ์๋ฅผ ๋ง๋ค์ด์ผ ํ๋๋ฐ ์ด๋ ๊ตฌ๊ธ๋ง์ ํตํด ์ฝ๊ฒ ํ ์ ์์ผ๋ ์๋ตํ๊ฒ ๋ค.(๊ฐ์์์๋ ์๋ ค sectumsempra.tistory.com ์์์ ์์ฑํ ๊ธ ๋ค์ ๋จ๊ณ์ ๊ฐ์์ด๋ค. ์ด ๊ฐ์์์๋ ๋ธ๋์น ์์ฑ ๋ฐ ๋ณํฉ์ ๋ํด ์ค์ ์ ์ผ๋ก ๋ค๋ฃฌ๋ค. Git ๋ธ๋์น์ ์ดํด ๐ก branch๋? ๐กbranch๋? ๋ณธ๋์ ์์ค์ฝ๋๋ก๋ถํฐ ํ์ํ ๋ ๋ฆฝ์ ์ธ ์์ ๊ณต๊ฐ์ผ๋ก, ์ต์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๋ ์ผ์ข ์ ํฌ์ธํฐ์ด๋ค. ๐กhead๋? ํ์ฌ ๋ธ๋์น๋ฅผ ๊ฐ๋ฆฌํค๋ ์ผ์ข ์ ํฌ์ธํฐ์ด๋ค. ์ ์ํ์์ ๋๋ฒ์งธ ์ปค๋ฐ์ ์..
์ด๋ฏธ C++์ ๊ณต๋ถํ๋๋ฐ Java์ ์๋นํ ์ ์ฌํ ๋ถ๋ถ์ด ๋ง์ ์ด๋ก ์ ์ธ ๋ถ๋ถ์ ๋ง์ด ์ป์ด๊ฐ ๊ฐ์์๋ค. Java ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์๊ฐ ์ฐ์ Java์ธ์ด์ ํน์ง์ ์๋์ ๊ฐ๋ค. WORA - Write Once Run Anywhere ๊ฐ์ฒด ์งํฅ ์ธ์ด →์์, ๋คํ์ฑ, ์บก์ํ ๋ฑ์ ๊ฐ์ฒด์งํฅ์ ์์๋ฅผ ์ธ์ด์ ์ผ๋ก ์ง์ →Java ์ฝ๋๋ class๋ฅผ ๊ธฐ๋ณธ ๋จ์๋ก ๊ตฌ์ฑ๋จ ์๋ํ ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ →JVM์ Garbage Collector๊ฐ ์ฌ์ฉ๋์ง ์๋ ๋ฉ๋ชจ๋ฆฌ ์์์ ํ์ →๊ฐ๋ฐ์๊ฐ ์ง์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ํ์ง ์์๋ ๋จ Java ์ด์ C,C++์ ํ๋์จ์ด์ ์์กด์ →๋ค๋ฅธ ์ข ๋ฅ์ ํ๋์จ์ด์์ ์คํํ๊ธฐ ์ํด์๋ ์ฌ ์ปดํ์ผ ํ์ Java๋ ํ ๋ฒ ์์ฑ ๋ฐ ์ปดํ์ผ ๋ ๊ฒฐ๊ณผ๋ฌผ์ด ์ด๋์๋ ๋์ ๊ฐ๋ฅ →JVM(Java Virtual..
์ ๊ณต๋ฐ์ ๊ฐ์๋ฅผ ๋ชจ๋ ์๊ฐํด์ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. ์ฐ์ Git bashํ๋ก๊ทธ๋จ์ ๊น๊ณ , github์ ์ ์ฅ์๋ฅผ ๋ง๋ค์ด์ผ ํ๋๋ฐ ์ด๋ ๊ตฌ๊ธ๋ง์ ํตํด ์ฝ๊ฒ ํ ์ ์์ผ๋ ์๋ตํ๊ฒ ๋ค.(๊ฐ์์์๋ ์๋ ค์ค๋ค.) Git ๊ธฐ๋ณธ ํ๋ก์ฐ ์ฐ๋ฆฌ๊ฐ ํ ์์ ๋ค์ ์๋์ ๊ฐ๋ค. 1. ์๊ฒฉ ์ ์ฅ์์ ์์ค์ฝ๋ ๋ค์ด๋ก๋(clone) 2. ์์ ๋๋ ํ ๋ฆฌ์์ ์์ ํ ๋ด์ฉ ์คํ ์ด์ง ์์ญ์ ์ถ๊ฐ(add) 3. ์๋ฏธ์๋ ๋ณ๊ฒฝ์ ์ด ์์ด๋ฉด ์ปค๋ฐ์ ๋ง๋ค์ด(commit) 4. ๋ก์ปฌ ์ ์ฅ์์ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ 5. ์๊ฒฉ ์ ์ฅ์์ ์ ์ฅ (push) 6. ์๊ฒฉ ์ ์ฅ์์์ ๋ณ๊ฒฝ์ฌํญ ๊ฐ์ ธ์ด(pull) Git ๊ธฐ๋ณธ ํ๋ก์ฐ ์ดํด๋ฅผ ์ํ ์ค์ต 1. ์ ์ฅ์ ์์ฑ ์ ์ฅ์ ์์ฑ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค. 1 . cloneํ๊ธฐ 2 . ๋ก์ปฌ ์ ์ฅ์ ์์ฑ -> ์ด๊ธฐํ (g..
๊ฒจ์ธ๋ฐฉํ์ ํ ๋งํ ํ๋์ ์ฐพ๋ค๊ฐ ์ฝ๋ํ๋ ์ Java ์น ๊ฐ๋ฐ ํธ๋ ์ฒดํ๋จ ํ๋์ ์๊ฒ ๋์๋ค. ๋ฐฉํ ๋ ์คํ๋ง ๋ถํธ๋ฅผ ์ด์ฉํด ์ฑ ๊ฐ๋ฐ ํ๋ก์ ํธ์ ์ฐธ์ฌํ ๊ณํ์ธ๋ฐ ํ๋ก์ ํธ๋ฅผ ํ๊ธฐ ์ ๋ด์ฉ ๋ณต๊ธฐ๋ ํ๊ณ , ์คํ๋ง ๋ถํธ๋ฅผ ์ข ๋ ์ฒด๊ณ์ ์ผ๋ก ์ฐจ๊ทผ ์ฐจ๊ทผ ๊ณต๋ถํ๊ณ ์ถ์ด์ ์ง์ํ๊ฒ ๋์๋ค. ์ปค๋ฆฌํ๋ผ ๋ฐ ์ง์ ์๊ฒฉ ์ปค๋ฆฌํ๋ผ์ ์๋์ ๊ฐ๋ค. Git๊ฐ์๋ฅผ ์ ๊ณตํ๊ณ ์๋ฐ ๊ธฐ์ด๋ฅผ ๋ค๋ฃฌ ๋ค ์คํ๋ง๋ถํธ๋ฅผ ๊ณต๋ถํ๋ค๋ ์ ์ด ๋ง์์ ๋ค์๋ค. ๊ทธ๋ฆฌ๊ณ ์ต์ข ์ ์ผ๋ก SNS๋ฅผ ๊ตฌํํ๋ค๋ ์ ์ญ์ ๋ง์์ ๋ค์๋ค. ์ง์ ์๊ฒฉ์ ๋ณ๋ก ๊น๋ค๋กญ์ง ์์๋ค. ์๊ธฐ์๊ฐ์ ์ง๋ฌธ์ 3๊ฐ์๋ค. 1. ์๊ธฐ์๊ฐ (200์ ์ด์) * ๋ณธ์ธ์ ์ฅโค๋จ์ ์ด๋ ์ฑ๊ฒฉ ๋ฑ์ ์์ ๋กญ๊ฒ ์์ ํด์ฃผ์ธ์. 2. ์ง์ ๋๊ธฐ (400์ ์ด์) * Code.presso Java ์น ๊ฐ๋ฐ ํธ๋ ..
๐AWS ๊ณ์ ์ ๋ง๋ค๊ณ ์ธ์คํด์ค ์์ฑ๊น์ง ์๋ฃํ๋ค๋ ๊ฐ์ ํ์ ์งํํฉ๋๋ค ๐putty, puttygen์ด ์ค์น๋์ด ์์ด์ผ ํฉ๋๋ค. ์๋ ๋งํฌ์์ ๋ค์ด๋ก๋ ๊ฐ๋ฅํฉ๋๋ค. https://www.putty.org/ Download PuTTY - a free SSH and telnet client for Windows Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to..
์น ํ๋ก์ ํธ๋ฅผ ์งํํ ์งํ ๋ง๋ ํ์ผ๋ค์ ๋ก์ปฌ์์๋ง ๋์๊ฐ ๊ฒ์ด๋ค. ์ด ํ์ผ๋ค์ ๋ค๋ฅธ ๊ธฐ๊ธฐ์์๋ ์ ๊ทผํด๋ณด๊ณ ์ถ์ ์ ์๋๋ฐ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ๋ทํ์ ์ด์ฉํ๋ ๊ฒ์ด๋ค. ๋ทํ ๋ฌด๋ฃ ํธ์คํ ์ ํ ์ ์๋ ์ ์ฒด์ด๋ค. ๊ฐ๋จํ๊ฒ ๋ค์ด๋ฒ๋ก ํ์๊ฐ์ ํ๋ฉด ๋ฌด๋ฃ ํธ์คํ ์๋น์ค๋ฅผ ์ ์ฒญํ ์ ์๋ค. ํน์ง์ ์๋์ ๊ฐ๋ค. https://www.dothome.co.kr/index.php ๋ทํ | ํธ์คํ ์ ๋ทํ ๋ทํ์ ๋๋ฉ์ธ, ๋ฌด๋ฃ ์นํธ์คํ , ์น๋น๋, ๋ฉ์ผํธ์คํ , SSL๋ณด์์ธ์ฆ์, ์๋ฒํธ์คํ , ์ฝ๋ก์ผ์ด์ ๋ฑ ๋ค์ํ ํธ์คํ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค. www.dothome.co.kr ์ ๋งํฌ์ ๋ค์ด๊ฐ์ ํ์๊ฐ์ ์ ํ๊ณ ๋ฌด๋ฃํธ์คํ ์ ์ ์ฒญํ๋ฉด ๋๋ค. ๋ฌด๋ฃ ํธ์คํ ์ฌ์ง์ ๋ณด์ด๋ ๋ฌด๋ฃ ํธ์คํ ์ ํด๋ฆญํ๊ณ ์ ์ฒญํ๊ธฐ๋ฅผ ๋๋ฅด๋ฉด ๋๋ค. ์ดํ ์ ์ฐจ..
https://hoing.io/archives/4778 ๋ค์ด๋ฒ ํด๋ผ์ฐ๋ ๋ฌด๋ฃ ์๋ฒ(VM) - ํ๋ฆฌํฐ์ด - ๋ฌด๋ฃ Micro Server hoing.io ์ ๊ธ ์ค๊ฐ์ฏค 1๋ ๋ฌด๋ฃ Micro์๋ฒ ์์ฑ ๋ถ๋ถ๋ถํฐ ๋ฐ๋ผ๊ฐ๋ฉด ๋ฌด๋ฃ ์๋ฒ๋ฅผ ๋ฐ์ ์ ์๋ค. ๊ทธ๋ ๊ฒ ํด์ ๋ฐ์ ์๋ฒ์ putty๋ฅผ ์ด์ฉํด์ ์ ์ํ ๊ฒ์ด๋ค. ๋์ ๊ฒฝ์ฐ mysql์ ๊น๊ณ ์ธ๋ถ์์ ์ ์ ๊ฐ๋ฅํ๋๋ก ํ๊ธฐ ์ํด ์๋ฒ๋ฅผ ๋ฐ์๋ค. ํ์ํ ์ ๋ณด ์ป๊ธฐ(IP์ฃผ์, ํฌํธ๋ฒํธ, ๊ด๋ฆฌ์ ๋น๋ฐ๋ฒํธ) ์๋ฒ๋ฅผ ๋ฐ์ ๋ค ์ฝ์์ ๋ค์ด๊ฐ๋ฉด ์๋์ ๊ฐ์ด ์๋ฒ๋ฅผ ํ์ธํ ์ ์๋ค. ๋นจ๊ฐ ๋ค๋ชจ ๋ถ๋ถ์ ๋๋ฌ ํผ์น๊ณ ํฌํธ ํฌ์๋ฉ ์ ๋ณด ์๋ ์๋ ๋ค๋ชจ๋ฅผ ๋๋ฅด๋ฉด ์๋์ ๊ฐ์ ์ฐฝ์ ๋ณผ ์ ์๋ค. ๋นจ๊ฐ ๋ค๋ชจ๋ฅผ ์น ๋ถ๋ถ์ IP์ ํฌํธ ๋ฒํธ๋ฅผ ํ์ธํ ์ ์๋ค. ์๋ค๋ฉด ์ถ๊ฐํด์ฃผ๋๋ก ํ์. ์ดํ ์..