๐ ๊ฐ์ ํ๋ก์ ํธ์์ ์ค์๊ฐ ์๋ฆผ ๊ธฐ๋ฅ์ ๊ตฌํํด์ผ ํ๋ค. ์ด๊ธฐ์ ๊ณ ๋ฏผํ๋ ์ค ์ฃผ๊ธฐ์ ์ผ๋ก ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๋ ๋ฐฉ์์ ํํ๋๋ฐ ๋์ค์ ์๊ณ ๋ณด๋ Short Polling ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ฐฉ์์ด์๋ค. ์น ํต์ ๋ฐฉ์์ Long Polling๊ณผ ์น ์์ผ ๋ฐฉ์๋ ์๋๋ฐ ์ด ๊ธ์์ ์ค๋ช
ํ์ง ์๋๋ค. โญ Short Polling ๊ณ์ ์์ฒญ๊ณผ ์๋ต์ ๋ฐ๋ณตํ๋ ํํ ๋ฐฉ์์ด๋ค. ์ฃผ๊ธฐ์ ์ผ๋ก ์์ฒญ์ ๋ณด๋ธ๋ค๋ ๋์ฒด ์ด๋ ๊ฐ๊ฒฉ์ผ๋ก? ๋ด๊ฐ ์๊ฐํ ๋ฐฉ๋ฒ์ 5์ด๋ง๋ค ์๋ฆผ ์กฐํ ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ์ด์๋ค. ๋ฐ๋ณด๊ฐ ์๋ ์ด์ ์ด ๋ฐฉ๋ฒ์ ๋์ ์ฌ์ฉ์๊ฐ ๋์ด๋ ์๋ก ์์ฒญ์ด ๊ธฐํ๊ธ์์ ์ผ๋ก ๋น๋กํด ๋์ด๋ ๊ฒ์ด๋ค. ๊ธธ๊ฒ ๋ณด๋ฉด ๋๊ฐ๋ด๋ ๋ฆฌ์์ค๋ฅผ ๋ง์ด ๋จน๋ ๊ตฌ์กฐ์ด๋ค. ๋๋ ์ด๋ ๊ฒ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํด๋ ๋ฐ๋ก ์ ๋ณด๋ด์ง๊ณ ์ฃผ๊ธฐ์ ์ผ๋ก ์กฐํํด์ผ ํ๋ ๋ฐฉ๋ฒ๋ณด๋ค๋ ์๋ฒ์์..
์ ์ฒด ๊ธ
BackEnd Developer๐ ๊ฐ์ ํ๋ก์ ํธ ์งํ ์ค ๊ด๋ฆฌ์ ํ์ด์ง์์ ์ฌ๋ฌ ์กฐ๊ฑด์ผ๋ก ๊ธฐ์
์ ๊ฒ์ํด์ผ ํ๋ API๊ฐ ํ์ํ๋ค. ๋์ ์ฟผ๋ฆฌ๋ฅผ ์ ์ฐ๊ณ ๋จ์ํ if๋ฌธ์ผ๋ก ๋ถ๊ธฐ์ฒ๋ฆฌํด์ ์ผ์ผ์ด ์ฟผ๋ฆฌ๋ฌธ์ ๋ ๋ฆฌ๋๋ก ํ ์ ์๊ฒ ์ง๋ง service ๋ repository ๋จ ๋ฉ์๋๋ ์ฝ๋๊ฐ ์๋นํ ๋์ด๋๊ธฐ ๋๋ฌธ์ ์ง์ ๋ถํด์ง๋ค. ์กฐ๊ฑด์ด 4๊ฐ์ง์ฌ์ repository์ ํด๋น API๋ฅผ ์ํ ์กฐํ ๋ฉ์๋๊ฐ 16๊ฐ๋ ํ์ํ๋ค. ํน์ฌ๋ ์กฐ๊ฑด์ด ์ถ๊ฐ๋๋ฉด ์ ์ ๊ด๋ฆฌํ๊ธฐ๋ ์ด๋ ค์์ง ๊ฒ์ด๋ค. ์ด๋ฌํ ๋จ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด JPA ๋์ ์ฟผ๋ฆฌ๋ฅผ ํ์ฉํ๊ธฐ๋ก ํ๋ค. JPA์์ ๋์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ณดํต JPQL, Criteria, Specification, QueryDSL ์ด๋ ๊ฒ 4๊ฐ์ง๊ฐ ์๋ค. ๋๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก JPA๊ฐ ์๋ MyBatis๋ ๊ฒ์ ๊ธฐ๋ฅ ์์ฒด๋ฅผ ์ปดํฌ..
๐ ๊ฐ์ ์ด์ ์ ๋ถํ ํ
์คํธ๋ฅผ ์ํ nGrinder๋ฅผ ์ค์นํ๊ธฐ ๊ธ์ ํตํด ํ
์คํธ ํด์ ์ธํ
์ด ๋ฏธ๋ฆฌ ๋๋ ์ํ์ด๋ค. ์ฑ๋ฅ ํ
์คํธ ๊ณผ์ ์ ์ข ๋ ์์๋ณด๋ ๋จ์ํ ์คํฌ๋ฆฝํธ ์ง๊ธฐ โก ํ
์คํธ ์งํ โก ๊ฒฐ๊ณผ ๋ถ์ ๊ณผ์ ์ด ๋ค๊ฐ ์๋๋ผ ํ
์คํธ ๊ณํ ์๋ฆฝ โก ์๋๋ฆฌ์ค ์ง๊ธฐ โก ํ
์คํธ ์งํ โก ๊ฒฐ๊ณผ ๋ถ์ โก ์ ์ฉ ๊ณผ์ ์ ๊ฑฐ์น๋ค๊ณ ํ๋ค. ์ฑ๋ฅ ๊ฐ์ ์ ์ํ ํ
์คํธ ๊ณผ์ ์ ์ข ๋ ํ๋ค๋ณด๋ ์๊ฐ๋ณด๋ค ์ค๋นํ ๊ฒ๋ ๋ง๊ณ ๊ณ ๋ คํ ์ ๋ ๋ง์ ๊ฒ ๊ฐ๊ณ ์ด๋ฐ ๋ถ๋ถ์ ๋ํ ๋ฌ๋ ์ปค๋ธ๊ฐ ๊ฑฑ์ ๋ผ์ ํ ๊น ๋ง๊น ๊ณ ๋ฏผํ๋ค๊ฐ ์ ๋ชป ์ด๋ฃจ๊ณ ๊ทธ๋ฌ๋๋ฐ ์ด์จ๋ ์กฐํํ ํ
์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ๋์ ๋ ์๋ก ๋น์ฐํ ์กฐํ ์ฑ๋ฅ์ ๋จ์ด์ง๊ธฐ ๋ง๋ จ์ด๊ณ ์ด๋ฐ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ถ๋ถ์์ ๋ด ์ฟผ๋ฆฌ๋ฌธ์ ์์งํ ๋ง์ด ํํธ์๋ค๊ณ ์๊ฐํ๋ ์ํฉ์ด์ด์ ๊ฒ์ ๋ก์ง์ด๋ ์ฟผ๋ฆฌ๋ฌธ์ด๋ ๊ฐ์ ํ ..
๐ ๊ฐ์ โญ ์ฑ๋ฅ ํ
์คํธ (Performance Test) ์์คํ
๊ตฌ์ฑ ์์๊ฐ ํน์ ์ํฉ์์ ์ด๋ค ์ฑ๋ฅ์ ๋ณด์ด๋์ง ํ์ธํ๊ธฐ ์ํด ์ํ๋๋ ํ
์คํธ์ด๋ค. ์ ํ์ ๋ฆฌ์์ค ์ฌ์ฉ, ํ์ฅ์ฑ ๋ฐ ์์ ์ฑ๋ ์ด ํ
์คํธ๋ฅผ ํตํด ๊ฒ์ฆํ ์ ์๋ค. ์์คํ
์ ์ ๋ฐ์ ์ธ ์ฑ๋ฅ์ ํ๊ฐํ๊ณ , ์ต์ ํํ ์ ์๋ ๋ถ๋ถ์ ์ฐพ์๋ด๋ ๊ฒ์ด ๋ชฉ์ . ๊ทธ๋ฆฌ๊ณ ์ฑ๋ฅ ํ
์คํธ๋ ๋ถํ ํ
์คํธ์ ์คํธ๋ ์ค ํ
์คํธ๋ฅผ ํฌํจํ๋ ๊ด๋ฒ์ํ ๊ฐ๋
์ด๋ค. โญ ๋ถํ ํ
์คํธ (Load Test) ์๊ณ๊ฐ ํ๊ณ์ ๋๋ฌํ ๋๊น์ง ์์คํ
์ ๋ถํ๋ฅผ ์ง์์ ์ผ๋ก ๊พธ์คํ ์ฆ๊ฐ์์ผ ์์คํ
์ ์ฑ๋ฅ์ ํ
์คํธํ๋ ๊ฒ์ด๋ค. ๋ถํ ํ
์คํธ๋ ์ฌ์ฉ์์ ์, ํธ๋์ญ์
์ ์ ๋ฑ ๋ค์ํ ๋ถํ ์กฐ๊ฑด์ ์ ์ฉํ์ฌ ์์คํ
์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ํ๊ฐํ๋ค. ์ฆ, ์์คํ
์ด ์์๋๋ ์ฌ์ฉ์ ์ ๋๋ ํธ๋์ญ์
์ ์ฒ๋ฆฌํ ์ ์๋์ง ..
๐ ์๋ก ํ๋ก์ ํธ ์งํ ์ค ๋ฐ์ดํฐ ์์ ์ PUT, PATCH, DELETE๋ฅผ ์ด๋ ์ํฉ์์ ์ฌ์ฉํด์ผ ๋๋์ง ์ ๋ชจ๋ฅด๊ณ API๋ฅผ ๊ตฌํํ์ต๋๋ค. ๋๋ถ์ ํ๋ก ํธ์๋๋๋ค์ด ํท๊ฐ๋ฆฌ์ ๋ค๊ณ ๐๐ (์๋ํ๋ฉด ์ฐ๋ฆฐ ์ญ์ ๋ ๋
ผ๋ฆฌ์ ์ผ๋ก ์ํ๋ง ์ญ์ ๋ก ๋ณ๊ฒฝํ๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ฌผ๋ฆฌ ์ญ์ ๋ ์ผ๋ถ๋ง ๊ตฌํํ ์ํฉ์
๋๋ค.) ๊ทธ๋์ ๋ค์ ์ ์ฒด์ ์ผ๋ก ์์ ๊ณผ ์ญ์ API๋ค์ ๊ฑด๋๋ฆฌ๊ฒ ๋์์ต๋๋ค. ์์
ํ๋ฉด์ ๊ณต๋ถํ ๋ด์ฉ์ ์๊ฐํ๊ฒ ์ต๋๋ค. โญ PUT๊ณผ PATCH ๊ตฌ๋ถํ๊ธฐ PUT, PATCH๋ฅผ ์์ ์ฉ๋๋ก ์ฌ์ฉํ๋ค๊ณ ๋ง ์๊ณ ์์ด์ ์ฐจ์ด๋ฅผ ์ ๋ชจ๋ฅด๊ณ ํผ์ฉํด์ ๋ง ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ์ข
์ข
์์ต๋๋ค. ๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด ๋์ ์์ฐํ ๋ค๋ฆ
๋๋ค. ๊ฐ์ชฝ์ด: PUT ์์ฒญ์ด๋ PATCH ์์ฒญ์ด๋ ๊ฒฐ๊ณผ๊ฐ ๊ฐ์๋ฐ์????? ๊ฐ์ชฝ์. ๊ทธ๊ฒ์ ๊ฒฐ๊ณผ๋ง ๊ทธ๋ ๊ฒ ๋ณด์ผ ๋ฟ ๋์ ๋์ฒด์ฌ..