🍚 깃밥 PRO가 열렸어요 — 월 3,900원 · 알아보기 →
테크 반찬2026년 9월 12일· Tide 제공

2026년 오픈소스 트렌드 3가지: Rust 서버 UI부터 Uber ETA, AI 에이전트 마켓까지

  • Rust용 서버 주도 UI 크레이트 webformscore 2.1.0 공개, cargo add로 설치 가능
  • Uber는 전 세계 약 1억 개 도로 세그먼트를 드라이버 GPS 신호로 실시간 측정
  • DeepETA는 매초 약 200만 건의 예측 요청을 처리하며 3시간 앞을 예측

오늘 개발자 커뮤니티에서는 서로 다른 세 갈래의 소식이 눈에 띕니다. Rust 생태계에 새로 등장한 서버 주도 UI 기술, Uber가 ETA를 계산하는 내부 구조, 그리고 AI 에이전트가 코드를 생산하고 유통하는 새로운 플랫폼 구상까지 각각 독립적인 흐름이지만 모두 '오늘의 오픈소스·개발자 생태계'라는 큰 틀 안에 있습니다.

Rust 커뮤니티를 위한 새로운 서버 주도 UI 기술, WebForms Core

Great News for the Rust Community: A New Server-Driven UI Technology in Rust
dev.to

핵심: Elanat이 개발한 WebForms Core가 Rust 크레이트 webformscore로 정식 등장했습니다.

WebForms Core는 Elanat이 소유하고 개발하는 기술로, 서버가 HTML 문서에 적용할 변경 사항과 동작을 명령 형태로 생성하면 브라우저 측이 이를 받아 실행하는 서버 주도 UI(server-orchestrated UI) 방식입니다. 이번에 Rust 구현체가 webformscore 크레이트로 공개되면서 Actix Web 같은 Rust 웹 프레임워크에서도 WebForms Core 프로그래밍 모델을 사용할 수 있게 됐습니다. 서버 측 핵심은 WebForms 클래스이며, 이 클래스가 WebForms Core 명령을 생성하면 브라우저 측 WebFormsJS가 이를 받아 HTML DOM에 실제 변경을 가하는 구조입니다.

전체 흐름은 Rust 서버 → WebForms 클래스 → WebForms Core 명령 → WebFormsJS → HTML DOM 순으로 이어지며, Rust 애플리케이션이 브라우저 DOM을 직접 조작하지 않고 명령만 생성한다는 점이 특징입니다. WebFormsJS는 Rust 백엔드와 독립적으로 동작하도록 설계되어 있어 서로 다른 서버 측 WebForms Core 구현체와도 함께 쓸 수 있습니다. 설치는 Cargo CLI로 cargo add webformscore를 실행하거나 Cargo.toml에 webformscore = "2.1.0"을 직접 추가하면 되며, 브라우저 런타임인 WebFormsJS는 npm install webformsjs 또는 공식 GitHub 저장소에서 소스를 받아 별도로 설치합니다.

새로운 크레이트가 하나 늘어난 것은 Rust 생태계 안에서의 이야기지만, 실제 서비스가 방대한 데이터를 다루며 어떤 식으로 실시간 로직을 구축하는지는 또 다른 차원의 문제입니다. 다음으로 살펴볼 Uber의 ETA 계산 구조는 그 실전 사례 중 하나입니다.

출처: dev.to | 원문 보기 ↗

Uber는 어떻게 드라이버 도착 시간을 정확히 맞출까

How Uber Knows Your Driver Is 7 Minutes Away
dev.to

핵심: Uber는 도로를 통째로 보지 않고 약 1억 개의 세그먼트로 쪼개 실시간으로 추적합니다.

Uber는 도로 전체가 아니라 잘게 쪼갠 '도로 세그먼트' 단위로 사고합니다. 하나의 도로는 몇 개의 조각으로 나뉘고, 전 세계적으로 Uber는 약 1억 개의 이런 세그먼트를 추적하고 있습니다. 각 세그먼트에는 지금 이 순간 그 구간을 통과하는 데 걸리는 시간이라는 값이 붙어 있는데, 이 값은 새벽 2시에는 20초였다가 금요일 저녁 6시에는 같은 200미터 구간에서 2분으로 바뀌는 식으로 계속 변합니다.

흥미로운 점은 Uber가 이 실시간 교통 데이터를 외부에서 구매하지 않는다는 것입니다. 플랫폼의 모든 드라이버는 앱 작동을 위해 4초마다 위치를 전송하고 있고, 이 스트림 자체가 사실상 무료 교통 텔레메트리 역할을 합니다. 드라이버가 세그먼트를 하나 통과할 때마다 Uber는 그 구간이 방금 몇 초 걸렸는지 정확히 알게 되고, 이를 활성 드라이버 전체에 곱하면 카메라 한 대 설치하지 않고도 실시간 교통 센서망을 갖추게 되는 셈입니다. 라우팅 엔진은 드라이버에서 승객에게 가는 가장 빠른 경로를 이 세그먼트들 사이에서 찾고, 그 경로를 따라 통과 시간을 모두 더해 ETA를 산출합니다.

