Techlist.io - 한국 테크 블로그 큐레이터

discord4분 읽기큐레이션 요약

Osprey: 규칙 엔진 오픈 소

Discord는 실시간 안전 대응을 위해 개발한 규칙 엔진 Osprey를 ROOST 및 internet.dev 팀과 오픈소스로 공개했다. Osprey는 초당 수천 건의 이벤트를 처리하고, Python 기반 규칙 언어로 탐지 정책을 빠르게 배포하며, 판정 결과와 실행 과정을 추적할 수 있도록 설계됐다. 이를 통해 플랫폼은 새로운 위협에 대응하는 데 필요한 엔지니어링 부담을 줄이고, 탐지 결과를 다음 규칙 개선에 활용할 수 있다. ## Osprey를 개발한 배경과 목표 - 온라인 플랫폼은 스팸, 사기, 악성 사용자 등 유사한 안전 문제를 반복적으로 해결해야 한다. - Osprey는 각 기업이 안전 도구를 처음부터 만들지 않도록 재사용 가능한 규칙 엔진을 제공한다. - 주요 요구사항은 다음과 같다. - **대규모 실시간 처리:** 초당 수천 건의 이벤트를 처리하고 플랫폼 성장에 맞춰 확장 - **신속한 대응:** 표현력 있는 규칙을 작성해 수분 내 적용 - **명확한 판정:** 활동을 안전, 의심, 악성 등으로 판단할 수 있는 결과 제공 - **실행 과정 공개:** 어떤 규칙이 실행됐고 오류가 발생했는지 확인 가능 - **지속적인 학습:** 탐지 결과와 조사 내용을 새로운 규칙 개선에 반영 - **확장성:** 앞으로 등장할 새로운 공격 패턴과 기능을 수용 ## 전체 처리 구조 - Osprey는 플랫폼에서 발생한 **Action**을 입력으로 받는다. - Action은 다음 방식으로 전달할 수 있다. - gRPC를 통한 동기 처리 - 메시지 큐를 통한 비동기 처리 - 입력된 Action은 SML로 작성된 **Rules**를 거친다. - 규칙은 **UDF(User Defined Function)**로 확장할 수 있다. - 실행 과정에서 **Features**와 **Effects**가 생성된다. - 일부 Effects인 **Verdict**는 동기 요청자에게 즉시 판정 결과를 반환한다. - 모든 출력은 Apache Druid 클러스터로 전송되어 조사용 UI에서 검색·분석된다. ## Action: 규칙 엔진의 입력 이벤트 - Action은 Osprey에 전달되는 이벤트이며, 각 이벤트 유형은 고유한 ID와 스키마를 가진다. - 사실상 호출자가 원하는 데이터를 담은 JSON 객체로 구성된다. - 예를 들어 `user_login_attempted` 이벤트에는 사용자 ID, 이름, 이메일, IP 주소 등을 포함할 수 있다. - 이벤트 스키마를 애플리케이션에 맞게 정의할 수 있어 로그인, 메시지 전송, 계정 생성 등 다양한 활동을 처리할 수 있다. ## Rule과 SML 규칙 언어 - Rule은 Osprey의 핵심 구성 요소로, 특정 조건이 충족됐을 때 수행할 조치를 정의한다. - SML(Some Made-up Language)은 Python을 기반으로 한 규칙 언어다. - 기술 지식이 많지 않은 운영·안전 담당자도 작성할 수 있도록 비교적 단순한 문법을 사용한다. - 규칙은 다른 규칙과 데이터를 참조할 수 있어 복잡한 탐지 로직도 구성 가능하다. - 정적 검증을 통해 규칙 작성 방식을 강제할 수 있다. - 변수명 규칙 검사 - 데이터 타입 검사 - 특정 Entity에 적용 가능한 Effect 검사 - 예시에서는 이메일이 특정 값과 일치하면 해당 사용자의 Entity에 `spammer` 라벨을 추가한다. - `EntityJson`으로 사용자 ID를 추출 - `JsonData`로 이메일을 추출 - `Rule`로 스팸 사용자 조건 정의 - `WhenRules`로 조건 충족 시 `LabelAdd` 실행 ## UDF: 규칙 언어를 확장하는 Python 함수 - UDF는 실제 Python으로 작성되며 SML 규칙 어디서든 호출할 수 있다. - `Rule`, `WhenRules`, `JsonData` 등 Osprey의 기본 기능도 UDF로 구현되어 있다. - 사용자가 자체 UDF를 추가해 제품별 기능이나 외부 서비스 연동을 구현할 수 있다. - 예를 들어 외부 머신러닝 서비스에 링크를 전달해 스팸 점수인 `0~1` 범위의 값을 받아 규칙 조건으로 사용할 수 있다. - UDF는 다음과 같은 실행 정보를 정의할 수 있다. - 어떤 기능 범주에 속하는지 - 비동기 실행 여부 - 외부 서비스 접근 방식 - 실행 결과의 타입 - 따라서 규칙 엔진 자체를 수정하지 않고도 새로운 탐지 모델, 데이터 소스, 내부 서비스를 연결할 수 있다. ## Feature: 실행 결과로 생성되는 데이터 - Feature는 Osprey의 전역 네임스페이스에 등록된 변수다. - 모든 Feature는 고유한 이름을 가져야 한다. - 변수명 앞에 `_`를 붙이면 Feature로 외부에 내보내지 않고 현재 파일의 로컬 변수로 유지할 수 있다. - 실행 결과인 Feature는 Druid에 전송·색인된다. - 이후 조사 UI에서 `UserEmail == 'despicable@example.com'`처럼 특정 Feature 값을 기준으로 이벤트를 검색할 수 있다. - 예시의 `UserId`와 `UserEmail`은 모두 Feature다. ## Entity: 효과를 적용할 수 있는 지속적 대상 - Entity는 Feature의 특수한 형태다. - 모든 Entity는 Feature지만, 모든 Feature가 Entity인 것은 아니다. - Discord에서는 사용자, 서버, 이메일처럼 지속적으로 추적할 수 있는 대상을 Entity로 표현한다. - Entity에는 라벨, 분류, 신호 등의 Effect를 적용할 수 있다. - Entity 유형에 따라 적용 가능한 Effect가 달라지며, 이를 정적 검증으로 제한한다. - Osprey UI에서 Entity를 선택하면 해당 대상의 과거 활동과 처리 이력을 확인하는 Entity View로 이동할 수 있다. ## Effect와 Verdict - Effect는 하나 이상의 Rule이 참으로 평가됐을 때 발생하는 결과 또는 조치다. - Effect는 실행 전에 검증되며, 실행이 끝난 뒤 집계해 처리된다. - Entity에 라벨·분류·신호를 부여하는 작업이 대표적인 Effect다. - 동기 Action의 경우 Verdict Effect를 통해 호출자에게 규칙의 판정 결과를 반환할 수 있다. - 이를 활용하면 로그인이나 콘텐츠 게시 요청을 즉시 허용·차단하거나 추가 조사를 요구하는 흐름을 만들 수 있다. ## 실용적인 활용 방향 Osprey는 이벤트 수집, Python 기반 규칙 작성, 외부 탐지 서비스 연동, Druid 기반 조사까지를 하나의 구조로 제공한다. 새로운 위협에 자주 대응해야 하는 플랫폼이라면 규칙을 애플리케이션 코드와 분리하고, 정적 검증과 실행 추적을 갖춘 Osprey 같은 엔진을 활용하는 것이 운영 속도와 투명성을 높이는 방법이 될 수 있다.

원문 읽기(새 탭에서 열림)
discord4분 읽기큐레이션 요약

디스코드 패치 노트: 20

