오픈 소스

67 개의 포스트

naver1분 읽기큐레이션 요약

AI 에이전트가 코드를 실험하고 개선하는 법

이 글은 NAVER D2 사이트의 기본 구성과 메뉴를 나열한 페이지로, 별도의 기술적 주장이나 결론은 담고 있지 않습니다. 본문에는 “Hello world” 문구와 D2 관련 주요 메뉴 및 NAVER 개발자 리소스 링크가 표시됩니다. ### 페이지 기본 구성 - 페이지 제목은 **naver D2**입니다. - 본문에는 테스트성 문구인 **“Hello world”**가 포함되어 있습니다. - 기술적인 설명, 튜토리얼, 코드 예제는 제공되지 않습니다. ### 주요 메뉴 - **D2 News**: D2 관련 소식 - **About D2**: D2 소개 - **NAVER Developers**: NAVER 개발자 사이트 - **DEVIEW**: NAVER 개발자 행사 - **OpenSource**: 오픈소스 관련 정보 - **D2 STARTUP FACTORY**: 스타트업 지원 프로그램 ### 저작권 정보 - 저작권은 **NAVER Corp.**에 있으며, 모든 권리가 보유되어 있다고 명시되어 있습니다. 제공된 내용만으로는 기술 개념이나 실무 지침을 도출하기 어렵습니다. 원문 본문이나 기술 글의 실제 내용이 추가로 필요합니다.

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

GitHub 소유 저장소에 대한 무단 접근 조사

Alexis Wales는 GitHub의 최고정보보호책임자(CISO)로서 플랫폼과 제품, 오픈소스 커뮤니티의 보안을 담당한다. 20년간 국방부와 CISA 등에서 국가 및 민간 부문의 핵심 네트워크를 방어해 왔으며, 공공·민간 협력을 통해 기술 보안 문제를 해결하는 데 주력하고 있다. 그녀의 목표는 전 세계 1억 5천만 명 이상의 개발자가 GitHub에서 안전하게 소프트웨어를 개발하고 배포하도록 지원하는 것이다. ### GitHub의 보안 리더십 - GitHub의 보안 전문가 팀을 이끈다. - GitHub 플랫폼과 제품의 보안을 강화한다. - 오픈소스 생태계와 커뮤니티를 보호한다. - 개발자들이 안전하게 소프트웨어를 만들고 배포할 수 있도록 지원한다. ### 국가 핵심 네트워크 방어 경험 - 약 20년 동안 국가 및 민간 부문의 중요 네트워크를 보호해 왔다. - 미국 국방부에서 보안 업무를 수행했다. - 국토안보부 산하 CISA에서도 근무하며 사이버 보안과 핵심 인프라 보호 경험을 쌓았다. ### 공공·민간 협력에 대한 관점 - 국가 기관과 민간 기업이 협력해야 가장 어려운 보안 위협에 효과적으로 대응할 수 있다고 본다. - 이러한 협력에 대한 관심은 국가 및 민간 네트워크를 방어한 경험에서 비롯되었다. - 일상적으로 사용하는 기술을 위협하는 보안 문제를 공동으로 해결하는 것을 중시한다. 실용적으로는 GitHub와 같은 개발 플랫폼의 보안을 강화하려면 기술적 방어뿐 아니라 공공기관, 기업, 오픈소스 커뮤니티 간의 지속적인 정보 공유와 협력이 필요하다는 점을 시사한다.

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

디스코드의 모든 음성 및 영상 통화가 이제 종단 간 암호화됩니다

Discord는 2026년 3월부터 Stage 채널을 제외한 모든 음성·영상 통화에 종단간 암호화(E2EE)를 기본 적용했다. 이를 위해 DAVE 프로토콜을 데스크톱·모바일·웹·콘솔·봇·Social SDK 등 모든 플랫폼에 적용했으며, 사용자가 별도로 설정하지 않아도 암호화가 작동한다. Discord는 통화 품질과 지연 시간을 유지하면서도 공개 프로토콜, 오픈소스 구현, 외부 감사를 통해 검증 가능한 개인정보 보호를 제공하는 것을 목표로 했다. ## DAVE 프로토콜 도입과 전면 적용 - Discord는 2023년 음성·영상 통화 E2EE 실험을 시작했다. - 2024년 DAVE 프로토콜을 공개했다. - 오디오·비디오 통화를 위한 공개 E2EE 프로토콜 - 외부 보안 기업 Trail of Bits의 설계·구현 감사 진행 - 오픈소스 구현체 공개 - 버그 바운티 프로그램에 프로토콜 포함 - 2025년 웹 브라우저, PlayStation·Xbox 같은 게임 콘솔, Discord 봇·앱, Social SDK까지 지원 범위를 확대했다. - 2026년 3월 초 마이그레이션을 완료해 다음 통화가 기본적으로 암호화된다. - 개인 메시지 통화 - 그룹 DM 통화 - 음성 채널 - Go Live 스트림 ## 다양한 플랫폼을 동시에 지원한 설계 - Discord 통화에는 노트북, 스마트폰, 웹 브라우저, PlayStation, Xbox 사용자가 함께 참여할 수 있다. - 각 플랫폼의 암호화 구현이 서로 호환되면서도 낮은 지연 시간과 높은 통화 품질을 유지해야 했다. - Discord는 플랫폼 다양성 때문에 DAVE를 인터넷에서 가장 폭넓은 플랫폼을 지원하는 음성·영상 E2EE 구현 중 하나로 설명한다. - 모든 클라이언트가 DAVE를 지원해야 통화에 참여할 수 있도록 변경했다. - 현재는 암호화되지 않은 연결로 되돌아가는 폴백 코드를 제거하는 중이며, 제거가 끝나면 비암호화 연결은 불가능해진다. ## 공개 검증과 외부 협업 - DAVE의 설계와 구현을 공개해 커뮤니티가 직접 검토할 수 있도록 했다. - 외부 감사를 통해 보안성을 검증하고, 버그 바운티로 추가적인 취약점 제보를 유도했다. - 웹 지원 과정에서는 Firefox의 문제로 DAVE가 실제 통화에서 정상 작동하지 않는 사례가 발견됐다. - Discord는 우회책을 적용하는 대신 Mozilla와 Firefox 코드베이스를 함께 조사해 근본 원인을 수정하고 패치를 반영했다. - 이는 자체 코드뿐 아니라 관련 플랫폼과 생태계까지 개선하는 방식으로 프로젝트를 진행했음을 보여준다. ## 사용자 경험과 Stage 채널 예외 - E2EE 적용 이후에도 통화 품질과 성능은 기존 수준을 유지하도록 설계했다. - 사용자가 별도로 opt-in할 필요 없이 암호화가 투명하게 적용된다. - 유일한 예외는 대규모 방송을 위한 Stage 채널이다. - 라이브 이벤트, AMA, 커뮤니티 타운홀 등에 사용되는 방송형 구조 - 개인적인 대화 보호를 목적으로 하는 일반 통화와 설계 목적이 다름 - 따라서 현재는 E2EE 대상에서 제외된다. ## 텍스트 메시지 암호화 계획 - Discord는 현재 텍스트 메시지까지 E2EE를 확장할 계획이 없다고 밝혔다. - Discord의 다양한 텍스트 기능이 비암호화 환경을 전제로 구축되어 있기 때문이다. - E2EE를 도입하려면 검색, 관리, 신고, moderation 등 기존 기능을 대규모로 재설계해야 한다. - Discord는 음성·영상 암호화를 완료했지만 개인정보 보호 강화는 계속 진행되는 작업이라고 강조한다. 이번 변화로 Discord 사용자는 별도 설정 없이 개인 음성·영상 대화에 구조적이고 검증 가능한 보호를 받을 수 있게 됐다. 다만 Stage 채널과 텍스트 메시지는 적용 범위에서 제외되므로, 민감한 대화에는 일반 음성 채널이나 DM 통화를 사용하는 것이 적절하다.

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

