golang - serialization 관련 오픈 소스

Serialization in Go go_serialization_benchmarks (일어)범용적인 시리얼라이즈 방법(MessagePack/Protocol Buffers/FlatBuffers) (일어)Go의 msgpack 라이브러리 비교 restruct Tutorial: Use FlatBuffers in Go (일어)최고속 이라는 소문의 Flatbuffers 속도의 비밀과 도입 방법(Go)
더 읽기

C# - byte array 내용 출력하기

네트워크 프로그래밍을 할 때 소켓을 통해서 받은 데이터의 바이너리 값을 보고 싶을 경우가 있다. 바로 출력은 안되고 아래의 스택오버플로우의 글을 사용하면 좋다. static public string ToReadableByteArray(byte[] bytes) { return string.Join(", ", bytes); } Console.WriteLine(ToReadableByteArray(bytes)); 혹은 public void PrintByteArray(byte[] bytes) {...
더 읽기

Rust - 메모리를 덤프해서 slice와 Vec를 이해한다

출처 사전 준비 메모리 상에서 어떻게 되어 있는지 표현 되어 있는가를 확인하기 위해 아래 함수를 이용한다. 인수 x를 *const T로 캐스트하고, 생 포인터에서 std::mem::size_of_val(x)로 얻은 바이트 길이를 읽는다. fn as_raw_bytes<'a, T: ?Sized>(x: &'a T) -> &'a [u8] { unsafe {...
더 읽기

C++11 - 컨테이너에 참조 보관하기

std::reference_wrapper를 사용하면 컨테이너에 오브젝트의 참조를 보관할 수 있다. std::reference_wrapper는 <functional> 헤더를 사용한다. #include <iostream> #include <string> #include <vector> #include <functional> struct Base { void print() const { std::cout << "print" << std::endl; } }; struct Integer : Base { int...
더 읽기