Discord의 2026년 2월 4일 패치는 데스크톱 렌더링 성능, 스트리밍 사용성, 모바일 안정성, 권한 관리 등을 폭넓게 개선했다. 특히 느린 CSS 선택자를 최적화해 화면 이동과 상호작용 지연을 크게 줄였고, 화면 공유 확대·이동과 `@time` 명령어 같은 기능을 추가했다. 또한 오디오·비디오 백엔드의 Rust 이전이 80% 이상 진행됐으며, 다양한 플랫폼별 버그도 수정했다. ## 데스크톱 성능과 스트리밍 개선 - 데스크톱 렌더링 성능을 크게 향상해 메뉴 탐색과 앱 조작 시 지연을 줄였다. - 성능 저하의 주요 원인은 느린 엔드포인트나 컴포넌트가 아니라 비효율적인 CSS 선택자로 확인됐다. - 화면 공유 및 게임 스트림에서 마우스 휠이나 트랙패드로 확대·축소와 화면 이동이 가능해졌다. - 스트리밍 시작 과정의 미리보기 로딩 시간을 단축했다. - 프로필 편집 중 `Esc`를 눌러도 전체 프로필 편집 모달이 닫히지 않도록 수정했다. - 선택 항목이 없을 때 복사 단축키를 누르면 클립보드가 비워지던 문제를 해결했다. ## 모바일 기능 및 플랫폼별 수정 - Android 그룹 DM 알림에 발신자 이름 대신 그룹 이름이 표시되도록 변경해 iOS와 동작을 통일했다. - Android에서 여러 오디오 트랙이 포함된 동영상이 정상적으로 재생되도록 수정했다. - iOS의 클라이언트 테마 목록을 스와이프할 때 지나치게 빠르게 스크롤되던 문제를 해결했다. - Android에서 불필요한 하단 바가 표시되어 상호작용을 막던 문제를 수정했다. - iOS 및 Android 연결 설정의 버튼 정렬 문제를 해결했다. - 일부 Android 기기에서 Shop이 한 열로만 표시되던 문제를 수정했다. - iOS에서 GIF 선택기로 새 아바타를 설정할 때 정지 이미지로 저장되던 문제를 해결했다. - 모바일의 채널 탐색 기능은 베타 상태를 종료하고 정식 기능으로 전환됐다. ## 서버 권한과 커뮤니티 관리 - 신뢰할 수 있는 사용자에게 부여할 수 있는 `Bypass Slowmode` 권한을 추가했다. - 이 권한을 기존 역할과 연결하는 설정이 2월 23일까지 서버 관리자에게 제공될 예정이다. - 역할 멘션을 클릭해 해당 역할을 가진 사용자 목록을 확인하는 기능이 모든 안정화 버전에 적용됐다. - 서버 초대 모달이 사용자명뿐 아니라 표시 이름도 지원하도록 개선됐다. - 서버 태그가 데스크톱 프로필 미리보기에 올바르게 반영되도록 수정했다. - 역할 선택 필드가 투명하게 표시되던 문제와 서버 설정의 이모지 영역 정렬 문제를 해결했다. ## 오디오·비디오 백엔드의 Rust 전환 - Discord는 지난 1년간 오디오·비디오 백엔드를 Rust로 이전해 왔다. - 현재 전체 트래픽의 80% 이상이 새로운 Rust 기반 백엔드에서 처리된다. - 이번 패치에서는 이 마이그레이션이 상당히 진행되었음을 강조하며, 성능과 안정성 개선의 기반으로 제시했다. ## 시간 표시와 기타 사용성 개선 - 데스크톱에서 새로운 `@time` 명령어를 제공한다. - 사용자가 특정 시각을 입력하면 Discord가 Linux 타임스탬프를 생성하고, 보는 사람의 시간대에 맞춰 자동으로 표시한다. - `Ctrl+Alt+Shift+W` 또는 macOS의 `Cmd+Option+Shift+W`로 Vibing Wumpus 2.0을 실행할 수 있다. - 로그아웃할 때 재생 중인 음성 메시지가 정상적으로 중지되도록 수정했다. - 친구 요청을 무시한 뒤 DM 화면의 버튼이 “친구 요청 수락”에서 “친구 추가”로 올바르게 변경된다. - 이벤트 미리보기에서 Markdown이 정상적으로 렌더링된다. - 이벤트 진행 중에는 오류를 유발할 수 있는 “관심 있음” 버튼이 표시되지 않도록 수정했다. ## 프로필, 채널, 메시지 관련 버그 수정 - 프로필의 “About Me”를 편집할 때 커서가 부적절하게 텍스트 끝으로 이동하던 문제를 해결했다. - 서버별 프로필 편집 중 아바타 장식이 제대로 렌더링되지 않던 문제를 수정했다. - 프로필 테마 그라디언트가 모달 전체를 채우지 못하던 문제를 해결했다. - 매우 긴 포럼 채널 설명 때문에 채널 탐색 화면이 흔들리던 문제를 수정했다. - 서버 멤버 메뉴의 열 정렬 문제를 해결했다. - 포럼 채널이 포함된 온보딩 작업에서 UI 요소가 겹치던 문제를 수정했다. - 이모지 편집 시 “완료” 버튼을 빠르게 두 번 누르면 이모지가 중복되던 문제를 해결했다. - 서버에 텍스트 채널이 없는 상태에서 스티커의 관련 이모지를 클릭하면 클라이언트가 충돌하던 문제를 수정했다. - 받은 선물 모달이 두 번 나타나는 문제를 해결했다. - 데스크톱 받은편지함의 필터가 작동하지 않던 문제를 수정했다. ## 안정성 및 인터페이스 개선 - 특정 메뉴를 탐색할 때 클라이언트가 잠기는 문제를 해결했다. - Checkpoint 모달이 중복 표시되어 작업이 두 번 로드될 수 있던 문제를 수정했다. - F10 이후 기능 키가 UI에 `0`으로 표시되고 저장되지 않던 문제를 해결했다. - 위험할 수 있는 다운로드 모달의 버튼 간 여백을 조정했다. - 모바일의 커뮤니티 활성화 화면이 제대로 표시되지 않던 문제를 수정했다. - iOS에서 채널 카테고리가 읽지 않은 채널처럼 보이던 스타일 문제를 해결했다. - 데스크톱의 서버 설정 이모지 영역, 역할 선택 영역 등 여러 UI 정렬과 여백을 개선했다. - 모든 수정 사항은 코드에 반영됐지만 플랫폼별 배포는 단계적으로 진행될 수 있다. 이번 업데이트는 새로운 대형 기능보다는 성능과 안정성, 플랫폼 간 동작 통일에 초점을 맞췄다. 특히 데스크톱 사용자는 렌더링 지연 감소를, 스트리밍 사용자는 화면 확대·이동과 빠른 미리보기를, 서버 관리자는 `Bypass Slowmode` 권한을 우선 확인할 만하다.

원문 읽기(새 탭에서 열림)
gitlab원문

GitLab, 서비스 크레딧으로 (새 탭에서 열림)

GitLab이 GitLab.com 및 GitLab Dedicated를 사용하는 Ultimate 요금제 고객을 대상으로 99.9% 가용성 보장 및 서비스 수준 계약(SLA) 미달 시 서비스 크레딧을 제공하는 정책을 발표했습니다. 이번 정책은 미션 크리티컬한 DevSecOps 워크플로우의 안정성을 보장하고 플랫폼 신뢰도에 대한 책임을 강화하기 위해 도입되었습니다. 가용성이 기준치 아래로 떨어질 경우, 고객은 향후 인보이스에서 차감 가능한 크레딧을 청구하여 비즈니스 연속성을 지원받을 수 있습니다. **신뢰 기반의 가용성 보장과 서비스 크레딧** * 현대적인 소프트웨어 개발 환경에서는 코드 푸시, 병합 요청(MR), 이슈 트래킹이 실시간으로 발생하므로 플랫폼의 가동 중단은 전체 워크플로우의 정지로 이어집니다. * GitLab은 99.9% 가용성 SLA를 통해 고객의 개발 속도가 인프라 문제로 저해되지 않도록 보장하며, 서비스 크레딧 제도를 통해 플랫폼 신뢰도에 대한 금전적 책임을 명시했습니다. * 이는 단순한 가용성 수치 달성을 넘어 고객의 비즈니스 성과와 GitLab의 성공을 일치시키려는 전략적 의도를 담고 있습니다. **SLA 적용 대상 및 핵심 서비스 범위** * DevSecOps 워크플로우의 핵심인 이슈 관리와 병합 요청(Merge Requests) 기능이 포함됩니다. * HTTPS 및 SSH를 통한 Git 작업(push, pull, clone)과 컨테이너 및 패키지 레지스트리 운영이 보호 대상입니다. * 위 항목들과 관련된 API 요청 또한 SLA 범위에 포함되며, 구체적인 제외 항목은 GitLab 핸드북을 통해 투명하게 공개됩니다. **가동 중단(Downtime)의 기술적 정의와 측정 방식** * 전 세계 여러 지리적 위치에서 자동화된 모니터링 도구를 사용하여 실제 고객이 체감하는 가용성을 정밀하게 측정합니다. * 특정 '분' 단위 시간 동안 유효한 고객 요청의 5% 이상이 서버 오류(HTTP 5xx status codes) 또는 30초 이상의 연결 시간 초과를 발생시킬 경우 이를 '가동 중단 분'으로 정의합니다. * 서버측 실패 외에도 기능 사용을 불가능하게 만드는 애플리케이션 버그나 성능 저하 이슈에 대해서는 자동 모니터링 결과와 별개로 고객의 청구를 종합적으로 검토하여 반영합니다. **서비스 크레딧 청구 및 처리 절차** * 가동 중단이 발생한 달이 종료된 후 30일 이내에 GitLab 지원 센터(support.gitlab.com)를 통해 크레딧 청구를 제출해야 합니다. * GitLab 기술 팀은 제출된 청구 내용을 검토하고 내부 모니터링 데이터를 바탕으로 가동 중단 시간을 검증합니다. * 승인된 서비스 크레딧은 고객의 다음번 발행 인보이스에 적용되어 비용을 절감해 줍니다. GitLab Ultimate 사용 기업은 이번 SLA 정책을 통해 더욱 안정적인 개발 환경을 구축할 수 있게 되었습니다. 플랫폼 장애 발생 시 비즈니스 피해를 최소화하기 위해, 장애 발생 시점의 로그를 기록해두고 월 종료 후 30일 이내에 잊지 말고 크레딧을 청구하여 비용 효율성을 극대화하시기 바랍니다.

