Outsider's Dev Story

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

기술 뉴스 #141 : 20-01-02

웹개발 관련

  • The State of JavaScript 2019 : 매년 발표되는 JavaScript 개발자의 설문 조사를 통해서 생태계의 현황을 정리한 글로 올해는 2만여 명의 JavaScript 개발자가 설문에 참여했다. 지역별 연봉, 프레임워크, 테스트 도구, 백엔드, 모바일 등 다양한 영역에서 어떤 도구를 주로 사용하고 있는지를 보여주고 있다.(영어)
  • http-decision-diagram : HTTP의 상태 코드를 결정하는 다이어그램이다. 200대부터 500대 코드까지 HTTP 요청 상황의 true/false로 따라가서 적절한 상태 코드를 찾을 수 있는데 HTTP 상태 코드를 이해하는 데도 도움이 될 것 같다.(영어)
  • JavaScript & Node.js Testing Best Practices : 테스트 관련 황금율과 기초 테스트 구성에 대한 설명을 한 뒤 백엔드/프론트엔드의 테스트 방법을 설명하고 테스트 품질측정과 CI에 대해서 정리해 놓은 글의 한국어 번역 글이다. 관련 사례와 예제 코드까지 잘 정리되어 있다.(한국어)
  • 웹 개발자의 지옥, 이메일 폼 개발하기 : 다양한 이메일 서비스와 클라이언트 때문에 이메일 폼을 개발하는 건 정말 어려운데 이런 부분이 왜 어렵고 작업할 때 어떤 부분을 유의해서 작업했는지를 정리한 글이다. 이메일 받을 때는 별거 아닌 것처럼 느껴질 수 있지만 이메일을 직접 만들어서 보내보면 얼마나 많은 삽질이 필요한지 느끼며 이 글이 도움이 될 것이다.(한국어)
  • World Wide Web Consortium (W3C) brings a new language to the Web as WebAssembly becomes a W3C Recommendation : WebAssembly가 W3C 권고안이 되었다.(영어)

그 밖의 개발 관련

  • How To Prefix Your Commit Message With a Ticket Number Automatically : prepare-commit-msg 훅을 이용해서 Git의 브랜치 이름에서 자동으로 티켓번호를 커밋 메시지 앞에 자동으로 붙여주는 방법을 설명하고 있다.(영어)
  • How Positive was Your Year with TensorFlow.js and Twilio : Twilio에서 Tensorflow.js를 이용해서 API로 가져온 SMS 메시지가 긍정적인지 부정적인지를 분석해서 보여주는 간단한 Node.js 애플리케이션을 작성하는 방법을 보여주고 있다.(영어)
  • iOS 13에서 다크 모드 지원하기 (Supporting Dark Mode) : iOS 13에서 추가된 다크모드를 iOS 앱에서 지원하면서 앱의 원하는 색상을 지원하려면 어떻게 해야 하는지를 설명한 글로 제어할 수 있는 API를 소개하고 다크모드를 지원하지 않는 경우 라이트 모드로 고정하는 방법까지 소개하고 있다.(한국어)
  • Applescript로 간단한 카톡 자동 대화하기 : 카카오톡의 봇하고 얘기하는 이벤트를 자동화하기 위해서 Applescript를 이용해서 미리 정의된 대화의 메시지를 보내도록 자동화한 과정이 나와 있다. 창을 선택할 수 없어서 완전 자동화까지 되지는 않았지만 Applescript로 어떻게 자동화 할 수 있는지 나와 있다.(한국어)

인프라 관련

  • 만들면서 이해하는 도커(Docker) 이미지의 구조 : Docker 이미지의 구조를 설명하는 글이다. 보통 레이어로 되어 있다는 것은 알려져 있지만, 실제 Pull을 받을 때 레이어의 구조와 이 레이어 위에서 컨테이너로 실행할 때 어떻게 달라지는지 왜 컨테이너를 내리면 변경사항이 사라지는지 등을 실제로 레이어를 직접 만들고 조작해 보면서 이해할 수 있게 설명하고 있다. 뒤에서는 OverlayFS를 사용해 보면서 동작 방식을 이해할 수 있게 보여주고 있는데 Docker 이미지가 어떻게 동작하는지 깊게 이해할 수 있는 좋은 글이다.(한국어)
  • k3s로 간단하게 Kubernetes 환경 구축하기 : AWS Lightsail에 인스턴스를 띄워서 경량 Kubernetes인 k3s로 Kubernetes 환경을 구성해서 로컬에서 접속하는 과정을 설명하는 글이다.(한국어)

볼만한 링크

  • 상품 상세페이지 개선해 성과내기 : 스타일쉐어에서 네이버 최저가검색 등으로 유입되는 상품 상세페이지의 디자인을 개선하고 목표했던 지표에서 20% 이상 높인 과정을 소개하고 있다. 각 디자인 개선을 어떤 의도로 했는지를 설명하고 이전 디자인과 비교해서 쉽게 읽을 수 있다.(한국어)

IT 업계 뉴스

