๋จผ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ธฐ ์ํด ์์ฑ์ ํจํด, ์์ ์ ํจํด, ๋น๋ ํจํด ๋ฑ์ ์ฌ์ฉํ๋๋ฐ, ์ ๋น๋ ํจํด์ ์ฌ์ฉํด์ผ ํ ๊น? ๋น๋ ํจํด์ ์์ฑ ํจํด ์ค ํ๋์ด๋ค. ์์ฑํจํด์ด๋? ์ธ์คํด์ค๋ฅผ ๋ง๋๋ ์ ์ฐจ๋ฅผ ์ถ์ํํ๋ ํจํด. ์์๋ฅผ ๋ค์ด๋ณด์ ์๋ธ์จ์ด~! ์๋ธ์จ์ด ์ฃผ๋ฌธ์ ํจํฐ ์ข
๋ฅ์ ์ผ์ฑ๋ฑ์ ๊ณ ๋ฅธ๋ค. ๋๊ตฌ๋ ํ ๋ผํผ๋จ๋ฅผ ๋ฃ๊ณ , ๋๊ตฌ๋ ์๋ ๋ ์น์ฆ๋ฅผ ์ ํํ๋ค. ์ด์ฒ๋ผ ์ ์ฐํ๊ฒ ๋ค์ํ ํ์
์ ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์์ด, ํด๋์ค์ ์ ํ์ ๋งค๊ฐ๋ณ์๊ฐ ๋ง์ ๊ฒฝ์ฐ์ ์ ์ ํ๋ค. ๋น๋ ํจํด์ ์ฅ์ ์ ์ด๋ ๋ค. 1. ๊ฐ๋
์ฑ์ ๋์ธ๋ค. ์๋์ ๊ฐ์ ์ฝ๋๋ 10,180,50์ด ๋ญ ๋งํ๋์ง ์๊ธฐ ์ฝ์ง ์๋ค. Member member = new Member(20,180,50) ๊ทธ๋ผ ์๋์ ๊ฐ์ ์ฝ๋๋? Member member = Member.b..
๐ผ๋ฐฑ์ค๋
Java์์๋ ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ํด try-catch๋ฅผ ์ฌ์ฉํด์ผ ํ์ง๋ง try-catch๋ฅผ ๋ชจ๋ ์ฝ๋์ ๋ถ์ด๋ ๊ฒ์ ๋นํจ์จ์ ์ด๋ค. Spring์ ์ ์ญ์ ์ผ๋ก ์์ธ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ @ControllerAdvice์ @RestControllerAdvice ์ด๋
ธํ
์ด์
์ ์ง์ํ๋ค. @RestControllerAdvice๋ @ControllerAdvice์ ๋ฌ๋ฆฌ @ResponseBody๊ฐ ๋ถ์ด ์์ด ์๋ต์ Json์ผ๋ก ๋ด๋ ค์ค๋ค๋ ์ ์ด ๋ค๋ฅด๋ค. @ControllerAdvice @ExceptionHandler, @ModelAttribute, @InitBinder ๊ฐ ์ ์ฉ๋ ๋ฉ์๋์ AOP๋ฅผ ์ ์ฉํด Controller ๋จ์ ์ ์ฉํ๊ธฐ ์ํด ๊ณ ์๋ ์ด๋
ธํ
์ด์
@Controller์ ๋ํ ์ ์ญ์ ์ผ๋ก ๋ฐ์ํ ์ ์๋ ์์ธ๋ฅผ ์ฒ๋ฆฌ..
์์กด๊ด๊ณ ์ฃผ์
๋ฐฉ๋ฒ์๋ 4๊ฐ์ง๊ฐ ์๋ค. ์์ฑ์ ์ฃผ์
์์ ์ ์ฃผ์
(setter ์ฃผ์
) ํ๋ ์ฃผ์
์ผ๋ฐ ๋ฉ์๋ ์ฃผ์
1. ์์ฑ์ ์ฃผ์
์์ฑ์๋ฅผ ํตํด ์์กด ๊ด๊ณ๋ฅผ ์ฃผ์
ํ๋ ๋ฐฉ๋ฒ ์์ฑ์ ํธ์ถ์์ ์ ๋ฑ 1๋ฒ๋ง ํธ์ถ๋๋ ๊ฒ์ด ๋ณด์ฅ๋๊ณ , ๋ถ๋ณ,ํ์ ์์กด๊ด๊ณ์ ์ฌ์ฉ๋๋ค. 2.์์ ์์ฃผ์
setter๋ผ ๋ถ๋ฆฌ๋ ํ๋ ๊ฐ์ ๋ณ๊ฒฝํ๋ ์์ ์ ๋ฉ์๋๋ฅผ ํตํด ์์กด๊ด๊ณ ์ฃผ์
ํ๋ ๋ฐฉ๋ฒ ์ ํ, ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ด ์๋์์กด๊ด๊ณ์ ์ฌ์ฉ 3. ํ๋์ฃผ์
ํ๋์ ๋ฐ๋ก ์ฃผ์
ํ๋ ๋ฐฉ๋ฒ ์ฝ๋๊ฐ ๊ฐ๊ฒฐํ์ง๋ง ์ธ๋ถ์์ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํด ํ
์คํธ ํ๊ธฐ๊ฐ ํ๋ค๋ค 4. ์ผ๋ฐ๋ฉ์๋์ฃผ์
ํ๋ฒ์ ์ฌ๋ฌ ํ๋๋ฅผ ์ฃผ์
๋ฐ์ ์ ์์ผ๋, ์ ์ฌ์ฉํ์ง ์๋๋ค. @Service public class UserService { private UserRepository userReposi..
์๋ธ๋ฆฟ์ด ์ด๋ก์ ๋ถ๋ถ ์ ์ธ ๋ชจ๋ ๋ถ๋ถ์ ๋ค ํด์ค HTTP ์์ฒญ์ • WAS๋ Request, Response ๊ฐ์ฒด๋ฅผ ์๋ก ๋ง๋ค์ด์ ์๋ธ๋ฆฟ ๊ฐ์ฒด ํธ์ถ • ๊ฐ๋ฐ์๋ Request ๊ฐ์ฒด์์ HTTP ์์ฒญ ์ ๋ณด๋ฅผ ํธ๋ฆฌํ๊ฒ ๊บผ๋ด์ ์ฌ์ฉ • ๊ฐ๋ฐ์๋ Response ๊ฐ์ฒด์ HTTP ์๋ต ์ ๋ณด๋ฅผ ํธ๋ฆฌํ๊ฒ ์
๋ ฅ • WAS๋ Response ๊ฐ์ฒด์ ๋ด๊ฒจ์๋ ๋ด์ฉ์ผ๋ก HTTP ์๋ต ์ ๋ณด๋ฅผ ์์ฑ ์๋ธ๋ฆฟ ์ปจํ
์ด๋: ํฐ์บฃ์ฒ๋ผ ์๋ธ๋ฆฟ์ ์ง์ํ๋ WAS๋ฅผ ์๋ธ๋ฆฟ ์ปจํ
์ด๋๋ผ๊ณ ํจ • ์๋ธ๋ฆฟ ์ปจํ
์ด๋๋ ์๋ธ๋ฆฟ ๊ฐ์ฒด๋ฅผ ์์ฑ, ์ด๊ธฐํ, ํธ์ถ, ์ข
๋ฃํ๋ ์๋ช
์ฃผ๊ธฐ ๊ด๋ฆฌ • ์๋ธ๋ฆฟ ๊ฐ์ฒด๋ ์ฑ๊ธํค์ผ๋ก ๊ด๋ฆฌ(๊ฐ์ฒด ํ๋ ๋ง๋ค์ด์ ๊ณต์ ) Request,response๋ ๊ฐ ์์ฒญ๋ง๋ค ๋ค๋ฅด๊ธฐ์ ์๋ก ๋ง๋๋๊ฒ ๋ง์ง๋ง, helloServlet๊ฐ์ ๊ฒฝ์ฐ๋ ์ฌ..
์ด๋ฒํ๊ธฐ ํ๋ก์ ํธ๋ฅผ ๋์๋ณด๋ฉฐ ๊ฒฐ์ฐ์ ํด๋ณด๋๋ก ํ๊ฒ ๋ค.์ด๋ฒ ์ฐํ ํ๋ก์ ํธ์์ ๋ฐฑ์ค๋(spring boot)๋ฅผ ๋ด๋นํ์๋ค. DB์ค๊ณ, ์ค์จ๊ฑฐ์ธํ
, JWTํ ํฐ ์์ฑ ๋ฐ ์ ํจ์ฑ ๊ฒ์ฆ, ์ ๋ฐ์ ์ธ api ์ค๊ณ , EC2 https ์ฒ๋ฆฌ๋ฅผ ๋งก์์ ์งํํ์๋ค. ์ฒ์ํ๋ ์๋ฒ๊ฐ๋ฐ๊ณผ ์ฒ์ํ๋ ํํ๋ก์ ํธ๋ผ๋ ์ ์์ ํฐ ์ด๋ ค์์ ์์ํ๋ค. ๋คํํ ๊ฐ์ด ์งํํ๋ ํ์๋ค์ด ๋ชจ๋ ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํด์ฃผ๊ณ , ์ฃผ๋ณ ์ ๋ฐฐ๋ค์ ๋์์ ๋ฐ์ ํ๋ก์ ํธ ์์ฑ๊ณผ ์ฑ๊ณต์ ์ผ๋ก ์ฑ์ ๋ฐฐํฌ ํ ์ ์์๋ค. 9์ ํ๋ก์ ํธ ์ฃผ์ ๋ฅผ ์ ์ ํ๊ณ , ๊ด๋ จ ๊ธฐ์ ์ ์ต๋ํ๋๋ฐ์ ์ ์ ์ด ์์๋ค. ์์งํ ๋ค๋ฅธ๊ฑฐ ํ ์๊ฐ์ด ์์ ์ ๋๋ก ๊ฐ๋ฐ ๋ฅ๋ ฅ ํค์ฐ๋๋ฐ ๊ธ๊ธํ๋ ๊ฒ ๊ฐ๋ค. ๋ถ๋ด๊ฐ์ด ๋๋ฌด ์ปธ๋ค. ๋ค๋ฅธ ํ์๋ค์๊ฒ ๋๊ฐ ๋๋ฉด ์๋๋ค๋ ์๊ฐ๊ณผ ์๋ฐ๊ฐ์ ์ ๋ ์ ์์ง ๋ชปํ๋ค.DB..
ํ๋ก์ธ์ค์ ์ค๋ ๋๋ ์๋๋ฅผ ์ฐธ๊ณ ํ์ https://koreatstm.tistory.com/92 ํ๋ก์ธ์ค์ ์ค๋ ๋ ํ๋ก์ธ์ค: ์ด์์ฒด์ ๋ก๋ถํฐ ์์์ ํ ๋น๋ฐ์ ์์
์ ๋จ์ ์ค๋ ๋: ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ์ ์์์ ์ด์ฉํ๋ ์คํ ํ๋ฆ์ ๋จ์ ์์ธํ ์์๋ณด์ 1. ํ๋ก์ธ์ค ์๋ ์๋ ๊ฒ์๊ณผ ์ธํฐ๋ท ์์นญ์ ํจ๊ป ํ koreatstm.tistory.com ๋ฉํฐ ํ๋ก์ธ์ค์ ๋ฉํฐ ์ค๋ ๋๋ ํ ์ดํ๋ฆฌ์ผ์ด์
์ ๋ํ ์ฒ๋ฆฌ๋ฐฉ์์ด๋ค. ๋จ์ํ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ๊ฐ ๋์ฐ๋๊ฒ์ด ์๋ ์ธ์ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ๋๋์ ๋ฐ๋ผ ๋ค๋ฅธ๊ฒ์ผ๋ก ์ดํดํด์ผํ๋ค. ์ด๋ฆ์ฒ๋ผ ์ฌ๋ฌ๊ฐ์ ํ๋ก์ธ์ค, ์ค๋ ๋๊ฐ ๋์ํ๋ ๊ฒ์ ์ผ์ปซ๋๋ค. ๋ค์ค์ผ๋ก ๋์๊ฐ์ผ๋ก์จ ์ฑ๋ฅ ํฅ์์ ํจ๊ณผ๋ฅผ ์ป์ ์ ์๋ค. ๋ฉํฐ ํ๋ก์ธ์ค vs ๋ฉํฐ ํ๋ก์ธ์ ํ๋ก์ธ์ค๋ ํ๋ก๊ทธ๋จ์ ์คํ ์ํ๋ฅผ ๋งํ๊ณ , ํ๋ก์ธ..
์ด๊ธฐ์ ์ปดํจํฐ์์๋ ํ๋ฒ์ ์ค์ง ํ๋์ ํ๋ก๊ทธ๋จ๋ง ์ํ๋์๋ค. ์๋ฅผ ๋ค์ด ๊ณ์ฐ ์ํ์ 1์๊ฐ ๊ฑธ๋ฆฌ๋ ํ๋ก๊ทธ๋จ๊ณผ, ํ
์ดํ์์ ๋ฐ์ดํฐ ์ฝ๊ธฐ์ 1์๊ฐ ๊ฑธ๋ฆฌ๋ ํ๋ก๊ทธ๋จ์ด ์๋ค๋ฉด, ์ด ๋ ํ๋ก๊ทธ๋จ์ ์ํ์ํค๋๋ฐ๋ ์ด 2์๊ฐ์ด ์์๋์๋ค. ์ด๊ธฐ์ ๋ณ๋ ฌ์ฒ๋ฆฌ๋ ์ด ๋ ํ๋ก๊ทธ๋จ์ด ์์ฌ์(interleaved) ์ํ๋๋๋ก ํ๋ ๋ฐฉ๋ฒ์ด์๋ค. ์ฆ ํ ํ๋ก๊ทธ๋จ์ด ์
์ถ๋ ฅ์ ์์ํ์ฌ ๋๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋์, ๋ค๋ฅธ ๊ณ์ฐ ์ํ์ ํ๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ์ ์๋๋ก ํ์ฌ 1์๊ฐ ์กฐ๊ธ ๋ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์์
์ ๋ง์น๋ ๋ฐฉ๋ฒ์ด์๋ค. ๋ณ๋ ฌ์ฒ๋ฆฌ ๋ค์์ ํ๋ก์ธ์๋ค์ด ์ฌ๋ฌ ๊ฐ์ ํ๋ก๊ทธ๋จ๋ค ๋๋ ํ ํ๋ก๊ทธ๋จ์ ๋ถํ ๋ ๋ถ๋ถ๋ค์ ๋ถ๋ดํ์ฌ ๋์์ ์ฒ๋ฆฌํ๋ ๊ธฐ์ ๋ฌธ์ ์ ๋ถํ ๋ฌธ์ : ๋ณ๋ ฌ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ ๋ถ๋ถ์ ํ
์คํฌ๋ก ๋ง๋๋ ๊ฒ์ ๋ถํ ์ด๋ผ ํ๋ฉฐ, ๋ถํ ๋ ๋ถ๋ถ์ ๊ทธ..
ํ๋ก์ธ์ค: ์ด์์ฒด์ ๋ก๋ถํฐ ์์์ ํ ๋น๋ฐ์ ์์
์ ๋จ์ ์ค๋ ๋: ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ์ ์์์ ์ด์ฉํ๋ ์คํ ํ๋ฆ์ ๋จ์ ์์ธํ ์์๋ณด์ 1. ํ๋ก์ธ์ค ์๋ ์๋ ๊ฒ์๊ณผ ์ธํฐ๋ท ์์นญ์ ํจ๊ป ํ ์ ์์๋ค. ๋ฉํฐํ์คํน์ด ๊ฐ๋ฅํ๊ธฐ ์ ๊น์ง๋!! Process is a program in execution ์ฆ, ํ๋ก๊ทธ๋จ์ด ์คํ๋ผ์ ๋์๊ฐ๊ณ ์๋ ์ํ, ์ปดํจํฐ๊ฐ ์ด๋ค์ผ์ ํ๊ณ ์๋ ์ํ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์คํ๋๊ณ ์๋ ํ๋ก๊ทธ๋จ์ ์ธ์คํด์ค. "์์
" ๋์์ฑ(Concurrency)๋ ์ฌ๋ฌ๊ฐ์ ์์
์ ํ ๋, ๋ค ๋๋ด์ง ์๊ณ ์ผ๋ถ๋ถ์ฉ ๋์๊ฐ๋ฉฐ ์์
ํ๋ ์ํ ์ด๋ ๊ฒ ์งํ์ค์ธ ์์
์ ๋ฐ๊พธ๋ ๊ฒ์ Context Switching์ด๋ผ๊ณ ํ๋ค. ๋ณ๋ ฌ์ฑ(Parallelism)์ ํ๋ก์ธ์ค ํ๋์ ์ฝ์ด ์ฌ๋ฌ๊ฐ๊ฐ ๋ฌ๋ ค์ ๊ฐ๊ฐ ๋์์ ์์
๋ค์..