datadog3분 읽기큐레이션 요약

에이전트 Go 바이너

Datadog은 Gartner의 2026년 Observability Platforms Magic Quadrant에서 ‘Leader’로 선정되었다고 소개합니다. 제공된 내용은 이 평가 결과를 바탕으로 Datadog의 광범위한 제품군과 통합 관측성 플랫폼 역량을 강조하는 홍보성 페이지로 보입니다. 다만 Gartner의 구체적인 평가 기준, 경쟁사 비교, 강점·약점 분석은 포함되어 있지 않습니다. ## Gartner Magic Quadrant 리더 선정 - Datadog이 Gartner® Magic Quadrant™ for Observability Platforms에서 Leader로 이름을 올렸다는 소식을 전합니다. - 관측성 플랫폼은 인프라, 애플리케이션, 로그, 사용자 경험 등 여러 운영 데이터를 통합해 시스템 상태를 분석하는 영역입니다. - 제공된 본문에는 리더 선정의 세부 근거와 Gartner 보고서의 정량적 평가 내용은 제시되지 않았습니다. ## 인프라 및 애플리케이션 모니터링 - 인프라 영역에서는 다음 기능을 제공합니다. - 인프라·호스트 모니터링 - 메트릭 수집 및 분석 - 컨테이너와 Kubernetes 모니터링 - 네트워크, 서버리스, GPU 모니터링 - 클라우드 비용 및 스토리지 관리 - 애플리케이션 영역에는 다음 기능이 포함됩니다. - APM(Application Performance Monitoring) - 서비스 간 동작을 파악하는 Universal Service Monitoring - 연속 프로파일링과 동적 계측 - AI 에이전트의 동작을 관찰하는 Agent Observability ## 로그·데이터 관측성 - 로그 관리와 민감 데이터 탐지를 지원합니다. - Observability Pipelines를 통해 로그와 관측성 데이터를 수집·변환·전송할 수 있습니다. - 데이터베이스, 데이터 스트림, 데이터 품질, 작업 실행 상태를 모니터링하는 기능도 제공합니다. - 이를 통해 메트릭, 로그, 트레이스, 데이터 파이프라인 정보를 하나의 플랫폼에서 연결하려는 방향을 보여줍니다. ## 보안과 디지털 사용자 경험 - 보안 제품군에는 다음 영역이 포함됩니다. - 코드 보안과 SAST·IAST - 소프트웨어 구성 분석 - IaC 및 클라우드 보안 - 취약점 관리와 컴플라이언스 - Cloud SIEM, 워크로드 보호, 애플리케이션·API 보호 - 디지털 경험 영역에서는 다음 기능을 제공합니다. - 브라우저·모바일 RUM - 세션 리플레이와 신세틱 모니터링 - 제품 분석 및 실험 - 모바일 앱 테스트와 오류 추적 ## 소프트웨어 개발 및 서비스 운영 - CI Visibility, 테스트 최적화, 지속적 테스트, 코드 커버리지 등 소프트웨어 전달 과정을 관찰할 수 있습니다. - 내부 개발자 포털, 기능 플래그, IDE 플러그인도 제품군에 포함되어 있습니다. - 서비스 운영 측면에서는 다음 기능을 제공합니다. - 이벤트 및 인시던트 관리 - 서비스 카탈로그와 SLO - 케이스 관리와 워크플로 자동화 - Watchdog 기반 이상 탐지 - 대시보드, 노트북, 접근 제어, 거버넌스 ## AI 기반 운영 지원 - Bits AI Agents, Bits Chat, Bits Investigation 등 AI 기반 운영 도구를 제공합니다. - MCP Server, Agent Builder, Agent Directory 등을 통해 AI 에이전트와 Datadog 데이터를 연결하는 생태계를 확장하고 있습니다. - GPU 모니터링과 Agent Observability는 AI 애플리케이션 및 에이전트 운영을 위한 기능으로 제시됩니다. 실무적으로는 Datadog이 단순한 모니터링 도구를 넘어 인프라·애플리케이션·로그·보안·개발·AI 운영을 통합하는 플랫폼을 지향한다는 점이 핵심입니다. 다만 도입 전에는 Gartner 원문에서 평가 기준과 경쟁 제품 비교를 확인하고, 데이터 수집 비용·보존 기간·기존 도구와의 연동성을 함께 검토하는 것이 좋습니다.

원문 읽기(새 탭에서 열림)
datadog원문

Agent Go 바이너리 크기를 최대 77% 줄인 방법 (새 탭에서 열림)

Datadog은 에이전트 바이너리 크기가 5년 사이 3배 이상 비대해진 문제를 해결하기 위해, 기능 삭제 없이 Go 바이너리 크기를 최대 77% 줄이는 성과를 거두었습니다. 이들은 체계적인 의존성 감사, 코드 리팩토링, 링커 최적화 복원을 통해 1.22 GiB에 달하던 아티팩트를 5년 전 수준으로 되돌렸으며, 이 과정에서 발견한 Go 컴파일러의 특성을 활용해 Kubernetes 등 다른 대규모 오픈소스 프로젝트에도 기여했습니다. ### 데이터독 에이전트의 빌드 구조와 비대화 문제 * 데이터독 에이전트는 단일 제품처럼 보이지만, 실제로는 OS, 아키텍처, 환경(Docker, K8s, IoT 등)에 따라 수십 개의 서로 다른 빌드 구성을 가집니다. * 수백 개의 외부 라이브러리(Cloud SDK, 컨테이너 런타임 등)를 사용하며, Go 빌드 태그와 의존성 주입(Dependency Injection)을 통해 기능을 제어합니다. * 5년간의 기능 추가로 인해 Linux amd64 패키지의 압축 전 크기가 428MiB에서 1,248MiB로 약 192% 증가했으며, 이는 네트워크 비용 상승과 서버리스/IoT 환경에서의 사용 제약을 초래했습니다. ### Go 의존성 제거를 위한 전략적 접근 * **컴파일러의 패키지 처리 이해**: Go 컴파일러는 패키지 단위로 동작하며, 빌드 제약 조건에 맞는 파일 내에서 `main` 패키지로부터 전역적으로 도달 가능한(reachable) 모든 임포트를 포함합니다. * **빌드 태그 활용**: 불필요한 의존성을 포함하는 파일에 특정 빌드 태그(`//go:build`)를 추가하여, 해당 기능이 필요 없는 빌드에서는 컴파일 단계부터 제외되도록 구성했습니다. * **심볼 분리 및 리팩토링**: 무거운 의존성을 사용하는 특정 함수나 심볼을 별도의 패키지로 격리했습니다. 이를 통해 해당 기능이 꼭 필요한 바이너리에서만 해당 패키지를 임포트하도록 구조를 개선했습니다. ### 바이너리 분석 및 시각화 도구 활용 * **`go list`**: 특정 OS와 아키텍처, 빌드 태그 조합에서 포함되는 패키지 목록을 추출하여 의존성 현황을 파악했습니다. * **`goda`**: 패키지 임포트 관계를 그래프로 시각화하여, 특정 무거운 패키지가 어떤 경로를 통해 바이너리에 포함되었는지 추적했습니다. * **`go-size-analyzer`**: 바이너리 내부에서 각 의존성 패키지가 차지하는 실제 바이트 크기를 텍스트나 인터팩티브 웹 화면으로 분석하여 최적화 우선순위를 정했습니다. * **링커의 한계 파악**: 단순 임포트만으로도 `init` 함수 실행이나 전역 변수 초기화가 발생하여 링커가 해당 코드를 제거하지 못하는 경우가 있음을 확인하고 이를 관리했습니다. 대규모 Go 프로젝트에서 바이너리 크기를 줄이려면 단순한 코드 최적화를 넘어, `goda`나 `go-size-analyzer` 같은 도구로 의존성 그래프를 분석하고 빌드 태그를 활용해 패키지 간의 결합도를 낮추는 아키텍처적 접근이 필수적입니다. 특히 사용하지 않는 기능이 `init` 함수나 리플렉션(reflection)으로 인해 링커 최적화를 방해하지 않도록 주의 깊게 설계해야 합니다.