프로젝트

  • Scully : Angular로 정적 웹사이트 생성 도구로 React나 Vue에서는 할 수 있었지만 이제 Angular로도 정적 웹사이트를 만들 수 있게 되었다.
  • Hippy : Tencent에서 만든 크로스 플랫폼 프레임워크로 웹 기술을 이용해서 Web, iOS, Android 3개의 플랫폼의 앱을 만들 수 있다.

버전 업데이트

2020/01/02 03:52 2020/01/02 03:52

2019년 회고

생산성 저하

올해는 개발을 하면서 유례가 없을 정도로 생산성이 저하된 한해였다. 처음에는 번아웃이 왔나? 하는 생각을 하다가(올 이유도 없었지만...) 몇 년 전에 번아웃 왔을 때와 비교하면 증상이 다르기도 했고(번아웃 증상이 매번 똑같진 않겠지만) 의욕이 아예 떨어진 것은 아니었다.

실제로 회사에서 업무를 할 때는 문제가 없었고 집에 와서 개발하거나 오픈소스에 참여하거나 공부하는 시간은 급격히 줄어들었다. 술을 자주 먹게 된 게 가장 큰 이유이기는 한데 해야지 하면서도 집에서 넷플릭스 보거나 술 먹고 잠들거나 하면서 학습에 시간을 거의 못 쓰게 되었다. 처음에는 "나 요즘 뭐 하는 거지?"하는 생각을 하다가 후반기 와서는 그냥 모르겠다 싶은 마음에 맘 편히 쉬기로 했다. 오래 달려왔으니 좀 여유 부려도 되지 않나 하는 생각을 하기도 했고 생각보다 다시 원래 패턴으로 돌아와 지지 않아서 이럴 바엔 좀 쉬자 하는 생각도 있었다.

예전처럼 학습을 빨리하지도 못하는 느낌이고 올해 이직하면서 맘먹은 인프라 관련 학습도 하지 못했다. 이쯤되면 인프라가 하고 싶은 게 맞긴 하는가 하는 생각도 들지만, 인프라뿐 아니라 전체적으로 학습패턴이 망가져서 이쪽을 회복하는 것이 먼저라고 보고 있다. 암튼 쉴 만큼 쉬었으니 내년에는 정신 차리고 다시 열심히 달려봐야겠다. 다른 건 몰라도 학습(성장)이 멈췄다는 느낌이 제일 걱정되는 부분이고 그래서 올해는 학습한 게 거의 없다.

그래도 올해 한 일

그렇다고 아무것도 안 한 건 아니었다. 자의로 회복이 잘 안 되어서 내가 움직일 수 있도록 여러 가지 장치를 마련했는데 오랫동안 하던 일이라서 그런지 딱 그 일 할 때는 신나서 하지만 끝나고 내 개인 시간으로 돌아오면 다시 멍하니 쉬면서 시간을 보내게 되었다.

그래도 올해 뭐 했지? 하고 찾아보니 "HTTP/3 explained"도 번역했고 JSConf Korea에서 mocha 프로젝트 관련 발표도 했고 SprintSeoul에도 계속 참여했다. SprintSeoul은 올해 제일 잘한 일 중 하나인데 이건 나중에 따로 후기를 정리해 봐야겠다.

나에겐 올해 가장 큰 이벤트 중 하나인 컨트리뷰톤 2019에도 참가했다. 후기에도 썼듯이 기존에 하던 일들과는 다른 형태였기 때문에 많이 배운 시간이었다. AWS 솔루션 아키텍트 어소시에이트 자격증도 취득했다.

stdout.fm 사람들과 친분이 있다 보니 5번이나 출현해서 떠들었다. 너무 방송 느낌 안 나고 잡담하듯이 할 수 있어서 편하다. 내가 운영하는 건 아니지만 팟캐스트는 그래도 참여했지만 야심 차게 만들었던 YouTube 채널은 키보드 자랑만 2번하고 정작 하려던 개발 얘기는 한 번도 못했다. 장비만 사놓고 못 하고 있는데 장비가 아까우니 내년에는 다시 시도해 봐야겠다. 아직 글과 달리 방송은 어떻게 녹음해야 하는지 감을 못 잡은 상태라서 그 사이에도 몇 번 시도했지만, 매번 실패했다.

회사

요즘은 회고때마다 이직 얘기를 하게 되는 것 같은데 올해도 이직을 했다. 본격적으로 인프라 업무를 해야겠다고 생각하고 SRE로 넘어왔지만 여러 가지 사정으로 인프라 관련 업무는 거의 하지 못하고 있다.

10월부터는 중간관리자 역할을 맡게 되어서 시간은 더 없어졌고 인프라 업무는 더 못하게 되었다. 같이 하시는 분한테 다 맡겨놓고 지금은 서비스 쪽 일을 하고 있다. 일을 다 떠넘긴 격이라 죄송하지만, 내년에는 내가 좀 더 회복하고 시간활용도 더 잘해서 인프라 쪽 업무도 같이 협업할 수 있기는 바라고 있다. 이건 내 커리어 상으로도 필요한 일이다.

