Outsider's Dev Story

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

기술 뉴스 #147 : 20-04-01

웹개발 관련

  • Build a Node.js Tool to Record and Compare Google Lighthouse Reports : chromelauncher와 lighthouse Node.js 모듈을 사용해서 웹사이트의 성능, 접근성, SEO를 평가해주는 Lighthouse의 리포트를 저장하고 이를 비교할 수 있게 자동화하는 방법을 설명하는 글이다.(영어)
  • Learn D3 : D3를 만든 Mike Bostock가 Observable 노트북에서 만든 D3 가이드 문서로 총 9편의 시리즈로 구성되어 있다. Hacker News에 Mike가 남긴 댓글을 보면 대부분의 가이드가 DOM 조작을 위한 selection으로 시작하는데 현대에서는 DOM을 잘 조작하지 않음므로 D3의 모듈성을 강조하고 싶었다고 한다.(영어)
  • Run Cypress Tests on Netlify Using a Single Line : 웹사이트 배포 서비스인 Netlify에서 플러그인 기능을 베타로 내놓아서 Cypress 플러그인을 연결해서 사이트를 빌드하면 Cypress 테스트를 돌리고 레코딩하는 방법을 설명한다. 해당 플러그인을 오픈소스로 공개해놓았기 때문에 플러그인을 제작할 때 참고하기도 좋다.(영어)
  • React Production Performance Monitoring : React의 Profiler API를 이용해서 프로덕션 사이트에서 React의 성능을 측정해서 매트릭을 Grafana 등 백엔드로 전송하는 방법을 소개하고 있다.(영어)

그 밖의 개발 관련

  • Rewriting the heart of our sync engine : Dropbox가 초기부터 만들어서 유지했던 동기화 알고리즘을 Python에서 Rust로 재작성했다. 초기에 작성되어서 디버깅이 어렵고 테스트하기도 어려웠기에 완전히 재작성하기로 결정했고 재작성을 위해 점진적 개선을 충분히 했는지, 기존 시스템의 이해도와 작업 시간 등 재작성이 가능한지, 어떻게 개선하고 있는지 제대로 알고 있는지 등을 체크리스트로 만들어서 4년간 작업해서 동기화 엔진을 재작성했다.(영어)
  • Setting Up Git Identities : 한 머신에서 여러 git 계정을 사용할 때 user.useConfigOnly 설정을 이용해서 global에 사용자 정보가 없으면 호스트네임을 사용하는 대신 오류를 던지게 설정하고 user.identity3.name 같은 식으로 여러 사용자 정보를 등록하고 identity라는 명령어로 쉽게 계정을 바꿔가면서 사용하는 방법이 나와 있다.(영어)
  • GitHub for mobile is now available : GitHub의 iOS/Android 앱이 정식으로 릴리스되었다.(영어)
  • A visual debugger for Jupyter : 사용자들이 오랫동안 요구하던 디버거가 추가되어서 Jupyter 코드에서 breakpoint를 걸어서 변수, 콜 스택 등을 볼 수 있다.(영어)

인프라 관련

  • 도커(Docker) 입문편 : Docker 설치부터 이미지를 만들어서 사용하는 방법까지 Docker가 어떻게 동작하는지 설명해서 쉽게 이해할 수 있게 알려주는 글이다. Docker Hub를 이용해서 마지막에 서버에 배포해서 사용하는 방법까지 나와 있다.(한국어)

볼만한 링크

  • JIRA를 하자! - 쿠키런 : 오븐브레이크의 JIRA 도입기 : 데브시스터즈의 QA 팀에서 여러 이슈 관리 프로그램을 사용하다가 Jira로 결정하고 회사에 도입한 과정을 정리한 글이다. 워크플로우, 보드 등 사전 준비를 통해서 사용하기 편한 설정을 준비하고 타팀의 피드백을 받으면서 변경한 내용이 나와 있다.(한국어)

IT 업계 뉴스

프로젝트

  • Diagrams : Python 코드로 클라우스 아키텍처를 그릴 수 있는 프로젝트.
  • Backstage : Spotify가 만든 오픈소스 개발자 포탈.
  • gqless : 직접 쿼리를 작성하지 않고 GraphQL 클라이언트를 작성할 수 있는 라이브러리.
  • Nano ID : URL에서 사용할 수 있는 ID 생성 JavaScript 모듈.

버전 업데이트

2020/04/01 03:50 2020/04/01 03:50