Outsider's Dev Story

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

기술 뉴스 #69 : 17-01-01

웹개발 관련

  • Enterprise-grade Node.js Promises with Async and Bluebird : Promise에서 then 체인을 연결할 때 함수를 분리해서 읽기 좋고 유지보수가 쉽게 만들고 Promise를 상태머신으로 보고 this를 바인딩해서 컨텍스트를 유지해서 사용하기를 권장하고 있다. 후자는 내 취향은 아니긴 한데 실제로 이런 방식의 Promise가 유지 보수하기 쉬울지 궁금하기는 하다.(영어)
  • 웹 레이아웃 : CSS로 웹에서 레이아웃을 잡을 때 사용 가능한 방법을 차례대로 정리한 글이다. Box와 Block/Inline, Float, Flexbox, Position까지 한번에 정리되어 있다. CSS를 찬찬히 학습하지 않으면 레이아웃이 깨질 때마다 임기응변으로 대응하기가 쉬운데 각 레이아웃을 잡는 방법의 원리와 특징이 비교하기 쉽게 나와 있어서 한번 찬찬히 보고 개념을 잡기 좋다.(한국어)
  • Vue.js 한국어 페이지 : vuejs-kr에서 Vue.js의 사이드 및 문서가 모두 번역되어 vue.js에 관심 있는 사람들이 공부하기 쉽게 되었다. vue.js외에도 Vuex, vue-router 2, vue-loader의 문서도 모두 번역되어있다. 번역하신 분들은 Gitter에서 논의하고 있으므로 Vue에 관심 있는 사람들은 여기서 같이 논의해도 좋을 것 같다.(한국어)
  • webpack & HTTP/2 : HTTP/2에서는 멀티플렉싱을 제공하므로 여러 요청을 하나의 커넥션에서 처리해 줄 수 있어서 웹팩 등으로 파일을 하나로 합치지 않아도 될 것 같지만 실제로 현실에서는 좋은 성능을 얻기가 어렵다. 이글에서는 AggressiveSplittingPlugin으로 정적파일로 가장 성능 좋은 청크로 나누어서 번들링하는 방법에 관해서 설명하고 있다. AggressiveSplittingPlugin은 아직 실험 상태이다.(영어)
  • Webassembly initial steps tutorial or how to start with wasm : 웹어셈블리를 사용하기 위한 환경을 설정해서 간단한 헬로월드 C 코드를 브라우저에서 웹어셈블리로 돌려보게 하는 튜토리얼이다.(영어)

그 밖의 프로그래밍 관련

  • ECS & Vault: Shhhhh… I have a secret... : 킥스타터가 Docker와 AWS ECS를 사용하고 있는데 비밀 정보를 관리하기 위해서 Hashicorp의 Vault를 도입한 과정을 설명하고 있다. Lambda로 배포에 쓸 Role을 만들어서 인증정보를 S3에 저장하고 ECS에서 배포 시에 이 인증정보로 Vault에서 비밀 정보를 가져와서 Docker로 배포하고 있다.(영어)
  • 2012년에 비트윈 서버를 마비시켰던 윤초 이야기 : 이번 2016년에 윤초가 추가되어 1초가 달라지는데 2012년에 추가될 때 윤초로 인해서 겪은 장애와 윤초의 장애를 해결하기 위해서 사용 가능한 방법이 잘 설명되어 있다. 윤초 얘기를 봤을 때 상황은 알겠는데 어떤 대응을 해야 하려나 생각했는데 이글에 확인해야 할 사항이 잘 나와 있고 곧 윤초가 적용되므로 시기적절한 글이다.(한국어)
  • GitHub 치트 시트 : GitHub가 제공하는 기능을 정리한 문서의 한글 번역본이다. 거의 모든 편의 기능이 다 있는 듯이 방대한 문서이고 자주 사용하는 기능을 더 편하게 사용할 수 있는 다양한 팁이 담겨있다.(한국어)

볼만한 링크

  • 왜 내 게임은 완성되지 않을까 : 게임 개발을 할 때 게임을 완성하고 출시를 하기 위해서는 어떻게 해야 하는 가에 대한 발표자료다. 게임을 개발하면서 겪을 수 있는 어려움과 목표 등이 잘 정리되어 있고 발표자료가 말하듯이 만들어져서 보기 쉽다.(한국어)
  • Automattic의 채용 과정 : 김태곤 님이 WordPress를 만드는 Automattic에 입사하게 된 과정을 설명한 글이다. Automattic은 원격으로만 일하는 흥미로운 회사인데 면접 과정부터 자세하게 나와 있어서 해외 회사에 관심 있는 사람에게 아주 유용하다.(한국어)