비개발자의 AI 협업 도전기 — 생산성 측정하려다 서버까지 띄운 9일 (새 탭에서 열림)

제공해주신 텍스트는 NAVER D2 웹사이트의 메뉴 구성(Hello world, D2 News, DEVIEW 등)과 하단 정보만 포함되어 있으며, **요약할 구체적인 기술 아티클의 본문 내용이 존재하지 않습니다.** 요약하고자 하시는 **특정 블로그 포스트의 본문 내용**을 복사하여 다시 전달해 주시면, 요청하신 아래 형식에 맞춰 상세히 요약해 드리겠습니다. 1. **첫 문단**: 글의 핵심 주장과 결론을 2-4문장으로 요약 2. **본문**: 기술적 디테일을 포함하여 섹션별로 핵심 내용 정리 3. **마지막**: 실용적인 결론이나 추천 제언 내용을 붙여넣어 주시면 바로 작업을 시작하도록 하겠습니다.

gitlab원문

GitLab을 사용하여 소프트웨어 개발을 쉽게 가르치는 방법 (새 탭에서 열림)

워싱턴 대학교의 Stephen G. Dame 강사는 'GitLab for Education' 프로그램을 활용해 대규모 소프트웨어 개발 강의의 과제 배포 및 피드백 과정을 효율적으로 관리하고 있습니다. GitLab의 그룹 및 하위 그룹 구조를 통해 복잡한 권한 설정을 체계화하고, 실제 현업과 유사한 워크플로우를 교육 현장에 도입하여 학생들에게 실무적인 개발 환경을 제공하는 것이 핵심입니다. 이를 통해 교강사는 행정적 부담을 줄이면서도 학생 개개인에게 구체적이고 맥락 있는 코드 리뷰를 전달할 수 있습니다. ### 그룹 및 하위 그룹을 활용한 체계적 구조 설계 * GitLab의 고유한 '그룹(Groups)' 및 '하위 그룹(Subgroups)' 기능을 사용하여 대학 부서, 강의, 역할별로 계층적인 구조를 설계합니다. * 최상위 그룹(예: UWTeaching) 아래에 개별 강의 하위 그룹을 두고, 그 안에 강의 자료, 학생 전용 그룹, 채점자 그룹 등을 구분하여 관리합니다. * 권한 상속 기능을 활용해 학생들에게는 '리포터(Reporter)' 권한을 부여함으로써, 강의용 템플릿 코드를 복제(Clone)하거나 가져올(Pull) 수는 있지만 원본 소스에 직접 푸시(Push)할 수는 없도록 제어합니다. * 학생들은 개인별 비공개 저장소를 생성하여 자신의 버전 히스토리를 관리하고, SSH 키 설정을 통해 로컬 환경이나 가상 머신에서 원활하게 작업할 수 있습니다. ### REST API 기반의 관리 자동화 * 수강생이 많은 대규모 강의의 경우, GitLab REST API와 Python 스크립트를 활용해 학생별 하위 그룹 생성 및 멤버 추가 과정을 자동화할 수 있습니다. * 학생의 사용자 이름을 기반으로 개인별 비공개 하위 그룹을 생성하고, 학기 종료 시점에 맞춰 권한이 자동으로 만료되도록 '만료일(Expiration date)'을 설정하여 보안을 유지합니다. * 이러한 자동화 워크플로우는 수동 관리에서 발생할 수 있는 실수를 방지하고 교강사가 교육 콘텐츠에 더 집중할 수 있는 시간을 확보해 줍니다. ### 머지 리퀘스트(Merge Request)를 통한 실무형 피드백 * 학생들은 과제 제출 시 '머지 리퀘스트(MR)'를 생성하며, 강사는 이를 통해 변경된 코드의 차이점(Diff)을 한눈에 확인하고 검토합니다. * 강사는 특정 코드 라인에 직접 인라인 댓글을 남겨 단순히 틀린 부분을 지적하는 것을 넘어, 왜 수정이 필요한지 맥락 있는 피드백을 제공합니다. * 학생들은 실제 현업의 필수 프로세스인 버전 관리와 코드 리뷰를 자연스럽게 경험하며 추상적인 개념이 아닌 실전적인 개발 습관을 체득하게 됩니다. ### 실용적인 권장 사항 처음 GitLab을 교육에 도입한다면 단일 강의 그룹과 기본 과제 템플릿으로 간단하게 시작하여 점진적으로 구조를 확장하는 것이 좋습니다. 'GitLab for Education' 프로그램을 신청하면 Ultimate 등급의 기능을 무료로 사용할 수 있으므로, 무제한 리뷰어 설정과 추가 컴퓨팅 리소스를 활용하여 교육의 질을 높일 것을 추천합니다.

