웹개발 관련
- An Interactive Guide to CSS Grid : CSS로 레이아웃을 다룰 수 있는 CSS Grid를 실제로 예제로 동작을 테스트해 보면서 설명하는 튜토리얼이다. 기본적인 Grid의 동작부터 행과 열의 지정, %와
fr
단위에 따라 어떻게 동작하는지, 자식 요소가 늘어날 때 Grid 레이아웃이 어떻게 동작하는지를 보여주면서 이해하기 쉽게 설명하고 다양한 레이아웃을 그리기 위한 동작 방식도 보여준다.(영어) - sentry-javascript: replace prettier with biome : Sentry의 JavaScript SDK에서 Prettier를 Rome의 대체제인 Biome로 교체했다.(영어)
그 밖의 개발 관련
- Bundleless: Not Doing Things Makes You Fast : Armin Ronacher가 Guillermo Rauch의 트윗을 보고 번들링 없는 개발을 지지하는 글을 작성했다. 이는 개발 중에 모듈이 많은 경우 이를 로드하는 데 오래 걸리므로 성능 문제를 해결하려면 번들링이 필요하다는 주장을 반박한 것이다. 이는 접근이 잘못된 것이고 번들링을 늘리는 것이 아니라 시작 시에 코드 실행을 줄여서 로드 시간을 줄이고 필요할 때 로딩해야 하는 것이고 사용자와 프레임워크 제작자의 목표는 번을 없이 개발할 수 있도록 하는 것을 선호해야 한다고 얘기하고 있다.(영어)
- The Node.js Event Loop : Node.js에서 비동기 작업을 처리하는 이벤트 루프의 내부 동작을 설명하는 글이다. 서버에 요청이 몰렸을 때 어떤 영향이 있는지를 비교하기 위해 예시 프로젝트로 부하 테스트를 하면서 Event loop utilization(ELU)를 사용해서 이벤트 루프의 여유 용량을 확인하는 방법을 소개하고 fastify/under-pressure로 이벤트 루프 사용률을 지정해서 요청이 몰렸을 때 어떤 차이가 있는지를 보여준다. 이러한 결과를 통해 동기식 처리는 이벤트 루프 밖으로 빼고 비동기 호출의 수를 줄이는 방법을 모범 사례로 소개한다.(영어)
인프라 관련
- The Frugal Architect : 검소한 아키텍트라는 뜻으로 비용을 고려한 지속할 수 있는 현대적인 아키텍처를 구축하기 위한 법칙을 Amazon의 CTO인 Werner Vogels이 정리했다.(영어)
- 법칙 1: 비용을 비기능적 요구사항으로 만들기
- 법칙 2: 비용과 비즈니스를 지속해서 연계하는 시스템
- 법칙 3: 아키텍처는 절충의 연속이다.
- 법칙 4: 관찰되지 않는 시스템은 알 수 없는 비용으로 이어진다.
- 법칙 5: 비용 인식 아키텍처를 통한 비용 관리 구현
- 법칙 6: 비용 최적화는 점진적으로 이뤄진다.
- 법칙 7: 도전하지 않는 성공은 가정으로 이어진다.
- Top announcements of AWS re:Invent 2023 : AWS re:Invent 2023에서 많은 제품과 신규 기능이 공개되었다. 내가 관심 가는 부분만 적어봤는데 원글에더 더 많은 발표를 볼 수 있다.(영어)
- Announcing Amazon OpenSearch Service zero-ETL integration with Amazon S3 (preview)
- Amazon CloudWatch Logs now offers automated pattern analytics and anomaly detection
- Amazon Managed Service for Prometheus collector provides agentless metric collection for Amazon EKS
- Amazon EKS Pod Identity simplifies IAM permissions for applications on Amazon EKS clusters
- Announcing the new Amazon S3 Express One Zone high performance storage class
- Introducing Amazon CloudFront KeyValueStore: A low-latency datastore for CloudFront Functions
- 모니터링은 마틴 파울러처럼: Domain-Oriented Observability 도입기 : ab180에서 애플리케이션 내에서 로그와 메트릭을 수집하기 위해서 비즈니스 로직에 관련 로직이 포함되어 있고 테스트에서 이에 대한 검증도 포함되어 있었는데 최근에 Martin Fowler가 작성한 Domain-Oriented Observability를 사내에 소개하고 이 개념으로 코드를 수정한 과정을 설명한 글이다. 기존에 비즈니스 로직과 로깅이 섞여 있었는데 이를 Instrumentation 관련 부분을 캡슐화한 Domain Probe로 분리하는 과정을 예시 코드를 개선하면서 보여주고 이제 로깅이나 메트릭 수정도 쉽게 할 수 있고 비즈니스 로직 파악도 쉽게 변경된 결과를 보여준다.(한국어)
- GitOps Best Practices Whitepaper : Argo CD를 만드는 Akuity에서 GitOps 베스트 프랙티스 백서를 공개했다. 24페이지의 PDF 문서로 Git 워크플로우, 레퍼지토리 디렉터리 구조, GitOps를 사용한 CI/CD, 렌더링 된 Manifests를 설명한다.(영어)
- Managing resources with the Terraform AWS Cloud Control provider : AWS에서 새로운 기능이 나오면 AWS Terraform 프로바이더에서 기능이 추가되어야 Terraform에서 사용할 수 있는데 AWS Cloud Control API를 이용한 Terraform에서 AWS Cloud Control 프로바이더를 공개했다. 이 프로바이더는 자동으로 생성되기 때문에, AWS에 새 기능이 나오면 바로 사용할 수 있다.(영어)
볼만한 링크
- (번역 및 정리) Working In Small Batches : DORA의 Working in small batches를 번역한 글이다. 일의 단위를 작은 단위로 만들어야 피드백을 빨리 발견하고 쉽게 해결할 수 있으며 효율성과 동기 부여가 높아지고 매몰 비용의 오류를 피할 수 있다. 새로운 기능을 기획할 때 몇 시간이나 며칠 단위로 작은 작업으로 나누고 이를 지속해서 릴리스할 수 있어야 함을 강조하고 있다.(한국어)
- Introducing Mozilla’s AI Guide, the developers onboarding ramp to AI : Mozilla에서 AI Guide를 공개했다. 이 가이드에서는 AI 기초, 언어 모델, ML 모델 선택으로 섹션이 나누어져 있다.(영어)
IT 업계 뉴스
- Open AI의 CEO인 Sam Altman이 해고된 사건은 너무 큰 관심을 모았고 다양한 곳에서 자세히 다루었기에 큰 사건 위주로만 정리했다.
- 17일 이사회가 CEO인 Sam Altman을 해고했다고 발표
- Greg Brockman은 상황을 파악 중이고 자신도 이사회에서 해임되었다는 통보를 받았다고 밝힘(회사 직책은 유지)
- 20일 Microsoft는 OpenAI와의 파트너십을 유지할 것이며 Sam Altman과 Greg Brockman이 Microsoft에 합류했다고 발표
- Sam Altman returns as CEO, OpenAI has a new initial board** : Sam Altman이 OpenAI의 CEO로 돌아왔고 Mira가 CTO가 되고 Greg Brockman는 사장으로 돌아왔다. 새로운 이사회는 Bret Taylor(의장), Larry Summers, Adam D’Angelo로 구성되었고 Ilya는 이사회에서 물러나고 회사에 남았다.(영어)
- Introducing the Functional Source License: Freedom without Free-riding : 2008년에 BSD-3 라이센스로 시작했던 Sentry가 2019년 Business Source License(BSL)로 바꾸었다. 이후 오픈 소스 용어에 대한 논란이 있고 사용자의 자유와 개발자의 지속 가능성의 균형을 맞추기 위해 BSL을 발전시킨 FSL(Funtional Source License)을 적용한다고 발표했다. BSL은 일정 시간 뒤에 오픈소스 라이센스로 변경되는데 이 비경쟁 기간인 기본 4년은 소프트웨어 업계에는 너무 긴 기간이고 BSL에 변경되는 날짜, 변경되는 라이센스 등 추가 사용이 가능하기 때문에 같은 BSL이라 부르기가 어렵다는 문제가 있다. FSL은 변경 날짜가 2년이고 변경되는 라이센스는 Apache 2.0나 MIT이며 추가 사용 허가를 막아서 오픈소스와 경쟁하는 상업적 제품을 만들어서 무임승차를 막는 목표에만 집중하도록 했다.(영어)
- Okta admits hackers accessed data on all customers during recent breach : Okta에서 지난 10월 해킹으로 1%의 사용자만 영향을 받았다고 밝혔지만 최근 공개된 내용에 따르면 모든 사용자의 데이터를 해커가 다운로드했다고 밝혔고 여기에는 이름과 이메일 주소가 대부분 포함되어 있고 일부는 전화번호와 직책 등이 포함되어 있다고 밝혔다.(영어)
프로젝트
- terkelg : GitHub의 프로필 페이지를, SVG를 이용해서 반응형 페이지로 만든 프로젝트.
- AuthKit : SSO를 제공하는 WorkOS에서 자사의 API 와 연동할 수 있는 상당히 멋진 로그인 UI를 오픈소스로 공개했다.
- Rsbuild : Rspack 기반의 빌드 도구.
- Wasmb By Example : 예제 프로그램으로 WebAssembly를 설명하는 사이트.
버전 업데이트
- Vite v5.0.0 : 프론트엔드 빌드 도구, 릴리스 공지
- API 정리에 중점을 둔 릴리스
- LocalStack v3.0 : 개발 및 테스트롤 로컬 AWS 클라우드 스택, 릴리스 공지
- Spring Framework v6.1.0 GA : Java 프레임워크, 릴리스 공지
- JDK 21 LTS 지원
- 버추얼 스레드(Project Loom) 지원
- Spring Boot v3.2.0 : 스프링 애플리케이션의 구축을 도와주는 도구, 릴리스 공지
- Spring Data 2023.1.0 GA : Spring 기반 데이터 접근 라이브러리, 릴리스 공지
- Spring Security v6.2 GA : Spring 인증 프레임워크, 릴리스 공지
- Spring Session v3.2 GA : 스프링의 세션관리 라이브러리, 릴리즈 공지
- Spring Batch 5.1 GA : 스프링 배치 프레임워크, 릴리스 공지
- Spring Vault 3.1 : 스프링 시크릿 관리, 릴리스 공지
- Spring Modulith v1.1 GA : 모듈화된 스프링 부트 애플리케이션을 만들어주는 도구, 릴리스 공지
- Spring Integration v6.2 GA : Spring 네/외부 메시징 프레임워크, 릴리스 공지
- pgAdmin 4 v8.0 : PostgreSQL 클라이언트 도구, 릴리스 공지
- TypeScript v5.3 : Microsoft가 만든 JavaScript transpiler, 릴리스 공지
- OrbStack v1.1.0 : mac용 Docker 애플리케이션, 릴리스 공지
- 설정없이도 모든 컨테이너에 자동 HTTPS 지원
- Rust 1.74.0 : 프로그래밍 언어, 릴리스 공지
- Prometheus v2.48.0 : 모니터링 시스템, 릴리스 공지
- flow v0.222.0 : JavaScript 정적 타입 체커, 릴리스 공지
- Symfony v7.0.0 : PHP 웹 프레임워크, 릴리스 공지
- Grafana Agent v0.38 : Grafana 스택의 에이전트, 릴리스 공지
- three.js r159 : JavaScript 3D 라이브러리, 릴리스 공지
- PHP v8.3.0 : 스크립트 언어, 릴리스 공지
- Biome v1.4.0 : 프론트엔드 툴체인, 릴리스 공지
- Jotai v2.6.0 : React 상태 관리 라이브러리, 릴리스 공지
- Playwright v1.40.0 : Chromium, Firefox, WebKit 브라우저 자동화 Node.js 라이브러리, 릴리스 공지
- Rspack v0.4.0 : 웹 번들러, 릴리스 공지
- Zed v0.114.2 : 코드 에디터, 릴리스 공지
- Grafana Pyroscope v1.2.0 : 지속적 프로파일링, 릴리스 공지
- Git v2.43.0 : 분산 형상관리 도구, 변경사항
- Remix v2.3.0 : 풀스택 웹 프레임워크, 변경사항
- GitLab v16.6 : 오픈소스 설치형 Git 플랫폼, 릴리스 공지
- RedwoodJS v6.4.0 : 풀스택 웹프레임워크, 릴리스 공지
- Flutter v3.16 : iOS, Android 네이티브 앱을 만드는 프레임워크, 릴리스 공지
- ESLint v8.54.0 : JavaScript 코드 분석 도구, 릴리스 공지
- Node.js v18.19.0 (LTS) : 자바스크립트 런타임, 릴리스 공지
- Node.js v20.10.0 (LTS) : 자바스크립트 런타임, 릴리스 공지
- Node.js v21.3.0 (Current) : 자바스크립트 런타임, 릴리스 공지
- Kyverno v1.11 : Kubernetes 정책 엔진, 릴리스 공지
Comments