Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MsgPack 정리

3,086 views

Published on

데이터 시리얼라이제이션 라이브러리인 MsgPack에 대해 정리하였습니다.

Published in: Software
  • Be the first to comment

MsgPack 정리

  1. 1. MsgPack 넥스트 인스티튜트 게임전공 노석 민
  2. 2. 데이터 시리얼라이즈 가 뭘까
  3. 3. 데이터 시리얼라이즈 A라는 변수가 123이고 B라는 변수가 4243인 객체가 있다. 이걸 전송하고 싶다. 어떻게 할까?
  4. 4. 데이터 시리얼라이즈 전송하면 전송받은 상대도 그걸 받아보면 A가 123이고 B가 4243인 객 체구나 라는걸 알 수 있는 형태여야 좋겠다.
  5. 5. 데이터 시리얼라이즈 바이트스트림으로 예를 들면 첫 4바이트는 변수명 길이 그 이후 첫 4바이 트에서 제시한 길이만큼은 변수명 그후 4바이트는 내용길이 그후 내용길이에서 지시한 길이만큼은 변수 값 이런 식으로 커스텀 포맷의 스트림 데이터를 만들어서 전송하는 방법이 있을것이다.
  6. 6. 데이터 시리얼라이즈 하지만 가장 대중적으로 쓰는건 {“A”:123, “B”:4243} Json으로 만들어서 보낸다. 이게 시리얼라이즈!
  7. 7. 그러면 MsgPack이 뭘까 (미원봉지 아님ㅎ)
  8. 8. 그러면 MsgPack이 뭘까 그냥 여러 가지 데이터 시리얼라이즈 라이브 러리중의 하나. 오픈소스.
  9. 9. 그러면 MsgPack이 뭘까 Json보다 콤팩트하다고 한다. Json보다 빠르다고 한다.
  10. 10. 어떻게 쓸까 http://msgpack.org/ C++버전은 다운로드해서 헤더만 include하 면 된다. C 버전은 빌드해야 함.
  11. 11. 어떻게 쓸까 http://msgpack.org/ C++버전은 다운로드해서 헤더만 include하 면 된다. C 버전은 빌드해야 함.
  12. 12. 해보자 시리얼라이즈 할 데이터를 만든다.
  13. 13. 해보자 팩(시리얼라이즈)하고, 언팩한다. 언팩시 언팩된 데이터에 대한 핸들을 얻을 수 있다.
  14. 14. 해보자 출력
  15. 15. 해보자 출력
  16. 16. 해보자 출력
  17. 17. 그런데 이걸로 모자라다. 어디에 쓰라는거야.
  18. 18. 해보자2
  19. 19. 해보자2
  20. 20. 해보자2
  21. 21. 해보자2 이번에는 Array나 Map(Dictionary)형태로 패 킹해볼 것이다.
  22. 22. 해보자2
  23. 23. 해보자2
  24. 24. 해보자3 하지만 User-defined Class가 등장하면 어떨까?
  25. 25. 해보자3 쨔쟌
  26. 26. 해보자3 unitList를 이렇게 패킹할 수도 있고
  27. 27. 해보자3 요로코롬 객체에서 바로 할 수도 있다.
  28. 28. 해보자3 언팩을 해보면 결과가 제대로 나올 것이다.
  29. 29. 해보자3 요러케
  30. 30. 끝 네트워크 프로그램 만들 때 쓸 것 같다. 내가 마치 객체 단위 패킷을 주고 받는것처 럼 느껴지기에 매우 편리할 듯. 지금 만드는 게임에 네트워크를 붙일 때 사 용해 볼 계획

×