Outsider's Dev Story

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

기술 뉴스 #144 : 20-02-15

웹개발 관련

  • Understanding the ECMAScript spec, part 1 : ECMAScript 명세를 이해하는 방법을 설명하는 글이다. 명세를 읽을 때 나오는 [[]], ? 같은 기호의 의미와 abstract operation 같은 용어가 무슨 의미인지를 hasOwnProperty의 명세를 보면서 설명하고 있다. ECMAScript를 읽어볼 일이 있다면 참고하기 좋은 내용이다.(영어)
  • SameSite Cookie Changes in February 2020: What You Need to Know : Chrome 80부터 SameSite를 설정하지 않은 쿠키는 모두 SameSite=Lax가 기본값이 된다. Lax로 설정하면 쿠키를 처음 설정된 도메인과 안전한 요청에서만 쿠키를 사용할 수 있게 된다.(영어)

그 밖의 개발 관련

  • Why Discord is switching from Go to Rust : Discord에서 사용자가 읽은 메시지 상태를 관리하는 Read States 서비스에서 2분마다 스파이크가 생기는 문제를 추적해서 Go의 가비지 컬렉션 때문임을 알게 되고 이 부분을 해결하려는 도중 사내에서 Rust를 많이 도입하기 시작했고 가비지 컬렉션이 없는 Rust로 Read States 서비스를 재작성했다. 그 결과 스파이크는 줄어들고 자원은 더 적게 사용할 수 있게 되었다.(영어)
  • 안심번호 마이크로서비스 개발하기 : 당근마켓에서 광고주의 실제 전화번호를 숨겨주는 안심번호를 구현한 이야기다. 안심번호 자체가 중요한 것은 아니고 TypeScript로 작성한 Node.js 서버로 gRPC와 HTTP를 모두 지원하는 서버를 만들면서 오류 핸들링이나 통신사와 통신 포맷을 맞추면서 고민했던 부분이 나와 있다.(한국어)
  • Supercharge your command line experience: GitHub CLI is now in beta : 터미널에서 GitHub의 이슈를 보거나 풀 리퀘스트를 여는 등 GitHub의 기능을 이용할 수 있는 CLI를 공개했고 현재 베타 상태이다. 이전에는 hub라는 CLI 도구가 있었지만 이제 새 gh CLI로 대체될 것으로 보인다.(영어)
  • Semantic Segmentation을 활용한 차량 파손 탐지 딥러닝 모델 개발기 : 쏘카에서 사용자들이 차량을 이용하기 전에 현재 차량의 상태를 사진으로 올리는데 이러한 사진을 사람이 직접 검수하는 과정을 자동화하기 위해 딥러닝을 도입한 과정이다. 딥러닝을 도입하면서 데이터 구조와 모델 구조, 학습 과정 등이 잘 나와 있고 실제로 도입을 하기 위해서 정확도를 올리기 위한 개선은 어떻게 진행했는지 설명한다.(한국어)
  • Google API Improvement Proposals : Google의 API 설계에 대한 결정 사항을 정리해 놓은 문서다. 문서가 스펙 문서처럼 작성되어 읽기 편한 형식은 아니지만, API의 개선 제안이 진행되는 과정이나 구글이 리소스명, 메서드 등에 어떤 규칙을 사용하는지 알 수 있다.(영어)
  • AutoFlip: An Open Source Framework for Intelligent Video Reframing : Google이 비디오에서 사람 등 중요 장면을 중심으로 지능형 리프레이밍이 가능한 프레임워크 AutoFlip을 오픈소스로 공개했다.(영어)

인프라 관련

  • 네이버 검색의 SRE 시스템 : 대용량 분석 시스템인 네이버 검색이 더 안정적으로 동작하도록 SRE의 관점으로 개선을 진행한 내용이다. 실제 시스템 개편 자체에 참여한 것은 아니고 비상 대응 체계와 장애 탐지를 할 수 있도록 지원하고 포스트모텀 보고서를 만들어서 사내에 포스트모텀 문화를 만들고 경보 시스템을 고도화했다고 한다. 이를 통해 지난 2년간 네이버 검색은 더 많은 개선을 하면서도 장애를 크게 줄이는 효과를 보았다.(한국어)
  • GitOps와 ArgoCD : Intuit 사에서 만든 GitOps 구현체 ArgoCD를 소개하고 ArgoCD를 설정해서 Kubernetes에 배포하는 방법을 설명한다.(한국어)
  • Pro Tip: Instantly Turn Slack Messages into Grafana Annotations with the Memo Tool : Grafana의 어노테이션 API를 이용해서 슬랙에 메시지를 남기면 해당 시점에 어노테이션을 Grafana 대시보드 상에 표시할 수 있는 슬랙봇 memo를 만들어서 공개했다.(영어)

볼만한 링크

  • 기술 블로그를 다시 디자인하며 : 마켓컬리가 기술 블로그를 개편한 과정을 정리한 글이다. 기술 관련 글을 쓸 수 있도록 회사의 문화로 만들기 위해 튜토리얼을 작성하고 커밋 히스토리를 관리하고 리뷰를 하면서 팀 간 교류를 늘리고 오랫동안 멈춰있던 블로그를 다시 살려서 활발해졌다.(한국어)
  • 혹독한 조언이 나를 살릴까? : 조언을 혹독하게 할 경우 실제로 효과가 있는지에 대한 김창준 님의 글이다. 이와 관련된 다큐멘터리와 그 뒷이야기를 예시로 들면서 심리상담학에선 "내담자를 존중하지 않는 방식은 장기적으로 효과가 없거나 부정적이었다는 것"이라는 결론을 내렸다고 한다. 마지막에는 조언할 때 도움이 될만한 접근 방법을 알려준다.(한국어)
  • FE News : 네이버 프론트엔드 엔지니어들이 주요 기술 소식을 큐레이션하는 뉴스레터를 공개했다. 월 1회 발행 예정이라고 한다.(한국어)

IT 업계 뉴스

프로젝트

  • Playwright : Google의 Puppeteer 팀이 Microsoft로 옮겨가서 Puppeteer와 비슷하지만 웹킷와 파이어폭스까지 제어할 수 있도록 새로 만든 프로젝트.

버전 업데이트

2020/02/15 19:03 2020/02/15 19:03