Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.

기술 뉴스 #153 : 20-07-04

웹개발 관련

  • 라이트하우스 6.0에서 바뀐 성능 지표변화 : Lighthouse 6.0에서 새로운 웹 성능 지표로 추가된 LCP(Largest Contentful Pain), CLS(Cumulative Layout Shift), TBT(Total Blocking Time)를 자세히 설명한다. Web Vitals에서는 FID(Fisrt Input Delay)가 추가되었지만, Lighthouse에서는 FID 대신 TBT를 사용한다.(한국어)
  • Using the Chrome UX Report API : 크롬 사용자를 바탕으로 실제 사용자의 UX 데이터가 담긴 Chrome UX Report(CrUX)를 프로그램으로 연동할 수 있는 API가 공개되었다.(영어)
  • Vue 3: mid 2020 status update : 원래 Vue 3을 전반기에 릴리스하기로 계획했지만 7월 중순에 RC를 릴리스 할 수 있고 정식 버전은 8월 초를 예상한다고 한다. Core뿐 아니라 관련 프로젝트의 현재 상태를 정리해 두었다.(영어)
  • Stop mocking fetch : 테스트 코드에서 백엔드에 요청을 보내는 fetch를 모킹하면 실제 동작이 달라지거나 깨졌을 때 확인이 어렵다는 점을 지적하면서 한곳에서 모킹처리를 관리하면서 실제 API 동작을 확인할 수 있게 수정한 접근을 보여준다. 그리고 msw 라이브러리를 소개하며 같은 문제를 더 쉽게 해결하는 방법을 보여준다.(영어)
  • Creating a Design System in React : Bit를 이용해서 React로 디자인 시스템을 구축한 과정을 설명하고 있다. 디자인 시스템 자체보다는 Bit의 사용법에 대한 설명이 주인데 Bit가 각 컴포넌트를 분리와 버저닝을 관리해주고 코드에서 문서화 및 배포까지 도와주어 협업에 도움이 된다고 한다.(영어)
  • Flipper — A React Native revolution : React Native 앱의 디버그 도구로 다양한 도구를 사용해 보았지만, 각각의 제약사항이 있어서 만족하지 못했지만 Flipper에는 네트워크 로그, 로그, React 개발도구 등 필요한 기능이 다 있고 플러그인 시스템까지 있어서 앞으로 React Native의 주요 디버그 도구가 될 것이라고 설명하고 있다.(영어)

그 밖의 개발 관련

인프라 관련

  • Announcing the HashiCorp Cloud Platform : HashiCorp에서 AWS, GCP, Azure 등에서 HashiCorp의 제품을 풀매니지드로 운영할 수 있는 HashiCorp Cloud Platform(HCP)을 발표했다. 현재 베타이고 첫 베타 서비스는 AWS에서의 Consul이고 다음은 Vault라고 한다.(영어)
  • Amazon RDS Proxy – Now Generally Available : 작년 리인벤트 행사에서 공개된 RDS Proxy가 GA가 되었다. RDS Proxy는 애플리케이션이 데이터베이스 커넥션 풀을 공유해서 사용할 수 있게 하고 이번 GA가 되면서 MySQL과 PostgreSQL을 모두 지원한다.(영어)
  • Working with Terraform and Kubernetes : Terraform으로 Kubernetes를 관리하는 방법을 설명한 글이다. Terraform 공식 Kubernetes 프로바이더가 있지만, 커스텀 리소스를 사용하지 못하는 등 제약사항이 있는 편이고 HashiCorp에서 Terraform kubernetes-alpha 프로바이더를 앞으로의 좋은 대안으로 기대해 볼 수 있다. 세 번째 방법으로는 Kubestack에서 만든 Terraform Provider Kustomize을 사용하는 방법이 있다.(영어)
  • Relay Public Beta : IFTTT 스타일로 이벤트 기반의 인프라스트럭처 자동화를 할 수 있는 relay를 puppet에서 공개했다.(영어)

