1일 1커밋 3년을 달성하다.

1일 1커밋 3년을 달성하다.

3년간 연속으로 진행하다.


1일 1커밋 그리고 3년

1년차 회고록은 이곳 에서 보실 수 있습니다.
2년차 회고록은 이곳 에서 보실 수 있습니다.

image

  • 2019년 12월 13일 부터 시작한 1일 1커밋이, 어느새 3년을 달성했습니다.
  • 올해는 3년차를 달성한것도 10일넘게 잊고 있었네요.
  • 어떤것으로 3년차를 달성했나 커밋 히스토리를 확인해보니, Spring Batch 관련 연습 코드가 3년차의 마침표를 찍은것을 확인할 수 있었습니다.

무엇을 커밋했나?

회사 업무 & 트러블 슈팅 & 기술적인 내용

회사 업무

  • 제 블로그를 꾸준히 보아오신분이면 알 수 있으시겠지만, 저는 현재 두나무의 업비트 조직에 재직하고 있습니다.
  • 저희 회사에서는 Github 을 사용하고 있고, 개인계정과 회사계정을 연결해 이용할 수 있습니다.
  • 물론 회사 Repository 에 접근하려면, 추가적인 인증과정이 있기떄문에 개인계정으로 회사소스에 언제든지 접근할 수 있는 구조는 아닙니다.
  • 그래도 연동을 해둔다면, 회사에서 진행하는 업무에 대한 커밋이 제 Github 계정 잔디(커밋 히스토리)에 반영됩니다. (Squash & Merge 정책을 사용하고 있기 때문에, 커밋이 전부 반영되지 않고 1 PR이 1개의 커밋으로 처리되고 있는것으로 확인했습니다.)

트러블 슈팅 & 기술적인 내용

  • 예전부터 작성해오던 TIL 이나, 여러분들이 보고 계시는 Github Blog 내용이 되겠네요.
  • 추가적으로 올해부터는 이슈 를 적극적으로 이용하기 시작했습니다.

image

  • 라벨링 기능을 사용하여, 나중에 찾아보기 용이하게 관리하기 시작했는데요. 요게 나중에 비슷한 이슈가 발생했을때 찾아보기가 더 용이하더라구요.
  • 새롭게 알게된 개발관련 키워드가 있으면 이슈를 발급해 놓고 나중에 채워두거나, 배운내용 & 트러블 슈팅했던 내용들을 적어두곤했네요.
  • 또한 1이슈에 1커밋이라서, 내용을 간단히 수정하는 내용들은 1커밋으로 반영이 되지 않아서 어떻게보면 과도한 커밋개수 채우기를 방지할 수 있는 방안이 되었습니다.
  • 요즘은 기술적인 내용들을 정리할떄, 이슈로 간략하게 내용들을 참고했던 링크들을 모아 나열식으로 기록 해두고, 글로 다듬어 정리한뒤 블로그에 글을 적고 있습니다.
  • 블로그에 적지 못한 꽤 많은 이슈들이 있는데 해당 내용들을 블로그에 전부 다 옮겨적을 수 있을란진 모르겠네요. 2023년에 하나하나씩 노력해보려고 합니다.

커밋은 되었지만 잔디밭에 심어지지 않는것들

브랜치에서 찍히는 커밋들

  • 저희 팀에서는 현재 spring + kotlin + jpa ...etc 기술스택을 사용하고 있습니다.
  • 최근 kotlin + spring 으로 서버 개발들을 많이 하는 추세이긴하지만, 아무래도 java + spring 보다는 웹상에서 찾아볼 수 있는 자료가 적다는 이슈가 조금 있었습니다.
  • 위와 같은 이유로 새로운 기능을 사용해보는 경우, 샘플 프로젝트를 이용해서 이것저것 테스트를 해보곤 합니다.
  • 이를 위해서 kotlin-spring-jpa-playground 라는 레포를 만든뒤 브랜치를 따서 커밋하며 기능테스트를 해보곤 합니다. 종종 블로그에 올려두는 샘플 코드의 경로도 대부분 해당 레포지토리의 브랜치 URL 이고요.
  • 왜 회사 프로젝트 코드에서 바로 빌드를 해보지 않느냐고 물어본다면, 회사 코드는 의존성도 많이 걸려있고 규모가 상당히 커서 빌드하는데 걸리는 시간도 꽤 차이가 있고, 회사 코드에 비의존적인 네이티브한 프로젝트에서 기능들을 테스트해보는것이 좀더 연습하기에 적합한 세팅이라고 판단했습니다.