github원문

git push 파이프라인 보안 강화: 치명적인 원격 코드 실행 취약점 대응 (새 탭에서 열림)

GitHub의 보안 책임자(CISO)인 알렉시스 웨일즈(Alexis Wales)는 1억 5천만 명 이상의 개발자가 안전하게 소프트웨어를 구축하고 배포할 수 있도록 플랫폼과 오픈소스 커뮤니티 보호를 진두지휘하고 있습니다. 그녀는 미국 국방부와 국토안보부(CISA) 등에서 쌓은 20년의 전문 경험을 바탕으로 국가적 수준의 네트워크 방어 역량을 GitHub의 보안 전략에 녹여내고 있습니다. 특히 공공과 민간 부문의 긴밀한 협력을 통해 현대 기술 생태계를 위협하는 복잡한 보안 난제들을 해결하는 것을 핵심 사명으로 삼고 있습니다. **GitHub 보안 리더십과 커뮤니티 보호** * GitHub의 CISO로서 플랫폼 및 제품 전반의 보안을 책임지는 전문가 팀을 이끌며, 글로벌 오픈소스 생태계의 안전성을 강화하는 데 집중함. * 전 세계 1억 5천만 명 이상의 개발자가 GitHub 환경 내에서 보안 사고 걱정 없이 코드를 작성하고 배포할 수 있도록 지원하는 보안 프레임워크 구축. **국가 안보 기반의 풍부한 전문 경력** * 미국 국방부(DoD)와 국토안보부 산하 사이버보안 및 기간시설 안보국(CISA)에서 20년간 근무하며 국가 핵심 네트워크와 민간 영역의 방어 업무를 수행함. * 공공 영역에서의 대규모 네트워크 방어 경험을 민간 테크 기업에 접목하여, 일상적으로 사용하는 기술들에 대한 고도화된 위협 대응 역량을 확보함. **민관 협력을 통한 보안 혁신** * 공공 부문과 민간 부문 사이의 경계를 허무는 협업이 보안 위협 해결의 핵심이라고 강조하며, 이를 위한 파트너십 강화에 주력함. * 개별 기업의 보안을 넘어 기술 생태계 전체를 보호하기 위해 부문 간 지식 공유와 공동 대응 체계를 구축하는 데 열정을 쏟고 있음. 알렉시스 웨일즈의 사례는 현대 소프트웨어 공급망 보안이 단순히 기술적인 방어에 그치는 것이 아니라, 정부 기관의 풍부한 방어 경험과 민간 플랫폼의 기술력이 결합될 때 비로소 완성될 수 있음을 잘 보여줍니다.

naver원문

네이버 검색의 대규모 메트릭 저장소, VictoriaMetrics 운영기 (새 탭에서 열림)

데이터베이스 설계 시 관습적으로 사용하는 '소프트 삭제(Soft Delete)' 방식이 유발하는 구조적 결함과 성능 저하 문제를 심층적으로 분석하고 이를 해결할 수 있는 아키텍처 대안을 제시합니다. 삭제 여부를 나타내는 플래그(Flag) 컬럼을 사용하는 방식은 구현이 간단해 보이지만, 장기적으로는 쿼리의 복잡도를 높이고 데이터 무결성을 위협하는 원인이 됩니다. 따라서 서비스의 규모와 요구사항에 따라 데이터 이관이나 상태 관리를 통한 물리적 삭제를 적절히 혼합하는 전략이 필요합니다. **소프트 삭제가 초래하는 기술적 부채** - **쿼리 복잡도 및 휴먼 에러**: 모든 조회 쿼리에 `WHERE deleted = false`와 같은 조건을 강제해야 하며, 조인(Join) 연산이 늘어날수록 조건을 누락할 위험이 커져 보안 및 비즈니스 로직 오류로 이어집니다. - **유니크 제약 조건(Unique Constraint) 충돌**: 사용자 ID나 이메일처럼 유일성이 보장되어야 하는 컬럼에서, 삭제된 레코드가 테이블에 남아 있으면 동일한 값의 새 데이터를 삽입할 때 인덱스 충돌이 발생합니다. - **인덱스 효율 저하**: 삭제 플래그는 카디널리티(Cardinality)가 매우 낮은 데이터이므로 인덱스를 생성해도 스캔 효율이 떨어지며, 불필요한 데이터가 테이블에 계속 축적되어 전체적인 I/O 성능을 저하시킵니다. **무결성 유지를 위한 아키텍처 대안** - **데이터 이관(History/Archive Table) 방식**: 삭제가 발생할 때 해당 로우를 원본 테이블에서 물리적으로 삭제하는 대신, 트리거나 애플리케이션 로직을 통해 '삭제 전용 테이블'로 옮겨 메인 테이블의 크기를 최적화합니다. - **데이터베이스 뷰(View) 활용**: 애플리케이션 계층에서는 삭제되지 않은 데이터만 필터링된 뷰를 참조하게 함으로써 개발자가 실수로 삭제된 데이터를 조회하는 상황을 원천적으로 차단합니다. - **복합 유니크 인덱스 설계**: 삭제 시점을 기록하는 `deleted_at` 컬럼을 활용하여 `(ID, deleted_at)` 형태의 복합 인덱스를 구성함으로써, 삭제된 데이터와 활성 데이터 간의 제약 조건 충돌을 우회합니다. **실무적인 선택 기준** 단순히 데이터 복구 가능성을 위해 소프트 삭제를 채택하기보다는, 해당 데이터가 비즈니스적으로 '상태가 변경된 것(예: 탈퇴 회원)'인지 아니면 '완전히 폐기된 것'인지를 먼저 구분해야 합니다. 법적 근거에 의한 보관이 목적이라면 별도의 이력 테이블로 분리하는 것이 성능과 유지보수 측면에서 유리하며, 단순한 실수 방지가 목적이라면 트랜잭션 로그나 백업 시스템을 활용하는 물리 삭제 방식을 우선적으로 고려하는 것이 권장됩니다.

