Spring Framework/๐ ์๋ฌ ๊ธฐ๋ก
DB์ ์๋ ๋ฐ์ดํฐ๋ค์ ๋ชจ์กฐ๋ฆฌ ์ญ์ ํ๊ณ ๋ค์ save ํด์ผํ๋ค.์ฒ์์๋ deleteAll()๋ก ์ญ์ ํ ํ saveAll()ํ๋ ๊ฒ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค.ํ์ง๋ง ์คํ์์ผ๋ณด๋ ์์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.ย delete๊ฐ ๋์ง ์๊ณ save๋ฅผ ํ๋ ค๊ณ ํ๋ ์ค๋ณต๋ ํค๊ฐ ์๋ค๊ณ ๋์ค๋ ๋ฏํ๋ค.ย ย ย ย deleteAll()์ฃ๋ค select๋ง ํ๊ณ delete๋ ํ์ง ์์๋ค.๊ฒฐ๊ตญ delete๋ฅผ ํ์ง ์๊ณ saveAll()์ ๋ง๋ insertํ๋ ค๊ณ ํ๋ค.ย ๊ทธ๋ฌ๋ค ๋ณด๋ ์ค๋ณต๋ ํค๊ฐ ์๋ค๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ค.ย ๐น deleteAll()ย deleteAll() ๋ฉ์๋๋ฅผ ๋ค์ด๊ฐ์ ํ์ธํด๋ณด๋ findAll()๋ก ๋ชจ๋ ์ํฐํฐ๋ฅผ ์ฐพ๊ณ ํ๋์ฉ ์ญ์ ํ๋ค.ย ๊ฐ ์ํฐํฐ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ญ์ ํ๊ณ , ํธ๋์ญ์
์ด commit๋ ๋๋ง๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ..
Spring Framework/JPA
[Failed to add the foreign key constraint. Missing index for constraint 'FKe6nwysthx2dnq1ikoe3u9gkxp' in the referenced table 'area']ย ์ด ERROR๊ฐ ์ฐธ ๊ฑฐ์ฌ๋ ธ๋ค.ย ERROR์์๋ ๋ฐ์ดํฐ๊ฐ ์๋ง๊ฒ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ด๋ค.ย ย ๋์ถฉ ์ด๋ค ์๋ฌ์ธ์ง๋ ํ์
ํ๋ค.area_code๊ฐ unique ์กฐ๊ฑด์ด ๊ฑธ๋ ค์์ง ์๊ธฐ ๋๋ฌธ์ FK ์ ์ฝ์กฐ๊ฑด์ ์์ฑํ ์ ์๋ค๋ ๊ฒ์ด๋ค.ย ์ด๋ค ์ํฉ์ธ์ง...Weather ์ํฐํฐ์ Area ์ํฐํฐ๊ฐ ์ผ๋์ผ ๋งคํ๋์ด์๊ณ ,referencedColumnName ์ต์
์ ์ค์ AREA_CODE๋ก Area ํ๋๋ฅผ ์ฐธ์กฐํ๋ค.ย @Entity@Table(name = "WEATHER")public class ..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ๊ทธ๋ฆฌ๋ & ์ ๋ ฌ https://www.acmicpc.net/problem/2457 2457๋ฒ: ๊ณต์ฃผ๋์ ์ ์ ์ฒซ์งธ ์ค์๋ ๊ฝ๋ค์ ์ด ๊ฐ์ N (1 โค N โค 100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ ๊ฐ ๊ฝ์ด ํผ๋ ๋ ์ง์ ์ง๋ ๋ ์ง๊ฐ ์ฃผ์ด์ง๋ค. ํ๋์ ๋ ์ง๋ ์๊ณผ ์ผ์ ๋ํ๋ด๋ ๋ ์ซ์๋ก ํํ๋๋ค. ์๋ฅผ ๋ค์ด์, www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ๋ ์ง๋ฅผ ๋น๊ตํ๊ธฐ ์ํด ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์ ๋ณด๋ฅผ ๋์๋น๊ต ๊ฐ๋ฅํ๊ฒ๋ ์ ์๋ก ๋ฐ๊พธ๊ธฐ 3/1 ~ 11/30 ๊น์ง๋ง ํ์ธํ๋ฉด ๋๋ค. ๊ฝ์ด ์ง๋ ๋ ์๋ ๊ฝ์ ๋ณผ ์ ์๋ค. ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง ๋ ์ง๋ฅผ ๊ฝ์ด ํ ๋ ์ง๊ฐ ์ด๋ฅธ ์, ๋ง์ฝ ํ ๋ ์ง๊ฐ ๊ฐ๋ค๋ฉด ์ง ๋ ์ง๊ฐ ์ด๋ฅธ ์์ผ๋ก ์ ๋ ฌ์์ผ์ผ ํ๋ค. ๐น๏ธ ํ์ด ๊ณผ์ ๋ชป ํ์ด์ ํ์ด๋ฅผ ๋ณด๊ณ ๋ค์ ํ์๋ค. Olympia..
DevOps/โ๏ธ CI&CD
์ด์ ๊ธ์์ GitHub Actions๋ฅผ CI์ ์ฉ๋๋ก ์ฌ์ฉํ๊ณ , ์ฝ๋์ ์๋ ๋ฐฐํฌ๋ฅผ ์ํ AWS CodeDeploy๋ฅผ ๊ตฌํํด๋ณด๊ฒ ๋ค. GitHub Actions๋ฅผ ์ฌ์ฉํด์ CI๋ฅผ ๊ตฌ์ถํ๊ณ , AWS CodeDeploy๋ก CD๋ฅผ ๊ตฌ์ถํด ์คํ๋ง ํ๋ก์ ํธ๋ฅผ ์๋ ๋ฐฐํฌํ ๊ฒ์ด๋ค. ๊ฐ๋จ ์์ฝ GitHub์ pushํ๋ฉด GitHub Actions๊ฐ ์๋์ผ๋ก ์คํ ๐ gradlew build ๋ช
๋ น์ด๋ก ๋น๋ํ์ฌ ์คํํ ์ ์๋ jar ํ์ผ ์์ฑ ๋ฐฐํฌ์ ํ์ํ jar ํ์ผ๊ณผ shell script ํ์ผ์ ์์ถํด์ zip ํ์ผ์ AWS S3๋ก ์
๋ก๋ EC2์ ์ค์น๋์ด ์๋ CodeDeploy Agent๊ฐ S3์ ์
๋ก๋๋ zip ํ์ผ์ ๊ฐ์ ธ์์ ๋ฐฐํฌ CodeDeploy Agent๋ S3์์ zip ํ์ผ์ ๋ด๋ ค๋ฐ๊ณ , appsp..
DevOps/โ๏ธ CI&CD
Jenkins์ GitHub Actions์ ์ฐจ์ด์ ์ ์์๋ณด๊ธฐ ์ํด ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ชจ๋ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ ์๋ํ๋ฅผ ์งํํ๋ค. (Jenkins์ ๊ด๋ จ๋ ๊ธ๋ ์์ฑํ๊ณ ์์ผ๋ ์๋ ์ถ๊ฐํ ๋ด์ฉ์ด ๋ง๋ค๋ณด๋ ์์์ ์ฅ์์ ๋ฌปํ์ง ์ค๋๋ค.. ) GitHub Actions์ Jenkins ๋ณด๋ค ๊ฐ๋จํ๋ค. ์ฌ์ฉ๋ฒ์ ๊ธฐ๋กํ๊ณ ๋์ ์ฐจ์ด์ ์ ๊ฐ๋จํ๊ฒ ๊ธฐ๋กํ๊ณ ์ ํ๋ค. โ๏ธ CI/CD์ GitHub Actions CI/CD ๊ฐ๋
์ Jenkins์ ๊ด๋ จ๋ ๊ธ์ ์์ฑํ๋ฉด์ ์ธ๊ธํ๊ธด ํ์๋ค. CI/CD(์ง์์ ํตํฉ / ์ง์์ ๋ฐฐํฌ)๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ํฌํ๋ก์ฐ๋ฅผ ์๋ํํ๊ธฐ ์ํด์์ด๋ค. ๊ถ๊ทน์ ์ผ๋ก๋ ์ฌ์ฉ์์๊ฒ ๋น ๋ฅด๊ฒ ์ต์ ํ๋ก์ ํธ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด์์ด๊ธฐ๋ ํ๋ค. ์ง์์ ํตํฉ - CI (Continuous Integra..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ์ฐ์ ์์ ํ & ์ ๋ ฌ https://www.acmicpc.net/problem/1202 1202๋ฒ: ๋ณด์ ๋๋ ์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ์ฃผ์ด์ง๋ค. (1 โค N, K โค 300,000) ๋ค์ N๊ฐ ์ค์๋ ๊ฐ ๋ณด์์ ์ ๋ณด Mi์ Vi๊ฐ ์ฃผ์ด์ง๋ค. (0 โค Mi, Vi โค 1,000,000) ๋ค์ K๊ฐ ์ค์๋ ๊ฐ๋ฐฉ์ ๋ด์ ์ ์๋ ์ต๋ ๋ฌด๊ฒ Ci๊ฐ ์ฃผ์ด์ง๋ค. (1 โค Ci www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ํ์น ์ ์๋ ๋ณด์ ๊ฐ๊ฒฉ์ ์ต๋์ ํฉ์ ๊ตฌํด์ผ ํ๋ค. ๋ณด์์ ๊ฐ์
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ๊ทธ๋ํ ๐ ๋ค์ต์คํธ๋ผ (์ต๋จ๊ฒฝ๋ก ํ์ ์๊ณ ๋ฆฌ์ฆ) https://www.acmicpc.net/problem/1238 1238๋ฒ: ํํฐ ์ฒซ์งธ ์ค์ N(1 โค N โค 1,000), M(1 โค M โค 10,000), X๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์
๋ ฅ๋๋ค. ๋ ๋ฒ์งธ ์ค๋ถํฐ M+1๋ฒ์งธ ์ค๊น์ง i๋ฒ์งธ ๋๋ก์ ์์์ , ๋์ , ๊ทธ๋ฆฌ๊ณ ์ด ๋๋ก๋ฅผ ์ง๋๋๋ฐ ํ์ํ ์์์๊ฐ Ti๊ฐ ๋ค์ด www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ๊ฐ ํ์๋ค์ ์ง์์ ํํฐ ์ฅ์๊น์ง ์ค๊ณ ๊ฐ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์ต๋จ ์๊ฐ ๊ตฌํ๊ธฐ ๋๋ก๋ค์ ๋จ๋ฐฉํฅ ๐ ๊ธธ๋ง๋ค ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋ค๋ฅด๋ฏ๋ก ์ค๊ณ ๊ฐ๋ ๊ธธ ๋ํ ๋ค๋ฆ ! N๋ช
์ ํ์๋ค ์ค ์ค๊ณ ๊ฐ๋ ๋ฐ ๊ฐ์ฅ ๋ง์ ์๊ฐ์ ์๋นํ ํ์ ์ถ๋ ฅ ๐น๏ธ ํ์ด๊ณผ์ ์ง์์ ํํฐ ์ฅ์๊น์ง ๊ฐ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์ต๋จ ์๊ฐ + ํํฐ ์ฅ์์์..
DevOps/๐ณ Docker
Docker ์ฃผ์ ๋ช
๋ น์ด ๋์ปค ๋ช
๋ น์ด ์ฐพ์์ ์ฌ์ฉํ๊ธฐ ๐ https://docs.docker.com/reference/cli/docker/container/rm/ cheatsheet ์ฌ์ฉํ๊ธฐ ๐ https://docs.docker.com/get-started/docker_cheatsheet.pdf ๋ช
๋ น์ด ๊ตฌ์ฑ : docker ์ปค๋งจ๋ (์ต์
) ๋์ (์ธ์) docker run --name apa03 -d -p 8081:80 httpd docker --version docker ps -a : ์ค์ง๋ ์ปจํ
์ด๋๊น์ง ๋ชจ๋ ํ์ธ docker pull [์ด๋ฏธ์ง ์ด๋ฆ] : docker hub์์ ์ด๋ฏธ์ง ๋ค์ด๋ก๋ ์คํ ์ค์ธ ์ปจํ
์ด๋ ๋ชจ๋ ์ญ์ docker rm -f $(docker ps -aq) docker run = ..