Spring/Spring Cloud
Microservices๊ฐ์ ํต์ ํ๊ธฐ ํด๋ผ์ด์ธํธ๊ฐ user-service์์ userId๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์์ ๋ํ ์ ๋ณด๋ฅผ ์์ฒญํ์ ์ ์ฌ์ฉ์์ ์ฃผ๋ฌธ์ด๋ ฅ๊น์ง ๊ฐ์ ธ์์ผํ๋ ์ํฉ์ ๊ฐ์ ํด๋ณด๋ฉด, ์์ฒญํ๋ userId ๊ฐ์ order-service์ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํด์ ์๋ํฌ์ธํธ๋ฅผ ํธ์ถํด์ผ ์ฃผ๋ฌธ์ด๋ ฅ์ ๊ฐ์ ธ์ฌ ์ ์๋ค. RestTemplate๊ณผ FeignClient๋ฅผ ์ด์ฉํด ํด๋นํ๋ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์๋ณด์. RestTemplate RestTemplate์ http ํต์ ์ ์ ์ฉํ๊ฒ ํ ์ ์๋๋ก ์คํ๋ง์์ ์ ๊ณตํ๋ ํ
ํ๋ฆฟ์ด๋ค. Spring 5.0 ์ดํ๋ถํฐ ๋ ๊ฑฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ฐ์ฃผ๋์๋ค. 1๏ธโฃ user-service์ RestTemplate์ Spring Bean์ผ๋ก ๋ฑ๋ก @SpringBootApplication @Ena..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ๋ธ๋ฃจํธํฌ์ค โ ์์ ํ์ https://www.acmicpc.net/problem/1018 1018๋ฒ: ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ ์ฒซ์งธ ์ค์ N๊ณผ M์ด ์ฃผ์ด์ง๋ค. N๊ณผ M์ 8๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋ณด๋์ ๊ฐ ํ์ ์ํ๊ฐ ์ฃผ์ด์ง๋ค. B๋ ๊ฒ์์์ด๋ฉฐ, W๋ ํฐ์์ด๋ค. www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ์ฃผ์ด์ง ์ฒด์คํ์ 8x8 ํฌ๊ธฐ์ ์ฒด์คํ์ผ๋ก ๋ง๋ค์ด์ผ ํ๋ค. ํฐ์๊ณผ ๊ฒ์์์ด ๋ฒ๊ฐ์์ ์น ํด์ ธ์์ด์ผ ํ๋ค. (0, 0)์ด ๊ฒ์์์ธ ๊ฒฝ์ฐ์ ํฐ์์ธ ๊ฒฝ์ฐ๋ฅผ ๋๋์ด์ ๊ตฌํ๋ค. ๊ฐ๋ก, ์ธ๋ก ์ธ๋ฑ์ค ๊ฐ์ ํฉ์ด ์ง์, ํ์์ ๋ฐ๋ผ ํฐ์์ธ์ง ๊ฒ์์์ธ์ง ๊ตฌ๋ถํด์ ๊ตฌํ๋ค. ๐น๏ธ ํ์ด ๊ณผ์ 1๏ธโฃ ์ฃผ์ด์ง ์ฒด์คํ์ 8x8 ํฌ๊ธฐ๋ก ๋ค์ ๋ง๋ค์ด์ผ ํ๊ธฐ ๋๋ฌธ์ copy๋ฐฐ์ด์ ..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ๋ค์ต์คํธ๋ผ โ ์ต๋จ๊ฒฝ๋ก https://www.acmicpc.net/problem/1504 1504๋ฒ: ํน์ ํ ์ต๋จ ๊ฒฝ๋ก ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N๊ณผ ๊ฐ์ ์ ๊ฐ์ E๊ฐ ์ฃผ์ด์ง๋ค. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) ๋์งธ ์ค๋ถํฐ E๊ฐ์ ์ค์ ๊ฑธ์ณ์ ์ธ ๊ฐ์ ์ ์ a, b, c๊ฐ ์ฃผ์ด์ง๋๋ฐ, a๋ฒ ์ ์ ์์ b๋ฒ ์ ์ ๊น์ง ์๋ฐฉํฅ ๊ธธ์ด ์กด www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ๋ฐฉํฅ์ด ์๋ ๊ทธ๋ํ์ด๋ค. 1๋ฒ ์ ์ ์์ N๋ฒ ์ ์ ์ผ๋ก ์ต๋จ๊ฑฐ๋ฆฌ๋ก ์ด๋ํ๋ค. ์ฃผ์ด์ง ๋ ์ ์ ์ ๋ฐ๋์ ๊ฑฐ์ณ์ผ ํ๋ค. ๋ ์ ์ ์ด v1, v2๋ผ๋ฉด 1 โ v1 โ v2 โ N ๋๋ 1 โ v2 โ v1 โ N ๋๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ํ ์ ์๋ค. ๐น๏ธ ํ์ด ๋ฐฉ๋ฒ 1๏ธโฃ ๋
ธ๋์ ๋ํ ์ ๋ณด (์ด๋ํด์ผํ๋ ๋
ธ๋ = v, ํด..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ๊ทธ๋ํ ํ์ โจ BFS, ๋ค์ต์คํธ๋ผ โ ์ต๋จ ๊ฒฝ๋ก ์ฐพ๊ธฐ https://www.acmicpc.net/problem/18352 18352๋ฒ: ํน์ ๊ฑฐ๋ฆฌ์ ๋์ ์ฐพ๊ธฐ ์ฒซ์งธ ์ค์ ๋์์ ๊ฐ์ N, ๋๋ก์ ๊ฐ์ M, ๊ฑฐ๋ฆฌ ์ ๋ณด K, ์ถ๋ฐ ๋์์ ๋ฒํธ X๊ฐ ์ฃผ์ด์ง๋ค. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์ ๊ฑธ์ณ์ ๋ ๊ฐ www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ์ถ๋ฐ ๋์์ ๋ํ ์ ๋ณด๊ฐ ์กด์ฌํ๋ค. ์ต๋จ ๊ฑฐ๋ฆฌ์ ๋ํ ์ ๋ณด๊ฐ ์กด์ฌํ๋ค. โ ํด๋นํ๋ ์ต๋จ ๊ฑฐ๋ฆฌ์ธ ๋์๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค. ํ๋์ ๋์์์ ๋ค๋ฅธ ๋ชจ๋ ๋์๊น์ง์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด์ผํ๊ธฐ ๋๋ฌธ์ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค. ๋์๊ฐ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ชจ๋ 1์ด๊ธฐ ๋๋ฌธ..
Spring/Spring Cloud
Configuration ์๋ฒ์์ ์ด๋ ํ ๊ฐ์ ๋ณ๊ฒฝ์์ผฐ์ ๋ microservices์ ๋ฐ์์ํค๊ธฐ ์ํด์ ์ด์ ์๋ actuator๋ฅผ ์ฌ์ฉํ๋ค. ํ์ง๋ง ์ด ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ์กด์ฌํ๋ค๋ฉด ๊ฐ๊ฐ์ ๋ง์ดํฌ๋ก์๋น์ค๋ง๋ค ์๋์ผ๋ก refresh ์์ผ์ฃผ์ด์ผํ๊ธฐ ๋๋ฌธ์ ์๋นํ ๋ฒ๊ฑฐ๋กญ๋ค. ์ด๋ฌํ ๋ฐฉ๋ฒ์ ๊ฐ์ ์์ผ์ฃผ๋ ๊ฒ์ด Spring Cloud Bus ์ด๋ค. โSpring Cloud Bus๋ ? ๋ถ์ฐ์์คํ
์ ๋
ธ๋(microservice)๋ฅผ ๋ฉ์์ง ๋ธ๋ก์ปค(RabbitMQ)์ ์ฐ๊ฒฐํ์ฌ ์ํ ๋ฐ ๊ตฌ์ฑ์ ๋ํ ๋ณ๊ฒฝ์ฌํญ์ ์ฐ๊ฒฐ๋ ๋
ธ๋์๊ฒ ์ ๋ฌํด์ฃผ๋ ํ๋ ์์ํฌ์ด๋ค. ๐ก ๋ฉ์์ง ๋ธ๋ก์ปค๋? ๐ ์ ํ๋ฆฌ์ผ์ด์
, ์์คํ
๋ฐ ์๋น์ค๊ฐ ์๋ก ๊ฐ์ ํต์ ํ๊ณ ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๋๋ก ํด์ฃผ๋ ์ํํธ์จ์ด๋ก ๋ฉ์์ง๋ฅผ ๊ฒ์ฆ, ์ ์ฅ, ๋ผ์ฐํ
ํ..
Spring/Spring Cloud
๊ฐ๊ฐ์ Microservice๊ฐ ๊ฐ๊ณ ์๋ ๊ตฌ์ฑ์ ๋ณด ํ์ผ(.yml)๋ค์ด ์์ ๋๋ค๋ฉด ์ดํ๋ฆฌ์ผ์ด์
์์ฒด๋ฅผ ๋ค์ ๋น๋ํ๊ณ ๋ฐฐํฌํด์ผํ๋ค. ์ด์ ๊ฐ์ ๋ฒ๊ฑฐ๋ก์์ ๋์ด๋ด๊ธฐ ์ํด ๊ตฌ์ฑ์ ๋ณด ํ์ผ์ ์ธ๋ถ๋ก ๋ถ๋ฆฌ์ํจ๋ค๋ฉด ๊ฐ๋ฐ, ํ
์คํธ, ์ด์ ํ๊ฒฝ์์๊น์ง ๋ชจ๋ ํ๊ฒฝ ๊ตฌ์ฑ์ ๊ฐํธํ๊ฒ ๊ด๋ฆฌํ ์ ์๋ค. ์ค์ ์ ์ํ ์๋ฒ๋ฅผ ๋ณ๋๋ก ๊ตฌ์ฑํ๊ณ ์คํ ์ค์ธ ์ดํ๋ฆฌ์ผ์ด์
์ด ์๋ฒ์์ ์ค์ ์ ๋ณด๋ฅผ ํ์
ํด ๊ฐฑ์ ์ํค๋ฉด ๋น๋์ ๋ฐฐํฌ ์์ด ๋ณ๊ฒฝ์ฌํญ์ ๋ฐ์ํ๋ ๊ฒ์ด๋ค ! โ Spring Cloud Config ๋?Spring Cloud Config๋ ๋ถ์ฐ์์คํ
์์ ์๋ฒ, ํด๋ผ์ด์ธํธ ๊ตฌ์ฑ์ ํ์ํ ์ค์ ์ ๋ณด(application.yml)๋ฅผ ์ธ๋ถ์์ ๊ด๋ฆฌํ ์ ์๋๋ก ์ง์ํด์ฃผ๋ ์์คํ
์ด๋ค. ์ค์ํ๋ ์ ์ฅ์์์ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ํ๊ฒฝ์ค์ ์ ์ผ๊ด์ ์ผ๋ก ๊ด..
์๊ณ ๋ฆฌ์ฆ/SWEA
์ต์ฅ๊ฒฝ๋ก ๊ตฌํ๊ธฐ โ DFS https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&problemLevel=3&problemLevel=4&contestProbId=AV7GOPPaAeMDFAXB&categoryId=AV7GOPPaAeMDFAXB&categoryType=CODE&problemTitle=&orderBy=SUBMIT_COUNT&selectCodeLang=JAVA&select-1=4&pageSize=10&pageIndex=3 SW Expert Academy SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ
์ธ ๋ฅผ ํ์ธํ์ธ์! swexpertacademy.com ๐ ๊ณ ๋ คํด์ผํ ์ ์ต๋จ๊ฒฝ๋ก๊ฐ ์๋ ์ต์ฅ๊ฒฝ๋ก๋ฅผ ๊ตฌํด์ผ..
์๊ณ ๋ฆฌ์ฆ/SWEA
์ผ์ฑ ๊ธฐ์ถ์ ์ข
์ข
๋์จ ์ ์ด ์๋ ๊ตฌํ ๋ฌธ์ . (0, 0)์์ ์์ https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&problemLevel=3&problemLevel=4&contestProbId=AV5PobmqAPoDFAUq&categoryId=AV5PobmqAPoDFAUq&categoryType=CODE&problemTitle=&orderBy=SUBMIT_COUNT&selectCodeLang=JAVA&select-1=4&pageSize=10&pageIndex=1 SW Expert Academy SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ
์ธ ๋ฅผ ํ์ธํ์ธ์! swexpertacademy.com ๐ ๊ณ ๋ คํด..