https://infoscoco.com/92redis.conf ํ์ผ ์ค์ ๋๋ด๊ณ ๋์, ์๋น์ค ์ฌ์์ ํด์คซ๋๋ฐ ๊ณ์ํด์ ์๊ฒฉ ์ ์์ด ์๋๊ธธ๋ ์ฐพ์๋ณด๋๊นsudo systemctl restart redis-server๋ก ์ฌ์์์ ํด์ผ ํ๋ ๊ฒ...๋ชจ๋ ๋ธ๋ก๊ทธ๋ฅผ ๋๋ฌด
https://shxrecord.tistory.com/182https://victorydntmd.tistory.com/334https://honeywater97.tistory.com/139S3 ๋ฒํท์ ํ์ผ ์ ๋ก๋ ํ๋ ค๊ณ ํ๋๋ฐ ์ค๋ฅ ๋ฌ์ ๋t
์ด๋ฒ ํฌ์คํ ์์๋ Spring Boot Maven ํ๋ก์ ํธ๋ฅผ Jenkins๋ฅผ ์ด์ฉํด CI/CD ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ณ ์ ํฉ๋๋ค.Jenkins๋ฅผ ์ค์นํ๊ณ ์ค์ ํฉ๋๋ค. Jenkins ์ค์น ๊ฐ์ด๋๋ ๊ณต์ ํํ์ด์ง๋ฅผ ์ฐธ๊ณ ํ์ธ์.Jenkins Plugin Manager์์
CI(Continuous Integration)์ CD(Continuous Delivery/Deployment)๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค์์ ์๋ํ๋ ๋น๋, ํ ์คํธ, ๋ฐฐํฌ๋ฅผ ์ํด ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ๋ก ์ ๋๋ค.CI๋ ๊ฐ๋ฐ์๋ค์ด ์์ฑํ ์ฝ๋๋ฅผ ์๋์ผ๋ก ๋น๋ํ๊ณ ํ ์คํธํ๋ ๊ณผ์ ์
Java ๋ฅผ ์ ํด๋ณด์ง ์์ ์ฌ๋์ด๋ผ๋ Collection ์ด๋ผ๋ ๋จ์ด๋ฅผ ๋ค์ผ๋ฉด ๋๋์ ์ผ๋ก ์ค๋ ์ด๊ฐ์ด ์์ ๊ฒ์ ๋๋ค. ํนํ ๋ฏธ์ ์ ์๋ฅผ ํ ๋ โ๋๊ตฐ๊ฐ์ ์ปฌ๋ ์ โ ๊ณผ ๊ฐ์ด โ๋ชจ์โ ๋๋ โ์์งโ ๊ณผ ๊ฐ์ ๋ฌ์์ค๋ก ์ฌ์ฉ๋๊ณค ํฉ๋๋ค. Collection Framework
https://velog.io/@sorzzzzy/MSA-MSA๋ฅผ-์ํ-๊ธฐ์ 1-Spring-Boot-Spring-Cloud-Docker
๋ณธ์ธ์ Spring Boot๋ก SNS ํ๋ซํผ์ ๋ง๋ค์์ต๋๋ค. ๋ถ๋ช ํ ๋ก์ปฌ์์ ํ ์คํธ ํ ๋๋ ์ธ๋ถ API(Facebook Social Login) ๊ฐ ์ ์์ ์ผ๋ก ์๋๋๊ณ ์์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ Deploy ์ดํ ํด๋น์ ์ ๊ทผ์ด ๋์ง ์๋ ์ด์๊ฐ ๋ฐ์ํ์ต๋๋ค. ์น์ ํ๊ฒ๋ Fa
๊ธฐ์ ๋ฉด์ ์ ์ํ JAVA CS ์ง์ ์ ๋ฆฌ(๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐ ์ ๋ต-DDL AUTO ์ต์ )
๊ธฐ์ ๋ฉด์ ์ ์ํ JAVA CS ์ง์ ์ ๋ฆฌ(Spring Data JPA ๊ฐ์)
JPA ๋์ ์ฟผ๋ฆฌ/์ ์ ์ฟผ๋ฆฌOAuth2.0์ผ๋ก ๋ก๊ทธ์ธ ๊ตฌํJWTthymeleaf/mustache/JSP ์ฐจ์ด์ ๊ฐ DB๊ฐ ๊ณตํต์ /์ฐจ์ด์ JPA/QLRM/ORMMVC ํจํด์ฑ๊ธํคAOPMavenGradle
์ด ๊ฒ์๊ธ์ ๋ณด๊ณ ์๋ ์ฌ๋์ด๋ผ๋ฉด,์ ํฌ์ ๋น์ทํ ์ํฉ์ด ์๊ฒผ๊ฑฐ๋, ๋์์ด ํ์ํ์ ๋ถ์ด๋ผ ์๊ฐํฉ๋๋ค.๊ทธ๋์ ๊ฒฐ๋ก ๋ถํฐ ์์ฑํ๊ณ ํฌ์คํ ์์ํ๊ฒ ์ต๋๋ค.๋ณธ์ธ ๊ณผ์ค์ด ์๋ค๋ฉด 99.9999% ํ๋ถ ๋ฐ์ ์ ์์ต๋๋ค.์ ์ผ ์ค์ํ ๊ฑด ์ธ์ด๊ฐ ํตํ์ง ์๋๋ค๊ณ ๋ฉ๋ถํ์ง ์๊ณ ์นจ์ฐฉํ๊ฒ
๊ฐ์์์กด์ฑ ์ฃผ์ ์ด๋ ๊ฒ์ ํ ๋ @Autowired ๋์ ์์ฑ์ ์ฃผ์ ์ ํ์ฉํ๋ฉด ์ข๋ค๊ณ ํ๋ค. ์ผ๋จ ๋ฐ๋ก ์ ์ฉํ ์ ์๋ ์์ฑ์ ์ฃผ์ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๊ฒ ์ ์ด๋ณด๊ฒ ๋ค.์์กด์ฑ์ด ๋ญ๋ฐ?HelloWorld ํด๋์ค์์ helloํจ์๊ฐ ํธ์ถ๋๊ธฐ ์ํด์๋ SayHello ํด๋์ค๊ฐ ํ์
์ฐ๋ฆฌ๋ POST ์์ฒญ์ ํตํด ๋ธ๋ผ์ฐ์ ์ BODY ์์ญ์ ์๋ Form ๋ด๋ถ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ ์ ์ฅ์์ ์ ์ฅํ๊ณ ์ถ์ ๋๊ฐ ์๋ค.Spring Boot์์๋ DTO(Data Transfer Object)๋ผ๋ ๊ฑธ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ก ๋ฐ์ ํ, Entityํ ์ํจ ์ดํ ๋น
ViewController์์ ๊ฐ CRUD ์์ฒญ์ ๋ํ ๋๋ฉ์ธ ์ค์ ์ด ์๋ฃ ๋์๋ค๋ฉด?์๋์ ๊ฐ์ด ๊ฐ CRUD์ ๋ํ ๋งคํ์ ๋ง์ณค๋ค๋ฉด ํน์ ํ์ด์ง๋ ๊ถํ ๋ถ์ฌ ์์ด๋ ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ฒ ์ง๋ง,๊ฐ์ธ์ ๋ณด๋ ์ค์ํ ๋ฉ์์ง๊ฐ ๋ด๊ธด ํ์ด์ง๋ค์ ๋ํด์๋ ๊ถํ์ ๊ฐ๊ณ ์๋ ์ฌ์ฉ์๋ง ์ ๊ทผ์ด
๋ด์ฅ ํฐ์ผ์ ๊ฐ์ง๋ค.ํฐ์ผ์ ๋ฐ๋ก ์ค์นํ ํ์ ์์ด ๋ฐ๋ก ์คํ๊ฐ๋ฅํ๋ค.์น์๋ฒ(์ํ์น)๋ ์๋ฐ์ฝ๋๋ฅผ ์ฝ์ ์ ์๊ธฐ ๋๋ฌธ์ jsp์ ๊ฐ์ ํ์ผ์ ์น๋ธ๋ผ์ฐ์ ์ ์์ฒญ์ ๋ํด์ ์๋ตํด์ค ์๊ฐ ์๋ค.์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํฐ์ผ์ด ์กด์ฌํ๋ค.ํฐ์ผ์ jspํ์ผ์ ์๋ฐ์ฝ๋๋ฅผ ์ปดํ์ผ ํ์ฌ ht
JPA๋ Java Persistance API ์ด๋ค.RAM์ ์ ๊ธฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ์ ๋ฅ ๊ณต๊ธ์ด ์๋๋ฉด ๋ ์๊ฐ๋ ํ๋ฐ์ฑ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค๋ ํน์ง์ ๊ฐ์ง๊ณ ์๋ค. ์ฆ, ์ปดํจํฐ๊ฐ ๊บผ์ง๋ฉด ๋ฐ์ดํฐ๊ฐ ๋ ์๊ฐ๋ค. ๊ทธ๋์ ์ปดํจํฐ๊ฐ ๊บผ์ง๋๋ผ๋ ๋ฐ์ดํฐ๊ฐ ์ง์์ง์ง ์๋๋ก ํ๊ธฐ
์คํ๋ง์ ํ๋ ์์ํฌ์ด๋ค.์ผ๋จ ํ๋ ์์ ํ์ด๋ผ๋ ๋ป์ด๊ณ , ์ํฌ๋ ์ผ์ ํ๋ค๋ผ๋ ๋ป์ด๋ค. ์ฆ ํ๋ ์์ํฌ๋ ํ์์์ ํน์ ์ผ์ ํ๋ ๊ฒ์ ๋งํ๋ค. ํ๋ ์์ํฌ๋ ํ ์์์ ๋ฒ์ด๋ ์์ ํ์ง ๋ง๊ณ , ์ ๊ณต๋ ํ์ ๋ง์ถฐ ๊ฐ๋ฐํ๋ ๊ฒ์ด ํ๋ ์์ํฌ์ด๋ค.์คํ๋ง์ ์คํ์์ค์ด๋ค.์คํ์์ค๋ผ๋
์ด์ ๋ ๊ทธ๋์ ๊ฐ๋ฐํ๋ ๊ฒฐ๊ณผ๋ฌผ๋ค(๊ฐ์ธ/ํํ๋ก์ ํธ)์ ๋ํ ํผ๋๋ฐฑ์ ์ป๊ณ ์ OKKY์ ๊ธ์ ์ผ๋ค.๋ฐฐํฌ URL๋ฟ๋ง ์๋๋ผ, ๊ฐ๋ฐ ์ฝ๋๊ฐ ๋ด๊ธด ๊นํ๋ธ ๋ ํฌ์งํ ๋ฆฌ ๋งํฌ๋ ๊ฐ์ด ์ฒจ๋ถ ํ์๋๋ฐ, ์ด๋ฐ ๋๊ธ์ด ๋ฌ๋ ธ๋ค.์ต๊ทผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ด๋ จ๋ ์ํฐํด์ ์ฝ์ผ๋ฉด์ ํด๋ฆญ ํ ๋ฒ์ ์ค์
๋ฌธ์ ๋งํฌ: https://programmers.co.kr/learn/courses/30/lessons/1829์ํ์ข์ฐ์์ ํ์ฌ ์ฒดํฌ ์ค์ธ ๊ฐ์ ์ฌ๊ท DFS ํธ์ถ์ํ์ข์ฐ์์ ํ์ฌ ์ฒดํฌ ์ค์ธ ๊ฐ๊ณผ ๊ฐ์ง ์์ผ๋ฉด ํด๋น ์์น๋ฅผ Stack์ ์ ์ฅํจ์ฌ๊ท DFS๊ฐ ๋๋๋ฉด
๋ฌธ์ ๋งํฌ: https://programmers.co.kr/learn/courses/30/lessons/42626๋ฐฐ์ด์ ์ฐ์ ์์ ํ๋ก ๋ฐ๊ฟ์ฐ์ ์์ ํ์์ 2๊ฐ๋ฅผ ๊บผ๋ด์ ์๊ณ ๋ค์ ๋ฃ์์ฐ์ ์์ ํ์ ์กด์ฌํ๋ ์์์ด ๋ค K๋ฅผ ๋๋์ง ํ์ธ๋์ผ๋ฉด ํ์ ๋ฆฌํด์๋๋ฉด 1๋ฒ