pinterest원문

Pinterest의 Apache Spark에서 (새 탭에서 열림)

Pinterest는 대규모 Spark 환경에서 빈번하게 발생하는 OOM(Out-of-Memory) 오류를 해결하기 위해 'Auto Memory Retries' 기능을 도입했습니다. 이 시스템은 태스크 수준에서 리소스 요구량을 동적으로 판단하고, 실패 시 더 큰 메모리 프로필을 가진 실행기(Executor)에서 태스크를 재시도하도록 자동화합니다. 이를 통해 수동 튜닝의 번거로움을 줄이고 자원 효율성을 높여 전체적인 작업 실패율과 운영 비용을 획기적으로 낮추는 성과를 거두었습니다. ### 기존 Spark 리소스 관리의 한계와 문제점 * Pinterest의 Spark 클러스터는 하드웨어 대비 높은 메모리 요구량으로 인해 OOM 오류가 잦았으며, 전체 작업 실패 원인의 약 4.6%가 메모리 부족에서 기인했습니다. * 사용자가 모든 스테이지와 태스크의 메모리 요구량을 정확히 예측하여 수동으로 설정하는 것은 매우 어렵고 시간이 많이 소요되는 작업입니다. * 데이터 스큐(Skew) 현상으로 인해 같은 스테이지 내에서도 특정 태스크만 과도한 메모리를 사용하는 경우가 많아, 모든 태스크를 최대치에 맞춰 설정하면 심각한 자원 낭비가 발생합니다. * 제품 팀의 우선순위 문제로 인해 비용 절감을 위한 수동 최적화가 지속적으로 이루어지기 어려운 구조적 한계가 있었습니다. ### Auto Memory Retries의 단계별 대응 전략 * **CPU 할당량 증설을 통한 메모리 확보 (1단계):** 실행기에 1개 이상의 코어가 있는 경우, OOM 발생 시 첫 번째 재시도에서 태스크당 CPU 할당량(`spark.task.cpus`)을 두 배로 늘립니다. 이를 통해 실행기 내 동시 실행 태스크 수를 줄여 개별 태스크가 사용할 수 있는 공유 메모리 공간을 즉각적으로 확보합니다. * **물리적으로 큰 실행기 투입 (2단계):** CPU 조절만으로 해결되지 않거나 단일 태스크가 이미 실행기 전체 메모리를 사용 중인 경우, 물리적으로 더 큰 메모리를 가진 새로운 실행기를 동적으로 런칭합니다. * **하이브리드 확장 프로필 적용:** 기본 설정의 2배, 3배, 4배 크기의 리소스 프로필을 미리 등록하고 단계별로 순차 적용합니다. Apache Gluten을 사용하는 워크로드의 경우 Off-heap 메모리도 함께 증설하여 가속화된 연산을 지원합니다. ### 시스템 구현 및 Spark 엔진 확장 * **태스크 수준의 리소스 프로필:** 기존 Spark의 고정된 리소스 할당 방식에서 벗어나, `Task` 객체에 개별 리소스 프로필 ID(`taskRpId`)를 저장할 수 있도록 확장하여 동일한 TaskSet 내에서도 태스크마다 사양을 다르게 가질 수 있게 구현했습니다. * **스케줄링 로직 최적화:** `TaskSetManager`는 OOM 감지 시 즉시 상위 프로필을 할당하며, `TaskSchedulerImpl`은 증설된 CPU 속성을 가진 태스크를 기존 실행기에서 우선 실행할 수 있게 하여 리소스 재사용 속도를 높였습니다. * **동적 리소스 할당:** `ExecutorAllocationManager`가 상위 프로필을 필요로 하는 대기 태스크를 실시간으로 추적하고, 물리적으로 큰 실행기가 필요한 시점에 맞춰 Kubernetes 등에 자원을 요청합니다. * **사용자 경험 개선:** 사용자가 어떤 태스크가 더 많은 자원을 사용했는지 쉽게 파악할 수 있도록 Spark UI의 태스크 목록에 리소스 프로필 ID를 표시하는 기능을 추가했습니다. 효율적인 Spark 운영을 위해서는 모든 작업을 최대 메모리 요구량에 맞추기보다, 상위 90%(P90) 수준의 일반적인 설정으로 실행하고 예외적인 태스크만 'Auto Memory Retries'로 구제하는 탄력적 전략이 권장됩니다. 이는 데이터 스큐가 심한 대규모 파이프라인에서 운영 안정성을 확보함과 동시에 인프라 비용을 최적화할 수 있는 강력한 해법이 될 것입니다.

figma4분 읽기큐레이션 요약

데이터 사이언티스트로서 영향력을

데이터 과학의 영향력은 A/B 테스트나 최적화에만 있지 않으며, 복잡한 시스템을 이해하기 쉽게 만들고 정확성과 운영 안정성을 높이는 데에도 있다. 특히 빌링처럼 여러 시스템과 상태 변화가 얽힌 영역에서는 데이터 과학자가 도메인 지식, 데이터 모델링, 검증 도구, 엔지니어링 협업을 함께 수행해야 한다. 글은 데이터 과학을 ‘풀스택’ 분야로 보고, 과거와 현재의 시스템 동작을 설명하며, 기술적 방향과 품질 기준까지 정의해야 한다고 주장한다. ## 데이터 과학은 풀스택 분야다 - 데이터 과학자의 역할은 팀에 따라 실험 설계, 제품 분석, 데이터 모델링, 계측, 시스템 검증 등 크게 달라진다. - Figma는 한 프로젝트 안에서도 여러 역할을 수행할 수 있는 풀스택 데이터 과학자를 지향한다. - 빌링은 사용자에게 직접 보이는 제품이면서 동시에 복잡한 백엔드 시스템이므로, 단순한 기회 분석이나 실험만으로는 충분하지 않다. - 정확한 청구는 고객 경험과 플랫폼에 대한 신뢰에 직접 영향을 미친다. - 따라서 데이터 과학자는 다음과 같은 업무를 수행한다. - 빌링 도메인과 업무 규칙 이해 - 여러 팀과의 협업 - 시스템 동작을 설명하고 검증하는 도구 개발 - 데이터 품질과 계측 개선 - 정해진 데이터 과학 플레이북을 적용하기보다, 파트너 팀과 함께 실제로 필요한 지원 방식을 정의하는 것이 중요하다. ## 차트와 모델 외에도 시스템을 설명하는 방법이 있다 - 예측이나 추론 모델이 항상 가장 영향력 있는 데이터 과학 작업은 아니다. - 복잡한 시스템에서는 현재 또는 과거의 결과가 왜 발생했는지 설명하는 일이 더 중요할 수 있다. - Figma의 좌석 기반 빌링에서는 다음 요소가 여러 시스템에 걸쳐 상호작용한다. - 좌석 할당 및 제거 - 권한 변경 - 계약 조건 - 업그레이드 경로 - 워크스페이스 상태 - 특정 시점에 발생한 상태 전환 - 인보이스의 단순한 한 줄 청구 항목도 실제로는 여러 제품 이벤트와 빌링 규칙의 결과다. - 이를 해결하기 위해 **Invoice Seat Report**라는 데이터 애플리케이션을 구축했다. - 제품 사용 이벤트, 계약 메타데이터, 빌링 규칙, 과거 상태 전환을 통합한다. - 각 좌석 요금이 왜 발생했는지 평이한 언어로 설명한다. - 고객 지원, 주문 관리, 엔터프라이즈 담당자가 고객에게 청구 내역을 설명할 수 있게 한다. - 엔지니어가 예상치 못한 청구 동작을 디버깅할 때도 활용된다. ## 신뢰할 수 있는 설명에는 데이터 기반이 필요하다 - 보고서를 만드는 일은 단순히 여러 테이블을 조회하는 작업이 아니었다. - 좌석 상태가 시스템마다 어떻게 변화하는지에 대한 공통된 정신 모델을 먼저 만들어야 했다. - 이를 위해 다음 작업이 필요했다. - 엔지니어와 데이터 흐름 및 업무 규칙 검증 - 과거 데이터의 불일치 정리 - 누락된 이벤트에 대한 새로운 계측 요청 - “무슨 일이 일어났는가”뿐 아니라 “왜 일어났는가”를 기록하도록 로그 개선 - 기존 로그는 결과만 남기고 원인을 기록하지 않는 경우가 있어, 미래의 분석 가능성을 높이기 위한 시스템 변경도 함께 진행했다. - 특히 레거시 다년 계약처럼 좌석 이력이 드문 경우나, 초기 업그레이드로 데이터에 공백이 생기는 경우를 별도로 처리해야 했다. - 빌링 규칙을 SQL과 데이터 변환 로직으로 옮길 때는 각 규칙을 추적하고 디버깅할 수 있도록 구현해야 했다. ## 데이터 과학자는 기술적 방향도 정의할 수 있다 - 비즈니스 규칙을 측정 가능한 검증 조건으로 바꾸면 데이터 과학은 제품 분석을 넘어 시스템 품질 관리에 기여할 수 있다. - 이런 검증은 다음 목적에 활용된다. - 무엇이 “정상”인지 정의 - 데이터 및 시스템 동작의 드리프트 감시 - 회귀 버그 조기 탐지 - 미묘한 이상 상태 발견 - 개발 환경과 운영 환경에서 결과 검증 - 빌링처럼 상태가 누적되는 시스템에서는 좌석 할당, 상태 전환, 인보이스 계산이 모두 의도한 규칙과 일치해야 한다. - 작은 계산 오류도 고객의 청구 금액과 서비스 신뢰도에 영향을 줄 수 있다. - Figma가 가격·상품 구성·빌링 로직을 대규모로 재설계했을 때도 데이터 과학은 다음을 검증하는 역할을 맡았다. - 새 로직이 의도대로 작동하는지 - 데이터가 파이프라인을 통해 정확히 흐르는지 - 예상하지 못한 빌링 상태가 발생하지 않는지 - 개발과 운영 환경 모두에서 결과가 일관적인지 복잡하고 중요한 시스템에서 데이터 과학자는 분석 결과를 제공하는 사람을 넘어, 시스템을 설명 가능하게 만들고 정확성을 검증하는 기술 파트너가 되어야 한다. 따라서 실험 중심의 역할에만 한정하지 말고, 도메인 모델링·데이터 품질·계측·자동 검증까지 업무 범위를 확장하는 것이 실용적인 접근이다.

