Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.

일일 커밋을 그만 두다.

작년에 일일 커밋에 대한 글을 올렸고 나도 다른 개발자들 하는 것을 따라 한 것이지만 이 방법에 대해서 공감해 주는 사람들이 많아서 여기저기 공유되기도 했다. 글을 쓴 시점이 100일 정도 지났을 때이니까 2014년 12월 말부터 시작했고 1년여 정도 진행을 했다.

GitHub 컨트리뷰션 그래프

커밋 로그도 많이 찍고 나름 괜찮은 경험이었다고 생각한다. 원래 블로그도 쓰고 개발 관련 작업을 하는 게 한가한 시간에 하는 일이긴 하지만 매일 코딩을 하는 시간을 습관처럼 만들 수 있었고 계속해서 뭔가 개선하거나 새로 코딩할 부분을 생각할 수 있는 시간이 되었다. 그전에도 어느정도는 해결되었지만, 블로그로 인해서 글을 많이 쓰다 보니 개발자로서 코딩하는 시간이 많이 부족해서 느끼던 불안감 같은 것도 거의 없어졌다.

어쨌든 1년 정도가 지난 시점에서는 이제 일일 커밋을 그만두려고 한다. 시작할 때도 글을 썼으니 끝낼 때도 뭔가 공유해야 할 것 같아서...

  • 일단 코딩 외의 작업을 거의 못하게 되었다. 퇴근하고 약속이 없더라도 하루에 만들 수 있는 개인 시간은 그리 많지 않은데 일일 코딩을 하다 보니 이 시간의 대부분을 코딩에 써야 했다. 그러다 보니 그 전에 하던 다른 작업에는 시간을 거의 내지 못했고 작년에 블로그에 글을 많이 못 쓴 큰 원인이기도 하다. 일일 커밋하고 코딩하려고 했지만 좀 쉬기도 해야 하고 일일 커밋하고 나면 시간이 다 가버리니까... 블로그에 글도 있지만, 인터넷에서 글을 읽어나 개발 서적도 봐야 하고 새로운 기술이 나오면 커밋은 하지 않지만, 공부도 해야 하는 시간도 필요한데 일일커밋에 허덕이면서 이런 부분에는 시간을 거의 내지 못했다.
  • 일일 커밋때문에 일일에 커밋할 양만을 코딩하게 된다. 이게 꽤 큰 문제인 것 같은데 매일 코딩하려다 보니 매일 코딩할 분량만 하게 된다. 이건 시간이 있을 때와 없을 때 모두 좀 문제가 됐는데 큰 작업을 시작하면 왠지 그날 커밋을 못할 것 같으니 자꾸 자잘한 이슈로 커밋을 해결하게 되고 주말처럼 여유가 있을 때 큰 작업을 좀 하기는 하지만 커밋을 하고 나면 뭔가 목표를 끝낸 것 같아서 전처럼 연휴 같을 때 몰아서 코딩하는 일이 적어졌다. 어떨 때는 어떻게 해결할 지도 보였지만 그날 다하면 안 될 것 같아서 다음 날로 미루는 경우도 보였고... 뒤로 가면서 이런 부분을 해결하려고 몰아서 하더라도 그날 작업할 수 있으면 가능한 한 처리하려고 했지만 정해놓은 규칙이 있으니 완전히 자유롭지는 않았다.
  • 커밋 로그에 대한 집착이 생긴다. GitHub에서 예쁜 컨트리뷰션 그래프를 보면 기분이 좋기는 한데 일일 커밋이라는 규칙까지 만들어 놓으니 이걸 끊지 않으려는 불필요한 노력이 생긴다. 사실 그렇게 하려고 일일 커밋이라는 규칙을 만든 거기는 하지만 원래의 목적은 코드를 많이 작성하고 더 좋은 코드를 작성하는 것이었는데 아무래도 규칙을 유지하기 위한 의미 없는 작업이 종종 생기게 되었다.

