๐ป๊ฐ๋ฐ์์๊ฒ ๋์์ด ๋๋
๊ธฐ์ ๋ด์ค #145 : 20-03-02 :: Outsider's Dev Story
- ๋ผ์ธ ๋ฉ์ ์ ์์ ํธ๋ํฝ์ ๋์ ํ๊ธฐ ์ํด ๊ณ ๊ตฐ๋ถํฌ ํ๋ ๋ด์ฉ,
Armeria
๊ด๋ จ ๊ธ๋ค์ด ์ธ์์ ์ด์๋ค. ๊ทธ ์ธ์๋ ์ฌ๋ฐ๋ ๋ด์ฉ๋ค์ด ๋ง์ ์ฝ์ด ๋ณด๊ธธ ์ถ์ฒํ๋ค.
์ฐ๋ด 2์ต 5์ฒ๋ ์ด๊ธฐํ๋ ๋ฏธ์น๋๋ค. ์ค๋ฆฌ์ฝ๋ฐธ๋ฆฌ
- ์ค๋ฆฌ์ฝ ๋ฐธ๋ฆฌ๋ฅผ ๊ฟ๊พธ๋ ์ฌ๋๋ค์ด ์๋ค๋ฉด, ๋ด์ผ ํ ์์. ํ์ด์ค๋ถ, ๊ตฌ๊ธ, ์๋ง์กด์ ๋ค๋๋๋ผ๋ ๋ฌธ์ ๋ ์ํ๋์์ค์ฝ์ ์ง๊ฐ์ด ์ด๋ง์ด๋งํ๊ฒ ๋๋ค๋ ๋ฌธ์ ๊ฐ ์๋ค.
๋๋ต, 10์ต-20์ต ์ฐ๋ด์ ๋ฐ์ผ๋ฉด ํธํ ์ ์์ ๋ฏ ํ๋ค.
๊ทผ๋ฐ ๊ทธ๋ด ์ผ์ด ์๋ค. (์๋์ด ์์ง๋์ด์ ์ฐ๋ด๋ 3-5์ต ์ฌ์ด)
๋์ปค์ ๊ฐ์ ๋จธ์ ์ ๋ํ ๋น๊ต ๊ทธ๋ฆฌ๊ณ ์ปจํ ์ด๋๊ฐ ์ด๋ป๊ฒ ๋ฐ์ ๋์ด ์๋์ง?
๋ฅผ ์ ๋ง ์์ธํ๊ฒ ์๊ฐ ํ๊ณ ์์ผ๋ฉฐ, ์๋์ฐ์์๋ ์ด๋ป๊ฒ ๊ตฌํ์ ํ๋์ง๋ ์ค๋ช ํ๋ค. ์์ธํ ์ค๋ช ์ด๋ค ๋ณด๋, ๊ต์ฅํ OS ์์ญ์ ๊ด๋ จ ๋ ์ ๋ณด๋ค์ด ์์ด์ ์ดํด ํ๋๋ฐ ์ฝ์ง ์๋ค.
- ์ด๋ฏธ ์๊ฐ ํ๋ ๊ธ๋ค๋ ๋ง์ง๋ง, ๋ง์ ์ด๋ค์ด ๋ณธ ๊ธ๋ค์ด๊ธฐ์ ๋ค์ ๋ด๋ ์ข์ ๊ธ๋ค์ด ๋ง์ด ์๊ณ , ๋ด๊ฐ ๋ณด์ง ๋ชปํ ๊ธ๋ ์์ด์ ์ฌ๋ฏธ์๊ฒ ๋ดค๋ค.
๋ผ์ด๋ ๋ก๋น(Round Robin) DNS๋ฅผ ํ์ฉํ ๋ก๋ ๋ฐธ๋ฐ์ฑ(Load Balancing)
DNS
๋ฅผ ์ด์ฉํด ๋ถํ ๋ถ์ฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์ฒ์ ๋ดค๋๋ฐ, ์ญ์ ๋ด๊ฐ ๋ชจ๋ฅด๋ ์ ๋ณด๋ค์ด ์ ๋ง ๋ง๋ค๋ ๊ฒ์ ์ ์ ์์๋ค. ์ด ๋ฐฉ๋ฒ ๋ํ ์ฅ/๋จ์ ์ด ๋ชจ๋ ์๋๋ฐ,health check
์ ๋ํ ๋ถ๋ถ์ด ๊ฐ์ฅ ํต์ฌ์ด์๋ค.
ํ๋ฃจ์ 1000๋ฒ ๋ฐฐํฌํ๋ ์กฐ์ง ๋๊ธฐ | ๋ฑ ํฌ์๋ฌ๋
1000๋ฒ์ ๋ฐฐํฌ๋ฅผ ํ ์ ์๋ ์กฐ์ง์ธ๊ฐ?
์ ๋๋ฌ ํ๊ธฐ ์ํ ์ฌ์ ์ ๊ทธ๋ฆฐ ๊ธ์ธ๋ฐ, ๋ฑ ํฌ ์๋ฌ๋์ ๊ฐ๋ฐ ์ฒ ํ๋ค์ด ์ข์ ๋ฐฉํฅ์ผ๋ก ์ฑ์ฅํ๋ ๋๋์ ๋ฐ์๋ค. ๊ทธ๋ฌํ ๋ถ๋ถ๋ค์ด ๊ฒฐ๊ตญ์๋ ๊ฐ๋ฐ์๋ค์๊ฒ๋ ์ด์ ์ด ์๋๊น? ์ถ๊ธฐ๋ ํ๋ค. ๊ทธ๋ฐ ์ ์์ ๋ค์ํ ๊ธฐ์ ๋ค์ ์ ํ์ฉํ๋ ๋ฐฉ์์ด ์ข์ ๋ณด์๊ณ ,bot
์ ํตํด ๋ฐฐํฌ ์๋ํ๋ฅผ ์ด๋ฃฉํ๋ ๊ฒ์ ํฐ ์ฅ์ ์ด๋ผ๊ณ ์๊ฐํ๋ค.
ํ์๋ง ํ๊ฒฝ์ ๋ฐฐํฌ ์์คํ ๊ฐ๋ฐ๊ธฐ | ๋ฑ ํฌ์๋ฌ๋
๋ฑ ํฌ์๋ฌ๋์
๋ธ๋ก๊ทธ์ธ๋ฐ, ์ด๋ฒ ๊ธ์ํ์๋ง ํ๊ฒฝ์์ ์ธ ์ ์๋ ๋ฐฐํฌ ์์คํ ๊ฐ๋ฐํ ๊ฒฝํ
์ ์ ์ ๋ฆฌ ํด์ฃผ์๋ค. ์ ํ๊ณผ ์ง์ค์ ํตํด ๋ฌด์์ด ํ์ํ๊ณ , ์ด๋ค ๋ถ๋ถ์ด ์ค์ํ์ง๋ฅผ ์ ์ ํํ๋ ๊ณ ๋๊ฐ ๋ด๊ฒจ ์์ด ์ข์๋ค.
์๊ฒฉ๊ทผ๋ฌด ๊ฐ์ด๋ ์ด์ ๋ฆฌ
- ์๊ฒฉ ๊ทผ๋ฌด์ ๋ํ ๋ค์ํ ๊ธ๋ค์ด ์์ด์ ์ฐธ๊ณ ํ๊ธฐ ์ข๋ค. ์ฝ๋ก๋๋ก ์ธํ์ฌ ์๊ฒฉ๊ทผ๋ฌด๋ฅผ ์ํํ๋ ๊ณณ์ด ๋ง์๋ฐ, ๋๋ ์ข ๋ ํ์์๋ ์ ์ฐํ๊ณ ์์ ๋ก์ด ์ฒด๊ณ๋ฅผ ๊ฐ์ง๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ๋ ์๋ค. ๋ฌผ๋ก , ๋ถํธํ ์ ๋ ์์ง๋ง ๊ตณ์ด ์ฃผ 5์ผ์ ๋งค์ผ ์ถ๊ทผ ํด์ผ ํ๋ค๋ ๊ฒ๋ ํฐ ๋น์ฉ์ด๋ผ๋ ์๊ฐ์ด๋ค. ๊ผญ ์ถ๊ทผ๋ง์ด ์
๋ฌด์ผ๊น? ํ์ฌ๋ค์ ๋ค์ํ ๊ทผ๋ฌด์ฒด๊ณ๊ฐ ์๊ฒจ๋๋ฉด ์ข๊ฒ ๋ค.
ํด๊ทผ ํ๋ค๊ณ ํด์ ์ฐ๋ฆฌ๊ฐ ์ผ์ ์ํ๋ ๊ฑด ๋ ์๋์ง ์๋๊ฐ?
๊ฐ๋ฐ์๊ฐ ๊ณต๋ถ๋ก ์ด์๋จ๋ ๋ฐฉ๋ฒ
- ์ฐธ ์ข์ ๊ธ์ ๋ง์ด ์จ๋์
จ๋๋ฐ, ๊ณต๋ถ์ ๊ดํ์ฌ ๋ถ์ํจ์ด๋ ์ด๋ค ๋ฐฉํฅ์ผ๋ก ๊ฐ์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค๋ฉด, ์ฝ์ด๋ณด๋ฉด ๋์์ด ๋ง์ด ๋๋ค.
์ถฉ๋ถํ ๊ณ ๋ฏผ์ ๋ง์ด ํ์ จ๊ณ , ์์์ ๋ค์ํ ์๋๋ฅผ ํด ๋ดค๊ธฐ์ ๋์ค๋ ํ๋ค์ด ์๋๊น? ์๊ฐ ํ๋ค.
iOS ๊ฐ๋ฐ์ ์ฑ๊ฐํด ์ด์ง๊ธฐ
- ์ข์ ๊ธ์ ์์ฃผ ์ฌ๋ ค์ฃผ์๊ณ , ๋ฒ์ญ๋ ์์ฃผ ํด์ฃผ์ ์ ์ผํํ๋๋ฐ, ์ด์ง๊ธฐ๋ฅผ ์์ํ๊ฒ ์ฌ๋ ค์ฃผ์ จ๋ค. ์ฌ์ค ์ด์ง ์ํด๋ณธ ๋๋ก์จ๋ ์์ง ๋๋ ค์์ ์๋๋ผ ์๊ฐํ๋๋ฐ, ๋ค๋ค ์ ํ๋ ๊ฑธ ๋ณด๋ฉด ๋๋จํ๋ค๋ ์๊ฐ์ด ๋ ๋ค. ๋ฌผ๋ก , ํด์ธ์์ ์ผํ๊ฒ ๋๋๊ฑด ๋๊ฒ ๊ฟ ๊ฐ์ ์ผ์ด๋ผ ๊ธ์ ์ฝ์ผ๋ฉด์ ๋ถ๋ฝ๊ธฐ๋ ํ๋ค.
- 30๋ถ๋์ ๋ฌ์คํธ๋ฅผ ๋ฐฐ์ธ ์ ์๋ ๊ธ์ธ๋ฐ, ๊ธฐ์ด์ ์ธ ๋ฌธ๋ฒ๊ณผ ๋ฌ์คํธ๋ฅผ ์ ์ค๋ช
ํ๊ณ ์๋ค. ๋ฌ์คํธ๋ฅผ ๋ฐฐ์ฐ๊ณ ์ถ๋ค๋ฉด, ํ ๋ฒ ๋ฐฐ์๋ณด๋ ๊ฒ์ ์ด๋จ๊น? ๊ฒฐ๊ตญ, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๋ ๊ฐ์ฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ์
ํํ ๋ฆฌ์ผ๊ณผ ์ธ์ด ์ปดํ์ผ๋ฌ๋ฅผ ์ค์น ํ๋๋ฐ์ ์์ํ๋ ๊ฒ ๊ฐ๋ค? ๊ทธ๋ฆฌ๊ณ "Hello World"
deploy ๋ธ๋์น ์ ๋ต ํ์ฉ ๋ฐฉ๋ฒ
- ์ผ์ ํ๋ค ๋ณด๋ฉด, ๋งค๋ฒ ํ ๋ก ์ ์ฅ์ ๋ง๋๋ ๊ฒ์ด ๋ฐ๋ก
Branch Strategy
์ ์ ํ๋ ๊ฒ์ธ๋ฐ, ๊ฐ์ฅ ๋ง์ด ์ฐ๋๊ฑดGitflow
์ผ ๊ฒ์ด๋ค. ๋ฌผ๋ก , ๊ต์ฅํ ๋ง์ ์ ๋ต๋ค์ด ์๋ค. ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ ์๋ํ ๊ด๋ฆฌ ๋์ด์ผ ํ ๋ธ๋์น๋ค์ ์๋ํ๋ฅผ ๋์ ํ๋ ๊ฒ์ด๋ค. ๋ชจ๋ ๋ธ๋์น๋ฅผ ์๋ ๊ด๋ฆฌ ํ๋ ๊ฒ์ ์ด๋ ต๋ค. ๊ทธ์ ๊ด๋ จ ๋์ด ๊ณ ๋ฏผ์ ํตํด ๋ง๋deploy
๋ธ๋์น ์ ๋ต์ ๋ํ ๋น๊ทผ ๋ง์ผ์ ์ผํ์ด๋ค. ์ฝ์ด๋ณด๋ฉด ๋์์ด ๋ง์ด ๋๋ค.
Container
Istio๋ฅผ ํ์ฉํด Multi Cluster ํ๊ฒฝ์ Service Mesh ๊ตฌ์ฑํ๊ธฐ
Istio
๋ฅผ ํ์ฉํด์ ๋ฉํฐ ํด๋ฌ์คํฐ ํ๊ฒฝ์์์ ์๋น์ค๊ฐ ํต์ ์ด ๊ฐ๋ฅํจ์ ์ค์ ์์ ๋ฅผ ๋ณด์ฌ์ฃผ๋ฉฐ ์ค๋ช ํ๊ณ ์๋ค.Service Mesh
๊ฐ ๋ฌด์์ธ๊ฐ? ๊ฐ์ด ์ ์ค์ง ์๋๋ค๋ฉด, ์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค ๋ฉ์ ๊ธฐ์ , '์ด์คํฐ์ค'๋?, Service Mesh๋? ๋ ๋งํฌ๋ฅผ ํ์ธ ํด๋ณด์.
๐ปFront-End
๋๋ ํ๋ก ํธ์๋๋ฅผ ์๋ค๊ณ ๋งํ ์ ์์๊น?
- ๋ด๊ฐ ์๊ฐํ๋ ๊ฐ๋ฐ์ ์ค์์ ๊ธ์ ์ ๋ง ์ ์ฐ์๋ ๋ถ์ธ๋ฐ, ์ด ๋ถ๋ ์ด๋ฌํ ๊ณ ๋ฏผ์ ์๊ณ ์ด์๊ฐ๋ค๋ ์ ์ ๋์๊ฒ ์ข ์ ์์ ์ถฉ๊ฒฉ์ด๊ธด ํ๋ค. ๋๋ ์ค์ง์ ์ผ๋ก
ํ์คํ ๊ฐ๋ฐ
์ ํ๊ณ ์๋๋ฐ, ๋๋ด์ฒ๋ผ ํ๋ ๋ง์ด ํ๋ ์๋ค."ํ๋๋ ์ ํ๊ธฐ ์ด๋ ค์ด๋ฐ, ๋ ๋ค ํด์ผ ๋๋ ๋ ๋ค ๊ฒฐ๊ตญ ๋ชปํ๋ ์ฌ๋"
์ด๋ผ๊ณ ๋งํ๊ณค ํ๋ค. ํญ์ ๊ณ ๋ฏผ์ด์๋ ๋ฌผ์์ด์๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ป๊ฒ ์๊ฐํด๋ณด๋ฉด, ๊ฐ๋ฐ์๋ผ๋ ๋ฒ์ฃผ ์๋๊น? ๋ผ๋ ์๊ฐ์ ํ๋ค. ํผ๋ธ๋ฆฌ์ ์ ๋ด์ฉ์ด ๋์์ผ๋ ํ๋ ๋ง์ด์ง๋ง, ์ฝ๊ฒ ๋งํ๋ฉด๋งํฌ์ (ํผ๋ธ๋ฆฌ์ฑ)์ ๋ํ ๋ถ๋ถ๋ ๊ฐ๋ฐ์๋ผ ์๊ฐ ํ๋ค.
์์ค ๋์ ๋งํฌ์ ์ ๋ง๋ค์ด ๋ด๋ ์ฌ๋๋ค์ ์ ๋ง ์ ๋ค. ๊ทธ๋ผ์๋ ๊ทธ๋ค์ ์ค์ค๋ก ๊ฐ๋ฐ์๋ผ ๋ถ๋ฆฌ๋ ๊ฒ์ด ์ต์์น ์์๋ฐ, ๋๋ ์ด๊ฒ ๋ฌธ์ ๋ผ ์๊ฐ ํ๋ค. ๋ฌด์ธ๊ฐ ๋ง๋ค์ด ๋ด๋ ์ญํ ์ ์ง๋ ๋ค๋ฉด, ๊ฐ๋ฐ์ ๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ ์ด๋ค ์์ญ์ ์๊ณผ ๋ชจ๋ฆ์ ๋ํ ๋ถ๋ถ์ ๋ชจ๋ ๊ฒ์ ์์ด์ ์๋์ ์ด๋ค. ์ํจ์ ๋ํ ๋ถ๋ถ๋ ๋ง์ฐฌ๊ฐ์ง๋ค.
Redux์์ Normalize ๋ค๋ฃจ๊ธฐ
- ํ์ฌ ๋ด๊ฐ ์ผํ๋ ๊ณณ์์
Nomalize
๋ฅผ ์ ์ ๊ณ ๋ ค๋ฅผ ํ๊ธฐ๋ ํ์์ง๋ง, ์ฌ์ค ๊ตฌ์กฐ์ ์ผ๋ก๋ ์ฌ๋ฆฌ์ ์ธ ์์ธ์ ์ํด ์ ๊ทํ๋ฅผ ํ๊ธฐ๋ ์ด๋ ค์ ๋ค. (๋ฌผ๋ก , ์ง๊ธ์ ๋ ๋ค๋ฅผ ์ ์๋ค.) ํ์ง๋ง, ๋ณํ์ง ์๋ ์ง์ค ํ๋๋๊ฒฐ๊ตญ ์ด๋ค ๋ชฉ์ ์ ๊ฐ์ง๊ณ ์ด๋ค ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๋์ง? ์ ๋ต์ด ์๋๊น?
์๊ฐ ํ๋ค. ๋ณธ๋ฌธ์ ์จ ์๋ฏ์ด ์ ๊ทํ๊ฐ ๋ชจ๋ ์ํฉ์ ์ ๋ต์ ์๋ ๊ฒ์ด๋ค. ์์ ์๋ ํ์ ์์๋ค๊ณ , ์ง๊ธ์ ํ์ํ์ง ์์ ๊ฑด ๋ ์๋๋ค. (๊ทธ๋์ ์ด๋ ต๋ค.)
2020-02-25: TypeScript 3.8 ์ ์ ๋ฆด๋ฆฌ์ค, ESLint 7.0.0 ๋ณ๊ฒฝ ์์ ์ฌํญ
JavaScript
์ ๊ด๋ จ๋ ๊ธฐ์ ๋ด์ค๋ฅผ ํ๋ ์ด์ ํ๋ ์ฃผ๊ฐ ๋ธ๋ก๊ทธ์ด๋ค. 2์ ๊ธ์ด๊ธด ํ์ง๋ง, ๊ด์ฌ ์๋ ๊ธ๋ค์ด ์์ด์ ๊ฐ์ ธ์๋ค.TS3.8
์ด ๋ฆด๋ฆฌ์ฆ ๋์๋๋ฐ, ์ค๋ฌด์์ ์์ง ์ ์ฉ์ ํ์ง ์์๋ค. ๊ทธ์น๋ง, 3์ ๋ด๋ก ์ ์ฉํ๋ฉด ์ธ๋งํ ๊ฒ๋ค์ด ์์ด ๋ณด์๋ค.
๐ Tool
CLI
์์ ์ ํฌ๋ธ ์์์ ๋ค์ด ๋ฐ์ ์ ์๋๋ก ํด์ฃผ๋ ํด์ด๋ค.
Bash
์ ํ์คํ ๋ฆฌ๋ฅผHub
์ ์ฌ๋ฆฌ๋ ๊ฑด๋ฐ, ์ฌ์ค ์ข์๊ฐ? ์ถ๊ธฐ๋ ํ๋ค. (peco
๋ฅผ ์ ์ฐ๋ฉด ๋๋ค.)
Download Blisk - a browser for web developers
- ๊ฐ๋ฐ์๋ฅผ ์ํ ๋ธ๋ผ์ฐ์ ์ธ๋ฐ,
์จ ๋ด์ผ ์ข์์ง? ์ ์ข์์ง?
์์ง ์์๊น? ํฌ๋ก๋ฏธ์ ๊ธฐ๋ฐ์ด๋ค. ์ฅ์ ์ ํ์คํ ์์ด ๋ณด์ฌ์ ์จ ๋ณด๋ ค๊ณ ํ๋ค.
Compare salaries and career levels across companies | Levels.fyi
์ธ๊ตญ ํ์ฌ์ ์ฐ๋ด๊ณผ ๋ ๋ฒจ
์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ ์๋ ํ์ด์ง์ด๋ค.
๐ค๐ป์ผ๋ฐ์ ์ธ
"๋ชจ๋ ์ผ์ ์ฐธ์ฌํด์ ํ๋๋ถํฐ ์ด๊น์ง ๊ฐ์ด ํ๋ ๊ฒ์ด ํ์ ์ด ์๋๋ค. ํ์ ์ด๋ ํ๋ก์ ํธ์ ์ฐธ์ฌํ๋ ์ฌ๋๋ค์ ์ ๋ฌธ์ฑ์ ๋ ๋ฒ๋ฆฌ์ง(leverage) ํ๋ ๊ฒ์ด๋ค."
์ด ๊ธ์์ ํ์ ์ ์ง์ง ๋ชฉํ๋ฅผ ์๊ฒ ๋์๋ค. ์์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ง ์ ์๊ฐ ํ๊ณ ์๊ณ , ์์๋ฅผ ํตํด ์ด๋ค ์คํด๋ฅผ ํ๊ฒ ๋๋์ง? ์๊ฐ ํ๋ค.
'์น๋ ์ฐ๋ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ ๋ฆฌ] ๊ทธ๋ฅ ์ ๋ฅ #์ํด๋ฆฌ๋ด์ค #70 (0) | 2020.03.22 |
---|---|
[์ ๋ฆฌ] ๊ทธ๋ฅ ์ ๋ฅ #์ํด๋ฆฌ๋ด์ค #69 (0) | 2020.03.15 |
[์ ๋ฆฌ] ๊ทธ๋ฅ ์ ๋ฅ #์ํด๋ฆฌ๋ด์ค #67 (0) | 2020.03.02 |
[์ ๋ฆฌ] ๊ทธ๋ฅ ์ ๋ฅ #์ํด๋ฆฌ๋ด์ค #66 (0) | 2020.02.24 |
[์ ๋ฆฌ] ๊ทธ๋ฅ ์ ๋ฅ #์ํด๋ฆฌ๋ด์ค #65 (0) | 2020.02.16 |