원문 읽기(새 탭에서 열림)
gitlab원문

Claude Opus 4.6, (새 탭에서 열림)

GitLab은 Anthropic의 가장 강력한 AI 모델인 Claude Opus 4.6을 GitLab Duo 에이전트 플랫폼에 도입하여 개발자들에게 더욱 강력한 자율 성능을 제공합니다. 이 모델은 복잡한 개발 과업을 주도적으로 수행하는 '에이전틱(Agentic)' 역량이 극대화되었으며, 100만 토큰에 달하는 방대한 컨텍스트 창을 지원하는 것이 특징입니다. 개발자들은 이제 GitLab의 풍부한 DevSecOps 데이터와 결합된 최신 AI를 통해 대규모 코드베이스 분석부터 다단계 워크플로우 자동화까지 한층 높은 차원의 개발 경험을 누릴 수 있게 되었습니다. **Claude Opus 4.6의 핵심 에이전트 역량** * **능동적 과업 수행:** 이전 모델보다 적은 가이드로도 스스로 행동을 결정하고 작업을 추진하며, 복잡한 워크플로우를 해결하기 위해 하위 에이전트를 생성하거나 도구 호출을 병렬로 처리하는 능력이 탁월합니다. * **심화 및 적응형 추론:** 테스트 시간 연산(test-time compute)을 통해 문제의 난이도에 따라 사고 과정을 스스로 조정하며, 단순한 질문에는 빠르게 답하고 복잡한 문제에는 깊이 있는 추론을 적용합니다. * **압도적인 컨텍스트 창:** 기존 4.5 모델보다 5배 확장된 100만 토큰의 컨텍스트 창을 통해 전체 코드베이스, 상세 문서, 프로젝트 전체 이력을 단 한 번의 상호작용으로 파악할 수 있습니다. **GitLab Duo 플랫폼과의 통합 및 활용** * **풍부한 컨텍스트 제공:** GitLab 리포지토리, 병합 요청(MR), 파이프라인, 보안 결과물 등 플랫폼 내의 실제 DevSecOps 데이터를 활용하여 더욱 정확한 결과물을 산출합니다. * **지원 범위:** GitLab.com의 모든 에이전트와 에이전틱 채팅(Agentic Chat) 내 모델 선택기에서 사용할 수 있으며, 지원되는 IDE 내에서의 모델 선택 기능도 곧 출시될 예정입니다. (Duo Classic 기능은 제외) * **엔터프라이즈급 제어:** 인간 참여형(Human-in-the-loop) 제어 기능과 그룹 기반 액세스 권한 관리를 통해 고성능 AI를 안전하고 신뢰할 수 있는 방식으로 워크플로우에 통합할 수 있습니다. **모델 사용을 위한 크레딧 정책** * **프롬프트 크기별 차등 적용:** 200k 토큰 이하의 요청은 크레딧당 1.2회 사용 가능하며, 200k 토큰을 초과하는 대규모 요청은 크레딧당 0.7회의 비율로 계산됩니다. * **효율적 활용:** 방대한 데이터를 처리하는 작업일수록 크레딧 소모율이 달라지므로, 작업의 복잡도에 맞게 모델을 선택하여 사용하는 것이 권장됩니다. 현재 GitLab Duo 에이전트 플랫폼을 사용 중인 고객은 모델 선택기에서 즉시 Claude Opus 4.6으로 전환하여 그 성능을 체험할 수 있습니다. 대규모 마이그레이션이나 복잡한 보안 취약점 해결과 같이 고도의 지능이 필요한 작업에 이 모델을 적극 활용하여 팀의 생산성을 극대화해 보시기 바랍니다.

aws원문

5세대 AMD EPYC 프로세 (새 탭에서 열림)

최신 5세대 AMD EPYC 프로세서를 탑재한 Amazon EC2 Hpc8a 인스턴스가 정식 출시되었습니다. 이 인스턴스는 이전 세대인 Hpc7a 대비 최대 40% 향상된 성능과 42% 높은 메모리 대역폭을 제공하여 계산 집약적인 고성능 컴퓨팅(HPC) 워크로드에 최적화되었습니다. 특히 기상 모델링, 유체 역학 시나리오, 복잡한 충돌 시뮬레이션 등 고도의 연산 능력이 필요한 결합형(Tightly Coupled) HPC 작업에서 탁월한 가성비를 보여줍니다. **Hpc8a 인스턴스의 주요 하드웨어 사양 및 성능** - 최대 4.5GHz의 클럭 속도를 제공하는 5세대 AMD EPYC 프로세서를 기반으로 구동됩니다. - 이전 세대(Hpc7a)와 비교했을 때 성능은 40%, 메모리 대역폭은 42% 향상되었으며, 가격 대비 성능(Price-performance)은 약 25% 개선되었습니다. - 단일 인스턴스 크기인 '96xlarge'로 제공되며, 192개의 코어와 768GiB의 메모리(코어 대 메모리 비율 1:4)를 탑재하고 있습니다. - 대규모 노드 간 통신을 위해 300Gbps 대역폭의 EFA(Elastic Fabric Adapter) 네트워킹을 지원하여 지연 시간을 최소화합니다. **HPC 최적화를 위한 아키텍처 및 유연성** - 가상화, 스토리지, 네트워킹 기능을 전용 하드웨어로 오프로드하는 6세대 AWS Nitro 카드를 사용하여 시스템 성능과 보안성을 극대화했습니다. - HPC 워크로드의 일관된 성능을 보장하기 위해 동시 멀티스레딩(SMT) 기능이 기본적으로 비활성화되어 있습니다. - 인스턴스 시작 시 사용자가 필요한 코어 수를 직접 맞춤 설정할 수 있어, 특정 워크로드 요구 사항에 맞춰 리소스를 효율적으로 조정할 수 있습니다. **통합 에코시스템 및 서비스 활용** - AWS ParallelCluster 및 AWS Parallel Computing Service(AWS PCS)와 연동하여 클러스터 생성 및 워크로드 제출 과정을 간소화할 수 있습니다. - Amazon FSx for Lustre 스토리지와 결합 시 밀리초 미만의 지연 시간과 초당 수백 기가바이트의 처리량을 확보하여 데이터 병목 현상을 해결합니다. - 현재 미국 동부(오하이오) 및 유럽(스톡홀름) 리전에서 사용 가능하며, 온디맨드 또는 세이빙 플랜(Savings Plan)을 통해 구매할 수 있습니다. 복잡한 시뮬레이션의 실행 시간을 단축하고 운영 비용을 절감하고자 하는 HPC 사용자들에게 Hpc8a 인스턴스는 강력한 선택지가 될 것입니다. 특히 대규모 노드 확장이 필요한 유체 역학이나 고해상도 기상 예측 모델을 운영 중이라면 300Gbps EFA와 개선된 메모리 대역폭을 적극 활용해 보시기 바랍니다.