cloudflare원문

우리가 배포하는 플랫폼 위에 내부적으로 구축한 AI 엔지니어링 스택 (새 탭에서 열림)

Cloudflare는 자사 플랫폼의 기술력을 집약한 내부 AI 엔지니어링 스택을 구축하여 전체 R&D 인력의 93%가 AI 도구를 일상적으로 사용하는 환경을 조성했으며, 그 결과 주간 머지 리퀘스트(Merge Request) 수를 약 두 배 가까이 증가시키는 생산성 혁신을 이뤄냈습니다. 이들은 단순한 도구 도입을 넘어 MCP(Model Context Protocol), AI Gateway, Workers AI 등을 결합한 포괄적인 아키텍처를 통해 보안과 운영 효율성을 동시에 확보했습니다. 특히 이번 프로젝트는 실제 고객에게 제공되는 상용 제품들을 내부 워크플로우에 직접 적용하여 그 실효성을 검증했다는 점에서 중요한 기술적 이정표를 제시합니다. ### 통합 플랫폼 및 보안 계층 * **보안 및 인증 관리**: Cloudflare Access를 통한 제로 트러스트 인증으로 보안을 강화하고, 모든 LLM 요청을 AI Gateway로 라우팅하여 중앙 집중식 키 관리, 비용 추적 및 데이터 보존 정책을 적용합니다. * **Workers AI 활용**: 프론티어 모델(OpenAI, Anthropic 등)뿐만 아니라 Workers AI를 통해 Kimi K2.5와 같은 오픈 소스 모델을 병행 운용하며, 특히 보안 에이전트 등의 작업에서 상용 모델 대비 약 77%의 비용 절감 효과를 거두고 있습니다. * **프록시 워커 패턴**: 모든 클라이언트 요청을 단일 프록시 워커를 통해 처리함으로써 클라이언트 설정 변경 없이도 사용자별 권한 부여 및 모델 카탈로그 관리가 가능한 제어 평면(Control Plane)을 구축했습니다. ### 에이전트 기반 인프라와 MCP * **원스톱 온보딩**: `opencode auth login` 명령 하나로 MCP 서버, 에이전트, 명령 및 권한 설정을 자동으로 구성하여 엔지니어가 설정 파일에 손대지 않고도 즉시 AI 도구를 사용할 수 있게 했습니다. * **상태 유지 및 격리 실행**: Durable Objects 기반의 Agents SDK를 사용해 장기 실행되는 에이전트 세션을 관리하며, Sandbox SDK를 통해 에이전트가 생성한 코드를 안전한 격리 환경에서 빌드하고 테스트합니다. * **워크플로우 자동화**: 복잡한 다단계 엔지니어링 작업은 Workflows 기능을 통해 자동화하며, 이는 대규모 리포지토리 전반에 걸친 변경 사항 전파를 효율적으로 지원합니다. ### 지식 체계와 품질 관리 * **기술 지식 그래프**: 오픈소스인 Backstage를 활용해 16,000개 이상의 엔티티를 포함한 지식 그래프를 구축함으로써 에이전트가 조직 내 복잡한 시스템 구조를 정확히 이해할 수 있도록 지원합니다. * **AGENTS.md와 코드 리뷰**: 각 저장소의 컨텍스트를 담은 `AGENTS.md` 파일을 생성하여 에이전트의 정확도를 높이고, CI 파이프라인에 통합된 AI 코드 리뷰어를 통해 급증하는 코드 생산량 속에서도 품질을 유지합니다. Cloudflare의 사례는 AI 도입을 고민하는 기업들에게 '플랫폼 중심 접근법'의 중요성을 시사합니다. 단순한 챗봇 도입이 아니라, 중앙 집중식 게이트웨이를 통한 가시성 확보, 격리된 샌드박스 실행 환경 구축, 그리고 내부 지식 시스템(Backstage 등)과의 결합이 뒷받침될 때 비로소 실제적인 엔지니어링 생산성 향상을 기대할 수 있습니다.

gitlab원문

Git 2.54.0의 새로운 기능 (새 탭에서 열림)

Git 2.54.0 버전은 객체 데이터베이스(ODB)의 추상화를 통해 플러그 가능한 저장소 구조를 도입하고, 복잡한 대화형 리베이스를 대체할 직관적인 `git history` 명령어를 새롭게 선보였습니다. 이번 릴리스는 대규모 바이너리 처리나 플랫폼별 최적화 등 저장소 확장성을 확보하는 동시에, 개발자가 커밋 이력을 훨씬 쉽고 안전하게 관리할 수 있도록 사용자 경험을 대폭 개선하는 데 중점을 두었습니다. 약 2년에 걸친 내부 아키텍처 개편을 통해 Git은 더욱 현대적이고 유연한 도구로 진화하고 있습니다. ## 플러그 가능한 객체 데이터베이스 (Pluggable Object Databases) * 기존에 참조(refs) 저장 방식을 "files"와 "reftable"로 선택할 수 있었던 것처럼, 이제 객체(Objects) 저장 방식에도 추상화 계층이 도입되었습니다. * 그동안 Git 코드 곳곳에 하드코딩되어 있던 객체 저장 포맷(Loose objects, Packfiles) 가정을 제거하고, 다양한 백엔드를 수용할 수 있는 구조를 마련했습니다. * 현재는 커밋 생성, 그래프 표시, 병합 등 로컬 워크플로우의 상당 부분을 지원하며, 원격(Fetch, Push) 작업 지원을 위한 고도화 작업이 진행 중입니다. * 이러한 변화를 통해 향후 대용량 바이너리 파일을 효율적으로 저장하는 특수 포맷이나, GitLab과 같은 대규모 플랫폼에 최적화된 전용 스토리지 포맷을 도입하는 것이 가능해집니다. ## 커밋 이력 편집의 현대화와 git history 명령어 * 강력하지만 사용법이 복잡하고 난해했던 기존의 대화형 리베이스(`git rebase -i`)를 대체하기 위해 직관적인 `git history` 명령어가 추가되었습니다. * **git history reword**: 특정 커밋의 메시지를 즉시 수정할 수 있는 기능을 제공하여 사용자 편의성을 높였습니다. * **git history split**: 하나의 커밋을 두 개로 쪼개는 작업을 간편하게 수행할 수 있으며, 이는 최신 버전 관리 도구인 Jujutsu(`jj split`)의 영감을 받아 구현되었습니다. * 단순한 편집을 넘어, 수정된 커밋을 포함하고 있는 모든 로컬 브랜치를 자동으로 리베이스해주는 기능이 포함되어 있어 'Stacked Diffs(여러 개의 의존적 브랜치를 동시에 관리하는 방식)' 워크플로우를 강력하게 지원합니다. * 향후 `fixup`(수정 사항 자동 병합), `drop`(커밋 삭제), `reorder`(순서 변경), `squash`(커밋 합치기) 등 더 많은 서브 명령어가 추가될 예정입니다. ## 실용적인 결론 이번 업데이트는 Git의 내부 구조를 유연하게 재설계하여 미래의 저장 기술을 수용할 준비를 마쳤다는 점에서 큰 의의가 있습니다. 특히 `git history` 명령어는 리베이스 과정에서 실수를 두려워하던 사용자들에게 훨씬 안전하고 간결한 작업 방식을 제공하므로, 깔끔한 커밋 이력을 유지하고자 하는 개발자들에게 사용을 적극 권장합니다.

