웹개발 관련
- HTTP/3 : HTTP-over-QUIC이 공식적으로 HTTP/3가 되었다.(영어)
- A Netflix Web Performance Case Study : Netflix가 비로그인 사용자를 위한 랜딩페이지의 성능을 개선한 이야기이다. 기능이 많지 않아서 React가 필요 없을 것 같아 바닐라 JavaScript로 갈아타서 time-to-interaction 시간을 반 이상 줄이고 용량도 200kB 이상 줄였다. 다른 페이지에서는 여전히 React를 사용하고 있고 이 페이지에서 필요한 리소스를 미리 로딩해서 이후 페이지 성능도 향상했다.(영어)
- PINTEREST 프로그래시브 웹 앱 성능 케이스 스터디 : A Pinterest Progressive Web App Performance Case Study의 번역글이다. Pinterest 웹사이트를 React, Redux, Webpack을 이용해서 PWA로 개선한 과정을 설명하고 있다. 개편 결과 광고수익이 증가하고 사용자도 더 오래 머물게 되었고 동작하기까지 23초가 걸리던 상황을 5.6초까지 줄였다. 이렇게 성능 개선을 하면서 고민한 부분이 잘 나와 있다.(한국어)
- React에서 Redux 전에 배워야 할 8가지 : 8 things to learn in React before using Redux의 번연글로 상태관리에 Redux나 MobX를 사용하기 전에 알아야 할 부분을 설명하고 있다. 상태관리 라이브러리가 필요한 때도 있고 아닌 때도 있으므로 컴포넌트에서 어떻게 상태를 관리하는 것이 좋고 문제가 되는 상황을 코드로 보여주면서 라이브러리를 도입하기 전에 상태관리에서 어려운 부분을 이해하기를 권하고 있다.(한국어)
- ANNOUNCING TEST262 REPORT : ECMA-262의 Test Suite를 매일 실행해서 엔진별 구현 정도를 보여주는 Test262 Report를 bocoup에서 공개했다.(영어)
- web.dev : Lighthouse를 이용해서 웹사이트를 분석해서 성능, PWA, 접근성, SEO의 점수를 평가하고 개선 방법을 알려주는 사이트를 Google에서 Beta로 공개했다. 추가로 PageSpeed Insights도 Lighthouse 기반으로 바뀌었다.(영어)
그 밖의 프로그래밍 관련
- Amazon Corretto : Amazon에서 무료로 멀티플랫폼을 지원하는 OpenJDK의 배포판을 공개했다. 이미 Amazon 내부 프로덕션 서비스에서 사용하고 있고 Amazon이 장기지원(LTS)을 한다고 한다.(영어)
- Faster async functions and promises : V8 엔진에서 비동기에 사용하는
async/await
와Promise
의 성능을 어떻게 개선하고 있는지 설명한 글이다. Turbofan이 포함된 Node.js 8부터 10까지 성능이 몇 배나 빨라졌는지 보여주고 JavaScript의tasks
와microtasks
의 개념 내에서async/await
가 동작하는 방식을 설명하고 있다. 뒷부분에서는 V8 엔진 내에서 어떻게 처리하는지 설명하고 있는데Promise
를 포함해서async/await
가 동작하는 구조를 이해할 수 있다.(영어) - The Illustrated TLS 1.3 Connection: Every Byte Explained : TLS 1.3의 연결과정을 단계별로 자세히 설명하는 웹 페이지이다. 단계별 코드와 바이트의 의미를 상세하게 설명한다.(영어)
볼만한 링크
- A Seasonal Report on Developer Trends in the Cloud: Open Source Edition : DigitalOcean에서 오픈소스 20년을 기념하면서 오픈소스 트랜드의 설문 조사 결과를 공개했다. 이 자료에는 오픈소스에 어떻게/왜 참여하고 있고 어떤 언어와 플랫폼을 이용하는지, 어떤 부분 때문에 오픈소스 참여가 어려운지 등이 나와 있다.(영어)
- 테크니컬 리더십: 시작하기 : Slack의 Technical Leadership: Getting Started의 번역 글이다. 본인이 리더쉽을 배우면서 중요하다고 생각하는 부분을 "방향 맞추기", "전문가 되기", "공유하기", "일관되게 실행하기", "효과적인 의사소통하기"로 나누어서 왜 중요한지를 설명하고 있다.(한국어)
- How to write a killer Software Engineering résumé : 해외 이력서는 국내와 달라서 어렵기 마련인데 예시 이력서를 보여주면서 이력서를 어떻게 구성하는 게 좋고 단락별로 누구를 대상으로 하고 어떤 내용을 적으면 좋은지 보여주어서 유용하다.(영어)
IT 업계 뉴스
- Introducing the GraphQL Foundation : Facebook에서 시작된 GraphQL이 Linux 재단과 파트너쉽을 맺고 GraphQL 재단을 만들었다.(영어)
프로젝트
- Eva Icons : 웹, iOS, Android에서 사용할 수 있는 오픈소스 아이콘 세트.
- Rawact : Webpack을 만든 사람이 만든 아직 실험적인 플러그인으로 React 컴포넌트를 Native DOM으로 컴파일해서 React의 모든 기능이 필요 없는 곳에서 성능을 높일 수 있는 Babel 플러그인.
- Day.js : Moment.js와 같은 API를 가지는 2KB의 날짜 라이브러리.
- enquirer : Node.js로 인터렉티브한 터미널 프로그램을 만들 수 있는 라이브러리.
- Squoosh : 이미지를 압축해주는 웹 애플리케이션.
버전 업데이트
- Spring Boot v2.1.0 : 스프링 애플리케이션의 구축을 도와주는 도구, 릴리스 공지
- TensorFlow v1.12.0 : 기계학습, 딥러닝 라이브러리, 릴리스 공지
- Spark v2.4.0 : 대용량 데이터 처리 엔진, 릴리스 공지
- Storybook v4.0 : React, React-Native 개발 환경, 릴리스 공지
- MobX 5.6.0, 4.6.0 : JavaScript 상태 관리 라이브러리, 변경사항
- Now v2.0 : 서버리스 배포 플랫폼, 릴리스 공지
- Nuxt.js v2.2.0 : 서버렌더링 Vue.js 애플리케이션 프레임워크, 릴리스 공지
- Rollup v0.67.0 : JavaScript 번들러, 변경사항
- Puppeteer v1.10.0 : Headless Chrome의 Node.js 라이브러리, 변경사항
- Git LFS v2.6.0 : Git의 대용량 파일 시스템, 릴리스 공지
- GitHub Desktop v1.5 : GitHub 데스크톱 애플리케이션, 릴리스 공지
- libuv v1.24.0 : Node.js의 비동기 I/O 라이브러리, 변경사항
- Phoenix Framework v1.4.0 : Elixir 웹 프레임워크, 릴리스 공지
Comments