git, buf, 그리고 패키지 매니저로 프로토버퍼 관리하기

프로토버퍼? 프로토버퍼는 구글에서 개발한 직렬화 라이브러리입니다. 프로토버퍼는 다양한 언어를 지원하며, 단일 IDL(Interface Description Language)을 사용하여 여러 언어에 대한 DTO 및 시리얼라이저를 생성할 수 있습니다. 그렇기에 서버와 클라이언트 사이에 서로 다른 언어를 사용하더라도, 같은 IDL만 공유할 경우 서로가 주고 받는 메시지의 종류만 안다면, 별도의 DTO를 문서를 보고 만들 필요 없이 바로 사용할 수 있습니다. 프로토버퍼의 문제점 프로토버퍼는 .proto 확장자를 가진 IDL 파일을 각 언어에 맞게 컴파일해서 사용해야한다는 단점이 있습니다. 그래서 프로토버퍼 파일 버전이 상이할 경우에, 같은 메시지(DTO)를 주고 받는 다더라도, 예외가 발생할 수 있어 주의가 필요합니다....

December 13, 2023 · snowmerak

뭔가 이상한 플러터 프로젝트 구조

프로바이더는 이번 생에 처음이라.. 처음으로 제대로 된 플러터 프로젝트를 시작하는 중이었습니다. 이전에는 편하다는 이유로, getx를 애용했었는데, 이번에는 flutter developers korea분들의 의견을 듣고 Riverpod으로 선택했습니다. 여기서부터 문제가 생깁니다. 원래 GetX를 썼기에 제 스타일 상, 프로바이더의 구성은 전역 변수와 거의 같아질 수밖에 없었습니다. 물론 사실 이 부분은 제 능력부족에 대한 핑계이고, auto dispose만 제대로 해줬어도 그런 느낌은 주지 않았을 겁니다. 이 문제로 인해 폴더 분리도, 큰 규모는 처음이라 제대로 분리되어 있지도 않았죠....

September 16, 2023 · snowmerak