gitlab원문

3월 공급망 사고를 통해 본 파이프라인 보안 교훈 (새 탭에서 열림)

최근 발생한 일련의 공급망 공격 사례들은 CI/CD 파이프라인이 현대 소프트웨어 보안의 가장 취약한 고리이자 정교한 위협 행위자들의 핵심 타겟임을 보여줍니다. 이 글은 Trivy, axios 등 주요 오픈소스 도구의 침해 사례를 통해 파이프라인의 내재적 위험을 분석하고, GitLab의 '파이프라인 실행 정책(PEP)'을 활용하여 이러한 공격 패턴을 사전에 차단하고 탐지하는 구체적인 방안을 제시합니다. ## 3월 공급망 공격 사례와 파급력 * **Trivy 및 Checkmarx KICS 침해:** 보안 스캐너 자체가 공격 경로가 되어 CI/CD 환경 변수, 클라우드 토큰, SSH 키 등 민감한 자격 증명을 탈취하는 악성 코드가 삽입되었습니다. * **LiteLLM 백도어 배포:** 침해된 Trivy를 통해 유출된 자격 증명을 사용하여 PyPI에 백도어가 포함된 버전을 게시했으며, 이는 설치 시 즉시 실행되어 데이터를 외부로 유출했습니다. * **AI 코딩 어시스턴트 소스 코드 유출:** 패키징 설정 오류(.npmignore 미비)로 인해 59.8MB에 달하는 전체 소스 코드가 포함된 소스 맵 파일이 공용 npm 저장소에 노출되었습니다. * **axios 트로이목마 주입:** 메인테이너 계정 탈취를 통해 원격 제어 트로이목마(RAT)를 배포하는 악성 종속성이 주입되어 수백만 명의 사용자에게 영향을 미쳤습니다. ## 공급망 공격의 주요 패턴 * **도구 및 액션의 오염:** 파이프라인 내에서 실행되는 보안 도구를 무비판적으로 신뢰하는 점을 악용하며, 가변적인 버전 태그(Tag)를 통해 악성 코드가 주입됩니다. * **패키징 구성 오류:** 빌드 과정에서의 설정 실수로 디버깅 아티팩트나 내부 설정 파일이 운영 패키지에 포함되어 지적 재산권(IP)이 유출되는 경로가 됩니다. * **전이적 종속성 취약점:** 직접적인 종속성뿐만 아니라 하위 종속성 트리에 악성 코드를 심어 전체 빌드 인프라로 위협을 확산시킵니다. ## GitLab 파이프라인 실행 정책(PEP)을 통한 방어 * **강제적 보안 작업 주입:** 개발자가 정의한 `.gitlab-ci.yml` 설정과 관계없이, 조직 전체의 파이프라인에 보안 작업을 강제로 삽입하며 이는 개발자가 임의로 건너뛸 수 없습니다. * **패키징 검증 자동화:** 패키지 배포 전 단계에서 소스 맵, 내부 설정 파일(.env), 소름 돋는 대용량 파일 등 예기치 않은 파일의 포함 여부를 허용 목록과 대조하여 차단합니다. * **불변 식별자 사용 강제:** 도구 및 액션 사용 시 가변적인 태그 대신 불변의 커밋 SHA 또는 이미지 디지스트(Digest) 사용을 강제하여 태그 오염 공격을 방어합니다. * **종속성 드리프트 감지:** 락파일(lockfile)의 상태를 비교하여 예상치 못한 신규 종속성이나 버전 변경이 감지될 경우 빌드를 중단하고 보안 팀에 알림을 보냅니다. 조직의 보안을 개별 프로젝트의 설정에 의존하는 것은 위험합니다. 중앙 집중식 파이프라인 실행 정책을 통해 보안 검사를 표준화하고 강제함으로써, 신뢰 기반의 공급망 공격으로부터 인프라와 지적 재산권을 효과적으로 보호할 수 있습니다.

cloudflare원문

EmDash를 소개합니다 — 플러그인 보안 문제를 해결한 워드프레스의 정신적 후속작 (새 탭에서 열림)