프로젝트

  • Blue Ocean : Jenkins의 UI를 새로 디자인한 프로젝트로 디자인이 정말 이쁘게 잘 나왔다.
  • SoundVisualizer : WebAudio API를 사용해 음악을 Canvas api로 시각화한 프로젝트.
  • The (Unofficial) CanIUse Embed : 새로운 기능의 브라우저 지원 상황을 보여주는 CanIUse의 특정 부분을 다른 사이트에서 임베딩할 수 있게 하는 프로젝트.

버전 업데이트

2017/01/01 20:59 2017/01/01 20:59

2016년 회고

어느 새 또 한해가 끝이 났다. 작년 회고를 쓴지도 얼마 안 된 것 같은데....

이직

올 한 해에서 나에게 가장 큰 변화를 SmartStudy로 이직한 것이다. 이직을 하다 보니 마음의 여유도 적어지고 이직 후에도 새로운 환경과 팀에 적응해야 하다 보니 다른 활동은 많이 하지 못했다. 이직한 이후에 주로 하지 않았던 DevOps 쪽도 하면서 AWS나 인프라 자동화에 대해서 많이 배우고 이것저것 생각을 하고 있다. 평소에 상상만 하던 원격근무도 하고 새로운 일도 하면서 아주 만족하면서 다니고 있고 좀 적응해서 정신 차린 뒤에는 외부활동 등도 다시 열심히 하려고 하고 있다. 원격근무는 원래 내가 꿈꾸는 근무 형태였는데 삶의 질이 높아졌다는 느낌이 들 정도로 만족하면서도 자기관리나 협업이라는 측면에서 생각과는 다른 부분도 있고 그렇다. 할 일은 엄청 많지만, 현재 팀도 아주 만족하고 있고 기술적이나 문화적으로 해보고 싶은 것도 많아서 아마 내년에는 이런 부분을 다양하게 시도해보는 한 해가 될 것 같다.(난 내가 시니어 개발자라는 자각을 좀 더 해야 할 것 같기도...)

코딩

이직이라는 큰일도 있고 언젠가부터 시간 관리도 전처럼 안되고 해서 올해는 코딩을 많이 못 했다.(오버워치를 사서 그런가...) 그동안은 틈틈이 글도 쓰면서 사이드프로젝트도 어느 정도 해 나갔는데 올해는 뭔가 시간을 계속 부족한 느낌이었고 딴짓하는 게 더 재밌기도 하고 그랬다. 재작년보다야 컨트리뷰션 그래프가 많이 찼지만, 작년보다는 많이 줄어들었다.

GitHub 컨트리뷰션 그래프

작년에는 일일 커밋을 하느라고 꽉꽉 찬 느낌이 있고 지금은 일일 커밋을 하지 않으므로 그래프를 채우는 게 목적은 아니긴 하지만 올해는 제대로 한 사이드 프로젝트도 없고 제대로 기여한 오픈소스도 별로 없었다. 그나마 nodejs-ko는 어느 정도 꾸준히 하기는 했지만 여긴 번역 프로젝트이므로 업무 말고 코딩은 제대로 하지 못했다. 올해 개발 커리어같은 부분도 많은 생각을 했는데 Node.js는 이제 내 메인 기술이 되었으므로 이쪽은 더 깊게 공부해서 핵심축으로 두고 다른 오픈소스와 언어 등에 참여를 하는 쪽으로 방향을 잡았다. Node.js 프로젝트도 번역 말고 더 참여하려고 하지만 12월은 결국 못하고 보냈다.

지금 느낌은 어영부영 시간을 꽤 보냈으면서 쉬었더니 다시 좀 의욕이 생기고 있어서 내년에는 사이드 프로젝트 및 오픈소스 기여를 좀 더 가열차게 해보려고 한다. 사이드 프로젝트는 아마 DevOps 쪽 내가 필요한 거나 개인적으로 만들고 싶은 웹 쪽 프로젝트가 되지 않을까 싶다.

공부

신입때부터 새로운 기술이나 개발 관련 학습을 꾸준히 해왔다고 생각한 편인데 최근 1,2년에는 이런 학습이 확 줄어든 느낌이다. 연차가 올라서 그런건가 싶기도 하지만 더 많은 기술이 나옴에도 기술 설명을 보고 필터링 하는 경우도 많아졌고 전처럼 새로운것을 빨리 학습하기도 어려워진 느낌이다. 작년에도 비슷한 내용을 썼는데 2년 연속이다. ㅠ 요즘은 DevOps 관련 학습을 좀 하고 있기도 하고 몇년동안 하지 않던 그룹 스터디도 다시하기 시작했다.

