태그: 직렬화
10편
-
JSON 직렬화에서 데이터가 사라지는 경우: Date·BigInt·순환 참조, 검증, 대용량 성능
JSON.stringify/parse, json.dumps/loads부터 Date·BigInt·순환 참조 데이터 손실, Zod/Pydantic 검증, 대용량 페이로드 성능까지 언어 무관으로 정리한 직렬화 가이드.
-
Java 입출력 | File, BufferedReader, NIO
FileReader와 BufferedReader의 차이, BufferedWriter 추가 모드, java.nio.file의 Path·Files로 파일을 읽고 쓰고 복사하는 방법을 로그 파일 처리 예제로 설명하고, readAllLines를 피해야 하는 경우를 짚습니다.
-
C++ 직렬화 방식 비교: nlohmann·simdjson·Glaze JSON, 바이너리, Protobuf, C++26 리플렉션
C++ Serialization: JSON nlohmann/simdjson/Glaze, Protobuf v29, C++26 Reflection P2996R13, cereal. 성능 비교·버전 호환성·자동 직렬화.
-
C++에서 Protocol Buffers 쓰기: .proto 정의, 스키마 진화와 필드 번호, Arena 할당
C++에서 JSON 대신 Protocol Buffers로 직렬화하는 방법. .proto 정의와 코드 생성, 직렬화와 파일 I/O, 스키마 호환성과 필드 번호 규칙, Arena 할당으로 메모리 줄이기, 자주 나는 에러를 다룹니다.
-
C++ 리플렉션 구현 | 타입 정보·메타데이터·자동 직렬화
구조체마다 to_json·from_json을 손으로 짜는 대신 타입 레지스트리로 멤버 메타데이터를 등록해 직렬화와 설정 로딩을 자동화하는 C++ 리플렉션 구현입니다. 매크로로 반복을 줄이는 법, RTTR 라이브러리, ODR 위반 같은 함정도 다룹니다.
-
C++ 컴파일 타임 리플렉션 | C++26 Reflection·magic_enum·매크로 직렬화·검증
구조체가 늘 때마다 to_json·from_json을 손으로 쓰는 반복을 줄이려고 C++26 Reflection(P2996)의 개념과 예제를 살펴보고, 지금 쓸 수 있는 magic_enum과 매크로·X-Macro 기반 멤버 순회를 비교합니다. magic_enum의 제약과 흔한 에러도 다룹니다.
-
C++ JSON 파싱: nlohmann/json vs RapidJSON, 커스텀 타입 직렬화, null·타입 에러 처리
C++ REST API 응답·설정 파일 파싱 시 타입 에러·null 접근·메모리 폭발 문제를 해결합니다. nlohmann/json, RapidJSON, 커스텀 타입 직렬화, 자주 발생하는 에러, 베스트 프랙티스, 프로덕션 패턴까지 실전 코드로 다룹니다.
-
C++ 바이너리 직렬화: 엔디안·구조체 패딩 문제와 버전 관리·체크섬
게임 세이브 파일이 다른 PC에서 깨지는 원인을 엔디안과 구조체 패딩으로 추적하고, string·vector 같은 동적 데이터를 길이와 함께 안전하게 저장하는 방법을 보여줍니다. 포맷 버전 관리, 체크섬, 원자적 쓰기와 백업 같은 운영 패턴도 다룹니다.
-
TCP 위에 프로토콜 설계하기: 메시지 경계, 길이 프리픽스, 바이너리 직렬화, 엔디안과 버전 관리
C++ 네트워크 프로토콜 설계와 직렬화. TCP 메시지 경계 처리, 길이 프리픽스 프로토콜 구현, 바이너리 직렬화, JSON·Protobuf·MessagePack 비교, 엔디안 처리와 버전 호환성을 다룹니다.
-
C++ nlohmann/json 실전: 파싱·커스텀 타입 직렬화·에러 처리와 자주 틀리는 동작
nlohmann/json으로 JSON을 파싱하고 구조체와 변환하는 방법, operator[]·value()·at()의 차이, 키 순서가 바뀌는 이유와 ordered_json, float→int 무음 변환, SAX 파싱, simdjson·RapidJSON과 고르는 기준까지 정리합니다.