Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

기술 뉴스 #83 : 17-08-01

웹개발 관련

  • ES8 was Released and here are its Main New Features : 지난달에 최종 표준이 발표된 ES2017에서 추가된 기능을 정리한 글이다. ES2017에 큰 변화는 없지만 새로 추가된 메서드나 기능들을 파악하기 좋은 글이다.(영어)
  • High Performance React: 3 New Tools to Speed Up Your Apps : React 앱에서 성능 최적화를 할 수 있는 도구를 소개하는 글이다. react_perf 쿼리스트링으로 개발자 도구의 성능 툴에서 React 컴포넌트의 라이프사이클을 볼 수 있고 why-did-you-update 라이브러리로 불필요하게 렌더링 되는 컴포넌트를 확인할 수 있고 React Developer Tools로 최적화는 방법을 설명하고 있다. 마지막에는 자신이 만든 상용도구에 대한 소개로 이어지지만 각 도구의 데이터를 읽는 법과 최적화 방법까지 나와 있어서 유용하다.(영어)
  • Reducing CSS bundle size 70% by cutting the class names and using scope isolation : Webpack과 babel-plugin-react-css-modules로 CSS 클래스를 a_a같은 식으로 줄여서 CSS 파일을 140KB에서 47KB까지 줄인 접근을 설명한 글이다. 보통 파일을 압축해서 제공하므로 결과적인 용량에서 아주 큰 이득은 없지만 파싱할 문서의 크기는 줄어드는 효과가 있다고 설명하고 있다.(영어)
  • SVG를 이용해 간단한 웹 게임 만들어보기 : SVG를 이용해 간단한 아케이드 게임을 만들면서 SVG를 선택한 이유와 성능 최적화를 한 과정까지 나와 있어서 웹에서 게임 등 동적인 요소를 만들 때 도움이 될 글이다.(한국어)

그 밖의 프로그래밍 관련

  • Unconventional way of learning a new programming language : 새로운 프로그래밍 언어를 배울 때 오픈소스에 기여하는 방식으로 하기를 추천하는 글이다. 실제로 글쓴이가 이 방식으로 프로그래밍 언어를 배우고 있으며 이 방식이 좋은 이유는 가이드라인을 지키면서 좋은 코드를 작성할 수 있고 해당 언어의 전문가한테 피드백을 받을 수 있는 점을 들었다. 해당 언어 저장소에서 beginnereasy-fix 라벨이 붙은 이슈를 처리하는 방식을 취하고 있다.(영어)
  • GET READY: A NEW V8 IS COMING, NODE.JS PERFORMANCE IS CHANGING. : V8에 Crankshaft에서 Turborfan으로 JIT 컴파일러를 바꾸면서 Node.js 코어 팀에서 성능 개선을 위해서 알려진 JavaScript 코드 패턴으로 벤치마크를 실행한 결과이다. Crankshaft를 쓰는 V8 5.1, Crankshaft와 Turborfan을 같이 쓰는 5.8, Turbfan을 쓰는 5.9, 6.0, 6.1에서 성능이 어떻게 달라지는지를 쉽게 알 수 있다. 기존 관행이 그대로 유지되는 때도 있고 기존에 성능 향상 팁으로 사용하던 코드들이 더는 무의미한 때도 있는데 Turbofan은 아직 적용 중이지만 전체적인 성능 향상의 방향을 이해할 수 있다.(영어)
  • Say hello to HTTP/2 for Node.js Core : Node.js에 http2 모듈을 추가하는 PR에 대해서 http2 모듈을 어떻게 사용하는지 설명한 글이다. 아직 PR이 머지되지 않았고 PR이 머지되더라도 실험적 단계이지만 이 기능이 추가되면 Node.js에서 쉽게 http2를 지원할 수 있다.(영어)
  • The OAI Announces the OpenAPI Specification 3.0.0 : OAI에서 OpenAPI 명세 3.0.0을 발표했다.(영어)

