Outsider's Dev Story

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

기술 뉴스 #126 : 19-05-15

웹개발 관련

  • HTTP headers for the responsible developer : 제목은 HTTP 헤더라고 되어 있지만, 웹페이지를 더 안전하고 빠르게 하려고 다양한 HTTP 헤더와 HTML 태그를 설명하고 있다. HTTPS로 페이지를 안전하게 관리하는 방법부터 CSP와 인코딩 방법 등 필요한 이유와 사용방법을 설명하는데 콘퍼런스에서 발표한 내용을 글로 정리한 것이다. 이런 쪽에 관심 있다면 알만한 부분이긴 하지만 내용이 잘 정리되어 있고 이미지 사이즈를 제어하는 Accept-CHFeature-Policy는 잘 몰랐던 부분이라 다음에 사이트를 만들 때 자세히 봐야겠다 싶다.(영어)
  • Google I/O 2019: Day 1 후기 : 이번에 열린 구글 I/O에 참석한 후기인데 웹 관련 기술을 위주로 이번 I/O에서 어떤 발표를 했는지 살펴볼 수 있다. 특히, Duplex on the Web, <img loading="lazy" />이나 WebAuthn등이 흥미로웠다. Day 2 후기 참고.(한국어)
  • 마이리얼트립 웹사이트 성능 측정 및 최적화 Part 1. 리소스 로딩 : 마이리얼트립의 웹사이트의 사용자가 여행지 등 네트워크가 좋지 않은 곳에서 이용하는 경우가 많으므로 초기 웹사이트의 로딩 속도를 높이기 위해 최적화한 과정을 정리한 글이다. webpack-bundle-analyzer로 자바스크립트 파일을 분석해서 불필요한 용량을 제거하고 Code splitting을 적용하고 외부 라이브러리 사용을 최적화하고 이미지 스프라이트를 적용해서 로딩 사이즈를 많이 줄이고 메인 페이지의 구성상 초기에 불러오지 않아도 되는 이미지와 내용을 지연 로딩을 통해서 속도를 개선한 내용이 나와 있다.(한국어)
  • The new evergreen Googlebot : 이제 웹사이트를 크롤링하는 구글봇이 최신 크로니움 렌더링 엔진으로 동작(현시점에서는 74 버전)으로 동작한다고 한다. 이로써 구글봇이 ES6 등 최신 JS 기능을 지원하고 Lazy Loading이나 웹 컴포넌트 등을 지원한다고 한다.(영어)

그 밖의 프로그래밍 관련

  • Introducing GitHub Package Registry : GitHub에서 저장소에 바로 연결해서 운영할 수 있는 패키지 저장소를 공개했다. 이곳에 배포된 패키지는 GitHub의 CDN으로 배포되고 npm, Maven, RubyGems, NuGet를 지원한다. 현재는 아직 클로즈 베타 상태이다.(영어)
  • git rebase in depth : git rebase는 Git에서 배우기 어려워하는 기능 중 하나이지만 배워두면 강력한 기능이기도 하다. Reabse를 이용해서 커밋을 합치고 순서를 조정하고 다시 쪼개는 방법을 설명하는 문서인데 따라해 볼 수 있도록 설명하고 있어서 이해하기가 좋다.(영어)
  • (번역) WSL 2를 공개하며 : 이번 Build 2019에서 Microsoft가 공개한 WSL 2(Windows Subsystem for Linux)을 공개하는 글을 번역한 글이다. WSL 2에서는 Linux 커널이 완전히 내장되었고 이번 버전에서는 4.19 버전의 커널을 포함 시킬 예정이라고 한다. 커널을 내장함으로써 WSL 1보다 훨씬 빠르게 실행할 수 있고 업데이트도 빨리 적용할 수 있게 되었다.(한국어)
  • 타다 클라이언트 개발기 : 언젠가부터 믿고 읽게 되는 타다의 글이다. 3달 반 정도의 기간 안에 타다 앱을 만들어서 배포한 과정을 설명하고 있다. 기간이 짧았기 때문에 필요한 스펙을 제한해서 정하고 RIBs라는 iOS, Android에서 같이 사용할 수 있는 오픈소스 아키텍처를 사용하고 Protocol Buffer로 서버와 데이터를 주고받았다고 한다. 각 영역에서 어떤 기술을 선택해서 사용했는지 설명하면서 성공적으로 출시한 이후의 회고까지 잘 나와 있다.(한국어)
  • 딥러닝 추천 시스템 in production : 당근마켓에서 사용자가 보는 피드에 개인화 추천을 하기 위해 추천 시스템 개발에 대한 접근은 딥러닝 개인화 추천에서 설명하고 이 글에서는 Kubeflow Pipelines를 사용해서 어떻게 서비스에 적용했는지를 설명하고 있다. 유튜브와 핀터레스트에서 공개한 내용을 통해 2단계 학습을 적용하는 시스템을 실제 당근마켓 서비스에 맞게 적용한 과정이 자세히 나와 있다. 딥러닝은 거의 모르기는 하는데 실제 서비스의 적용하는 과정이라서 재미있게 읽었다.(한국어)
  • 구글, 도커 컨테이너 기반 서버리스 서비스인 클라우드 런 발표 : 이번에 발표된 GCP의 클라우드 런을 설명하는 글이다. 클라우드 런은 서버리스로 Docker 컨테이너를 바로 운영할 수 있는 서비스로 마치 AWS의 Lambda와 Fargate의 장점을 섞어놓은 듯한 서비스인데 간단한 글이지만 이 글을 통해 클라우드 런의 특징을 이해할 수 있다.(한국어)
  • Linkerd or Istio? : 서비스 메시 프로젝트인 Istio와 Linkerd의 기능을 비교하는 글이다. 트래픽 관리, 보안, 설치, 지원 환경, 관측성, 정책 관리, 성능으로 나누어서 특징을 설명하고 영역마다 기능을 표로 만들어서 비교해 줘서 차이점을 쉽게 파악할 수 있다.(영어)