aws원문

사용자 정의 Amazon Nova 모델 (새 탭에서 열림)

Amazon SageMaker Inference에서 사용자 정의 Amazon Nova 모델 지원이 정식 출시되었습니다. 이를 통해 고객은 Nova Micro, Nova Lite, Nova 2 Lite 등 맞춤형으로 학습된 모델을 운영 환경에 최적화된 형태로 배포하고, 인스턴스 유형과 오토스케일링 정책 등을 유연하게 제어할 수 있습니다. 결과적으로 기업은 지연 시간과 비용, 정확도 간의 균형을 맞춘 고성능 추론 환경을 관리형 서비스 기반으로 손쉽게 구축할 수 있게 되었습니다. **맞춤형 Nova 모델 지원과 비용 최적화** * Nova Micro, Nova Lite, Nova 2 Lite 모델의 맞춤형 버전(Full-rank)을 SageMaker Inference 인프라에 원활하게 배포 가능합니다. * 고가의 P5 인스턴스 외에도 Amazon EC2 G5 및 G6 인스턴스를 활용할 수 있어, GPU 활용도를 높이고 추론 비용을 효과적으로 절감합니다. * 5분 단위의 사용 패턴에 기반한 오토스케일링(Auto-scaling) 기능을 통해 프로덕션 워크로드의 변동성에 유연하게 대응합니다. * 계속 사전 학습(Continued pre-training), 지도 미세 조정(SFT), 강화 학습 미세 조정(RLHF)을 거친 다양한 맞춤형 모델 아티팩트를 지원합니다. **유연한 인프라 및 추론 설정 제어** * 모델 체급별로 최적화된 인스턴스 선택권을 제공합니다. * **Nova Micro:** g5/g6(12xl, 24xl, 48xl) 및 p5.48xlarge 지원 * **Nova Lite:** g5.48xlarge, g6.48xlarge, p5.48xlarge 지원 * **Nova 2 Lite:** p5.48xlarge 지원 * 컨텍스트 길이(Context length), 최대 동시성(Max concurrency), 온도(Temperature), Top-P 등 상세 파라미터를 환경 변수로 설정하여 모델 성능을 미세 조정할 수 있습니다. * 특히 `reasoning_effort`(low, high) 옵션을 통해 복잡한 추론 작업에 대한 모델의 사고 과정을 제어할 수 있는 기능을 포함합니다. **통합된 개발 환경 및 배포 워크플로** * SageMaker Studio의 UI를 통해 클릭 몇 번으로 모델 아티팩트 선택부터 엔드포인트 생성까지 전 과정을 시각적으로 관리할 수 있습니다. * SageMaker AI SDK를 사용하여 모델 생성, 엔드포인트 구성, 배포 자동화 코드를 작성할 수 있으며, 컨테이너 이미지 URI와 S3 모델 경로를 직접 지정하는 구조를 가집니다. * 실시간 추론 시 스트리밍(Streaming) 및 비스트리밍 모드를 모두 지원하여 사용자 경험을 개선하며, 대량의 데이터 처리를 위한 비동기 엔드포인트 구성도 가능합니다. * 배포 완료 후에는 SageMaker Playground 탭에서 채팅 모드로 즉시 모델 성능을 테스트하고 프로토타이핑할 수 있습니다. 도메인 특화 데이터로 Nova 모델을 미세 조정하여 실제 서비스에 적용하려는 팀은 SageMaker Inference를 통해 관리 부담을 줄이면서도 최적의 가성비를 확보할 수 있습니다. 특히 비용 효율성이 중요한 경우 G6 인스턴스를 우선적으로 검토하고, 대규모 트래픽 처리가 필요한 경우 5분 단위 오토스케일링 정책을 결합하여 운영 효율을 극대화할 것을 추천합니다.

aws원문

AWS 주간 요약: Amazon EC2 M8azn 인스턴스, Amazon Bedrock의 새로운 오픈 가중치 모델 등 (2026년 2월 16일) | 아마존 웹 서비스 (새 탭에서 열림)

AWS는 최근 고성능 컴퓨팅을 위한 Amazon EC2 M8azn 인스턴스 출시와 더불어 Amazon Bedrock에 6개의 새로운 오픈 가중치(Open weights) 모델을 추가하며 인프라와 AI 역량을 동시에 강화했습니다. 이번 업데이트는 클라우드 업계 최고 수준인 5GHz의 CPU 주파수를 제공하여 고성능 요구 워크로드를 지원하는 한편, 개발자들이 다양한 오픈 소스 모델을 OpenAI API 규격과 호환되는 환경에서 더욱 유연하게 사용할 수 있도록 돕는 데 초점을 맞추고 있습니다. 이를 통해 기업들은 실시간 금융 분석부터 복잡한 추론 및 코딩 에이전트 구축까지 더욱 폭넓은 기술 선택지를 갖게 되었습니다. ### Amazon EC2 M8azn 인스턴스 정식 출시 * **압도적인 클라우드 성능:** 5세대 AMD EPYC 프로세서를 탑재하여 클라우드 사상 최고 수치인 최대 5GHz의 CPU 주파수를 제공합니다. * **이전 세대(M5zn) 대비 대폭 개선:** 컴퓨팅 성능은 최대 2배, 메모리 대역폭은 4.3배 향상되었으며, L3 캐시는 10배 더 커져 데이터 처리 효율이 극대화되었습니다. * **네트워크 및 스토리지 강화:** Nitro 시스템 6세대 카드를 기반으로 네트워크 처리량은 2배, Amazon EBS 처리량은 3배까지 향상되었습니다. * **주요 활용 분야:** 높은 주파수와 저지연 성능이 필수적인 실시간 금융 분석, 고성능 컴퓨팅(HPC), 고주파 매매(HFT), 게임 서버 및 시뮬레이션 모델링에 최적화되어 있습니다. ### Amazon Bedrock의 AI 모델 라인업 및 보안 기능 확장 * **6종의 신규 오픈 가중치 모델 추가:** DeepSeek V3.2, MiniMax M2.1, GLM 4.7/Flash, Kimi K2.5, Qwen3 Coder Next를 이제 Bedrock에서 사용할 수 있습니다. * **용도별 최적화:** 복잡한 추론과 에이전트 지능에 특화된 모델부터 긴 출력 윈도우를 지원하는 자율 코딩 모델, 그리고 운영 비용 효율성을 높인 모델까지 다양한 선택지를 제공합니다. * **Project Mantle 기반 연동:** 새로운 분산 추론 엔진인 Project Mantle을 통해 OpenAI API 규격과 즉시 호환되며, 서버레스 추론 환경에서 높은 수준의 쿼터 관리와 서비스 품질 제어를 지원합니다. * **AWS PrivateLink 지원 확대:** `bedrock-runtime`뿐만 아니라 `bedrock-mantle` 엔드포인트에 대해서도 PrivateLink를 지원하여, 데이터가 공용 인터넷을 거치지 않고 보안이 강화된 전용 네트워크를 통해 통신할 수 있습니다. ### 운영 편의성 및 비용 최적화를 위한 서비스 업데이트 * **Amazon EKS Auto Mode 로깅 강화:** CloudWatch Vended Logs를 통해 컴퓨팅 자동 확장, 스토리지, 네트워킹 등 관리형 쿠버네티스 기능의 로그를 더 저렴한 가격으로 수집하고 관리할 수 있습니다. * **OpenSearch Serverless 컬렉션 그룹:** 여러 컬렉션 간에 OpenSearch 컴퓨팅 유닛(OCU)을 공유할 수 있게 되어 전체적인 비용을 절감할 수 있으며, 지연 시간에 민감한 앱을 위해 최소 OCU 할당량을 지정할 수 있는 기능이 추가되었습니다. * **Amazon RDS 스냅샷 복원 개선:** 스냅샷을 복원하는 시점에 백업 유지 기간과 백업 창 설정을 즉시 수정할 수 있게 되었습니다. 기존에는 복원 완료 후 설정을 변경해야 했던 번거로움이 사라져 워크플로우가 간소화되었습니다. 고성능 단일 코어 성능이 필요한 조직은 M8azn 인스턴스 도입을 검토하여 실시간 처리 역량을 강화할 수 있습니다. 또한, AI 모델 선택의 폭이 넓어진 만큼 특정 작업(코딩, 추론 등)에 최적화된 오픈 가중치 모델을 Amazon Bedrock에서 테스트하여 성능과 비용의 균형을 맞춘 효율적인 AI 애플리케이션 개발 전략을 세우는 것을 추천합니다.

