JavaScript Temporal is coming : JavaScript의 Date 객체가 시간대를 지원하지 않고 다루기 어려운 것으로 알려져서 이를 완전히 대체하기 위해 만들어진 것이 Temporal이다. Temporal은 고유한 시점의 시간, 지역 시간, 지속 시간 등을 기록할 수 있고 시간 간격과 계산을 쉽게 할 수 있다. 아직 크로스 브라우저에서 안정적으로 지원되기까지는 멀었지만 MDN에 270페이지의 Temporal 문서가 추가되었다.(영어)
3단계로 완성하는 유연한 디자인 시스템 : Line Plus에서 디자인 시스템을 만들면서 HeadlessUI를 사용해서 디자인 시스템의 산출물로 사용하기로 하고 토큰을 Primitive, Semantic, Component-specific 3단계로 나누어서 다양한 스타일을 적용할 수 있도록 구성했다. 이를 Figma에서 Variables로 사용해서 이름을 통일하고 코드에서 토큰도 통일시켜서 Storybook에서도 사용하게 함으로써 디자인과 개발의 커뮤니케이션도 효율적으로 개선했다.(영어)
Umbrella: CRA breaks with React 19, and CRA needs deprecation notices : React 19가 출시된 이후 피어 의존성 문제로 사용자들이 npm 설치 시 오류를 겪고 있다. 이 오류 자체는 해결가능하지만, CRA는 2년 거의 관리가 되지 않았음에도 공식 문서 및 여러 곳에서 CRA를 사용하는 것을 권장하고 있어서 초심자는 자연스레 CRA를 사용할 가능성이 높은 상황이라 deprecation하는 논의를 시작하고 deprecatio 공지를 올리는 Pull Request를 올렸다. 2016년 만들어진 이후 React 프로젝트를 시작하는 도구로 널리 쓰였고 이후 생태계에도 영향을 미쳤지만 이제 역사 속으로 사라지게 되었다.(영어)
그 밖의 개발 관련
Optimizing in-process gRPC with Go 1.23 Iterators and Coroutines : Thanos에서 in-process gRPC를 Interator와 함께 사용해서 성능을 개선한 과정을 설명한다. in-process gRPC를 최적화하기 위해 채널 기반, 커스텀 스트리밍 등을 고려했지만 Go 1.23에 도입된 iter 패키지를 사용하면 코루틴으로 데이터 처리를 효율적으로 알 수 있게 되었다. 테스트 결과 다른 방식 대비 30~50%의 지연시간 감소가 있었고 메모리 사용량도 크게 줄어들었으며 코드도 커스텀 구현보다 훨씬 간결해졌다.(영어)
Every System is a Log: Avoiding coordination in distributed applications : 복원력이 뛰어난 분산 애플리케이션을 구축하는 것은 복잡하고 어려운 일인데 모든 시스템은 로그이기 때문에 각 시스템이 별도의 로그를 유지하므로 이를 오케스트레이션 하는 과정에서 복잡성이 생기게 된다. 이를 해결하기 위해 모든 상태를 하나의 로그에 넣으면 조정할 것이 없어지고 구현하기가 쉬워져서 분산 시스템의 복잡성을 감소시키는 해결책이 된다. 복원력이 뛰어난 시스템을 만드는 솔루션을 제공하는 restate는 이 아이디어를 구현한 오픈소스이다.(영어)
Why I still like Sublime Text in 2025 : 지난 15년 동안 Sublime Text를 사용해 왔고 주변에서 왜 아직 Sublime Text를 쓰냐는 말을 듣지만, 앞으로도 계속 사용할 예정이라는 글이다. 많은 사람들이 Sublime Text가 죽었다고 생각하지만 완성된 소프트웨어고 여전히 업데이트되고 있다. Sublime Text는 빠르고 LSP 지원, 스니펫, 프로젝트 워크스페이스 등 다양한 기능을 많이 제공하고 있다.(영어)
Ingress Nginx Controller의 Prometheus Metric 병목 현상: 원인 분석과 해결 1부, 2부 : Ingress Nginx Controller에서 요청 수를 수집하는 메트릭이 트래픽이 증가했을 때 유실되는 문제를 찾아가는 과정을 설명한 글이다. Ingress Nginx Controller가 Nginx의 메트릭을 수집할 때 summary 데이터를 쌓으면서 Lock을 거는 과정에서 경합이 발생해서 Socket, goroutine, 메트릭 객체가 쌓이는 현상이 발생했고 Prometheus가 이를 수집해 가면서 타임아웃이 발생해서 메트릭이 유실되었다.(한국어)
Kind Engineering : 친절이란 것은 다른 사람들에게 관심을 가지고 도울 방법을 찾아내는 것으로 친절한 엔지니어링을 하면 생산성이 향상되고 더 성공적이면서 행복해질 수 있다고 합니다. 이를 위해 정직하게 동료를 대하면서 커뮤니케이션해야 하고 조직이 심리적 안정을 느낄 수 있게 해야 함을 강조하고 있다.(영어)
I Ditched the Algorithm for RSS—and You Should Too : 소셜미디어의 추천 알고리즘은 많은 시간을 낭비하게 하지만 간혹 보이는 좋은 콘텐츠에 그래도 가치가 있다고 느끼게 된다. RSS를 사용해서 이러한 소셜미디어의 알고리즘에 빠지지 않고 원하는 양질의 콘텐츠를 구독해서 보는 방법을 선택했고 RSS 피드를 제공하는 서비스부터 Reddit 등 약간의 설정이 필요한 RSS 피드와 아예 RSS를 제공하지 않는 서비스를 구독하는 방법을 설명한다.(영어)
Zero sum games : Nuxt.js를 만든 Daniel Roe가 오픈소스를 이용한 상용화에 대한 분쟁을 언급하며 오픈소스는 상호 기부에 관한 것이므로 Nuxt.js로 돈을 벌고 싶으면 맘껏 벌라고 얘기하고 있다. 이는 오픈소스가 커뮤니티 프로젝트이고 보상은 가치를 따르지 않으며 성공에는 전염성이 있어서 오픈소스 기반의 상용 프로젝트가 더 많이 성공할수록 생태계의 혜택도 커진다고 얘기하고 있다.(영어)
Using Coding Skills to Make Passive Income : 150명 규모의 회사에서 CTO로 일하다가 지쳐서 퇴사하고 1인 기업가로 CTO 때의 월급 이상을 벌게 되기까지 어떤 일을 했는지에 대해 강연한 내용을 정리한 글이다. 꽤 긴 시간이 걸리고 작은 아이디어부터 빠르게 실험해 봐야 하고 싫더라도 마케팅과 영업에 시간을 써야 하며 포기하지 않고 계속하는 것이 성공으로 가는 가장 좋은 길이라고 설명한다.(영어)
2025년 미국 뉴욕 소프트웨어 엔지니어 취업기 : 뉴욕에서 살면서 미국 소프트웨어 엔지니어 구직에 도전해서 200개 이상 지원하고 8개 회사와 면접해서 3곳에 합격하게 된 경험과 도움 되었던 사이트가 정리되어 있다.(한국어)
IT 업계 뉴스
Microsoft is no longer OpenAI’s exclusive cloud provider : 그동안 Microsoft는 OpenAI의 모델을 학습하고 실행하는 데이터센터를 독점적으로 제공하고 있었다. Microsoft는 OpenAI와 우선 거부권을 가진 계약을 새로 체결해서 OpenAI의 인프라를 Microsoft가 충족하지 못할 경우에만 다른 클라우드를 사용할 수 있게 되었고 OpenAI는 이번에 소프트뱅크, 오라클 등과 새로운 인프라 계약을 맺었다.(영어)
TikTok goes dark in the US : 숏폼 서비스인 TikTok이 미국에서 중단되었다. 이는 TikTok을 매각하거나 미국 내 사용을 금지하는 법안에 의한 것이었지만 도널드 트럼프는 취임하면 이 금지 조치를 연기하는 행정 명령을 하겠다고 밝혔고 TikTok 인수가 30일 이내에 결정될 것이라고 밝혔다.(영어)
Comments