볼만한 링크

  • 뛰어난 개발자는 뽑히는 게 아니라 길러집니다. : 뛰어난 개발자가 시장에 실제로 많지 않기 때문에 뛰어난 개발자를 찾는 채용 과정에 더 노력하기보다는 채용과정을 완화하고 개발자를 뛰어난 개발자로 만드는 멘토링 과정에 신경 써야 한다는 내용의 글이다. 멘토링이 중요하다는 점에서는 동의하긴 하지만 어떻게 해야 하는지는 아직 잘 모르겠긴 하다.(한국어)
  • 밀레니얼즈가 사랑하는 Lemonade는 어떻게 보험산업을 파괴하고 있는가? : 밀레니얼즈를 타겟으로 보험료가 싸면서도 보험금을 청구하면 봇이 알고리즘으로 검사해서 빠르게 보험금을 지급하는 Lemonade라는 회사를 소개하는 글이다. Lemonade의 구조까지 자세히 나와 있는 것은 아니지만, 몰랐던 스타트업이 전통적인 보험산업을 도전하고 있다는 점에서 관심이 가는 접근이었다. 이미 Lemonade는 꽤 많은 투자를 받았고 보험 경험이 없어서 손실률이 높았지만, 점점 낮추고 있다고 한다.(한국어)
  • JMAP: A modern, open email protocol : IETF에서 오래되고 사용하기 어려운 IMAP같은 이메일 프로토콜을 개선하기 위해서 사용하기 쉬운 JAMP 이메일 프로토콜을 만들어서 공개했다. 차후에는 같은 프로토콜로 연락처와 일정도 동기화할 수 있다고 한다.(영어)
  • 4년을 기다린 인프런 서비스 리뉴얼 오픈 : 동영상 강의 플랫폼인 인프런이 초기 워드프레스로 구축한 서비스를 4년 만에 리뉴얼 하게 된 과정을 설명하는 글이다. 기술 스택에 관한 얘기가 있지만 상세한 아키텍처에 대한 이야기라기 보다는 1명인 회사에서 투자받고 9명이 되기까지 리뉴얼을 하려고 했던 큰 노력과 마침내 오픈한 리뉴얼 프로젝트의 과정 및 후기에서 그동안의 고생이 느껴진다.(한국어)
  • 안드로이드 Q의 새로운 기능을 소개합니다 : 안드로이드의 10번째 버전 안드로이드 Q의 베타 버전이 공개되었다. 5G를 지원하는 최초 OS로 온디바이스 머신러닝 기능 등이 추가되었다.(한국어)

IT 업계 뉴스

  • 우버, 뉴욕증권거래소 상장 첫날 7.6% 주가 하락 : Uber가 주당 45달러로 Facebook 이후 최대 규모로 상장했지만 7.5% 떨어진 41.57로 거래를 마쳤다. 영어지만 The Verge의 UBER GOES PUBLIC: EVERYTHING YOU NEED TO KNOW ABOUT THE BIGGEST TECH IPO IN YEARS를 읽어보면 이번 IPO 가격 책정의 배경이나 전망 등을 좀 더 살펴볼 수 있다.(한국어)
  • Git ransom campaign incident report—Atlassian Bitbucket, GitHub, GitLab : 지난 5월 2일 Bitbucket, GitHub, GitLab 모두에서 일부 사용자의 저장소(공개 비공개 모두)가 삭제되는 랜섬웨어 공격이 발생하고 이를 해제하려면 0.1 비트코인을 보내라는 메시지가 남겨졌다. 세 곳이 모두 발생해서 세 회사가 협업해서 이 문제를 조사했고 해당 공격은 모두 유효한 패스워드, 키, 토큰으로 이루어졌고 공격자의 IP와 같은 곳에서 이러한 정보의 덤프 파일이 올려져 있는 것을 발견했다고 한다. 현재 공격당한 사용자의 저장소는 모두 복구되었고 공개되어 있던 키 등도 모두 리보크했다고 한다.(영어)

프로젝트

  • go-perfbook : 고성능 Go 코드 작성에 관한 베스트 프렉티스를 모아놓은 문서.
  • This person does not exist : 페이지를 새로 고침할 때마다 AI가 만든 존재하지 않는 사람들의 얼굴 사진을 만들어 주는 사이트.
  • React Native for Windows : Windows 앱 용 React Native.
  • NetData : 실시간 성능 모니터링 도구.
  • WebAssembly Micro Runtime : 인텔에서 만든 스탠드얼론 WebAssembly 런타임.
  • Simplify : Gmail의 UI를 간단하게 만들어 주는 브라우저 확장.
  • DeepScan : JavaScript 코드 정적 분석 서비스로 오픈소스에서는 무료로 이용할 수 있다.
  • Full Metal Jacket : 1995년 미리내 소프트에서 만든 풀 메탈 자켓의 소스가 공개되었다.

버전 업데이트

2019/05/15 16:14 2019/05/15 16:14