google원문

AI에게 지도 읽는 법 가 (새 탭에서 열림)

구글 연구진은 멀티모달 거대언어모델(MLLM)이 지도의 기하학적 구조를 이해하고 경로를 추적할 수 있도록 돕는 합성 데이터 생성 파이프라인인 'MapTrace'를 제안했습니다. 기존 모델들이 이미지 내 객체 인식에는 능숙하지만 벽과 길을 구분하는 정밀한 공간 추론에는 한계를 보인다는 점에 착안하여, 200만 개의 데이터 쌍을 자동으로 생성해 학습시키는 방법론을 정립했습니다. 연구 결과, 이러한 합성 데이터를 통한 미세 조정(Fine-tuning)만으로도 모델의 공간 추론 능력을 비약적으로 향상시킬 수 있음이 증명되었습니다. **공간 추론 능력 결여와 데이터 확보의 어려움** * 기존 MLLM은 물리적 세계에 대한 '접지(Grounding)'가 부족하여 지도의 선을 벽으로 인식하지 못하고 통과하는 등 물리적 제약을 무시하는 경향이 있습니다. * 이를 해결하기 위한 정밀한 경로 데이터는 수동으로 구축하기에 비용이 지나치게 비싸고, 쇼핑몰이나 테마파크 같은 복잡한 지도는 대개 저작권 문제로 수집이 어렵습니다. * 결과적으로 모델은 지도를 구조화된 공간이 아닌 단순한 픽셀의 집합으로만 인식하게 되는 '데이터 병목 현상'을 겪게 됩니다. **MapTrace: 4단계 합성 데이터 생성 파이프라인** * **다양한 지도 생성:** LLM이 동물원, 쇼핑몰 등 다양한 장소에 대한 묘사를 생성하면, 이를 이미지 생성 모델(Imagen-4 등)에 입력하여 복잡한 지도 이미지를 얻습니다. * **이동 가능 영역 식별(Mask Critic):** 색상 기반 클러스터링으로 통행 가능한 경로 마스크를 추출한 뒤, MLLM '마스크 비평가'가 실제 사람이 다닐 수 있는 길인지 품질을 검증합니다. * **내비게이션 그래프 구축:** 검증된 2D 마스크를 노드(교차로)와 엣지(길)로 구성된 디지털 그래프 형태로 변환하여 계산 가능한 네트워크를 만듭니다. * **최적 경로 생성 및 검증(Path Critic):** 다익스트라(Dijkstra) 알고리즘으로 최단 경로를 계산한 후, 최종적으로 '경로 비평가' MLLM이 해당 경로가 논리적이고 인간의 이동 양식에 부합하는지 최종 승인합니다. **성능 검증 및 기술적 성과** * 연구진은 생성된 200만 개의 Q&A 쌍 중 일부(23,000개)만으로 Gemma 3 27B 및 Gemini 2.5 Flash 모델을 학습시켰으며, 실제 지도 데이터셋인 MapBench에서 성능 향상을 확인했습니다. * 성능 측정에는 두 좌표 시퀀스 사이의 거리를 비교하는 NDTW(Normalized Dynamic Time Warping) 지표를 활용하여 경로의 정확도를 정밀하게 평가했습니다. * 이미지 생성 과정에서 텍스트 렌더링 오류가 간혹 발생하지만, 경로 추적의 정확성 측면에서는 합성 데이터만으로도 충분한 학습 효과를 거둘 수 있음을 시사합니다. **실용적 제언** AI 모델에 물리적 공간에 대한 상식을 부여하고 싶다면 대규모 수동 레이블링 대신 '비평가(Critic)' 모델이 포함된 자동화된 합성 데이터 파이프라인을 구축하는 것이 비용 효율적입니다. 특히 복잡한 제약 조건이 있는 도메인일수록 모델의 크기를 키우는 것보다 특정 태스크에 맞춤화된 '공간 문법'을 데이터로 가르치는 것이 더 효과적입니다.

figma3분 읽기큐레이션 요약

디자인의 미래는 코드와

AI 시대의 디자인은 코드와 캔버스 중 하나를 선택하는 것이 아니라, 두 방식을 오가며 가능성을 탐색하는 방향으로 발전한다. Figma는 Claude Code와의 MCP 연동을 통해 코드로 만든 결과물을 편집 가능한 Figma 레이어로 변환하고, 디자인 수정 사항을 다시 코드에 반영하는 워크플로를 제시한다. 이를 통해 개발 과정에서 첫 번째 결과물에 매몰되지 않고 여러 대안을 시각적으로 비교·검토할 수 있다는 것이 글의 결론이다. ## 코드와 캔버스의 결합 - 제품을 만드는 방식은 코드, 프롬프트, 시각적 UI, 손그림 등 어디에서든 시작할 수 있다. - 중요한 것은 특정 도구를 고집하는 것이 아니라, 아이디어를 발전시키는 데 적합한 도구를 선택하는 것이다. - 코드는 빠르게 실행 가능한 결과물을 만들고, 캔버스는 다양한 가능성을 시각적으로 탐색하고 비교하는 데 강점이 있다. - 따라서 디자인과 개발은 경쟁 관계가 아니라 서로의 장점을 보완하는 관계가 된다. ## Claude Code와 Figma MCP 연동 - Figma MCP를 설치하면 Claude Code에서 “Send this to Figma”와 같은 명령으로 작업물을 Figma로 보낼 수 있다. - 브라우저에 렌더링된 현재 상태를 분석해 Figma의 편집 가능한 레이어로 자동 변환한다. - 코드로 구현된 화면을 단순 이미지로 가져오는 것이 아니라, Figma 안에서 요소를 개별적으로 수정할 수 있다. - Figma에서 다듬은 디자인 변경 사항은 다시 MCP를 통해 코드베이스에 반영할 수 있다. - Claude Code는 Figma MCP와 연결되는 여러 에이전트 도구 중 하나로 소개된다. ## 캔버스가 제공하는 탐색 능력 - IDE나 프롬프트 환경에서는 하나의 구현 방향을 빠르게 밀어붙이기 쉽다. - Figma 캔버스에서는 여러 디자인 시안을 나란히 배치해 차이점을 비교할 수 있다. - 전체 화면의 구조와 사용자 경험을 한눈에 파악하면서 세부 요소는 직접 조작해 수정할 수 있다. - AI가 표현 가능한 수많은 결과물을 만들어낼수록, 최종적으로 좋은 방향을 선택하는 디자인 감각과 관점이 더 중요해진다. ## 선형적 개발 프로세스의 변화 - 과거에는 일반적으로 아이디어 구상 → 디자인 → 코딩 순서로 작업이 진행됐다. - 이제는 터미널에서 구현을 시작한 뒤 디자인 도구로 이동하거나, Figma에서 시작해 코드로 넘어가는 등 순서가 고정되지 않는다. - 작업은 “어디서 시작하느냐”보다 “지금 올바른 방향으로 만들고 있는가”를 지속적으로 점검하는 것이 중요하다. - 첫 번째 구현물이 관성 때문에 최종 버전으로 굳어지는 ‘터널 비전’을 피해야 한다. ## 실용적인 적용 방향 - AI로 빠르게 만든 초기 구현물을 Figma로 가져와 여러 변형안을 비교한다. - 캔버스에서 레이아웃, 시각적 계층, 인터랙션 방향을 검토한 뒤 세부 디자인을 다듬는다. - 확정된 디자인 변경 사항을 MCP를 통해 코드에 다시 반영한다. - 코드와 디자인을 순차적으로 분리하기보다, 탐색 단계에서는 반복적으로 양쪽을 오가며 검증하는 것이 효과적이다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

