์ ์ฒด ๊ธ77 [Spring / Redis] @RedisHash ์ด๋ ธํ ์ด์ ์ ๋ถ์ธ ๊ฐ์ฒด๋ฅผ ๋ ๋์ค์ ์ ์ฅํ์๋, ๊ทธ ๊ฐ์ ํ์ธํ๋ ๋ฐฉ๋ฒ redis-cli์์ ๋ด๊ฐ ๋ฃ์ ๊ฐ์ ํ์ธํ๋ ๋ฐฉ๋ฒkey๋ @RedisHash ์ ์ค์ ํด๋์ value์ ๊ทธ ์ด๋ ธํ ์ด์ ์ด ๋ถ์ ํด๋์ค ์ค @Id ์ด๋ ธํ ์ด์ ์ด ๋ถ์ ํ๋๋ฅผ ์กฐํฉํ์ฌ value:Id๋ก ์ค์ ๋ฉ๋๋ค.์ฆ, ์๋์ ๊ฐ์ ํด๋์ค๊ฐ ์๊ณ , ๊ฐ์ฒด๋ฅผ ๋ง๋ค๋ Id์ธ accessToken ํ๋ ๊ฐ์ "hello"๋ก ์ค์ ํด๋จ๋ค๋ฉดpackage com.mewsinsa.auth.jwt.redis.dto;import com.mewsinsa.member.domain.Member;import org.springframework.data.annotation.Id;import org.springframework.data.redis.core.RedisHash;@RedisHash(value = "accessToken", time.. 2024. 5. 18. [Spring MVC] Spring MVC ๊ตฌ์กฐ์ DispatcherServlet Spring MVC์ ๊ตฌ์กฐ์ ๊ทธ ํต์ฌ์ธ DispatcherServlet์ ๋ํด ์์๋ด ์๋ค.MVC๋MVC๋ Model, View, Controller์ ์ฝ์๋ก, ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์์ญ์ ๊ฐ๊ฐ Model, View, Controller๋ก ๋๋์ด ๊ฐ๋ฐํ๋ ๋์์ธ ํจํด์ ๋๋ค.MVC ํจํด ๋์ ์ ์๋ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๋ทฐ๋ฅผ ๋ ๋๋ง ํ๋ ๋ถ๋ถ ๋ฑ์ ์ฝ๋๊ฐ ๋ชจ๋ ํ jsp ํ์ผ์ ์์๋๋ฐ, MVC ํจํด์ ๋์ ํ ์ดํ์๋ UI ์์ญ๊ณผ ๋๋ฉ์ธ(๋น์ฆ๋์ค ๋ก์ง) ์์ญ์ด ๋ถ๋ฆฌ ๋์ด ์๋ก์๊ฒ ์ํฅ์ ์ฅ ์์ผ๋ฉด์ ๊ฐ๋ฐ๊ณผ ์ ์ง ๋ณด์๊ฐ ๊ฐ๋ฅํ๊ฒ ๋์๋ค.Model(๋ชจ๋ธ)Spring MVC ๊ธฐ๋ฐ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ ๋ฌ ๋ฐ์ผ๋ฉด ์์ฒญ ์ฌํญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์์ ์ ํฉ๋๋ค.์ฒ๋ฆฌํ ์์ ์ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต์ผ๋ก.. 2024. 5. 18. [Java / Web] ์๋ธ๋ฆฟ๊ณผ ์๋ธ๋ฆฟ ์ปจํ ์ด๋, ํฐ์บฃ์ ๋์ ์๋ธ๋ฆฟ์๋ธ๋ฆฟ์ด๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ Servlet ํด๋์ค์ ๊ตฌํ ๊ท์น์ ์งํจ ์๋ฐ ์น ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ ๋๋ค.์ฆ ์๋ธ๋ฆฟ์ ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ ํ ์์ฒญ์ ํ๋ฉด ๊ทธ ์์ฒญ์ ๋ฐ๊ณ ๊ทธ์ ๋ํ ์๋ต์ ์ ์กํด์ฃผ๋ ์ญํ ์ ํ๋ ์๋ฐ ํ๋ก๊ทธ๋จ์ ๋๋ค.์๋ธ๋ฆฟ์ ํน์งํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ํด ๋์ ์ผ๋ก ์๋ํ๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ปดํฌ๋ํธ์ ๋๋ค.html์ ์ฌ์ฉํ์ฌ ์์ฒญ์ ์๋ตํฉ๋๋ค.MVC ํจํด์์ Controller๋ก ์ด์ฉ๋ฉ๋๋ค.Servlet์ javax.servlet.Servlet์ ์ต์์ ์ธํฐํ์ด์ค๋ก ๊ฐ์ง๋๋ค.HTTP ํ๋กํ ์ฝ ์๋น์ค๋ฅผ ์ง์ํ๋ java.servlet.http.HttpServlet ํด๋์ค๋ฅผ ์์๋ฐ์ต๋๋ค.html์ ๋ณ๊ฒฝํ๋ฉด Servlet์ ์ฌ์ปดํ์ผํด์ผํ๋ ๋จ์ ์ด ์์ต๋๋ค.์๋ธ๋ฆฟ์ ๋์ ๋ฐฉ์.. 2024. 5. 16. [Beyond SW / 1, 2์ผ์ฐจ ๋ด์ฉ ๋ณต์ต] Linux์ ๊ถํ ๊ด๋ฆฌ์ ๊ธฐ๋ณธ ๋ช ๋ น์ด ์ ๋ฆฌ ์ฌ์ฉ์์ ๊ทธ๋ฃน, ๊ถํ ๊ด๋ฆฌ๋ฆฌ๋ ์ค์์๋ ์ฌ์ฉ์๋ฅผ ์ฌ๋ฌ ๊ทธ๋ฃน์ผ๋ก ๋๋์ด ๊ด๋ฆฌํฉ๋๋ค.๊ถํ ๊ด๋ฆฌ๋ฅผ ํตํด์ ํน์ ์ฌ์ฉ์๋ ๊ทธ๋ฃน์ด ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ์ ์ ๊ทผํ ์ ์๋ ๊ถํ์ ์ง์ ํฉ๋๋ค.root ์ฌ์ฉ์์ sudo ๋ช ๋ น์ด์ฌ๋ฌ ์ฌ์ฉ์ ์ค, ๋ชจ๋ ๊ถํ์ด ์๋ ์ต์๋จ์ ์๋ ์ฌ์ฉ์๋ฅผ root๋ผ๊ณ ํฉ๋๋ค.root ์ฌ์ฉ์๋ก ๋ณ๊ฒฝํ๋ ๋ช ๋ น์ด. (su๋ switch user๋ผ๋ ์๋ฏธ์ ๋๋ค.)root ๊ณ์ ์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ชจ๋ฅด๋ฉด ์ฌ์ฉํ ์ ์์su -์์คํ ์ ์ฒด ๋ณด์์ ์ํฅ์ ๋ฏธ์น ์ ์๋ ๋ช ๋ น์ด๋ root๊ฐ ์๋ ์ผ๋ฐ ์ฌ์ฉ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.ex) root๊ฐ ์๋ ์ผ๋ฐ ์ฌ์ฉ์๋ ๋ค๋ฅธ user๋ฅผ ์ถ๊ฐํ ์๊ฐ ์์ต๋๋ค.ํ์ง๋ง root ๊ณ์ ์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ชจ๋ฅด๋ฉด root ๊ณ์ ์ผ๋ก ์ ํํ ์๋ ์์ต๋๋ค. :(๋ฐ๋ผ์ ์ผ๋ฐ ์ฌ์ฉ์๋ sudo.. 2024. 5. 14. [Spring / Project] ์๋ต ๊ฐ์ฒด์์ ์์ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํด๋ณด์ ์ด๋ฒ ๊ธ์ ์ด๋ค ์ง์์ ์ ํ๋ ๊ธ์ด๋ผ๊ธฐ ๋ณด๋จ, ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ์ ๊ฐ ๋์น๊ณ ์์๋ ๋ถ๋ถ์ ๋ํ ํ๊ณ ๋ก์ ๊ฐ๊น์ต๋๋ค,,ใ ใ ๋ฉํ ๋์ ํผ๋๋ฐฑ์ ๋ฐ๊ณ ๋๋ผ๊ฒ ๋ ๊ฒ์ '๋ด๊ฐ ์ ๋ง ์๋ฐ์ ์์์ ์ด์ฉํ์ง ๋ชปํ๊ณ ์๊ตฌ๋'์ ๋๋ค.์ ๊ฐ ์๋ฐ๋ฅผ ์ข์ํ๋ ์ด์ ๋ ๊ฐ์ฒด์งํฅ์ ์ ์ง์ํด์ฃผ๋ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํ๋๋ฐ, ์ ์ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ์์์ ๊ฑฐ์ ์ด์ฉํ์ง ์๊ณ ์์๋ค๋ ๊ฒ์ด ๋ถ๋๋ฌ์์ก์ต๋๋ค.๋ฉํ ๋๊ป์ ํผ๋๋ฐฑ ์ฃผ์ ๊ฒ์ด, ์ผ๋จ ์๋ต ๊ฐ์ฒด์ธ FailureResult, SuccessResult๊ฐ ์์ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝํ ์ ์์ ๊ฒ ๊ฐ์ผ๋ ์ด ๋์ ์์ ๊ตฌ์กฐ๋ก ๋ฐ๊ฟ๋ณด๋ผ๋ ๊ฒ์ด์์ต๋๋ค.์ค๋ ํฌ์คํธ๋ ์ด ๋ ๊ฐ์ฒด๋ฅผ ์์ ๊ตฌ์กฐ๋ก ๋ฐ๊พธ๋ ์ผ์ข ์ ๋ฆฌํฉํ ๋ง(?) ๊ณผ์ ์ ๋ํด ๊ธฐ๋กํด๋ณด๋ ค๊ณ ํฉ๋๋ค.์๋๋ ์ด๋ป๊ฒ ๋์ด ์์๋๋ฐ?์๋ ์ฝ๋๋.. 2024. 5. 13. [CI/CD] Jenkins๋ก ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ ๋น๊ณต๊ฐ ํ์ผ ๊ด๋ฆฌ์ ๋น๋ ์คํฌ๋ฆฝํธ ์์ฑ ์ด ํฌ์คํธ์ ๊ธฐ๋กํ ๋ด์ฉ์application.yml๊ณผ ๊ฐ์ด ์จ๊ฒจ์ผํ๋ ์ ๋ณด๋ฅผ github์ ์ฌ๋ฆฌ์ง ์์๋ ๋ฐฐํฌ๋๋๋ก jenkins credentials์์ ํ์ผ ๊ด๋ฆฌํ๊ธฐpipeline Item์ ๋ง๋ค์ด์ git clone, ์ค์ ํ์ผ ์ ๋ณด ์ถ๊ฐ, ๋น๋ํ๊ธฐ์ด๋ ๊ฒ ๋๊ฐ์ง์ ๋๋ค.Github์ ์ฌ๋ผ๊ฐ๋ฉด ์๋๋ ํ์ผ์ ๊ด๋ฆฌapplication.yml ๋ฑ๊ณผ ๊ฐ์ ์ค์ ํ์ผ์๋ DB url, api key ๋ฑ๊ณผ ๊ฐ์ ๋ ธ์ถ๋๋ฉด ์๋๋ ์ ๋ณด๋ค์ด ์กด์ฌํฉ๋๋ค.์ด๋ฐ ์ ๋ณด๊ฐ ๊นํ์ ์ฌ๋ผ๊ฐ๋ฉด ์๋๊ธฐ ๋๋ฌธ์ ๋ณดํต์ .gitignore์ ์ถ๊ฐํด์ ์ฌ๋ผ๊ฐ์ง ์๋๋ก ๋ฐฉ์งํ์ง๋ง, ์ ํจ์ค๋ ๊นํ์ ์๋ ์ฝ๋๋ฅผ clone ๋ฐ์์ ๋น๋๋ฅผ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด ํ์ผ๋ค์ ๋น๋ ์ ์ ์ถ๊ฐํด์ฃผ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค.๋ ธ์ถ๋๋ฉด ์๋๋ ํ์ผ๋ค์ Jenki.. 2024. 5. 7. ์ด์ 1 ยทยทยท 6 7 8 9 10 11 12 13 ๋ค์