Outsider's Dev Story

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

기술 뉴스 #142 : 20-01-15

웹개발 관련

  • Building an offline first web app with RxDB & Hasura : PouchDB를 사용하는 RxDB로 클라이언트에 데이터를 저장하고 Postgres 데이터베이스에 연결된 Hasura를 이용한 GraphQL로 서버와 동기화해서 React로 만든 todo 앱을 오프라인 퍼스트 웹앱으로 구성하는 방법을 설명하는 글이다. 단계별로 어떻게 구성하는지를 예시 코드와 함께 제공하고 있다.(영어)
  • HTML attributes to improve your users' two factor authentication experience : HTML <input> 요소로 2단계 인증의 사용자 경험을 높이는 방법을 설명한다. inputmodepattern으로 숫자 키보드로 바로 입력하게 하고 autocomplete="one-time-code" 속성으로 iOS 기기에서 SMS로 받은 코드를 자동입력할 수 있게 하는 팁 등이 나와 있다.(영어)
  • How CORS (Cross-Origin Resource Sharing) Works? : 웹 프론트엔드에서 다른 도메인에 API 요청하려면 필수적인 CORS의 동작을 설명하고 있다. 간단한 글이지만 CORS이 왜 필요하고 어떤 식으로 동작하는지 나와 있다.(영어)

그 밖의 개발 관련

  • 파이썬(Python) 2.7 공식 지원 종료 : 프로그래밍 언어 파이썬 2.7이 올해 릴리스를 마지막으로 지원 종료가 되고 3 버전만 유지하게 되는데 2 버전의 역사와 종료 과정을 정리한 글이다.(한국어)
  • 프로그래밍 언어 루비 2.7 릴리스 및 주요 변경 사항 : 지난 크리스마스에 릴리스 된 Ruby 2.7 버전에서 달라진 점을 정리한 글이다.(한국어)
  • 알아두면 유익한 2019 개발이야기 : subicura님이 작년에 개발하면서 회사에서 사용한 기술 스택을 정리하고 각 기술에서 느낀 점을 정리한 글이다. TypeScript, Styled Component, Next.js, Headless CMS, GraphQL, Hasura, Apollo, Terraform까지 요즘 관심 가질 만한 수많은 기술을 subicura님이 깔끔하게 정리해 주셔서 각 기술의 특징을 쉽게 파악할 수 있다.(한국어)
  • 공식문서 만으로 iOS 개발 배우기 : iOS 개발할 때 인터넷의 많은 강좌나 글 대신 Apple에서 제공하는 공식 문서화 튜토리얼로 배우기 위해 Swift, XCode, Navigation 참고해야 할 공식 문서를 추천하고 어떤 내용과 순서로 배우면 되는지 알려주는 글이다. 자료가 넘쳐나는 시대라서 글 마지막에 나오듯이 "특히 초심자일수록, 가급적 그런 자료들은 공식문서를 이해하는 보조자료로 사용하시라고 말씀드리고 싶어요."라는 말에 동의한다.(한국어)
  • Monitoring Node.js: Watch Your Event Loop Lag! : Node.js 애플리케이션의 성능을 개선하기 위해서 이벤트 루프 동작 방식에서 이벤트를 스케쥴링하고 실행할 때까지의 시간을 계산하는 event loop lag을 어떻게 탐지하는지를 설명하고 있다. 비동기로 실행되지만 논 블록킹 코드는 아니라서 메인 스레드의 event loop lag에 영향을 주는 bcryptjs 예시로 lag이 어떻게 달라지는지 보여주고 네이티브 애드온으로 개발된 bcrypt에서 lag을 개선하는 과정을 보여주고 있다.(영어)

인프라 관련

  • 도커 컨테이너는 가상머신인가요? 프로세스인가요? : Docker 컨테이너가 가상머신인지 프로세스인지를 설명하기 위해서 PID를 추적해 보면서 동작 방식을 설명하는 글이다. 이 글을 통해서 Docker가 PID를 어떻게 사용하고 있고 이는 호스트 머신에서는 어떤 게 구분되어 있는지 프로세스임에도 왜 가상머신처럼 보이는지도 이해할 수 있다.(한국어)
  • Deploy your side-projects at scale for basically nothing - Google Cloud Run : 개인 사이드 프로젝트를 운영하기 위해 DigitalOcean, GKE 등을 썼지만 만족 못 하다가 완전히 관리되고 싸고 확장성 있으면서 언어도 원하는 대로 사용할 수 있는 솔루션을 찾다가 이를 모두 만족하는 Google Cloud Run을 쓰기로 했다고 하면서 간단한 Node.js를 배포하는 방법을 설명한다.(영어)
  • 아마존 ECR, 도커 이미지 취약점 스캔 기능 추가 : AWS의 도커 이미지 레지스트리인 ECR에 새로 추가된 취약점 스캔 기능의 사용법을 설명하고 있다. CoreOS Clair의 CVE 데이터베이스로 검사해서 도커 이미지에 취약점이 있는지 알려주고 이미지당 하루에 1번 실행이 가능하다고 한다.(한국어)

볼만한 링크

  • 위대한 제품의 특성 : 제품 담당자를 면접할 때 자주 믿는 질문인데 그 질문에 대한 답을 직접 정리한 글이다. 위대한 제품은 기본 기능이 제대로 동작해야 하고 성능이 사용자의 기대치를 뛰어넘고 기대하지 않았던 부분까지 배려하여 사용자들이 다른 사람들에게 제품에 대해 자발적으로 말하게 하면서 사용자의 행동/태도를 바꾼다고 정리하고 있다.(한국어)

IT 업계 뉴스

프로젝트

  • QA Wolf : Puppeteer와 Jest로 브라우저 테스트 환경을 쉽게 구성할 수 있는 프로젝트.
  • Snowpack : 별도의 번들러 없이 웹앱을 빌드하게 해주는 도구. IE11은 지원하지 않는다.
  • BLAKE3 : 안전하고 빠른 암호화 해시 함수.
  • Plash : 웹사이트를 macOS의 바탕화면으로 만드는 macOS 앱.

버전 업데이트

2020/01/15 03:43 2020/01/15 03:43