파일 형식으로 Protobuf3을 사용하고 있습니다. PB API는 직렬화 및 직렬화 해제에 매우 효과적입니다. 그러나 이제는 왕복 여행을 원합니다. 파일을 쓰고, 다시 읽고, 한 필드를 수정하고, 다시 파일을 저장소에 다시 작성합니다.Protobuf : 파일을 다시 쓰는 방법
자세한 내용 : PB 객체를 만들 때 먼저 Builder
객체를 인스턴스화하고 객체에 필드 값을 설정 한 다음 이진 객체를 작성합니다. 그러나 이진 객체를 작성하고 다시 읽은 후 필드를 어떻게 수정합니까? 하나는 Builder 객체를 사용하여 바이너리를 생성해야하지만 기존의 모든 필드를 빌더로 다시 복사해야합니까? 또는 Builder가 바이너리 형식에서 자동으로 채워지 는가?
이상적으로는 바이너리를로드하고 새로운 빌더를 만들고 원하는 필드를 설정하여 원래 데이터와 새 데이터를 병합 할 수 있습니다.
모범 사례는 무엇입니까?
API는 플랫폼과 언어에 따라 다를 수 있습니다. 당신이 사용하고있는 것을 정확하게 지정할 수 있습니까? 예를 들어 자바에서 구현 된 Google 애플리케이션입니까? –
자바와 파이썬 모두. – Hephaestus
그리고 예, 우리는 Google ProtoBuf 구현을 사용하고 있습니다. 그것의 아주 인상적인 도구. – Hephaestus