웹개발 관련
- Twilio Console: A Large Scale Migration to Jamstack : Twilio의 개발자 인터페이스(Twilio의 고객 개발자가 이용하는 콘솔)인 Twilio Console을 Jamstack으로 마이그레이션 과정을 설명한다.(영어)
- 2008년부터 사용한 Twilio 콘솔은 SPA였고 30개의 제품에 쓰였고 30개의 팀이 독립적으로 유지보수를 했다.
- 마이크로 프론트엔드 아키텍처는 기존 PHP와 Scala 애플리케이션과 새로운 React 애플리케이션이 같이 존재할 수 있어서 도움이 되었다.
- 서버가 있는 미국을 거쳐야 했으므로 글로벌 사용자는 1~2 이상 느려지는 경우가 많았다. 또한 페이지가 바뀔 때 페이지 전체를 다시 불러와야 하는 경우도 있었다.
- Twilio가 더 커지면서 Jamstack 아키텍처를 선택하면서 성능 개선과 나아진 개발 워크플로우를 목표로 했다.
- Jamstack으로 마이그레이션된 새로운 콘솔은 Netlify로 호스팅 되는 모노레포 Jamstack 애플리케이션이다.
- Deploy Preview로 협업이 많이 증가했고 이전보다 50배 자주 배포를 할 수 있게 되었다.
- 글로벌 사용자에게 TTFB가 이전에는 1~2초였지만 이제는 30~60ms가 되어 30배 성능이 개선되었다고 한다.
- What's new in PageSpeed Insights : 최근 PageSpeed Insights의 UI를 개편하면서 개선한 내용을 설명한 글이다. 성능의 필드 데이터와 실험실 데이터를 명확히 이해할 수 있도록 구분해서 보여주고 모바일/데스크톱의 성능을 구분해서 보여주는 UI 등이 변경되었다.(영어)
그 밖의 개발 관련
- Make your monorepo feel small with Git’s sparse index : 모노레포처럼 아주 큰 Git 저장소의 경우 성능을 개선하기 위해
sparse-checkout
을 사용할 수 있는데 이때 파일의 일부만 사용하게 되지만 Git 인덱스는 여전히 워킹디렉토리의 파일 정보를 다 가지고 있게 된다. 2백만 개의 파일이 있는 모노레포의 경우 Git 인덱스만 해도 180MB나 될 정도로 성능에 영향을 주게 되는데 Git 인덱스도 필요한 파일만 사용하도록 --sparse-index
를 사용할 수 있다. 이렇게 사용하면 아주 큰 모노레포에서도 작은 저장소인 것처럼 Git 명령어를 빠르게 사용할 수 있다. 이 명령어를 추가하게 된 배경과 성능 비교를 자세히 보여주고 있다.(영어)
- Expanding Google Summer of Code in 2022 : 매년 오픈소스 프로젝트를 선정해서 학생들이 기여할 수 있는 기회를 만들어 주는 GSoC(Google Summer of Code)가 지난 17년간 112개국 18,000명의 대학생이 746개 오픈소스 조직의 17,000 멘토와 협업할 기회를 만들었다. 2022년부터는 대학생만이 아니라 18세 이상의 모든 사람이 참여할 수 있게 되고 프로젝트도 175시간 이하의 중간 사이즈 프로젝트와 350시간 이하의 대형 프로젝트도 지원하게 바뀌었다고 한다.(영어)
- Swift API Design Guidelines(한국어) : Swift API Design Guidelines 공식문서를 홍성호 님이 한국어로 번역한 사이트이다.(한국어)
인프라 관련
볼만한 링크
- 애자일 테스팅 회고 : 원티드의 QA팀에서 애자일 테스팅을 시도하면서 결과를 검증해 본 과정을 정리한 글이다. 애자일 프로세스를 도입했음에도 만족스러운 결과를 얻지 못해서 선언문에 나온 대로 "얼마나 만족스러운 소프트웨어를 얼마나 빠르게 고객에게 전달하느냐"를 생성성과 품질 관점에서 보려고 집중하고 Jira의 티켓을 좀 더 세밀하게 분석해서 싸이클 타임과 환경별 DDP(Defect Detection Percentage)를 분석해서 프로젝트의 진행 상황을 파악할 수 있게 했다. 이후 폭포수와 개발 주기 중 테스트를 함께하는 애자일을 비교하기 위해 시뮬레이션을 한 결과 오히려 애자일 스프린트가 더 오래 걸리는 것으로 보여 더 자세히 살펴보니 폭포수로 진행했을 때 QA 단계에서 발견되는 버그가 3배 높다는 것을 알게 되어 이를 반영하자 폭포수가 애자일 스프린트보다 훨씬 오래 걸리는 것으로 파악되었다고 한다.(한국어)
IT 업계 뉴스
프로젝트
버전 업데이트
- Angular v13.0.0 : JavaScript 프레임워크, 릴리스 공지
- React Router v6.0.0 : React의 라우팅 라이브러리, 릴리스 공지
- .NET 6 : 크로스플랫폼 개발 플랫폼, 릴리스 공지
- Git v2.34.0 : 분산 형상관리 도구, 변경사항
- 인덱스의 성능 문제를 개선한 Sparse index 지원
- 기존에 사용하면 recursive 머지 전략되신 새로운
ort
머지 전략을 기본으로 채택
- Loki v2.4.0 : Prometheus 형식의 로그 수집 시스템, 릴리스 공지
- 순서 없는 로그 지원
- 싱글 바이너리를 이용한 확장성 있는 배포 지원
- Grafana Tempo v1.2.0 : 분산 트레이싱 백엔드, 릴리스 공지
- 수평 확장을 위한 싱글 바이너리 지원
- CPU 성능 개선
- Spring Data 2021.1.0 GA : Spring 기반 데이터 접근 라이브러리, 릴리스 공지
- Rollup v2.60.0 : JavaScript 번들러, 변경 사항
- dapr v1.5 : 이벤트 드리븐 런타임, 릴리스 공지
- KubeVirt v0.47.1 : Kubernetes의 가상 머신 관리 애드온, 릴리스 공지
- curl v7.80.0 : URL로 데이터를 처리하는 CLI, 릴리스 공지
- Node.js v17.1.0 (Current) : 자바스크립트 런타임, 릴리스 공지
- Gatsby v4.1.0 : 정적 웹사이트 생성기, 릴리스 공지
- Prisma v3.4.0 : TypeScript/Node.js 데이터베이스 툴킷, 릴리스 공지
- ESLint v8.2.0 : JavaScript 코드 분석 도구, 릴리스 공지
- nest.js v8.2.0 : Node.js 웹 프레이워크, 변경사항
- Docker Desktop v4.2 : 데스크톱용 Docker 애플리케이션, 릴리스 공지
- V8 v9.7 : JavaScript 엔진, 릴리스 공지
- Bootstrap Icons v1.7.0 : Bootstrap에서 제공하는 아이콘, 릴리스 공지
Outsider
2021/11/16 08:45
2021/11/16 08:45
Comments