코딩하는 습관을 만드는 것은 좋았지만 1년 정도 했으니 어느 정도 자리 잡았다고 생각하고 다른 부분은 해결하기 위해서 일일 커밋은 더는 그만하려고 한다. 계속 코딩도 하고 사이드 프로젝트도 진행할 예정이지만 일일 커밋이라는 규칙 내에서 하진 않고 그때그때 하고 싶은 걸 할 생각이다. 어차피 컴퓨터만 붙잡고 지내고 있고 코딩을 너무 안 해서 걱정이던 시기는 좀 지났으니까...

2016/02/05 22:39 2016/02/05 22:39

기술 뉴스 #47 : 16-02-01

웹개발 관련

  • es6-cheatsheet : ES2015를 유용하게 활용할 수 예시를 잘 정리해 놓은 저장소이다. ES6 문법은 익혔지만 어떻게 사용하는 게 좋을지 고민하고 있다면 참고하기에 좋다.(영어)
  • React.js Best Practices for 2016 : React.js가 다양한 방법을 제공하기 때문에 처음 배울 때 어려운 점이 있는데 Componet는 어떤 식으로 만들고 상태 관리는 어떤 식으로 하는 게 좋은지, 관련 라이브러리는 어떤 라이브러리가 좋은지 등의 팁을 정리한 글이다. React로 애플리케이션을 만들면서 작성방법을 고민 중이라면 이 글에서 권하는 내용은 참고해서 하나씩 적용해 보는 것도 좋겠다.(영어)
  • Why use www? : 도메인에서 앞에 붙는 www를 사용해야 하는가 아닌가 즉, canonical URL에 www가 있는 URL을 쓸 것인가 없는 URL을 쓸 것인가에 대해서 정리한 글이다. 글의 결론은 www를 써야 한다는 것이고 CNAME으로 DNS 설정을 쉽게 할 수 있는 점과 쿠키 공유 등의 이슈를 예로 들었다.(영어)
  • You don't (may not) need Lodash/Underscore : You might not need jQueryUnderscore.jslodash 버전이다. Underscore와 Lodash의 함수를 네이티브로 어떻게 구현할 수 있는지 설명하고 있고 각 구현의 브라우저 호환성까지 정리되어 있다.(영어)

그 밖의 프로그래밍 관련

  • Introducing Apex : Node.js에서는 유명한 TJ Holowaychuk이 Go로 만든 AWS Lambda 관리도구의 소개 글이다. Lambda 함수를 작성해서 apex를 통해서 배포하거나 롤백하고 테스트할 수 있다.(영어)
  • 신규 AWS Certificate Manager – 무료 SSL/TLS 인증 서비스 제공 : AWS Certificate Manager로 SSL/TLS 인증서를 무료로 받아서 ELB와 CloudFront에 적용할 수 있다.(한국어)
  • OneOps : Walmart Labs에서 DevOps 플랫폼을 오픈 소스로 공개했다. OneOps를 사용하면 오픈 스택, AWS, Azure 등의 클라우드에서 애플리케이션을 쉽게 관리할 수 있다.(영어)

IT 업계 뉴스

  • Parse - Moving On : 모바일 개발자가 백엔드서버를 구현하지 않고도 쉽게 이용할 수 있는 BaaS 서비스인 Parse가 2017년 1월 28일까지 운영 후 서비스를 종료한다고 공지했다.(영어)

프로젝트

  • Nativefier : Electron을 이용해서 명령어 하나라 웹페이지를 데스크톱 애플리케이션으로 만들어 주는 도구
  • Milligram : gzip으로 압축했을 때 2kb밖에 안되는 CSS 프레임워크
  • Seesaw : Google에서 공개한 Go로 작성한 로드 밸런서.
  • CNTK : Microsoft에서 만든 오픈 소스 딥러닝 툴킷.

버전 업데이트

2016/02/01 23:32 2016/02/01 23:32