Claude Code에서 Figma로: 프로덕

Claude Code에서 실행 중인 UI를 Figma로 가져와 편집 가능한 프레임으로 변환할 수 있게 되었다. 이를 통해 코드의 빠른 프로토타이핑과 Figma 캔버스의 협업·탐색 기능을 연결하고, 개발자·디자이너·PM이 동일한 결과물을 바탕으로 더 이른 시점에 의견을 나눌 수 있다. 핵심은 코드를 최종 결과로 고정하지 않고, Figma에서 여러 방향을 비교·발전시키는 것이다. ## 코드에서 캔버스로 확장하는 이유 - Claude Code를 사용하면 실제 데이터와 상호작용을 포함한 UI를 빠르게 구축하고 테스트할 수 있다. - 코드 기반 작업은 한 번에 하나의 상태를 구현하고 확인하는 데 강하다. - 반면 Figma 캔버스는 전체 흐름과 여러 대안을 한눈에 배치하고, 팀과 함께 논의하는 데 유리하다. - 따라서 코드는 아이디어를 빠르게 수렴시키고, 캔버스는 아이디어를 다시 확장하고 탐색하는 공간이 된다. ## 브라우저 화면을 편집 가능한 Figma 프레임으로 변환 - 프로덕션, 스테이징, 로컬호스트에서 실행 중인 UI를 캡처할 수 있다. - 캡처한 화면은 클립보드로 복사하거나 Figma 파일로 전송할 수 있다. - Figma에 붙여넣은 결과는 단순한 이미지가 아니라 정리·복제·수정 가능한 프레임으로 변환된다. - 여러 화면을 한 세션에서 캡처하면 화면 간 순서와 흐름도 함께 보존할 수 있다. ## 혼자 만드는 프로토타입에서 팀 협업으로 - 코드 우선 작업은 초기에는 빠르지만, 화면과 상태가 늘어나면 한 사람이 브랜치·개발 서버·전체 맥락을 모두 관리해야 한다. - 기존에는 피드백을 받기 위해 스크린샷이나 녹화 영상을 공유하거나, 다른 사람이 직접 로컬에서 빌드를 실행해야 했다. - Figma로 가져오면 팀원들이 같은 캔버스에서 직접 주석을 달고, 불명확한 부분을 표시하며, 개선 방향을 제안할 수 있다. - 다른 사람이 코드 환경으로 전환하거나 여러 파일을 수정하지 않아도 대안을 논의할 수 있다. ## 첫 번째 아이디어가 아닌 최선의 아이디어 찾기 - AI로 작동하는 프로토타입을 빠르게 만들 수 있게 되면서, 논의의 초점은 “어떻게 만들까”에서 “어떤 버전을 발전시킬까”로 이동했다. - Figma Make의 결과물을 캔버스로 가져오는 방식과 마찬가지로, Claude Code의 구현 결과도 편집 가능한 디자인 산출물로 전환된다. - 출발점이 Figma Make인지 Claude Code인지와 관계없이, 구체적인 결과물을 먼저 만든 뒤 반복적으로 발전시키는 것이 목표다. ## Figma에서 가능한 네 가지 탐색 - **전체 시스템을 시각적으로 확인** - 여러 화면과 단계별 흐름을 나란히 배치할 수 있다. - 반복되는 패턴, 누락된 단계, 디자인 불일치, 트레이드오프를 쉽게 발견할 수 있다. - **코드를 다시 작성하지 않고 변형 실험** - 프레임을 복제하고 순서를 재배치하며 구조적 대안을 비교할 수 있다. - 단순한 아이디어 검증을 위해 코드를 다시 구현할 필요가 없다. - 폐기한 대안도 남겨둘 수 있어 이후 재검토가 가능하다. - **더 이른 시점에 의사결정** - 디자이너, 엔지니어, PM이 동일한 맥락과 완성도의 결과물을 함께 검토한다. - 정답이 명확하지 않은 문제도 초기에 질문과 쟁점을 드러낼 수 있다. - 변경 비용이 낮을 때 방향을 조정할 수 있다. - **구현된 UI를 팀의 방향성으로 전환** - 실제로 작동하는 UI를 개인의 코드 환경에만 머무는 결과물이 아니라 공유 가능한 디자인 자산으로 만든다. - 팀은 구현 결과를 기준으로 제품의 사용감, 사용자 안내 방식, 가치 전달 방법을 함께 논의할 수 있다. ## 실용적인 결론 Claude Code는 빠른 구현과 실제 동작 검증에 사용하고, 방향을 비교하거나 팀의 피드백을 모을 때는 결과물을 Figma로 가져오는 방식이 효과적이다. 특히 여러 화면으로 구성된 사용자 흐름이나 대안 비교가 필요한 작업에서는 코드와 캔버스를 오가는 과정이 초기 의사결정과 협업을 크게 단순화할 수 있다.

원문 읽기(새 탭에서 열림)
cloudflare원문

ecdysis를 통한 오래된 코드 탈 (새 탭에서 열림)

Cloudflare는 수년간 자사 인프라에서 수백만 건의 요청을 중단 없이 처리하며 검증한 Rust 라이브러리 'ecdysis'를 오픈소스로 공개했습니다. 이 라이브러리는 네트워크 서비스 업데이트 시 연결 끊김이나 새로운 연결 거부 없이 프로세스를 재시작할 수 있는 '우아한 재시작(Graceful Restart)' 기능을 제공합니다. 이를 통해 보안 패치나 기능 업데이트 시에도 실시간 트래픽에 영향을 주지 않고 안전하게 최신 코드로 교체할 수 있습니다. ### 기존 재시작 방식의 한계와 문제점 * 단순한 재시작 방식(이전 프로세스 종료 후 새 프로세스 시작)은 소켓을 닫는 순간부터 새 프로세스가 리스닝을 시작할 때까지 공백이 발생하며, 이 기간에 들어오는 연결은 커널에 의해 `ECONNREFUSED`로 거부됩니다. * 이미 연결된 세션(대용량 업로드, 비디오 스트리밍, WebSocket 등)이 프로세스 종료와 함께 강제로 끊기며 사용자 경험에 악영향을 미칩니다. * `SO_REUSEPORT` 옵션은 여러 프로세스가 동일한 포트를 바인딩하게 해주지만, 새 프로세스가 연결을 수락(`accept`)하기 전에 이전 프로세스가 종료되면 커널 큐에서 대기 중이던 연결들이 고아 상태가 되어 폐기되는 고유의 결함이 있습니다. ### ecdysis의 작동 원리와 포크 모델 * NGINX의 설계 방식을 차용하여, 실행 중인 부모 프로세스가 `fork()`를 통해 자식 프로세스를 생성하고, 자식은 `execve()`를 실행하여 새 버전의 코드로 자신을 교체합니다. * 이 과정에서 부모 프로세스는 명명된 파이프(named pipe)를 통해 소켓 파일 디스크립터(FD)를 자식에게 상속하며, 두 프로세스가 잠시 소켓을 공유하여 공백 없는 트래픽 처리를 보장합니다. * 자식 프로세스가 초기화를 완료했다는 신호를 보내면 부모는 그제야 소켓을 닫고 기존 연결만 처리한 뒤 종료(Draining)되며, 만약 자식이 초기화 중 충돌하더라도 부모가 여전히 동작 중이므로 서비스 중단이 발생하지 않습니다. ### 주요 기능 및 시스템 통합 * **Tokio 비동기 런타임 지원**: 고성능 Rust 서비스를 위해 Tokio용 비동기 스트림 래퍼를 기본 제공하므로, 상속받은 소켓을 별도의 복잡한 연동 없이 즉시 리스너로 사용할 수 있습니다. * **systemd 통합**: `systemd-notify` 기능을 내장하여 서비스 유닛 설정의 `Type=notify-reload`와 연동될 수 있으며, 시스템 레벨에서 프로세스 수명 주기를 정확히 추적할 수 있습니다. * **검증된 신뢰성**: Cloudflare의 글로벌 네트워크에서 트래픽 라우팅, TLS 수명 주기 관리, 방화벽 규칙 적용 등 가장 핵심적인 서비스들에 5년 넘게 사용되며 안정성을 입증했습니다. 가용성이 극도로 중요한 Rust 기반 네트워크 서비스를 운영한다면, `ecdysis`는 복잡한 소켓 공유 로직을 직접 구현할 필요 없이 제로 다운타임 업데이트를 구현할 수 있는 가장 실무적인 해결책이 될 것입니다.