개발일지 (8월 회고)

2022. 8. 28. 21:31Developer History

 

 

 

Open Source Contribution

전사적으로 구글 AIP(API Improvement Proposal)를 도입해서 사용하고 있고, 이를 위해 protobuf로 정의된 IDL(Interface Definition Language)을 Go, Java, Kotlin, Typescript등의 다양한 언어로 컴파일 해서 사용한다. 프론트엔드에서는 typescript로 컴파일된 인터페이스들과 stub 구현체가 필요하기 때문에 구글의 gax-nodejs라는 라이브러리와, 이를 사용해서 proto 파일을 Typescript 인터페이스로 컴파일해주는 템플릿 라이브러리인 gapic-generator-typescript라는 라이브러리를 사용하고 있다.

 

실제로 해당 라이브러리들을 사용해서 컴파일된 결과물들을 가지고 개발하던 도중, 몇몇 케이스에서 gax-nodejs가 에러 객체를 처리하는 부분과 쿼리 파라미터를 사용하는 부분에서 AIP의 스펙을 명확하게 지키지 않거나, 혼용해서 사용하고 있는 부분들이 있음을 알게 되었다. 따라서 이에 대해 이슈를 생성하고, 에러를 처리하는 부분에 대해서는 생각보다 간단하게 해결할 수 있을 것 같아서 직접 PR을 생성해두었다. (PR) 해당 PR은 며칠 지나지 않아 메인 브랜치에 머지되었고, 그렇게 gax-nodejs라이브러리의 contributor가 되었다.

 

feat: add fallback logic in error handling by sckimynwa · Pull Request #1309 · googleapis/gax-nodejs

Summary According to Google API Design Docs (http_mapping), it says below. While proto3 messages have native JSON encoding, Google's API Platform uses a different error schema for Google's JSON HT...

github.com

 

간단한 변경사항이긴 하지만, 오픈소스에 기여한다는 것에 대해서 다시 한번 생각해 볼 수 있었던 것 같다. 실제로 같은 회사 사람들이 아닌 다른 사람들이 작성한 잘 유지보수되고 있는 오픈소스의 코드를 읽는 것은 굉장히 좋은 경험이었던 것 같고, 이 경험을 발판 삼아 이번 달에는 React의 Scheduler에 대해 코드 레벨에서 조금 더 꼼꼼히 읽어보려 한다.

 

 

 

Write Articles

회사 업무를 진행하면서, 개인적으로 이것저것 공부하면서 많은 것들을 배웠지만, 정작 정리는 하지 못한 느낌이라 한 달을 마무리하는 기분이 조금 찝찝한 감이 있다. 9월달에는 뭔가 새로운 것들을 많이 배우는 것 보다는, 지난 두어달 동안 배웠던 것들을 시리즈로 연재하면서 꼼꼼히 다지고 가야겠다고 다짐해 본다. 작성할 만한 주제로 떠오르는 것들은 다음과 같다.

 

  • React Fiber의 Scheduler Algorithm & Concurrency Implementation

  • 모노레포의 기술적 요구사항 (Sparse checkout & Yarn Plugin)

  • gRPC와 HTTP2
  • Istio와 Envoy Proxy, 그리고 Grafana

 

 

Reading & Philosophy

이번달은 오전에 공부하는 내용들이 꽤나 많은 시간을 요하는 것들이라 그런지 원래 하던 시간에 독서를 많이 하지 못했고, 주말에 조금씩 기존에 읽었던 책들을 다시 찔끔찔끔 읽으면서 사색에 잠기는 시간들이 많았다. 특히 이번 달에는 "죽음"에 대한 생각을 많이 했는데, 이로 인해 뭔가 명쾌하게 설명할 수는 없지만 중요하다고 생각되는 많은 것들을 다시 생각했다. (아직 생각이 다 끝나지 않아서 무엇을 생각했는지에 대한 자세한 내용은 적기가 어렵다)

 

 

 

 

복무 만료와 복학

돌아오는 9월 14일부로 34개월 간의 산업기능요원으로서의 군 복무가 마무리된다. 산업기능요원으로서의 복무 기간 자체가 곧 내 개발자로서의 경력과 일치한다고 생각하니 많은 생각들이 스쳐지나간다. (아마 산업기능요원 복무에 대한 회고는 따로 작성하게 되지 않을까 싶다)

 

살아가면서 중요한 것들을 잘 선택하기 위해서 수많은 연습들과 준비들을 하지만, 때로는 삶을 뒤바꿀만큼 중요한 선택을 하게 되는 계기가 그저 우연에서 비롯되는 경우도 있는 것 같다. 유학을 가려고 했던 내가 개발자로서의 길을 선택한 것은 단순히 '산업기능요원'이라는 제도를 알았기 때문이고, 그중에서 웹 개발자의 길을 선택한 것은, 아무 경력이라곤 없는 내가 처음 회사에 들어가기 위해 이력서에 작성할 수 있는 것이라고는 가위바위보에서 져서 웹 개발을 하게 된 학부생 시절의 프로젝트 하나밖에 없었기 때문이다. 

 

이번 학기는 학교 과목을 들으면서 회사 일을 병행해보려 한다. 죽을만큼 어렵지 않다면, 남은 3개의 학기를 현업에서 계속 일하면서 보내고 싶다는 작은 소망이 있지만, 또 다른 우연한 계기로 이 결정이 뒤집힐 수도 있겠다라는 생각을 한다.

반응형

'Developer History' 카테고리의 다른 글

개발일지 (10월 회고)  (0) 2022.11.06
개발일지 (9월 회고)  (0) 2022.10.03
개발일지 (7월 회고)  (3) 2022.07.31
개발일지 (6월 회고)  (0) 2022.07.03
개발일지 (5월 회고)  (1) 2022.06.05