올해 후반은 Python을 가열차기 공부하면서 보낼 것 같았지만 실제로는 Node.js를 계속하고있고 DevOps쪽을 더 많이 보고 있다. 그래도 현재 회사에서 많은 부분이 Python으로 되어 있어서 계획을 잡아서 해야할 것 같다. 올해도 시작은 했었지만 당장 급하지 않으니까 미루다가 점점 흐지부지 되었다. ㅠ

내년엔 공부를 좀 더 하려고 egghead도 결제했는데 10일정도가 지난 지금까지 한편도 못봤다. React랑 Webpack 등도 좀 봐야하는데... 공부겸 하려는 사이트 프로젝트 아이디어는 많지만 앞에서 말한대로 관리가 잘 안되서 시작도 제대로 못했다. 올해는 책을 7권밖에 못봤는데 그 중에서도 기술 서적은 2권밖에 없다. 뭔가 계속 하는 듯한 느낌이지만 차근차근 배우지는 못한 느낌이다.

블로그

2016년 월별 포스트 수

올해는 글을 78개(이글을 포함하면 79개)를 작성했다. 작년에 70개를 작성했으니 약간 늘어나긴 했지만, 목표했던 100개 이상에는 많이 미치지 못했다. 이미 쓰려고 한 글 주제는 많아서 내년에는 목표를 이루기를 기대해 본다. 한 달에 10개 정도 써서 1년에 100~120개 정도를 쓰는 게 목표이다.

  1. Javascript에서 String을 Number타입으로 바꾸기 - 2009/08/19, 46,930 PV
  2. Ubuntu의 apt-get 명령어 정리 - 2009/06/23 , 31,565 PV
  3. JSON Text를 JSON Object로 변환하기 - 2008/12/21, 28,512 PV
  4. 알고 있어야 할 8가지 정규식 표현 from nettuts+ - 2009/08/14, 24,671 PV
  5. GET과 POST의 차이 - 2009/03/31, 23,560 PV
  6. Git 명령어 정리 - 2010/12/28, 20,901 PV
  7. Angular.js는 왜 좋은가? - 2013/08/27, 16,130 PV
  8. [Spring 레퍼런스] 26장 태스크(Task) 실행과 스케줄링 - 2014/06/30, 15,637 PV
  9. Github를 이용하는 전체 흐름 이해하기 #1 - 2012/11/25, 14,244 PV
  10. 여러 행 SELECT해서 INSERT 하기 - 2009/01/06, 14,143 PV

GA 기준으로 올해 사람들이 가장 많이 본 글이다. 보면 알겠지만 최근 2년 이내에 쓴 글은 하나도 없고 작년에 많이 본 글과도 거의 차이가 없다. 블로그를 오래 하다 보니 점점 글이 어려워지고 보편적인 내용보다는 약간 어렵거나 고급이라고 느끼는 글을 더 많이 쓰게 되지 않나 하는 생각이 든다. 예전에는 정말 modal 하나 띄우는 것 같은 것도 다 글로 쓰고 했지만, 이제는 너무 간단한 거나 이런 거는 잘 안 쓰고는 하니까... 이 부분에 대해서는 좀 생각해 둔 부분이 있어서 내년에는 좀 시도해 보려고 한다. 올해 여름 정도에 블로그에 Googld Adsense를 달았는데 다행이고 서버 운영비는 충분히 나오고 있어서 진작 달 걸 하는 생각을 하고 있다. 너무 광고에 민감해져서 낚시성 글을 쓰게 되진 않을까 하는 걱정도 했는데 광고수익을 약간 신경 쓰긴 하지만 블로그를 오래 해서인지 광고 때문에 쓰는 글이나 내용이 휘둘리지 않아서 안심하고 광고수익을 벌고 있다. ㅎㅎ

  1. AWS Lambda를 이용해서 HTTP API 만들기 #1 - 6,121 PV
  2. 4번째 이직 - 5,911 PV
  3. 이력서 - 3,715 PV
  4. PM2 - Node.js 프로세스 관리 도구 - 3,307 PV
  5. AWS Lambda를 이용해서 HTTP API 만들기 #2 - 3,182 PV
  6. Pull Request를 이용한 개발 흐름을 적용해 보고 나서... - 2,568 PV
  7. KSUG 세미나에서 발표한 "더 나은 개발자 되기" - 2,537 PV
  8. 오픈소스 모니터링 시스템 Prometheus #1 - 1,695 PV
  9. git add -p 와 git commit -v 의 사용 - 1,694 PV
  10. 크로스 브라우저 테스트에 편리한 Browsersync - 1,573 PV

올해 쓴 글에서 사람들이 가장 많이 본 글 10개다. 그래도 올해는 100위 안에 드는 올해 글이 5개나 있다. PV가 높지는 않지만.. ㅎ PV는 작년과 거의 같은 수준이다.

2016/12/31 21:55 2016/12/31 21:55