Improved Next.js and Gatsby page load performance with granular chunking : Chrome 팀에서 Next.js, Gatsby 등 생태계와 협업해서 성능을 개선하는 작업을 계속하고 있는데 JavaScript 청크 개선을 한 작업을 소개한 글이다. 페이지에 공통으로 사용하는 공통 코드를 별도로 번들링하고 있다면 기존에 사용하던 Webpack v3의 CommonsChunkPlugin 보다 v4의 SplitChunksPlugin을 사용해서 사용빈도나 크기에 따라 더 세세하게 나누는게 성능에 더 좋다는 점을 보여주고 있다. 브라우저별로 동시에 열 수 있는 TCP 연결의 수가 정해져 있는데 이 부분을 늘려가면서 테스트해서 세분화했을 때 성능 개선을 할 수 있다는 점을 보여주고 있다.(영어)
Rebuilding our tech stack for the new Facebook.com : 2004년에 PHP로 구축하고 기능을 추가하면서 점점 느려졌던 Facebook.com의 웹사이트를 다시 설계해야 할 필요성을 느끼고 "as little as possible, as early as possible"라는 원칙 아래 React와 Relay로 재구축한 과정을 설명하는 글이다. CSS를 정리해서 80% 정도 줄였고 SVG를 JavaScript에서 바로 사용해서 성능을 개선했으며 페이지를 기본 레이아웃과 첫 인터렉션이 가능한 화면 등 3단계로 JavaScript 코드 스프리팅을 해서 초기 속도를 개선했다.(영어)
npm v7 Series - Introduction : npm의 다음 버전인 7에서 개선될 부분을 정리한 글이다. Arborist 모듈에서 트리 관리 및 분석을 담당하게 되고 자동으로 peerDependencies를 설치한다.package-lock.json 형식이 개편되고 yarn.lock 파일 처리도 추가되며 성능이 개선될 예정이라고 한다.(영어)
코틀린에서 하이버네이트를 사용할 수 있을까? : Kotlin에서 ORM 프레임워크인 Hibernate를 사용할 수 있는지 검증한 내용이다. Kotlin의 data class로 사용해 보려고 했지만 프록시를 생성할 수가 없어서 포기하고 allopen, noarg 플러그인, kassava 라이브러리로 하이버네이트를 사용할 수 있음을 보여주고 있다.(한국어)
인프라 관련
Kubernetes의 DNS, CoreDNS를 알아보자 : Kubernetes 1.12부터 표준으로 사용되고 있는 CoreDNS가 어떻게 구성되어 있고 각 POD에서 DNS 조회가 어떻게 동작하는지 /etc/resolve.conf 설정과 함께 설명하고 있다.(한국어)
k8s 인증 완벽이해 : Kubernetes가 사용자를 인증하는 구조를 설명하고 인증 방법으로 이용할 수 있는 X.509 Client Certs, HTTP Authentication, OpenID Connect, Webhook, Proxy 방식의 동작 방식과 함께 Kuberntes에 인증을 테스트하는 방법을 설명하고 있다.(한국어)
팀 문화의 탄생 : 우아한형제들의 팀 내에서 2주 단위 스프린트를 진행하며 회고할 때마다 Keep/Problem/Try를 정리해서 팀 문화를 개선해 나가는 과정이 나와 있다. 무심코 넘어갈 수 있는 일이라도 구체적인 액션 아이템으로 만들어서 개선해 나갔는데 코드 네이밍을 다시 한다거나 스레드 제목의 규칙을 정한다거나 Keep/Problem에서 어떤 액션 아이템으로 개선해 나갔는지 구체적으로 설명하고 있어서 다른 팀의 얘기인데도 많은 도움이 된다. 이렇게 하면 정말 점점 좋은 문화가 자리잡혀 갈 거로 생각한다. "팀 문화로 예를 든 여러 가지는 제가 보기엔 좋은 서비스를 만들기 위한 수단입니다. 우리가 이용할 도구이지 그 자체가 목적이 아닙니다."가 가장 인상적이었다.(한국어)
스포카가 OKR로 목표를 달성하기까지. : 목표 설정 프레임워크인 OKR을 이용해서 "사용자가 도도 메시지에서 프로모션을 많이 생성하게 합니다"라는 목표를 만들고 정보를 수집하고 분석한 후 측정 가능한 핵심 결과를 정의해서 진행한 과정이 나와 있다. 각 단계에서 팀이 어떤 조사를 하고 매주 진행 상황을 화이트보드에 공유하고 개별 상태를 표시하는 등 OKR을 어떻게 진행했는지 자세히 나와 있다.(한국어)
32 Design Differences between iOS and Android Apps : iOS의 HIG(Human Interface Guidelines)와 Android의 Material Design의 차이를 비교해 주는 글이다. 기본적인 다른 점과 네이게이션/컴포넌트의 차이점 등으로 나누어서 각 플랫폼에서 사용하는 용어와 동작이 어떻게 다른지를 스크린샷과 동영상으로 바로 보여주고 있어서 쉽게 차이점을 이해할 수 있다. iOS만 주로 사용해서 Android의 미묘하게 다른 UI/UX를 이해하기 어려웠는데 이 글에서 쉽게 차이점을 이해할 수 있다.(영어)
IT 업계 뉴스
‘넷플릭스법’에 네이버·카카오도 부글부글…왜? : ISP(인터넷서비스 제공업체)가 많은 트래픽을 유발하는 넷플릭스에 망 이용료를 내게 하는 법 개정이 논의되고 있다. 이는 넷플릭스뿐 아니라 네이버, 카카오 등 국내 CP사들도 반대하고 있으며 망 중립성을 깨뜨리는 조치라서 개인적으로 반대한다.(한국어)
Keybase joins Zoom : 화상회의 서비스인 Zoom이 보안을 강화하기 위해서 e2e 암호화 기술을 가지고 있는 Keybase를 인수했다. Zoom은 Keybase의 기술을 이용해서 Zoom의 e2e 암호를 강화할 예정이라고 한다.(영어)
5월 5일: 에어비앤비의 중대 발표 : Airbnb가 코로나19 이슈로 인해 전체 직원을 25%인 1,900명을 감축한다고 발표했다.(한국어)
Comments