๐ฑ Develop(15)
-
JPA ๊ตฌ์กฐ๋ ์ด๋ป๊ฒ ๋์ด์๊ณ spring-data-jpa์๋ ๋ญ๊ฐ ๋ค๋ฅผ๊น?
JPA๋ Java Persistence API๋ก, ์๋ฐ ๊ฐ์ฒด์ DB๋ฅผ ๋งคํํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ์๋ฐ ORM ๊ธฐ์ ์ ํ์ค ๋ช ์ธ์ ๋๋ค. SQL Mapper ORM sql๊ณผ ๊ฐ์ฒด๋ฅผ ๋งคํ DB์ ๊ฐ์ฒด๋ฅผ ๋งคํ mybatis, jdbcTemplate ๋ฑ hibernate, EclipseLink ๋ฑ ๊ฐ์ธ์ ์ผ๋ก mybatis๋ฅผ ์ผ์ ๋๋ ๋ณต์กํ sql๋ฌธ์ด ํ์ํ ๋๋ ๋น๊ต์ ํธ๋ฆฌํ๊ฒ ์์ฑํ ์ ์๋ค๋ ์ฅ์ ์ด ์์์ต๋๋ค. ํ์ง๋ง DB๋ฅผ ์ค๊ฐ์ ๋ณ๊ฒฝํ๊ธฐ ์ด๋ ต๊ณ , ๊ธฐํ ๋ณ๊ฒฝ์ฌํญ์ด ์๊ธธ ๋๋ง๋ค sql๋ฌธ์ ์ผ์ผ์ด ์์ ํด์ค์ผํ๋ ๋ฐ๋ณต ์์ ์ ์ํํด์ผ ํ์ต๋๋ค. ๊ทธ๋์ CRUD๋ฅผ ํ๋ฃจ์ข ์ผ ์ง๊ณ ์๋ ๊ฐ๋ฐ์์ ๋ฒ์ด๋ ๋น์ฆ๋์ค ๋ก์ง์ ์ง์คํ๊ธฐ ์ํด ORM ์ ๊ด์ฌ์ ๊ฐ์ง๊ฒ ๋์์ต๋๋ค. โORM์ด๋ ๊ฐ์ฒด๋ ๊ฐ์ฒด๋๋ก, DB๋ ..
2022.01.06 -
[Springboot] '์ต๊ทผ ์ฝ์ ๊ธ' Dto๋ก Redis์ ์ ์ฅํ๊ณ ์กฐํํ๊ธฐ AtoZ (2) - ์์ , ์ญ์ ํธ
2021.06.18 - [๐ฑ Develop/Server] - [Springboot] '์ต๊ทผ ์ฝ์ ๊ธ' Dto๋ก Redis์ ์ ์ฅํ๊ณ ์กฐํํ๊ธฐ AtoZ [Springboot] '์ต๊ทผ ์ฝ์ ๊ธ' Dto๋ก Redis์ ์ ์ฅํ๊ณ ์กฐํํ๊ธฐ AtoZ โ redis ๋ฅผ ์ ํํ ์ด์ ๋ธ๋ก๊ทธ ํํ์ด์ง๋ฅผ ๋ง๋๋ ํ๋ก์ ํธ์์, "์ต๊ทผ ์ฝ์ ๊ธ" ์ ๊ฐ๋ฐํด์ผํ๋ ์ํฉ์ด ์์์ต๋๋ค. velog ๊ฐ์ ์๋น์ค์์๋ ๊ฝค ์ค๋ ๊ธฐ๊ฐ๋์ ๋ด๊ฐ ์ฝ์ ๊ธ์ ์ ์ฅํ๋ ๋ฏ ํ tape22.tistory.com ์ด์ ๊ธ์์๋ ๊ฐ๋จํ๊ฒ redis์ list๋ก ์กฐํํ ๊ธ Dto๋ฅผ ์ ์ฅํ์์ต๋๋ค. ํ์ง๋ง ์ค์ ๋ก ํ๋ก ํธ์ ๋ฐฐํฌ๋ฅผ ํ๊ณ ๋๋, ํฌ๊ฒ ๋ ๊ฐ์ง ์ด์๋ฅผ ๊ฐ๊ณผํ๊ณ ์์ด์ ๋ ๋ฒ์งธ ๊ธ์ ์ฐ๊ฒ ๋์์ต๋๋ค. ํ์ฌ ๋ก์ง์ผ๋ก๋ postIdx ๋ฅผ ํตํด ํด..
2021.06.24 -
[Springboot] '์ต๊ทผ ์ฝ์ ๊ธ' Dto๋ก Redis์ ์ ์ฅํ๊ณ ์กฐํํ๊ธฐ AtoZ
โ redis ๋ฅผ ์ ํํ ์ด์ ๋ธ๋ก๊ทธ ํํ์ด์ง๋ฅผ ๋ง๋๋ ํ๋ก์ ํธ์์, "์ต๊ทผ ์ฝ์ ๊ธ" ์ ๊ฐ๋ฐํด์ผํ๋ ์ํฉ์ด ์์์ต๋๋ค. velog ๊ฐ์ ์๋น์ค์์๋ ๊ฝค ์ค๋ ๊ธฐ๊ฐ๋์ ๋ด๊ฐ ์ฝ์ ๊ธ์ ์ ์ฅํ๋ ๋ฏ ํ๋๋ฐ, ํ์ฌ ํ๋ก์ ํธ์ ๊ธฐํ์์๋ ์ผ์ฃผ์ผ์ด๋ผ๋ ๊ธฐ๊ฐ์ด ์ง์ ๋์ด์์์ต๋๋ค. ์ฒ์์๋ ํ ์ด๋ธ์ ํ๋ ๋ ์์ฑํด์ผํ๋ ๊ณ ๋ฏผ์ด ๋์๋๋ฐ, ์ฝ์ ๊ธ ํน์ฑ ์ ๋จ๊ธฐ๊ฐ์ ๋ง์ ๋ฐ์ดํฐ๊ฐ ์์ง๋๋ค๋ ์ ๊ณผ ๋ง๋ฃ ๊ธฐ๊ฐ์ ์ค์ ํ๋ ๊ฒ์ด ์ฑ๋ฅ ์์ผ๋ก ์ข์ง ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ๊ทธ๋ฌ๋ค ์ด์ ํ๋ก์ ํธ์์ refreshToken์ ์ ์ฅํ ๋ redis๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์๊ฐ๋์, redis๋ก ์กฐํํ ๊ธ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ๊ณ , ์ผ์ ๊ธฐ๊ฐ์ด ์ง๋๋ฉด ์ญ์ ๋๋ ๊ธฐ๋ฅ์ ์ ์ฉํด๋ณด๊ณ ์ ํฉ๋๋ค. ๐ ๊ตฌํํด์ผํ๋ ๊ธฐ๋ฅ redis list ์๋ฃํ์ ์ฌ..
2021.06.18 -
Jenkins sudo: not found Build step 'Execute shell' marked build as failure ๊ถํ ์๋ฌ ํด๊ฒฐํ๊ธฐ
Jenkins๋ก docker ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ณ hub์ ํธ์ํ๋ ๊ณผ์ ์ .sh ํ์ผ ํ๋๋ฅผ ์คํํด์ ํ๊บผ๋ฒ์ ์ํํ๋ ค๊ณ ํฉ๋๋ค. ํ์ง๋ง Jenkins๊ฐ ec2 ์๋ฒ์์ sudo ๋ช ๋ น์ด๋ฅผ ์คํํ๋ ค๋ฉด, Jenkins์๊ฒ ๋ฐ๋ก ๊ถํ์ ์ค์ผํฉ๋๋ค. ๊ถํ์ ์ฃผ์ง ์๊ณ ๋น๋ํ๋ฉด sudo: not found Build step 'Execute shell' marked build as failure ๊ฐ์ ์๋ฌ๊ฐ ๋ฉ๋๋ค. ๊ทธ๋์ root ๊ณ์ ์ผ๋ก ๋ค์ด๊ฐ์ /etc/sudoers ํ์ผ์ ์์ ํด์ค์๋ค. su # ๋ฃจํธ ๊ณ์ ์ผ๋ก ์ ์ํ๊ธฐ, password ๋ฅผ ๋ชจ๋ฅธ๋ค๋ฉด ์ด๊ธฐ ์ค์ ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. cd /etc # etc ํด๋๋ก ๋ค์ด๊ฐ์ vi sudoers # root ๊ถํ์ผ๋ก sudoers ํ์ผ ์ด๊ธฐ sudoers ํ์ผ๋ก ๋ค์ด๊ฐ..
2021.04.30 -
Springboot Gradle + AWS EC2 + Jenkins + Docker๋ก ๋ฐฐํฌ๊น์ง(5) : ์ฌ๋์ผ๋ก Jenkins ์๋ฆผ ๋ฐ๊ธฐ
์ด์ Jenkins์ github์ ์ฐ๋ํ๊ณ , springboot๋ฅผ ๋น๋ํ์ผ๋ฉฐ, ์ด๋ฅผ docker ์ด๋ฏธ์ง๋ก ๋ง๋ค์ด hub์ pushํ๋ ๊ณผ์ ๊น์ง ๋ชจ๋ ๋ง์ณค์ต๋๋ค. ๐ช ์ด๋ ๊ฒ Jenkins์๊ฒ ๊ฐ๋ฐ์๊ฐ ํด์ผํ๋ ์ผ์ ๋๋ ์ฃผ๊ณ ๋๋, ์ผ์ ์ํ๊ณ ์๋์ง, ์๋ฌ๋ ๋์ง ์๋์ง ๋ถ์ํด์ก์ต๋๋ค. ์์๋ก ๋ค์ด๊ฐ์ ํ์ธํ ์๋ ์๋ ๋ ธ๋ฆ์ด๋ Jenkins๊ฐ ์ผ์ ์ ํ๊ณ ์๋์ง ์๋ฆผ์ ๋ฐ์ ๋ณด๊ฒ ์ต๋๋ค. 1๏ธโฃ ์ฌ๋์ Jenkins CI ์ค์น ์ฑ์์ Jenkins CI๋ฅผ ๊ฒ์ํด์ jenkins ์๋ฆผ์ ๋ฐ์ ์ฑ๋์ ์ค์ ํฉ๋๋ค. ์ฑ ์ถ๊ฐ๋ฅผ ๋๋ฅด๋ฉด, Jenkins์ ์ฌ๋ ์๋ฆผ์ ์ถ๊ฐํ๊ธฐ ์ํ ๋จ๊ณ๋ค์ด ์์ธํ๊ฒ ์ค๋ช ๋์ด์์ต๋๋ค. ๋ณธ ํ์ด์ง์์๋ ํ ํฐ์ ๋ณต์ฌํด์ ์ ๋ณด๊ดํด๋๋ฉด ๋ฉ๋๋ค. 2๏ธโฃ ์ฌ๋ ํ๋ฌ๊ทธ์ธ ๋ค์ด๋ก๋, ์ฌ๋ ํ ํฐ..
2021.04.30 -
EC2 ํ๋ฆฌํฐ์ด์์ Jenkins๊ฐ ๋์๊ฐ์ง ์๋ ๋ฌธ์ ํด๊ฒฐํ๊ธฐ
โ๏ธ์ ํ๋ฆฌํฐ์ด ์ฌ์์ด ์ฝ๋ฑ์ง๋ค~! ๐ฅฒ ํ๋ฆฌํฐ์ด ๊ณ์ ์ ๋จ์ด 1GB์ ๋๋ค. jenkins๋ฅผ ๋๋ฆฌ๊ธฐ์ ๋งค์ฐ ๋์ฝ๋์ฝํ.....๋์ฝํ.....๊ทธ๋์ ์ฒ์์ jenkins ์ค์ ์ ์ธํ ํ๊ณ ๋น๋๋ฅผ ํ๋๋ฐ ec2 ํฐ๋ฏธ๋์ด ๋จนํต์ด ๋๋๋ ์๋ฌด๊ฒ๋ ๋์ง ์์์ต๋๋ค. ec2๋ฅผ ๊ป๋ค ์ผ๋๊น ๋๊ธธ๋ ๋ค์ ๋น๋ํ๋๋ ๋ค์ ๋จนํต์ด์๊ณ , ์ฒ์์๋ ์ธ๋ฐ์ด๋ ๊ท์น๋๋ฌธ์ธ๊ฐ ํด์ ์์น ๋ฌด๊ด์ผ๋ก๋ ๋ฐ๊ฟ๋ดค๋๋ฐ ํด๊ฒฐ๋์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ค๊ฐ ์ฐ์ฐํ cpu ์ฌ์ฉ๋์ ๋ณด๊ฒ ๋์๋๋ฐ ๊ทธ๋ํ๊ฐ ๋ ๋ฐ๊ณ ์์ด์ ์ด์์ ๋จ๊ฒจ๋์์ต๋๋ค. ํ์ง๋ง ๋์ด ์๋ ํ์์ Jenkins ํ๋๋ฅผ ์ฐ๊ธฐ ์ํด ๋์ ์ง๋ถํ ์ ์์ต๋๋ค. ๊ทธ๋์ ์ ๋ฐํ๊ฒ ๋ง์ ๊ฒ์์ ํ ๊ฒฐ๊ณผ, swap ์ผ๋ก ํด๊ฒฐํ ์ ์์์ต๋๋ค. SWAP ๋ฉ๋ชจ๋ฆฌโ RAM์ด ๋ถ์กฑํ ๊ฒฝ์ฐ, HDD์ ๊ณต๊ฐ์ ..
2021.04.30