![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaQsDy%2Fbtse98vOpuR%2FA1KYIoDKyrbguPstI1SGXK%2Fimg.png)
๐ก gRPC์ Rest api์ ์ฐจ์ด์ ์ ์ ๋ฆฌํ๊ณ ์ฅ๋จ์ ์ ํ์ ํ์ฌ ์ํฉ์ ๋ง๊ฒ ์ ์ฉํฉ๋๋ค. ์คํธ๋ ์ค ํ ์คํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์กฐ์ฌํ๋ค๊ฐ ํน์ ํด๋ค๋ง gRPC๋ฅผ ์ง์ํ๊ณ , gRPC๋ฅผ ์ฌ์ฉ ์ค์ธ ์ฝ๋๋ฅผ ์ฐพ์๋ณด๋ ๊ฑฐ์ Go, Kotiin ๊ธฐ๋ฐ ์ฝ๋๋ค ๋ฐ์ ์๊ธธ๋ gRPC์ Rest api์ ์ฐจ์ด์ ์ด ๋ฌด์์ด๊ณ ์ธ์ ๋ฌด์ผ ์ฌ์ฉํด์ผ ํ๋์ง / JS๋ฅผ ํตํด ์์ฃผ ์ฌ์ฉํ์ง ์๋ ์ด์ ๊ฐ ์์ ์ง ๊ถ๊ธํด์ ์กฐ์ฌํด ๋ด ๋๋ค. Rest api๋ ๊ธฐ์กด์ ๋ง์ด ์ฌ์ฉํด๋ณด์ จ์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ณ๋ ์ค๋ช ์์ด ๋์ด๊ฐ๊ฒ ์ต๋๋ค. gRPC๋? grpc๋ ๊ตฌ๊ธ์์ ๊ฐ๋ฐํ ์คํ์์ค ์๊ฒฉ ํ๋ก์์ ํธ์ถ(RPC) ์์คํ ์ด๋ฉฐ, ์ ์ก์ ์ํด HTTP/2 ๋ฅผ ์ฌ์ฉํ๊ณ ์ธํฐํ์ด์ค ์ ์ ์ธ์ด๋ก ํ๋กํ ์ฝ ๋ฒํผ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. client - server si..
๐ค ๊ธฐ์กด์ ์๊ณ ์๋ Duck typing๊ณผ Typescript ๊ตฌ์กฐ์ ํ์ดํ์ ์ฐจ์ด๋ฅผ ์ธ์งํ๊ณ ํ๊ณ๋ฅผ ํ์ ํฉ๋๋ค. Duck typing์ด๋ “๋ง์ฝ ์ด๋ค ์๊ฐ ์ค๋ฆฌ์ฒ๋ผ ๊ฑท๊ณ , ํค์์น๊ณ , ๊ฝฅ๊ฝฅ๊ฑฐ๋ฆฌ๋ ์๋ฆฌ๋ฅผ ๋ธ๋ค๋ฉด ๋๋ ๊ทธ ์๋ฅผ ์ค๋ฆฌ๋ผ๊ณ ๋ถ๋ฅผ ๊ฒ์ด๋ค.” ๋ผ๋ ๋ง์์ ํ์ํ์์ผ๋ฉฐ, ๊ฐ์ฒด์ ํ์ ์ ๋ฏธ๋ฆฌ ์ ํ๋ ๊ฒ์ด ์๋๋ผ ๋ฐํ์ ์ ๊ฐ์ฒด์ ํ์์ ๊ธฐ๋ฐํ์ฌ ํ์ ์์ฉ์ฑ์ ์ฒดํฌํ๋๋ก ํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ ์ ๋๋ค. type Person = { name: string, age: number, }; const personA = { name: 'ํฌ์', age: 27, }; const duckA = { name: '์ค๋ฆฌ', age: 2, }; const person: Person = duckA; // it's okay ํ์ ..
Comment