EmDash는 24년 된 워드프레스(WordPress)의 구조적 한계를 극복하고 현대적인 웹 환경에 최적화하기 위해 등장한 오픈소스 CMS입니다. 기존 워드프레스의 가장 큰 취약점인 플러그인 보안 문제를 '다이나믹 워커(Dynamic Worker)'를 통한 샌드박스 격리 방식으로 해결했으며, TypeScript와 Astro 프레임워크를 기반으로 설계되었습니다. 이를 통해 서버리스 환경에서 안전하고 빠른 성능을 보장하며, MIT 라이선스를 채택해 개발자들에게 더 높은 자유도를 제공하는 것을 목표로 합니다. ### 워드프레스의 유산과 현대적 재구성 * **전통의 계승과 한계:** 워드프레스는 인터넷의 40% 이상을 점유하며 출판의 민주화를 이루었으나, AWS EC2조차 없던 시절에 설계되어 현대의 서버리스 및 글로벌 분산 네트워크 환경을 충분히 활용하지 못하고 있습니다. * **현대적 기술 스택:** EmDash는 전체 코드가 TypeScript로 작성되었으며, 콘텐츠 기반 웹사이트에 최적화된 프레임워크인 Astro를 기반으로 구동됩니다. * **서버리스 최적화:** 가상 프라이빗 서버(VPS)에 의존하던 방식에서 벗어나, Cloudflare와 같은 서버리스 플랫폼이나 Node.js 환경 어디서든 유연하게 배포할 수 있습니다. * **완전한 오픈소스:** 워드프레스의 코드를 전혀 사용하지 않고 밑바닥부터 새로 작성하여, GPL보다 허용 범위가 넓은 MIT 라이선스를 적용해 생태계 참여를 독려합니다. ### 플러그인 보안 위기의 근본적 해결 * **직접 접근의 위험성 제거:** 워드프레스 취약점의 96%는 플러그인에서 발생하며, 이는 PHP 스크립트가 데이터베이스와 파일 시스템에 직접 접근할 수 있는 구조 때문입니다. * **다이나믹 워커(Dynamic Worker) 격리:** EmDash는 각 플러그인을 독립된 샌드박스(Isolate)에서 실행합니다. 플러그인은 핵심 시스템에 직접 접근할 수 없으며 선언된 범위 내에서만 작동합니다. * **역량 기반 권한 모델 (Capability-based Model):** 플러그인은 매니페스트 파일에 필요한 권한(예: `read:content`, `email:send`)을 명시적으로 선언해야 합니다. 관리자는 설치 전 플러그인이 어떤 권한을 요구하는지 OAuth 승인 과정처럼 명확히 확인할 수 있습니다. * **네트워크 제어:** 플러그인은 외부 네트워크 접근이 기본적으로 차단되며, 필요한 경우 특정 호스트네임에 대해서만 접근 권한을 정적으로 부여받아 실행됩니다. ### 시장 종속성 탈피와 개발자 생태계 혁신 * **신뢰 구조의 변화:** 기존 워드프레스는 보안 위험 때문에 마켓플레이스의 수동 검토와 평판에 의존해야 했으나, EmDash는 기술적 격리를 통해 코드 수준에서 신뢰를 보장합니다. * **비즈니스 유연성:** 보안 이슈로 인해 강제되었던 마켓플레이스 종속성과 라이선스 제약에서 벗어나, 개발자들이 자신의 코드를 더 자유롭게 배포하고 상용화할 수 있는 환경을 제공합니다. * **정적 선언을 통한 자동화:** 플러그인의 권한 요구 사항이 정적으로 정의되어 있어, 관리자는 특정 권한을 요구하는 플러그인의 설치를 그룹별로 제한하는 등 정책 기반의 관리가 가능해집니다. 현재 EmDash는 v0.1.0 프리뷰 버전을 공개하고 초기 개발자 베타를 진행 중입니다. 클라우드플레어 계정이나 Node.js 서버에 직접 배포하여 테스트할 수 있으며, 기존 워드프레스의 운영 편의성은 유지하면서도 최신 보안 표준과 성능이 필요한 프로젝트에 강력한 대안이 될 것으로 보입니다.

google원문

더 나은 AI 벤치마크 구축하기: 평가자는 몇 명이면 충분할까? (새 탭에서 열림)

AI 모델의 성능을 평가할 때 인간 평가자들 사이의 의견 불일치는 재현성을 저해하는 주요 원인이 되지만, 그동안의 벤치마크는 소수의 평가자 의견만 반영하는 '단일 진리' 패러다임에 머물러 있었습니다. 구글 리서치는 데이터 항목 수(N)와 항목당 평가자 수(K) 사이의 최적의 균형점을 찾는 프레임워크를 통해, 더 적은 비용으로도 인간의 미묘한 의견 차이를 반영할 수 있는 재현성 높은 평가 로드맵을 제시했습니다. 연구 결과, 단순 정확도 측정인지 혹은 의견의 뉘앙스를 포착하는 것인지에 따라 최적의 (N, K) 비율이 달라진다는 점이 확인되었습니다. **재현성을 위한 (N, K) 트레이드오프 실험** * **연구 배경**: 인간은 주관적인 문제(독성, 혐오 표현 등)에 대해 서로 다른 의견을 갖지만, 기존 AI 벤치마크는 비용 문제로 항목당 1~5명의 평가자만 참여시켜 이러한 다양성을 간과해 왔습니다. * **시뮬레이션 설계**: Toxicity, DICES(대화형 AI 안전성), D3code(다문화 오펜시브 데이터) 등 실제 데이터셋을 기반으로 시뮬레이터를 개발하여, 한정된 예산 내에서 데이터 항목 수(Scale, N)와 평가자 수(Crowd, K) 중 무엇을 늘리는 것이 통계적으로 더 신뢰할 수 있는지(p < 0.05) 테스트했습니다. * **오픈소스 공개**: 연구진은 커뮤니티가 직접 모델 평가 전략을 최적화할 수 있도록 이 시뮬레이터를 GitHub에 공개했습니다. **주요 연구 결과: 관행을 깨는 세 가지 통찰** * **3~5명의 평가자는 불충분함**: 흔히 사용되는 항목당 3~5명의 평가 방식은 인간 의견의 복잡성을 담아내기에 부족하며, 통계적으로 유의미하고 재현 가능한 결과를 얻으려면 항목당 10명 이상의 평가자가 필요한 경우가 많습니다. * **측정 지표에 따른 전략 차별화**: * **정확도(Accuracy)**: 모델이 다수결 의견과 일치하는지를 측정할 때는 더 많은 데이터 항목(N)을 확보하는 '넓은(Forest)' 접근 방식이 유리합니다. * **뉘앙스(Nuance)**: 인간 의견의 전체적인 변동성과 스펙트럼을 포착하고자 할 때는 항목당 평가자 수(K)를 늘리는 '깊은(Tree)' 접근 방식이 필수적입니다. * **예산의 효율적 운용**: 무조건 큰 예산이 필요한 것은 아니며, 측정하려는 지표에 맞춰 (N, K) 비율을 최적화하면 약 1,000개의 주석(Annotation) 총량만으로도 충분히 재현성 높은 벤치마크를 구축할 수 있습니다. **AI 벤치마크의 미래와 시사점** * **단일 진리 패러다임의 탈피**: AI가 윤리나 가치 판단 등 주관적인 영역으로 확장됨에 따라, 정답이 하나라는 가정을 버리고 인간의 불일치 자체를 데이터로 수용해야 합니다. * **실무적 권장 사항**: 연구자들은 예산을 투입하기 전 시뮬레이터를 통해 목표 지표에 맞는 최적의 (N, K) 비율을 먼저 산출해야 하며, 특히 주관성이 강한 데이터일수록 평가자 수(K)를 충분히 확보하는 것이 벤치마크의 신뢰도를 높이는 길입니다. * **결론**: 인간이 왜 서로 다른 의견을 내는지 이해하는 것은 합의된 지점을 아는 것만큼 중요하며, 이번 연구는 이를 수학적으로 포착할 수 있는 도구를 제공합니다.