볼만한 링크

  • QA != 통합테스트 : 우아한 형제의 QA 팀에서 QA 팀의 업무를 단순히 테스트로 바라보는 오해를 풀기 위해서 쓴 글로 단순 테스트가 아니라 소프트웨어 및 그 개발 과정 전체에서 품질을 높이는 노력을 하고 있다고 설명하고 있다. 그동안 개발을 하면서 잘 갖춰진 QA 팀과 일해본 적이 많지 않기 때문에 QA 팀의 지원을 잘 받으면 소프트웨어 품질에 큰 도움이 되는 걸 알고 있지만, 막상 자주 겪지 못해서 나도 은연중에 테스트 업무로만 바라보고 있었던 것을 부정하기는 어렵다.(한국어)
  • 스타트업 CTO의 일 : 8퍼센트의 CTO이신 이호성님이 그동안 CTO 역할을 하면서 CTO가 해야 하는 일을 정리한 글이다. Technical Leader, Technical Businessman, Team Manager, Product Manager의 역할별로 해야 하는 일이 잘 정리되어 있다.(한국어)
  • 이직초보 어느 개발자의 이력서 만들기 : 우아한 형제에서 일하시는 구인본님이 이력서를 개선하는 과정을 설명한 글이다. 첫 페이지의 기술 요약 및 개인 정보부터 프로젝트 요약까지 더 보기 좋은 이력서를 만들기 위한 고민 과정과 의도가 잘 나와 있어서 똑같이 만들지 않더라도 개발자 이력서가 어떤 형태로 자신을 알려야 하는지 너무 잘 설명된 글이라고 생각한다.(한국어)
  • Move Fast and Don’t Break Things: Run Development From Slack : Rod Johnson이 만든 Atomist에서 Slack을 이용해서 서버를 관리하는 방법을 설명하고 있다. GitHub에서 커밋이 올라오면 Slack으로 알림을 받을 때 단순한 알림이 아니라 CI 결과, 핑거프린트를 만들어서 변경된 모듈, 관련 이슈 등을 함께 볼 수 있도록 알려주고 여기에 버튼을 추가해서 바로 서버에 배포하거나 정보를 볼 수 있도록 강화해서 쓰고 있다.(영어)
  • Technical Leadership: Getting Started : 기술 리더쉽에 대해 설명한 글로 본인이 이 부분을 중요하게 생각하지 않고 코딩에만 열중하다가 실패한 경험을 바탕으로 쓴 글이다. 관리와 리딩을 구분해서 리딩은 사람들에게 영감을 주는 것이라고 설명하고 먼저 자기 자신을 리딩하고 다른 사람과 조직을 리딩해야 하는데 이글에서는 자신을 리딩하는 방법을 설명하고 있다.(영어)

IT 업계 뉴스

프로젝트

  • GitPoint : React Native로 만든 GitHub iOS 앱. 안드로이드 버전은 준비 중이다.
  • gpu.js : WebGL을 이용해서 GPU로 JavaScript을 실행하는 라이브러리로 사이트에서 벤치마크를 실행해보면 CPU로 돌린것 보다 상당히 빠른 속도를 보여준다.
  • TTTFI : IFTTT의 미들웨어로 IFTTT의 웹훅을 받아서 스크립트를 실행하고 다시 IFTTT로 보내준다.
  • ūsus : prerender.io처럼 SPA 앱을 크롬 디버깅 프로토콜로 미리 정적 HTML로 만들어서 제공할 수 있는 프로젝트.
  • SoftU2F : GitHub에서 만든 오픈소스로 macOS에서 U2F(Universal 2nd Factor) 하드웨어 장비 대신 소프트웨어로 인증할 수 있는 소프트웨어다.
  • chromeless : Chrome의 headless 모드를 이용해서 웹브라우저 자동화를 할 수 있게 구현한 프로젝트로 로컬 외에도 AWS Lambda에 올려서 사용할 수 있다.

버전 업데이트

2017/08/01 09:56 2017/08/01 09:56