볼만한 링크

  • Why Figma Wins : 왜 Figma가 성공했는지를 설명한 글이다. 다른 디자인 도구가 파일을 클라우드에 올려놓는 방식이었지만 Figma는 브라우저 기반이라 디자이너들이 파일을 주고받느라 고생할 필요가 없이 협업할 수 있고 최종 결과물만 타팀과 공유하는 것이 아니라서 디자인 프로세스에 PM이나 개발자를 포함해서 피드백을 빨리 주고받을 수 있게 되었다. 그래서 Figma의 영향이 디자이너뿐 아니라 회사 전체에 영향을 끼치고 이 덕에 입소문도 빨리 퍼지게 되었고 최근에는 플러그인과 커뮤니티로 인해서 더 성장이 빨라지고 있다고 한다.(영어)
  • [SOCAR FRAME 만들기 # 1] 쏘카의 디자인 시스템 맛보기 : 쏘카에서 만든 디자인 시스템 Socar Frame을 작년 말부터 준비하면서 설득과정부터 TF를 꾸려서 전체에 적용한 과정을 정리한 글이다.(한국어)
  • GitHub Stars program : GitHub에서 생태계에 영향을 주는 사람을 추천할 수 있는 프로그램이 공개되었다. 로그인하면 특정 개발자를 추천할 수 있다.(영어)

IT 업계 뉴스

  • The end of the Redis adventure Redis를 만든 Salvatore Sanfilippo가 Redis 메인테이너에서 물러나고 Redis Labs의 자문위원회에서만 활동한다고 한다. 10년 전에 Redis를 만들고 Redis가 큰 성공을 거두었지만, 점점 다른 개발자와 얘기하는데, 더 시간을 쓰게 되었고 소프트웨어 메인테이너가 되길 원한 건 아니었다고 한다. 차후 계획은 아직 없지만, 코딩이 재밌으니까 코딩을 계속할 거라고 한다.(영어)
  • Databricks acquires Redash, a visualizations service for data scientists : Spark로 유명한 데이터 분석회사 Databricks가 데이터 시각화 회사인 Redash를 인수했다.(영어)

프로젝트

  • css stats : 사이트 주소를 입력하면 분석 후 선언된 폰트 크기, 백그라운드 색상 수, 특이성 등을 분석해주는 사이트.
  • Mock Service Worker : API 모킹 JavaScript 라이브러리.
  • Puppeteer Cluster : 크롬 브라우저를 API로 제어하는 Puppeteer 클러스터를 관리하게 해주는 프로젝트.
  • HorizonCalendar : Airbnb에서 오픈소스로 공유한 iOS 캘린더 UI 컴포넌트.

버전 업데이트

2020/07/04 19:53 2020/07/04 19:53

기술 뉴스 #152 : 20-06-15

웹개발 관련

  • useSWR — My New Favorite React Library : Vercel이 만든 원격 데이터 패칭용 React 훅인 useSWR의 사용법을 설명한다. useSWR을 쓰면 많은 코드를 지울 수 있고 API 호출 부분을 간단하게 할 수 있고 성능도 좋다고 강조하고 있다.(영어)
  • Case study: Analyzing Notion app performance : React로 구성된 Notion의 성능을 분석해서 사용하지 않는 서드파티와 폴리필을 제거하고 API 데이터를 프리로딩하고 그 외 서드파티 로딩을 지연시켜서 성능을 개선하는 과정을 정리한 글이다.(영어)
  • Google resumes its senseless attack on the URL bar, hides full addresses on Chrome 85 : Google이 Chrome 85에서 주소창에 전체 URL을 표시하지 않고 도메인만 표시하는 기능을 옴니박스라는 이름으로 도입했다. 구글을 여러 차례 비슷한 시도를 하다가 반응이 좋지 않았는데 의미도 없는 이 접근을 왜 하는지 잘 모르겠다.(영어)
  • Flutter vs Native vs React 성능 : Flutter vs Native vs React-Native: Examining performance의 번역 글로 개발 생산성 같은 부분이 아니라 Pi 수를 계산하는 Gauss-Legendre 알고리즘과 Borwein 알고리즘으로 CPU 집약적인 테스트를 수행한 결과이다. 이 결과에만 따르면 React-native는 네이티브에서 상당히 느린 속도를 보여주고 Flutter는 네이티브와 거의 비슷한 성능을 보여주고 있다.(영어)

그 밖의 개발 관련

  • Containerize Your Go Developer Environment – Part 1 : 보통 새로운 멤버가 팀에 합류했을 때 개발환경을 구축하는데 고생하는 점을 지적하면서 Go의 개발 환경은 Docker를 이용하는 방법을 설명하고 있다. 간단한 Go 예시 프로그램을 Docker에서 빌드하는 걸 보여준 뒤 BuildKit을 활성화하고 Linux뿐 아니라 Windows, macOS 플랫폼별로 컴파일한 바이너리를 다시 호스트 파일 시스템에 내려주는 과정을 보여주고 있다.(영어)
  • AdoptOpenJDK 11 Is the New Default : AdoptOpenJDK에서 다운로드할 수 있는 기본 버전을 8에서 11로 변경했다. AdoptOpenJDK 11은 2018년 9월에 나왔고 생태계가 충분히 11로 옮겨갔다고 판단해서 이뤄진 변경이다.(영어)
  • Golang 패키지 이름(Package Names) : Go 언어 블로그의 Package names를 번역할 글로 Go에서 패키지 이름을 어떻게 지어야 하는지 정리되어 있다. 이름에서 반복을 피하고 단순화하는 것이 좋고 정보를 제공하지 않는 무의미한 이름은 피하라고 하고 있다.(한국어)
  • The State of Developer Ecosystem 2020 : JetBrains에서 만든 개발자 생태계 보고서다. 이 보고서에 따르면 Java가 가장 인기있는 주 언어이고 JavaScript가 제일 많이 쓰이고 대부분의 개발자는 웹사이트를 개발하고 Go, Kotlin, Python이 가장 도입하고 싶어하는 언어라고 한다.(영어)
  • New Resources Available for Password Manager Apps : Apple이 비밀번호 관리자를 만드는 개발자들이 iCloud 키 체인의 강력한 비밀번호를 활용할 수 있도록 password-manager-resources를 GitHub에 오픈소스로 공개했다.(영어)
  • 25 Years of PHP History : JetBrains에서 PHP의 25년 역사를 한눈에 볼 수 있게 정리했다. PHP 버전 릴리스와 워드프레스나 프레임워크 등 생태계에서 주요 사건을 언제 발생했는지 알 수 있다.(영어)

인프라 관련

  • How we use HashiCorp Nomad : Cloudflare에서 여러 데이터센터에 배포된 시스템을 관리하기 위해 Kubernetes 대신 HashiCorp의 Nomad를 선택했는데 각 데이터센터에서 독립적으로 인스턴스를 관리할 수 있는 요구사항을 만족시켰고 의존성이 적으면서 Consul과 쉽게 통합할 수 있으면서 단일 Go 바이너리로 가볍기 때문이라고 한다.(영어)
  • aws-vault로 AWS의 인증 정보 안전하게 사용하기 : AWS를 사용할 때 보통 환경변수를 이용해서 인증정보를 관리하는데 보통 플레인텍스트로 저장되어 있음으로 이를 더 안전하게 관리할 수 있는 aws-vault의 사용법을 정리한 글이다. aws-vault에 프로파일을 등록해 놓고 AWS CLI나 Terraform 등을 설명하는 방법이 잘 나와 있고 Alfred나 direnv와 연동해서 더 편하게 사용하는 팁까지 설명하고 있다.(한국어)

볼만한 링크

  • Spotify’s Failed #SquadGoals : Spotify에서 2012년 작성한 Scaling Agile 백서가 결국 실패했고 Spotify도 이 모델을 사용하고 있지 않음을 얘기하면서 어떤 부분이 잘못되었고 무엇을 배울 수 있는지를 정리한 글이다. 한국어로 작성된 자세한 요약은 GeekNews에서 볼 수 있다.(영어)
  • Elastic 라이센스, 그리고 오픈 소스 에반젤리스트의 딜레마 : Elastic에서 에반젤리스트로 일하면서 겪는 딜레마를 정리한 글이다. OSS, 베이직, 플레티넘 등의 가격 정책을 설명하고 오픈소스로 시작한 제품이기 때문에 상용 판매의 가장 큰 경쟁상대가 자사의 OSS 제품이라는 부분이 인상적이다. 오픈소스로 시작한 대부분의 회사가 비슷한 고민을 하고 있을 거라고 생각하고 관심 있는 부분이기도 하다.(한국어)
  • 개발자 이력서 작성하기 (feat. 이력서 공개) : 정원희 님이 최근 이직을 하면서 이력서를 정리한 과정이 나와 있다. 특이하게 노션으로 이력서를 작성하셨는데 이력서에 구성과 각 부분의 포함해야 하는 내용이 잘 나와 있고 이를 스스로 확인해 볼 수 있도록 체크리스트까지 만들어서 공유해 주셨다.(한국어)
  • 기술 콘텐츠는 대체로 헛소리다 : 인터넷에 있는 수많은 기술 관련 정보를 비판 없이 받아들이고 적용하는 것을 비판하는 글이다. 마지막 "소비하지 말고. 만들어라. 물어봐라. 호기심을 잃지 말아라." 부분이 중요하다고 생각한다.(한국어)

IT 업계 뉴스

프로젝트

  • IBM Plex : IBM Plex 한글 폰드가 무료로 공개되었다.
  • Excalidraw : 오픈소스 온라인 화이트보드.

버전 업데이트

2020/06/15 23:48 2020/06/15 23:48