ย
ย
ํฌ๋กฌ์ผ๋ก ๊ธ์ฐ๋ ค๋๋ฐ ์ ๋ ๊ฒ ๋ฌดํ๋ก๋ฉ์ค ๊ฑธ๋ ค์ ieํด . ๋ฐ๋ก ๋๋ค ใ ใ
ย
ย
ย
๊ทธ๋ผ ์์ํด๋ด
ย
๊ฒ์์๋ฒ์ ๊ฒ์ํด๋ผ์ด์ธํธ๊ฐ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ฐ ์์ด์,
ํด๋ผ์ชฝ์์ ๋ก๊ทธ์ธ์ ํ๋ฉด ์๋ฒ์ ์๋ ์ ๋ณด๋ฅผ ํด๋ผ์ ๋๊ฒจ์ฃผ๊ณ , ๊ทธ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ํ๋ฉด์ ๋์ฐ๊ณ ์ ํจ.
ย
ย
ย
์ผ๋จ ์ ๋ด์ฉ์ ์คํค๋ง๋ฅผ ์์ฑํ์๋ค. flatbuffer ํํ์ด์ง๋ฅผ ๊ฐ๋ณด๋ฉด ๋ ์์ธํ ์คํค๋ง ๋ฌธ๋ฒ์ด ์๊ณ , ๊ทธ๊ฑธ๋ก ๊ณต๋ถํ๋ฉด ๋จ.
๊ฒ๋ค๊ฐ ์ง์ํ๋ ์ธ์ด๊ฐ ์์ฒญ ๋ง์ผ๋ ๊ฐ์ ํ์ธํด๋ณด๊ธธ ๋ฐ๋.
ย
์ํผ ์ ์ ์ ์ธ๋ฑ์ค์ ์์ด๋ ๋น๋ฒ ๋ฑ๋ฑ๊ณผ ์ ๋๋ค์ ๋ํ ๋ฐฐ์ด, ํํฐ์ ๋ํ ๋ฐฐ์ด๋ ์กด์ฌํ๋ฉฐ
์ ๋์ ๋ณด๋ ๊ฐ ์ ๋์ ์คํ ๋ฑ์ด ์์ผ๋ฉฐ ํํฐ๋ ํํฐ๋ช ๊ณผ ์ ๋๋ค์ ๋ฐฐ์ด๋ก ๊ตฌ์ฑ๋๋ค๊ณ ์ค์ ํจ.
ย
ย
flatbuffer์์ ์ง์ํ๋ ์ฝ๋๋ฅผ ๋น๋ํ๋ฉด ์คํค๋ง๋ฅผ ์ธ์ฟจ๋ฃจ๋ ๊ฐ๋ฅํ ํ์ผ๋ก ์ ํํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด ์๊ธฐ๋๋ฐ
๊ทธ๊ฑธ๋ก ์์ ์คํค๋ง๋ฅผ ํค๋ํ์ผ๋ก ๋ฃ๊ณ ์์ ์ ํ๋ก์ ํธ์ ์ถ๊ฐ๋ง ํ๋ฉด ๋จ.
์ด ๋ถ๋ถ์ด ๊ถ๊ธํ๋ฉด ๋ฐ๋ก ๊ธ์ ์ฐ๊ฒ ์
ย
ย
ย
ย
ย
์ด์ชฝ์ด ๋ณด๋ด๋ ์ฝ๋. ๋ณด๋ด๋ ๋ถ๋ถ์ ์ ์ฒด์ฝ๋๋ ์๋..
ย
CreateUser, CreateUnit, CreateParty๊ฐ์ ํจ์๋ ์์ flatbuffer๊ฐ ์คํค๋ง๋ง ๋ฃ์๋๋ฐ ๋ชจ๋ ๋ด์ฉ์ ํค๋ํ์ผ๋กย ๋ค ๋ง๋ค์ด์ค
includeํ๊ณ ์ฐ๋ฉด ๋๋ค. ๋ฐฐ์ด๊ฐ์ ๊ฒฝ์ฐ์ flatbuffer์์ ๋ฐ๋ก vector๋ฅผ ์ง์ํ๋, ๊ธฐ์กด์ stl ๋ฒกํฐ๋ฅผ flatbuffer์ vector๋ก ์์์ ์ฌ์ฉ.
ย
ย
ย
ย
๋ฐ๋์ชฝ ์ฝ๋.
ย
์ฌ๊ธฐ๋ ํจํท์ ๋ฐ์์ GetUser(ํจํท์ ์ ๋ณด)๋ง ํ๋ฉด ์ ๋ ๊ฒ ๋ณด๋ด๊ธฐ ์ ๋ฐ์ดํฐ๊ฐ ์ํธํ ๋ชจ์ต์ ๋ณด์ด๋๊ฑธ ํ์ธํ ์ ์๋ค.
ย
ย
ย
json ๋ณด๋ค ๋ง๋ฐฐ ๋น ๋ฅธ flatbuffer ์ฐ์ธ์ฌ!
ย
ย
ย
ย
ย
๋ฌผ๋ก ๊ธ์ด์ด๋ ์ด๋๊น์ง raw struct์ ์์์ ํจํทํ ํ๊ณ ๋ณด๋๋๋ฐ,
์คํค๋ง๋ง ์ง๋์ผ๋ฉด ์์์ ํค๋ํ์ผ ๋ฑ์ด๋ด๋๊น ๋๋ฌด ํธํด์ ์ฐ๊ฒ๋จ.
ย
๋งํฌ๋ ๋๊ธ๋ก
ย
ย
3์ค์์ฝ
1. ๊ตฌ๊ธ์ด flatbuffer ์คํ์์ค๋ฅผ ์ ๋ณด์
2. ๋ฐ์ดํฐ ์ฃผ๊ณ ๋ฐ์๋ ํธํจ
3. ์ฐ์
ย
ย
https://google.github.io/flatbuffers/
ํ๋ซ๋ฒํผ ์ฌ์ดํธ
https://github.com/google/flatbuffers
๊น ์ฝ๋
์์ ์ ํ๊ฐค์ ์ด๊ฑฐ ์ฎ๊ฒจ์ด ๊ฒ๊ฐ๋ฐ์๋ค ํ์ดํ
๋คํธ์ํฌ์๋ ์์ ๋ฐฑ์ง์ธ๋ฐ ์ ๋ํฐ๋ก ํ์ฉํ ์ ์์ด?
๋ ์ ๋ํฐ ์์ฐ๊ณ ์ฝ์ฝ์คํฌ๋ ์ฐ๋์ค!
c#์ผ๋ก flatbuffer ๋ด๋๊ณ , ํต์ ๋ถ๋ถ ๋ถ๋ช ์ ๋ํฐ์ api ์ ๊ณตํด๋จ์๊บผ๋๊น ๊ทธ๊ฑฐ ํ์ฉํด๋ณด์
๋คํธ์ํฌ ์ชฝ์ผ๋ก ๊ณต๋ถํ๋ ค๋๊น ์์ ์๋ก์ด ๋ถ์ผ๋๋ผ. ์ผ๋จ ์ ์ฅํด๋๊ณ ๊ฒ์ ๊ฐ๋ฐ๋ถํฐ ๊ณต๋ถํด์ผ๊ฒ์ด
์ข์์ ๋ณด ใฑใ
ํ๋กํ ๋ฒํ๋์ ๋ค๋ฅธ๋์ธ๊ฐ ์ฒจ๋ดค์ด์! - DCW
https://google.github.io/flatbuffers/flatbuffers_benchmarks.html
๊ตฌ๊ธ์ด ๊ณต๊ฐํ ๋ฒค์น๋งํฌ์์ ํ๋กํ ๋ฒํ๋ณด๋ค ์ด๊ฒ ์ฝ 5์ฒ๋ฐฐ ๋น ๋ฆ
์บฌ.. ์๋ฒ์ฌ์ด๋์์ ์ง์ ๊ฐ์ฐจ์ด๋๊ฒ๋ค - DCW
idl ์์ฑํ ๋๋ c++๊ณผ๊ฐ์ด typedef struct ํด์ ์ด๋ฆ ์ฌ์ค์ ๊ฐ๋ฅํ๊ฐ์?? ๊ทธ๋ฆฌ๊ตฌ.... idl ์์ฑํ ๋ table ์์ ๋ณ์ ์๋ฃํ์ ๋๊ดํธ ๋ถ์ด๊ฒ์ด๋ ์๋ถ์ธ๊ฒ์ด๋ ์ด๋ป๊ฒ ๋ค๋ฅธ๊ฑด๊ฐ์??
์คํค๋ง ์์ฑ๋ฒ์ ํํ์ด์ง์ ๋ฌธ๋ฒ์ ๋ํด ๋์์๊ณ ๋๊ดํธ๋ ๊ดํธ ์์ ์๋ฃํ์ ๋ํ ๋ฐฐ์ด์ ๋ง๋ ๋ค๋ ๋ป์