하지만 실시간 측정값은 과거 몇 분 동안 그 세그먼트가 어땠는지만 알려줄 뿐, 드라이버가 아직 이동 중인 15분 뒤의 상태까지 알려주지는 못합니다. 이 문제를 풀기 위해 Uber는 2022년 DeepETA라는 딥러닝 시스템을 도입했는데, 평소 빠른 도로에 방금 사고가 났다면 DeepETA는 과거 패턴보다 실시간 신호를 더 신뢰하고, 최근 드라이버가 지나가지 않은 한적한 골목은 주변의 더 붐비는 도로 상태로부터 추론합니다. DeepETA는 모든 세그먼트에 대해 앞으로 3시간 치 예측을 몇 분 간격으로 갱신하며, 초당 약 200만 건의 예측 요청에 응답해 Uber 내부에서 가장 많이 호출되는 모델 중 하나가 됐습니다.

1억 개Uber가 추적하는 전 세계 도로 세그먼트 수
4초드라이버 GPS 위치 전송 주기
200만 건/초DeepETA가 처리하는 예측 요청 수
3시간DeepETA가 앞서 예측하는 시간 범위

Uber 사례가 대규모 서비스가 실시간 데이터와 머신러닝을 결합해 만든 내부 엔지니어링 구조라면, 다음 소식은 AI 에이전트들이 코드를 직접 생산하고 유통하는 것을 목표로 하는 별도의 프로젝트 이야기입니다.

출처: dev.to | 원문 보기 ↗

AICOM은 공장, AIMarket은 그 공장이 만든 것을 유통하는 경제

AICOM is the factory. AIMarket is the economy it ships into.
dev.to

핵심: AICOM은 한 문장의 요청을 받아 코드를 생산하는 파이프라인, AIMarket은 그 결과물을 에이전트들이 발견·호출·검증하는 장터로 소개됩니다.

개발팀은 AICOM과 AIMarket이 두 개의 스타트업이거나 리브랜드, 혹은 부가 기능이 붙은 Discord냐는 질문을 자주 받는다며, 이 둘은 의도적으로 분리된 이름이라고 설명합니다. AICOM은 하나의 문장 요청을 받아 애널리스트, PM, 아키텍트, 디자인 크리틱, 개발자, QA, 보안, DevOps 등 13명의 전문 역할을 거쳐 리서치부터 배포까지 진행하는 파이프라인으로 소개됩니다. 게스트는 로그인 없이 원하는 것을 입력하면 공장이 미리보기 가능한 페이지를 만들어주고, 관리자 화면에서는 같은 에이전트 경로로 더 긴 제품을 다룰 수 있습니다.

개발팀은 속이 빈 스텁이나 "TODO: implement" 같은 미완성 코드는 완료로 치지 않는 게이트를 두었고, 막힌 빌드가 토큰을 무한정 소모하지 않도록 수리 라운드에 상한선을 뒀다고 밝혔습니다. 또한 서비스는 셀프 호스팅 방식으로, 사용자 자신의 서버와 모델 키, 데이터를 그대로 쓸 수 있다고 설명합니다. 개발팀은 초기 병렬 단계에서 asyncio.gather를 return_exceptions=True 없이 사용해 하나의 LLM 타임아웃이 다른 모든 에이전트를 중간에 취소시켰던 경험을 공유하며, 멀티 에이전트 파이프라인에서는 모델 실패가 단순한 운영 이슈가 아니라 정확성 문제라는 교훈을 얻었다고 밝혔습니다.

AIMarket은 이렇게 만들어진 결과물이 다른 에이전트에게 발견되고 호출되며, 그 호출에 대한 서명된 영수증을 받을 수 있는 공간으로 소개됩니다. 대표적으로 무작위성, 경과 시간, 평판, 형태, 라우팅 등을 다루는 17개의 수학 오라클이 실시간으로 운영 중이며, 각각은 에이전트가 호출할 수 있는 하나의 기능이자 3D 화면으로 구현된 공간이라고 설명합니다. 프로젝트 코드는 github.com/alexar76/aicom 저장소에 공개돼 있습니다.

출처: dev.to | 원문 보기 ↗

이게 나에게 의미하는 것

Rust로 서버 주도 UI를 검토 중이라면, webformscore와 WebFormsJS를 각각 Cargo와 npm(또는 GitHub 저장소)에서 받아 Actix Web 같은 기존 프레임워크에 바로 붙여볼 수 있습니다. 대규모 실시간 서비스의 아키텍처 패턴이 궁금하다면, Uber가 도로를 세그먼트 단위로 쪼개고 드라이버 GPS 신호를 재활용해 별도 데이터 구매 없이 센서망을 구축한 방식은 참고할 만한 사례입니다. AI 에이전트가 코드를 생산·유통하는 구조에 관심 있다면, AICOM 저장소를 직접 열어 게이트와 반복 상한 같은 안전장치가 어떻게 구현돼 있는지 확인해보는 편이 유용합니다.

정리: 오늘의 시사점

오늘 소개한 세 소식은 서로 다른 층위의 개발자 생태계 이야기입니다. webformscore는 Rust 크레이트 하나가 새로 나온 사실 그 자체이고, Uber의 ETA 구조는 이미 운영 중인 대규모 서비스의 내부 엔지니어링이며, AICOM·AIMarket은 아직 초기 단계의 자체 소개형 프로젝트입니다. 각각을 하나의 흐름으로 억지로 묶기보다는, 관심 있는 영역에 따라 직접 저장소와 문서를 열어 확인하는 것이 정확합니다. 특히 webformscore 2.1.0과 AICOM 저장소는 지금 바로 코드를 받아볼 수 있는 상태라는 점에서 실습해볼 가치가 있습니다.

이 반찬이 맛있었다면
🍚 이 글은 자매 서비스 Tide에서 차려온 반찬입니다.
출처: dev.to · dev.to · dev.to