meta원문

미국산 시멘트와 콘크리트를 위한 AI (새 탭에서 열림)

메타(Meta)는 건설 산업이 고품질의 지속 가능한 콘크리트 배합을 개발할 수 있도록 돕는 AI 모델인 'BOxCrete(Bayesian Optimization for Concrete)'와 관련 기초 데이터를 공개했습니다. 이 기술은 미국 내 수입 시멘트 의존도를 낮추고 국산 원료를 활용한 최적의 배합을 빠르게 찾아냄으로써, 제조 공정의 효율성과 경제적 가치를 동시에 높이는 것을 목표로 합니다. 메타는 이를 통해 탄소 배출을 줄인 친환경 콘크리트가 실제 데이터 센터 건설 등 대규모 인프라에 즉시 적용될 수 있음을 증명하고 있습니다. **콘크리트 산업의 국산화와 AI의 역할** - 미국은 매년 막대한 양의 콘크리트를 생산하지만, 핵심 원료인 시멘트의 약 20~25%를 수입에 의존하고 있어 공급망 안정성과 환경 표준 준수에 어려움을 겪고 있습니다. - 시멘트는 화학적 성질이 매우 다양하여 원료를 바꿀 경우 기존 배합이 실패할 확률이 높으며, 전통적인 시행착오 방식의 실험은 시간과 비용이 많이 소요됩니다. - 메타의 AI 모델은 미국산 원료에 최적화된 새로운 배합을 신속하게 탐색하고 검증함으로써, 국내 제조 일자리 창출과 경제 활성화(리쇼어링)를 지원합니다. **BOxCrete 모델의 기술적 특징** - 베이지안 최적화(Bayesian Optimization)를 활용한 '적응형 실험(Adaptive Experimentation)' 방식을 통해 수많은 재료 조합 중 목표 성능을 만족하는 최적의 배합을 지능적으로 제안합니다. - 기존 모델보다 노이즈가 많은 데이터에 대해 더 강력한 회복탄력성을 보이며, 콘크리트의 작업성을 나타내는 중요한 지표인 '슬럼프(Slump)' 예측 기능이 추가되었습니다. - 사용자가 설정한 강도, 비용, 탄소 배출량 등의 제약 조건을 사전에 반영하며, 매 실험 결과가 나올 때마다 모델이 스스로 학습하여 예측 정확도를 높입니다. **현장 적용 및 실질적 성과** - **미네소타 데이터 센터:** BOxCrete로 설계된 배합을 로즈마운트 데이터 센터 기초 공사에 적용한 결과, 미국산 원료만으로 기존보다 43% 빠르게 구조적 강도에 도달했으며 균열 위험을 10% 감소시켰습니다. - **일리노이 협력:** 북미 최대 시멘트 제조사인 암라이즈(Amrize)와 협력하여 'Made in America' 인증 시멘트를 활용한 대규모 산업용 배합 최적화 가능성을 확인했습니다. - **펜실베이니아 소프트웨어 통합:** 콘크리트 산업용 SaaS 플랫폼인 쿼드렐(Quadrel)은 메타의 오픈소스 프레임워크를 자사 소프트웨어에 내장하여 전처리, 특성 공학, 품질 관리 워크플로우에 실시간으로 활용하고 있습니다. 콘크리트 제조사 및 건설 관계자들은 GitHub에 공개된 메타의 오픈소스 모델과 데이터를 활용하여 독자적인 최적화 시스템을 구축할 수 있습니다. AI를 통한 배합 설계는 단순히 속도를 높이는 것을 넘어, 미국산 원재료 사용을 극대화하고 탄소 발자국을 줄이는 등 건설 산업의 지속 가능한 미래를 위한 강력한 도구가 될 것입니다.

naver원문

C++ std::bit_cast와 reinterpret_cast — 언제 어떤 것을 써야 하는가 (새 탭에서 열림)

