웹개발 관련
- Move on to ESM-only : Vue의 코어팀 멤버이고 Vitest를 만든 사람이기도 한 Anthony Fu가 이제 패키지가 ESM 전용으로만 지원해야 한다고 주장하는 글이다. CJS에서 ESM으로 바뀌면서 둘을 모두 지원하면서 과도기를 잘 지원했지만 이제 ESM을 쓰기 충분한 도구가 갖춰졌고 ESM에서 CJS를 참조하기는 쉽지만 반대는 그렇지 않기 때문에 패키지들부터 ESM으로 옮겨가는 하향식 움직임이 필요하고 Node.js에서도 require로 ESM을 불러올 수 있게 되어 쉽게 넘어갈 수 있게 되었다. 듀얼로 지원하는 경우 관리도 어렵고 패키지도 커지기 때문에 앞으로는 ESM 전용으로만 만들어져야 하며 패키지 작성자가 종속성의 상황을 확인할 수 있는 Node Modules Inspector도 만들어서 공개했다.(영어)
- (번역) 자바스크립트 프레임워크 - 2025년을 향해 : Solid.js를 만든 Ryan Carniato가 작성한 JavaScript Frameworks - Heading into 2025의 번역 글이다. 이 글은 자바스크립트 프레임워크의 전망을 정리한 글로 최근 몇 년간 서버 우선 접근이 화두였고 단순함을 추가했지만, 앱까지 단순하게 만들지는 못했고 React Compiler나 Svelte 5 Rune 등 컴파일러를 사용하는 접근이 주목받고 있지만 복잡도는 더욱 커지게 되었다. 앞으로 서버 우선보다는 서버를 차선책으로 사용하는 접근이 이어질 것이고 대단한 혁신이 있지 않더라고 꾸준하게 개선하는 프레임워크가 생태계에서 인기를 끌고 있고 React를 제외한 모든 프레임워크가 Signal을 쓰고 있지만 아직 성장통을 겪고 있다고 한다.(영어)
- Sunsetting Create React App : 2016년 React 앱을 구성하는 방법으로 등장한 Create React App에 더 이상 메인테이너가 없고 고성능 프로덕션 앱을 만들기는 어렵기 때문에 이제 CRA를 사용하면 사용 중단 공지가 나오게 된다. 기존 CRA 사용자는 각 프레임워크의 마이그레이션 가이드에 따르거나 Vite나 Parcel로 설정하기를 권고하고 있다. CRA에는 라우팅이나 데이터 패칭, 코드 분할 솔루션이 포함되어 있지 않다.(영어)
- Launching Interop 2025 : 브라우저 벤더와 플랫폼 업체가 협력해서 웹 표준의 상호운용성을 개선하는 Interop 2025가 시작되었다. 2024에서는 크롬, 엣지, 파이어폭스, 사파리 등 주요 브라우저에서 테스트에 통과하는 비율이 46%에서 95%로 증가했고 2025년에도 Anchor Positioning, View Transitions, Storage Access, Web Compat, WebRTC 등 포커스 영역을 선정하고 작업할 예정이다.(영어)
- (번역) 리액트의 실험적인 애니메이션 API 공개 : Matt Perry의 Revealed: React's experimental animations API의 번역 글로 React에 View Transition 기반의 새로운 실험적 API인
<ViewTransition/>을 도입한다. 이는 React의 첫 번째 애니메이션 API이고 아직 실험 단계라 인터페이스가 달라질 수 있지만 <ViewTransition/>를 어떻게 사용하는지 설명한다.(한국어)
- We Replaced Our React Frontend with Go and WebAssembly : 배포 파이프라인 Dagger에서 Dagger Cloud v3를 공개하면서 웹 UI를 React에서 Go와 WASM으로 교체했다. Dagger는 CLI에서 사용하는 TUI와 Cloud에서 사용하는 웹 UI가 있었는데 스택이 Go와 React로 달랐기에 로직을 공유하기도 어렵고 작업의 부담이 되는 상황이었다. 둘을 하나의 코드 베이스로 재사용하기 위해 Go를 공통으로 사용하기로 하고 Go-App 프레임워크로 WebAssembly를 사용하기로 했지만, 확신은 없어서 한 달 정도 프로토타이핑을 시도한 결과 만족도와 자신감이 상당히 높아졌다.(영어)
- SolidJS : The Road to 2.0 : SolidJS에서 2.0을 위한 개발을 시작한다고 발표했다. 2.0에는 세분된 null이 없는 async, 플러시 경계, mutable derivation, dervied signal, 지연 메모, 자동 배칭 등이 포함된다.(영어)
- Why TanStack Start is Ditching Adapters : TanStack Router를 기반으로 한 풀스택 React 프레임워크인 TanStack Start를 만들면서 각 클라우드 환경에 맞추기 위한 어댑터를 생각했지만, 이 작업량이 너무 많은 것을 깨달았고 Solid Start를 참고해서 Vite와 Nitro를 사용하자 어댑터 없이 간단하게 배포할 수 있게 되었다.(영어)
- CSS text-box-trim : Chrome 133부터는
text-box가 도입되어 그동안은 제어할 수 없었던 폰트 위아래의 여백 공간인 half-leading 영역을 제어할 수 있게 되었다.(영어)
그 밖의 개발 관련
인프라 관련
AI 관련
볼만한 링크
- 데이팅 앱 내부에서는 실제로 무슨 일이 일어나는가 : What really happens inside a dating app의 번역 글로 데이팅 앱의 데이터를 살펴보면서 데이팅 앱의 사용자인 남자와 여자가 어떻게 행동하고 데이팅 앱은 여기에 어떻게 반응해서 서비스를 제공하는지를 자세히 살펴본 글이다. 좋아요에 대한 데이터, 피드 알고리즘의 중요도, 리텐션의 의미, 가짜 계정 등 다양하게 정리되어 있다. 글이 엄청 긴데도 불구하고 꽤 재미있는 정보를 알려주는 글이다.(한국어)
- Meta’s Hyperscale Infrastructure: Overview and Insights : Meta의 하이퍼스케일 인프라에 어떻게 접근하는지 설명한 글이다. 빠른 움직임을 강조하는 Meta는 상태가 없는 서버리스 함수로 코드를 주로 작성하며 단일 리포지터리를 사용하면서 팀 간의 개방성을 강조하며 각 프로덕션 서비스를 만드는 팀에서 논문도 작성해서 솔루션까지 도출하고 인프라를 표준화하고 재사용할 수 있는 구성 요소를 선호하는 형태로 인프라를 구성했다. 인프라는 CDN을 적극적으로 사용하며 데이터센터 간 최적의 경로를 사용할 수 있도록 구축했으며 온라인 처리와 오프라인 처리를 분리해서 아키텍처를 간소화했다. 생산성을 위해 지속적 배포를 하고 있어서 97%의 서비스가 완전히 자동화된 배포를 사용하고 있다. 또한 전 세계의 모든 데이터센터를 하나의 컴퓨터로 사용한다는 비전을 가지고 구축되어 있다. 꽤 긴 글이지만 Meta 정도의 하이퍼스케일이 궁금하다면 꽤 재미있게 볼 수 있다.(영어)
IT 업계 뉴스
- Resigning as Asahi Linux project lead : Apple Silicon에서 Linux를 실행하기 위해 시작된 Asahi Linux의 프로젝트 리드인 Hector Martin이 사임했다. Hector Martin는 처음 시작했을 때 엄청난 응원과 후원을 받아서 많은 성공을 거두었지만, 여전히 계속된 요구사항이 몰려오는 상황이었다. 2024년부터는 Rust를 Linux에 통합하는 작업이 Asahi Linux 입장에서도 아주 중요했기에 이 작업을 많이 지지했지만, Hector Martin를 비난하는 사람들이 나타나고 Linux 프로젝트의 고위직을 맡은 사람들도 이러한 학대와 비난을 지지하는 경우도 있었다고 한다. 재밌게 시작한 프로젝트였지만 더 이상 노력할 가치가 없다고 느껴서 프로젝트 리더에서 물러난다고 한다.(영어)
- Oracle justified its JavaScript trademark with Node.js—now it wants that ignored : 작년 말 Ryan Dahl이 Oracle이 가진 JavaScript 상표권에 대한 권리를 취소해 달라는 청원서를 미국 특허청에 제출했는데 이에 대한 Oracle의 답변이 제출되었다. 2019년 Oracle은 JET 홈페이지와 Node.js의 홈페이지의 스크린숏을 제출하며 상표권을 계속 사용 중이라고 주장한 부분이 사기라며 취소 청원서를 제출한 것이다. Oracle의 상표권은 소프트웨어 제품(Class 9), 기술 서비스(Class 42) 모두를 포함하는데 Node.js 스크린숏은 Class 42만을 위한 거였고 JET는 둘 다 커버하므로 상관없다며 제대로 된 답변은 하지 않고 지연시키는 전략을 사용하고 있다.(영어)
프로젝트
버전 업데이트
- Vite v6.0.0 : 프론트엔드 빌드 도구, 변경 사항
- pgAdmin 4 v9.0 : PostgreSQL 클라이언트 도구, 릴리스 공지
- Grafana Beyla 2.0.0 : eBPF를 이용한 자동 계측, 릴리스 공지
- 모든 프로그래밍 언어의 분산 트레이싱 지원
- OpenTelemetry와의 연동 개선
- Loki v3.4.0 : Prometheus 형식의 로그 수집 시스템, 릴리스 공지
- Thanos 오브젝트 스토리지 클라이언트 지원
- Promtail을 deprecation 시키고 Alloy로 통합. Promtail은 25년 2월 13일 부터 LTS가 시작되고 26년 3월 2일 지원과 업데이트가 중단된다.
- ESLint v9.20.0 : JavaScript 코드 분석 도구, 릴리스 공지
- Hono v4.7.0 : 엣지용 웹 프레임워크, 릴리스 공지
- Argo CD v2.14.0 : Kubernetes 배포 도구, 릴리스 공지, 변경사항
- Argo Rollouts v1.8 : Kubernetes 딜리버리 컨트롤러, 릴리스 공지
- Zed v0.172.10 : 코드 에디터, 릴리스 공지
- Spring Tools v4.28.0 : Spring 코딩 환경을 위한 도구, 릴리스 공지
- Kamal 2.5.0 : 배포 도구, 릴리스 공지
- pnpm v10.4.0 : Node.js 패키지 매니저, 릴리스 공지
- ClickHouse v25.1 : 컬럼형 데이터베이스, 릴리스 공지
- Docker Desktop v4.38 : 데스크톱용 Docker 애플리케이션, 릴리스 공지
- Flutter v3.29 : iOS, Android 네이티브 앱을 만드는 프레임워크, 릴리스 공지
- Dart v3.7.0 : 프로그래밍 언어, 릴리스 공지
- Go v1.24 : 프로그래밍 언어, 릴리스 공지
- podman v5.4.0 : 컨테이너 엔진, 변경사항
- Jotai v2.12.0 : React 상태 관리 라이브러리, 릴리스 공지
- Prettier v3.5.0 : JavaScript/TypeScript 포매터. 릴리스 공지
- Node.js v22.14.0 (LTS) : 자바스크립트 런타임, 릴리스 공지
- Node.js v23.8.0 (Current) : 자바스크립트 런타임, 릴리스 공지
- astro v5.3 : JavaScript 웹 프레임워크, 릴리스 공지
- Falco Talon v0.3.0 : Falco를 위한 응답 엔진, 릴리스 공지
- Ratify v1.4.0 : 아티팩트 검증 엔진, 릴리스 공지
Comments