๐ ํ๊ณ /โ 22๋ ํ๊ณ 42 [์์ฌ๊ฒฐ์ , ์ผ์ผํ๊ณ ] 22.06.15 - "๋ฐฑ์๋(Spring) ๋ฐฐํฌ์ ์ํคํ ์ฒ" ๐ ๋ฐฐ์ด ๊ฒ ๋ฐฑ์๋(Spring) ๋ฐฐํฌ ๋ฐฉ๋ฒ ๊ณ ๋ฏผ ์ด์ ๋ FE ๋ฐฐํฌ๋ฅผ ํ์๋ค. ์ค๋์ BE๋ฅผ ๋ฐฐํฌํ๋ค. ์์ง ์ด๊ธฐ ํ๋ก์ ํธ ์ธํ ๋ง ํ๊ณ ๊ตฌํ ์ฝ๋๋ ์์ง๋ง CI/CD ์๋ํ ๋ฐฐํฌ๋ฅผ ๊ตฌ์ถํ ๋ค ํ๋ก์ ํธ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋ ๋ ๋ง๋ค ๋ฐฐํฌํ๊ณ ์ถ์ด์์๋ค. ์ ์ฝ ์ฌํญ - ๋น์ฉ(aws ํ๋ฆฌํฐ์ด) ๊ณ ๋ฏผํ ๋ฐฐํฌ๋ ์๋์ ๊ฐ๋ค. Case 1 : Docker + Docker hub ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋์ปค ํ๋ธ์ ์ฌ๋ ค ์ฌ์ฉํ๋ค. ์ด์ ํ๋ก์ ํธ๋ฅผ ์ด ๋ฐฉ๋ฒ์ผ๋ก ๋ฐฐํฌํ๋ค. ์ฅ์ - ๊ฐ๋จํ๋ค - DockerFile๋ง ๋ง๋ค๋ฉด ๋๋๋ค. - Docker ํ๊ฒฝ์ด๋ผ ๋ฐฐํฌ๊ฐ ์์ ๋กญ๋ค. - ์ด๋ฏธ์ง ์ ์ฅ์ free ๋จ์ - ๋ฌด๋ฃ๋ก ์ฌ์ฉํ๋ฉด ๋ฐฐํฌ ์ด๋ฏธ์ง๊ฐ ๋ ธ์ถ๋๋ค. - ๋จ์ EC2 ์คํ ์ค์ผ์ผ๋ง์ ํ๋ค๋ฉด ๋ชจ๋ EC2์ ๋์ปค๊ฐ ์ค์น๋ ๋ค ๊ทธ ์์ ์ฌ๋ผ๊ฐ.. 2022. 6. 16. [์์ฌ๊ฒฐ์ , ์ผ์ผํ๊ณ ] 22.06.14 - "ํ๋ก ํธ์๋(React) ๋ฐฐํฌ์ ์ํคํ ์ฒ" ๐ ๋ฐฐ์ด ๊ฒ ํ๋ก ํธ์๋(React) ๋ฐฐํฌ ๋ฐฉ๋ฒ ๊ณ ๋ฏผ (์ด์ ๊ธ์ ๋จ๊ฒผ์ง๋ง) ์ฝ๋์ค์ฟผ๋์์์ 3์ฃผ๊ฐ์ ๋ง์ง๋ง ํ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ค. ์ด๋ฒ ํ๋ก์ ํธ๋ FE(2๋ช )/BE(1๋ช )์ผ๋ก BE๋ฅผ ๋ด๋นํ๋ค. FE - react / BE - Spring๋ฅผ ์ฌ์ฉํ๋ค. BE๊ฐ FE ์น๊น์ง ๋ฐฐํฌ๋ฅผ ๋ด๋นํ๊ธฐ๋ก ํ๋ค. React๋ SPA(Single Page Application), CSR(Client side rendering)์ผ๋ก build ํ๋ฉด ์ ์ ํ์ผ์ด ์๊ธด๋ค. ์ด๋ฅผ ๋ฐฐํฌํ๋ฉด ๋๊ฒ ๋ค ์๊ฐํ๊ณ 3๊ฐ์ง๊ฐ ๋ ์ฌ๋๋ค. Case 1 : Spring + react ๋ฌถ์ด ๋ฐฐํฌํ๊ธฐ react๋ฅผ ๋น๋ํ๋ฉด /build ์ ์ ๋ฆฌ์์ค ํ์ผ์ spring์ src/main/resources/main/static ์ ๋ฃ์ด ๋ฐฐํฌํ๋ค. ์ฅ์ ํ .. 2022. 6. 15. [์ผ์ผํ๊ณ ] 22.06.13 - "AWS Auto Scaling, ์ฝ๋ ์ค์ฟผ๋์์์ ๋ง์ง๋ง ํ๋ก์ ํธ ์์" ๐ ๋ฐฐ์ด ๊ฒ AWS Auto Scaling ํธ๋ ์ค ๋ง์คํฐ ํด๋์ค์์ AWS์ Auto Scaling์ ๋ฐฐ์ ๋ค. ๊ธฐ์ต์ ๋จ๋ ๋ด์ฉ์ ์ ๋ฆฌํ๊ณ ์ ํ๋ค. ์ค์ผ์ผ๋ง์ ์ข ๋ฅ : ์ํ, ์์ง ํ์ฅ - ์ํ ํ์ฅ : AWS๋ ์ํ ํ์ฅ๋ง ์ ๊ณตํ๋ค. - ์์ง ํ์ฅ : AWS ๊ธฐ๋ณธ ์ ๊ณต๋์ง ์๋๋ค. ํ๊ณ ์ถ๋ค๋ฉด ์ง์ ์ปค์คํ ํ์ฌ CloudWatch ๋ชจ๋ํฐ๋ง ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํด ์ฌ์ฉํ ์ ์๋ค. ์ ์คํ ์ค์ผ์ผ๋ง์ด ์ค์ํ๊ณ ์ฌ์ฉํ ๊น? IT ํ์ฌ์ ์๋ฒ ์ฌ์ฉ์ ์ผ์ ํ์ง ์๋ค. ํ์ฌ๋ง๋ค ์ ํ์ด ๋ค๋ฅด๋ค. ํด๋ผ์ฐ๋ ์ด์ ์๋ ์์์ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ์ง ๋ชปํ๋ค. AWS ์คํ ์ค์ผ์ผ๋ง ์ดํ ์ฌ์ฉ์๋ ์์ ๋กญ๊ฒ ์๋ฒ๋ฅผ ๋๋ฆฌ๊ณ ์ค์ผ ์ ์๋ค. Auto Scaling ๊ตฌ์ฑ ์์์ ์๋ฆฌ Auto Scaling๋ ELB(ํ๋ ฅ์ ๋ก๋ ๋ฐธ๋ฐ์ฑ) + C.. 2022. 6. 13. [์ผ์ผํ๊ณ ] 22.06.02 - "๊ฒ์ฆ๋ฌธ ์คํจํด๋ ๊ณ์ํ๊ธฐ, ํตํฉํ ์คํธ๋ฅผ ์ํ ๋๋ฏธ๋ฐ์ดํฐ ์ธํ , ์ฝ๋์ค์ฟผ๋ ์ ๋ฐฐ ๊ธฐ์์ ์จ๋ผ์ธ ๋ง๋จ" ๐ ๋ฐฐ์ด ๊ฒ AssertJ์ assertAll JUnit5๋ AssertJ์ ๊ฒ์ฆ ๋ฉ์๋(e.g. assertThat() ..)๊ฐ ์ฌ๋ฌ ๊ฐ ์์ ๋ ์์ ํ๋๊ฐ ์คํจํ๋ฉด ๋ค์ ๊ฒ์ฆ๋ฌธ์ ์คํํ์ง ์๋๋ค. ์ด๋ฅผ ์ํด ๋ฌถ์ด์ ํ ๋ฒ์ ์คํํ ์ ์๋ค. ๊ธ์์ฑ : 2022.06.02 - [โ ํ ์คํธ์ฝ๋] - JUnit5์์ ๊ฒ์ฆ๋ฌธ์ด ์ค๊ฐ์ ์คํจํด๋ ๋ฉ์ถ์ง ์๊ณ ๊ฒ์ฆ๋ฌธ ๋ชจ๋ ์คํํ๊ธฐ(AssertAll, AssertJ, SoftAssertions) ํตํฉ ํ ์คํธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์คํธ, ๋๋ฏธ๋ฐ์ดํฐ ์ธํ ํตํฉ ํ ์คํธ๋ฅผ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๊ธฐ๊ฐ, ๋๋ฏธ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ผ ํ๋ ์ํฉ์ด ์์๋ค. ์๊ฐํด๋ณธ ์ธํ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค. 1. java ์ฝ๋๋ก ์ง์ data ๋ฃ๊ธฐ (ํ๋์ฉ ๋ฃ๊ฑฐ๋ initDB() ์ ๊ฐ์ ๋ง๋ ํด๋์ค๋ก .. 2022. 6. 2. [์ผ์ผํ๊ณ ] 22.05.31 - "Github Actions์ ํ์ฉํ ๋ฐฐํฌ ์๋ํ, ๋น๋(ํ ์คํธ ํต๊ณผ)์ ๋ฌธ์ ์์์ง๋ง ๋ฐํ์์๋ ์๋ฌ๊ฐ ๋ฐ์ํ ๋ฌธ์ " ๐ ๋ฐฐ์ด ๊ฒ ๋ฐฐํฌ ์๋ํ์ ์ํคํ ์ฒ Airbnb ํ๋ก์ ํธ 15์ผ ์ค 7์ผ ์ฐจ ์งํ ์ค์ด๋ค. ์ด์ , ์ค๋์ Github Actions์ ํ์ฉํ ๋ฐฐํฌ ์๋ํ๋ฅผ ํ์๋ค. ์ํคํ ์ฒ๋ ์๋์ ๊ฐ๋ค. AWS๋ฅผ ํ์ฉํ์๋ค. VPC์ ์ฌ์ฉํ์ฌ public, private subnet์ ๊ตฌ๋ถํ์ฌ Web Server์ DB๋ฅผ ๊ตฌ๋ถํ์๋ค. ํน๋ณํ ์ ์ผ๋ก DB ec2 ๋คํธ์ํฌ๋ฅผ private subnet์ผ๋ก ์ค์ ํ์ฌ ์ธ๋ถ User์์ ๊ณง๋ฐ๋ก ์ ์ํ ์ ์๋๋ก ํ์๋ค. VPC NAT Gateway๋ฅผ ํ์ฉํ์ฌ ์์๋ฐ์ด๋๋ง ํ์ฉํ์๋๋ฐ VPC NAT Gateway ๋น์ฉ ๋ฌธ์ ๋ก ec2๋ฅผ ํ์ฉํด NAT์ ์ง์ ๊ตฌํํ๊ฑฐ๋ ์ ๊น ์ธ๋ถ ์ ์์ด ํ์ํ ๋ Elastic IP๋ฅผ ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด์ ์ ๊น ๋ถ์ฌ ํต์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์๋ค. ์๋ํ.. 2022. 6. 1. ์ด์ 1 2 3 4 ยทยทยท 9 ๋ค์