제시해주신 내용은 네이버 D2 블로그의 헤더와 메뉴 정보만 포함되어 있어, 실제 본문의 내용을 확인할 수 없습니다. 다만, **형식 가이드에 예시로 들어주신 "소프트 삭제(Soft Delete)"와 "트리거 기반 보관"**은 데이터베이스 설계 분야에서 매우 중요한 주제입니다. 제시된 예시 제목들을 바탕으로, 해당 주제를 다루는 일반적인 기술 블로그의 핵심 내용을 유추하여 요청하신 형식에 맞춰 정리해 드립니다. *** 데이터베이스 설계 시 관성적으로 사용하는 **'소프트 삭제(Soft Delete)' 방식의 한계를 지적하고, 데이터 무결성과 성능을 보장하기 위한 아키텍처적 대안**을 제시합니다. 삭제 플래그(`is_deleted`)를 사용하는 방식은 구현이 간단해 보이지만, 장기적으로는 쿼리 복잡도를 높이고 인덱스 효율을 떨어뜨리는 부작용을 낳습니다. 따라서 데이터의 생명 주기에 따라 실제 물리적 삭제(Hard Delete)와 별도의 이력 보관 시스템을 결합하는 전략이 필요합니다. **소프트 삭제의 구조적 문제점** * **인덱스 및 성능 저하**: 삭제된 데이터가 테이블에 물리적으로 계속 남아 있어 인덱스 크기가 불필요하게 커지며, 모든 조회 쿼리에 `WHERE deleted = false` 조건이 강제되어 실행 계획의 효율성을 떨어뜨립니다. * **데이터 무결성 제약의 한계**: 특정 컬럼에 유니크(Unique) 제약 조건이 있는 경우, 소프트 삭제된 이전 레코드와 새로 삽입하려는 레코드가 충돌하여 제약 조건을 제대로 활용할 수 없게 됩니다. * **비즈니스 로직의 복잡성**: 애플리케이션 전반에서 삭제된 데이터를 제외하는 로직이 산재하게 되어 코드 유지보수가 어려워지고, 실수로 삭제된 데이터를 참조하는 버그가 발생할 가능성이 높아집니다. **트리거 기반 보관 및 대안 전략** * **물리적 삭제와 이력 분리**: 원본 테이블에서는 데이터를 실제로 삭제(Hard Delete)하여 테이블을 가볍게 유지하고, 삭제된 데이터는 데이터베이스 트리거(Trigger)를 통해 별도의 보관용 테이블(Archive Table)로 즉시 이동시킵니다. * **애플리케이션 레이어 처리**: ORM(Entity Interceptor 등)이나 서비스 로직 수준에서 삭제 이벤트를 가로채, 원본 테이블의 삭제와 이력 테이블의 삽입을 하나의 트랜잭션으로 묶어 처리합니다. * **데이터 생명 주기 관리**: 일정 기간이 지난 삭제 데이터는 콜드 스토리지(S3, 별도 로그 DB 등)로 이전하거나 영구 삭제하는 정책을 세워 주 저장소의 성능을 최적화합니다. 단순히 복구의 용이성만을 위해 소프트 삭제를 선택하기보다는, 시스템의 규모와 데이터 정합성 요건을 먼저 고려해야 합니다. 데이터의 '상태'가 변하는 것이라면 상태 값을 활용하되, **진정한 의미의 '삭제'라면 물리적 삭제와 아카이빙 테이블을 분리하여 성능과 신뢰성을 모두 확보**하는 방식을 권장합니다.

naver원문

C++ 객체 수명과 암묵적 객체 생성 (새 탭에서 열림)

사용자가 본문에 예시로 든 "소프트 삭제"와 "트리거 기반 보관" 등의 키워드를 바탕으로, NAVER D2의 주요 기술 포스팅 중 하나인 **'데이터베이스에서 삭제 데이터를 보존하는 방법'**에 대한 내용을 요약해 드립니다. 데이터베이스 운영에서 삭제된 데이터를 보관하기 위해 흔히 사용하는 '소프트 삭제(Soft Delete)' 방식의 구조적 한계를 지적하고, 시스템의 성능과 유지보수성을 높일 수 있는 대안을 제시합니다. 단순히 삭제 플래그를 추가하는 방식보다는 데이터의 생명주기와 비즈니스 요구사항에 맞춰 물리적 삭제나 별도 테이블 분리 정책을 취하는 것이 장기적으로 유리하다는 것이 핵심 결론입니다. **소프트 삭제의 문제점** * **쿼리 복잡도 증가:** 모든 SELECT 쿼리에 `is_deleted = false`와 같은 조건을 추가해야 하며, 이를 누락할 경우 삭제된 데이터가 노출되는 비즈니스 오류가 발생할 위험이 큽니다. * **인덱스 및 성능 저하:** 데이터가 실제로 삭제되지 않고 테이블에 계속 쌓이므로 테이블 크기가 비대해지며, 인덱스 효율이 떨어져 전체적인 조회 성능에 악영향을 미칩니다. * **제약 조건 충돌:** Unique 제약 조건이 걸린 컬럼의 경우, 소프트 삭제된 데이터가 이미 값을 점유하고 있어 동일한 값의 데이터를 새로 삽입할 수 없는 문제가 발생합니다. **트리거 기반 보관 및 대안** * **트리거를 활용한 자동 이동:** 데이터가 삭제(DELETE)될 때 데이터베이스 트리거를 사용하여 해당 데이터를 별도의 '보관용(Archive) 테이블'로 자동 이동시킴으로써 원본 테이블의 크기를 작게 유지할 수 있습니다. * **애플리케이션 수준의 이력 관리:** 삭제 직전 애플리케이션 로직에서 이력 테이블로 데이터를 복사한 후 원본을 하드 삭제(Hard Delete)하여 데이터 무결성과 쿼리 단순함을 동시에 확보합니다. * **별도 스토리지 활용:** 보존 기간이 길고 접근 빈도가 낮은 삭제 데이터는 메인 DB가 아닌 더 저렴한 스토리지나 다른 데이터베이스로 이관하여 운영 비용을 절감할 수 있습니다. **효율적인 데이터 관리를 위한 추천** 데이터 보존이 법적/비즈니스적으로 필수적인 상황이 아니라면 가급적 하드 삭제를 우선적으로 고려해야 합니다. 만약 데이터 보존이 반드시 필요하다면 서비스의 규모와 복잡도를 판단하여, 조회 조건이 단순한 초기 단계에는 소프트 삭제를 사용하되 시스템이 커짐에 따라 트리거나 배치 작업을 통한 별도 테이블 분리 방식(Archiving)으로 전환하는 전략을 추천합니다.