나를 한번 돌아보기

  • 생각만 했지만 시도를 못한것은 알고리즘 문제풀이 (이하 ps(problem solve)로 기술) commit 이 되겠네요.
  • 현업에 들어온뒤 아무래도 상대적으로 중요성이 낮아진 ps 을 잘 챙기지 못하게 되었습니다.
  • 하지만 ps 를 통해서 얻어지는 사고력 증진은, 프로그래밍 전반적인 역량을 높여준다는 생각을 게속 하고 있기 때문에, 2023 년 에는 업무 주 언어인 kotlin 으로 문제를 조금씩 다시 풀어보려고합니다.
  • 혹은 이번에 업무 때문에 기초적인 수준을 뗀 python3 로도 풀어볼까 하는 생각이 조금드네요.

위기는 없었는가?

코로나 확진

  • 저도 결국 코로나에 한번 걸렸었습니다. 잘 피해오다가 제주도 여행 한번 다녀오고 바로 걸려버렸었네요.
  • 해당 부분에 대한 스토리는 추후 작성할 2023 회고록에 작성하도록 하겠습니다.
  • 당시에 좀 많이 아팟어서 정신이 없었는데 지금보니 어떻게든 커밋을 해냈길래, 당시 무엇을 했었는지 궁금하여 지금 확인해보니 예전에 작성했던 글에 대해서 잘못된 부분을 수정한다던가, 새롭게 학습해야 하는 부분에 대해서 이슈 발급을 해놨었네요.
  • 뭔가 좀 아쉽긴히자만, 당시 아파죽겠어도 뭔가 의지를 가지고 노력했던 당시의 저에게 칭찬을 주고 싶습니다.

앞으로 어떻게 할래?

일단 할 수 있는데까지 해볼예정입니다.

  • 2019.12 ~ 2020.12 기간에는 대부분의 커밋이 알고리즘 문제풀이로 채워졌고
  • 2020.12 ~ 2021.12 기간에는 우테코관련 커밋 + TIL로 많이 채워졌으며
  • 2021.12 ~ 2022.12 기간에는 트러블 슈팅이나, 기술적인 내용에 대한 내용으로 채워졌네요.

고민

  • 사실 올해는 1일 1커밋을 중간에 중단할까 많은 고민을 했었습니다. 회사업무를 같이 챙기면서 하기에는 조금 버거운면들도 있었거든요.
  • 그래도 작은 커밋이라도 하겠다는 저의 의지가 만들어낸 2년간의 관성이 저를 포기하지 않게 해주었고, 이것은 제가 하루 최소한의 개인학습 10분이라도 할 수 있게 해주었다고 생각합니다.
  • 나중에 제가 진지하게 판단했을때, 3년간의 관성을 끊어낼 정도로 1일 1커밋으로 얻는것이 정말 미미한걸 넘어 무의미해지고 득보다 실이 많아진다면 끊어낼 수 는 있겠지만, 현재로써는 유지하는것이 얻는것이 더 크다고 생각해 지속해보려고 합니다.

글을 맺으며

  • 1일 1커밋이 저에겐 이젠 너무 자연스러운 행동이 되었나봅니다.
  • 1년차, 2년차 때까지는 12.13 이 되면 햇수가 바뀌는것을 자각하고 있었는데, 아예 잊고 있다가 문득 기억이나서 새벽중에 일어나서 글을 쓰고 있네요. (원래 짧게 쓰고 가려고했는데, 스톱워치를 보니 1시간 2분째 글을 적고 있네요.)
  • 회사 업무 때문에 개인적으로 점점 더 1일 1커밋을 하는것이 힘들어질것 같지만, 의식적인 노력의 끈을 놓지 않으려고 합니다.
  • 1년만에 제 깃허브 개인 프로필에도 써있는 저의 좌우명을 다시한번 읊어 보면서 글을 매듭짓도록 하겠습니다.

Distinguish between difficult and troublesome.
퇴근후 지쳐 쉰다는 이유로 유튜브 볼시간에, 조금이라도 맘을 다잡고 퇴근후 20~30분 이라도 조금더 공부해 1커밋을 찍을 수 있도록 계속 노력해보도록 하겠습니다.