프로젝트 리드 비슷하게는 해본 적이 있어도 관리를 해본 적은 없어서 우당탕하면서 답 없는 고민을 많이 하고 있다. 여기에서도 내가 배우는 게 많이 있겠지만 이 일은 혼자 해보고 실패하는 것과 달리 이제는 내가 실수하면 팀이 고생을 하므로 부담이 크고 고민이 더 많아지는 상황이다. 사실 난 개발은 오픈소스 위주로 많이 배웠기 때문에 대부분의 일을 자발적으로 진행되게 만들려는 편인데 이런 방식이 잘 통하진 않는 것 같아서 어떻게 하는 게 좋을지 고민을 하고 있고 이제 분위기를 파악한 상황이라면 내년에는 더 본격적으로 관리를 배우게 될 것 같다.

오픈소스

GitHub 컨트리뷰션 그래프

올해 생산성 얘기를 한 대로 GitHub 컨트리뷰션 그래프도 처참하다.

회사 GitHub 컨트리뷰션 그래프

코딩이 주 업무는 아니다 보니 그렇다고 회사 쪽 GitHub의 컨트리뷰션 그래프가 잘 채워진 것도 아니다. ㅠ

개인 프로젝트도 거의 못 했고 요즘은 아이디어도 별로 없다. 너무 안 해서 다시 뭔가 만들어야겠다고 생각하고 있고 Tesla API를 가지고 좀 놀아야겠다고 생각하고 있다. mocha는 메인테이너에서 잘리지 않을 정도로만 겨우 유지하고 있는데 이것도 내년에는 다시 열심히 해야겠다.

블로그

월별 블로그 글 통계

블로그도 별로 쓰지 못했고 후반기에 올수록 글은 점점 적어졌다. 이글까지 해서 올해 52개의 글을 올렸으니 블로그를 시작한 이래로 가장 적은 수의 글이다. 기술뉴스 때문에 한 달에 2개의 글은 꼬박꼬박 올리고 있으니 글은 한 달에 2~3개밖에 안 쓴 셈이다.

매년 페이지뷰가 많은 글을 정리해 보지만 항상 거의 같은 글이다. 이젠 대부분 10년씩 된 글이라 이제는 너무 오래된 정보가 많이 조회됨에 부담감이 느껴진다.

  1. Javascript에서 String을 Number타입으로 바꾸기 - 2009/08/19, 79,994 PV
  2. 여러 행 SELECT해서 INSERT 하기 - 2009/01/06, 39,009 PV
  3. 제발 a href="#" 좀 쓰지 말자.... - 2008/10/22, 36,592 PV
  4. Ubuntu의 apt-get 명령어 정리 - 2009/06/23,
  5. GET과 POST의 차이 - 2009/03/31, 35,447 PV
  6. 알고 있어야 할 8가지 정규식 표현 from nettuts+ - 2009/08/14, 34,740 PV
  7. JSON Text를 JSON Object로 변환하기 - 2008/12/21, 33,250 PV
  8. PM2 - Node.js 프로세스 관리 도구 - 2016/02/23, 25,091 PV
  9. Vim 단축키 정리 - 2010/10/20, 21,188 PV
  10. 토스가 현대카드를 연동하는 방법에 동의하지 않습니다 - 2019/05/18, 20,650 PV

보통 그해에 쓴 글이 조회수 Top 10에 드는 경우가 거의 없는데 토스 관련 글은 비 개발 쪽에도 퍼지다 보니 많이 조회된 것을 보인다.

연간 페이지뷰 그래프

1년간의 페이지뷰를 봐도 토스 글이 올린 날이 다른 때와 달리 엄청 높은 페이지뷰를 기록한 것을 알 수 있다.

아래는 올해 올린 글 중에서 조회가 많이 된 글이다. 글을 많이 안 쓰다 보니 기술뉴스가 Top 10에 들어온 점이 눈에 띈다.

  1. 토스가 현대카드를 연동하는 방법에 동의하지 않습니다 - 2019/05/18, 20,650 PV
  2. Electron으로 데스크톱 앱을 개발한 경험 - 2019/01/27, 7,700 PV
  3. 정적 사이트 생성기 Gatsby - 2019/02/08, 6,001 PV
  4. Git 계정 여러 개 동시 사용하기 - 2019/06/08, 2,886 PV
  5. 잦은 이직 - 2019/05/31, 2,740 PV
  6. "HTTP/3 explained" 한국어 번역 - 2019/02/23, 2,616 PV
  7. [Book] HTTP 완벽 가이드: 웹은 어떻게 동작하는가 - 2019/02/28, 2,176 PV
  8. 후원 버튼을 달았습니다 - 2019/02/05, 1,595 PV
  9. 기술 뉴스 #127 : 19-06-01 - 2019/06/01, 1,505 PV
  10. 기술 뉴스 #118 : 19-01-15 - 2019/01/15, 1,494 PV

내년은 정신 차리고 다시 달릴 수 있는 한 해가 되길 기대해 본다.

새해 복 많이 받으세요.

2019/12/31 19:08 2019/12/31 19:08