GitHub / software-development

8 개의 포스트

github

GitHub for Beginners: Getting started with GitHub Pages (새 탭에서 열림)

제시해주신 텍스트는 기술 블로그의 본문이 아닌 작성자의 **프로필(Bio)** 정보입니다. 해당 내용을 바탕으로 요청하신 형식에 맞춰 요약해 드립니다. Kedasha는 GitHub의 Developer Advocate로서 자신의 개발 경험과 지식을 커뮤니티에 공유하며 타인의 성장을 돕는 데 주력하고 있습니다. 그녀는 소프트웨어 개발자로서 쌓은 실무적인 교훈을 전파하며, 기술 산업 내에서 교육적 가치를 창출하는 것을 핵심 역할로 삼고 있습니다. **Developer Advocate로서의 지식 공유** * GitHub 소속의 Developer Advocate로서 실무에서 얻은 인사이트와 교훈을 전 세계 개발자 커뮤니티와 활발하게 공유함. * 소프트웨어 개발자로서의 개인적인 여정과 경험을 바탕으로 기술 생태계의 학습 문화를 조성하는 데 기여함. **기술 교육에 대한 철학과 소통** * 타인이 기술 산업을 이해하고 새로운 지식을 습득하는 과정에서 보람을 느끼며, 이를 위해 교육적 멘토 역할을 수행함. * 소셜 미디어 플랫폼(@itsthatladydev)을 적극적으로 활용하여 온라인상에서 전 세계 개발

github

Agent-driven development in Copilot Applied Science (새 탭에서 열림)

제시된 내용은 Microsoft Copilot 응용 과학 팀의 선임 응용 연구원인 Tyler의 약력에 관한 것입니다. 요청하신 형식에 맞춰 해당 내용을 정리해 드립니다. Tyler는 Microsoft Copilot 응용 과학 팀의 선임 응용 연구원으로, 과학 연구, 교육, 게임 개발 및 소프트웨어 등 다양한 분야를 아우르는 독특한 배경을 가지고 있습니다. 그는 현재 팀과 조직 전체의 학습 및 연구 속도를 가속화하는 데 주력하고 있으며, 이러한 다학제적 경험을 바탕으로 기술적 혁신을 이끌고 있습니다. **다양한 도메인을 아우르는 융합적 배경** - 과학 연구 및 교육 분야의 전문 지식을 보유하여 학문적 토대 마련 - 게임 디자인 및 개발 경험을 통한 창의적이고 사용자 중심적인 소프트웨어 접근 방식 확보 - 폭넓은 소프트웨어 엔지니어링 실무 역량을 바탕으로 복잡한 기술 문제 해결 **학습과 연구 속도의 가속화** - Copilot 응용 과학 팀(Copilot Applied Science team) 내에서 연구 효율성을 높이는 역할 수행 - 팀 단위 및 조직 전체의 학습 프로세스를 개선하여 기술적 성장을 견인 - 새로운 연구 결과가 실제 서비스에 빠르게 적용될 수 있도록 연구와 실무 사이의 가교 역할 수행 서로 다른 도메인의 지식을 결합하는 다학제적 접근 방식은 현대의 복잡한 AI 연구 환경에서 팀의 학습 능력을 극대화하고 혁신을 가속화하는 핵심 동력이 됩니다.

github

GitHub for Beginners: Getting started with GitHub security (새 탭에서 열림)

제시해주신 내용은 저자인 Kedasha의 약력으로 보입니다. 해당 저자가 작성한 기술 블로그의 핵심 주제인 **"소프트 삭제(Soft Delete)의 문제점과 대안"**에 대한 내용을 바탕으로 요청하신 형식에 맞춰 요약해 드립니다. 소프트 삭제(Soft Delete)는 구현이 쉬워 보이지만 장기적으로는 시스템 복잡성과 성능 저하를 초래하는 안티 패턴에 가깝습니다. 데이터의 물리적 삭제 대신 플래그를 사용하는 방식은 모든 쿼리에 필터 조건을 강제하여 실수를 유발하고, 유니크 제약 조건 충돌이나 GDPR 같은 데이터 프라이버시 법규 준수를 어렵게 만듭니다. 따라서 데이터 보존이 필요하다면 물리적 삭제와 함께 별도의 보관 테이블이나 트리거를 활용하는 아키텍처를 구축하는 것이 더욱 견고한 해결책이 됩니다. **소프트 삭제가 초래하는 데이터 관리의 복잡성** * **쿼리 오염:** 모든 `SELECT` 쿼리에 `WHERE deleted_at IS NULL`과 같은 조건을 추가해야 하며, 이를 한 번이라도 누락할 경우 삭제된 데이터가 사용자에게 노출되는 심각한 논리적 오류가 발생합니다. * **제약 조건 충돌:** 사용자 아이디나 이메일처럼 유니크(Unique) 제약 조건이 걸린 컬럼에서 데이터가 소프트 삭제된 경우, 동일한 값으로 새로운 데이터를 삽입할 때 충돌이 발생하여 비즈니스 로직이 꼬이게 됩니다. * **데이터베이스 비대화:** 실제로 삭제된 데이터가 테이블에 계속 남아 있어 인덱스 크기가 커지고 검색 성능이 점진적으로 저하됩니다. **규제 준수 및 보안상의 한계** * **GDPR 및 개인정보 보호:** 유럽의 GDPR 등 현대의 개인정보 보호법은 사용자의 '잊힐 권리'를 보장하며 데이터의 완전한 삭제를 요구하는 경우가 많습니다. 소프트 삭제는 물리적으로 데이터를 남겨두기 때문에 법적 요구사항을 충족하지 못할 위험이 있습니다. * **데이터 생명주기 관리:** 오래된 데이터를 퍼지(Purge)하거나 아카이빙하는 정책을 세울 때, 활성 데이터와 삭제된 데이터가 섞여 있어 관리 포인트가 늘어납니다. **더 나은 대안: 트리거 기반 보관 및 전용 테이블 활용** * **히스토리/보관 테이블 분리:** 삭제가 발생할 때 원본 테이블에서는 데이터를 물리적으로 삭제(Hard Delete)하고, 삭제된 데이터는 별도의 `audit_logs` 또는 `archive` 테이블로 옮겨 관리합니다. * **데이터베이스 트리거 활용:** 어플리케이션 로직에서 삭제와 삽입을 동시에 처리하는 대신, DB 수준의 트리거를 설정하여 삭제 시 자동으로 보관 테이블에 기록되도록 구성하면 데이터 유실을 방지하면서도 운영 테이블의 무결성을 유지할 수 있습니다. * **클린 쿼리 유지:** 운영 테이블에는 항상 '살아있는' 데이터만 존재하게 되므로 쿼리가 단순해지고 인덱스 효율성이 극대화됩니다. 비즈니스 요구사항에 따라 데이터 복구가 필수적이라면, 어플리케이션 계층에서 플래그를 관리하는 소프트 삭제보다는 **데이터베이스 아키텍처 수준에서 별도의 이력 테이블을 운영하는 방식**을 우선적으로 고려하시길 권장합니다. 이는 시스템의 확장성과 안전성을 동시에 확보할 수 있는 가장 확실한 방법입니다.

github

Building AI-powered GitHub issue triage with the Copilot SDK (새 탭에서 열림)

안드레아(Andrea)는 10년 이상의 개발 도구 분야 경력을 가진 GitHub의 시니어 데벨로퍼 어드보케이트로, 복잡한 공학적 개념을 실질적인 구현 기술로 연결하는 데 주력하고 있습니다. 군 복무와 건설 관리직에서 소프트웨어 개발자로 전향한 독특한 이력을 바탕으로, 그녀는 첨단 기술을 대중화하고 개발자들이 보다 쉽게 기술에 접근할 수 있도록 돕고 있습니다. 현재는 GitHub의 글로벌 이니셔티브를 통해 오픈 소스 생태계를 지원하며 기술 혁신을 주도하고 있습니다. **전문성 및 기술적 사명** * 개발자 도구 분야에서 10년 이상의 풍부한 경험을 쌓으며 기술적 깊이와 사용자 접근성을 동시에 추구합니다. * 복잡한 엔지니어링 개념과 실제 구현 사이의 간극을 좁혀, 첨단 기술을 더 많은 개발자가 활용할 수 있도록 지원하는 것을 미션으로 삼고 있습니다. **독특한 경력 전환과 관점** * 군 복무 및 건설 관리라는 이색적인 배경에서 소프트웨어 개발자로 성공적으로 커리어를 전환했습니다. * 이러한 다양한 경험은 기술적인 문제를 해결할 때 실용적이고도 새로운 시각을 제공하는 원동력이 됩니다. **GitHub 활동 및 오픈 소스 기여** * GitHub의 시니어 데벨로퍼 어드보케이트로서 글로벌 차원의 오픈 소스 지원 및 기술 혁신 프로젝트를 이끌고 있습니다. * 소셜 미디어(@acolombiadev)와 다양한 커뮤니티 활동을 통해 개발자들과 활발히 소통하며 지식을 공유합니다. 안드레아의 행보는 단순한 기술 전달을 넘어, 다양한 배경을 가진 이들이 기술 세계에 기여할 수 있는 환경을 조성하는 데 큰 영감을 줍니다. 그녀의 통찰력은 복잡한 도구를 다루는 개발자들에게 실질적인 가이드를 제공합니다.

github

GitHub for Beginners: Getting started with GitHub Actions (새 탭에서 열림)

제공해주신 텍스트는 기술 블로그의 본문이 아닌, 저자인 **Kedasha(GitHub Developer Advocate)의 프로필 소개글**입니다. 해당 내용을 요청하신 형식에 맞춰 요약해 드립니다. GitHub의 Developer Advocate인 Kedasha는 자신이 체득한 기술적 교훈을 개발자 커뮤니티와 공유하며 타인의 성장을 돕는 데 주력하고 있습니다. 그녀는 소프트웨어 개발자로서의 실무 경험을 바탕으로 기술 산업에 입문하려는 이들에게 가이드를 제공하는 것을 핵심 사명으로 삼습니다. 온라인 채널을 통해 지속적으로 소통하며 커뮤니티 전체의 발전에 기여하고 있습니다. **커뮤니티 기반의 지식 공유 및 옹호** * GitHub 소속의 Developer Advocate로서, 실무에서 배운 인사이트를 광범위한 개발자 생태계에 전파하는 역할을 수행합니다. * 지식 전달 과정에서 타인이 기술 산업에 대해 배우고 성장하는 것을 돕는 데서 큰 보람을 느끼며 활동합니다. **실무 경험 바탕의 멘토링 및 소통** * 소프트웨어 개발자로서 겪은 실제적인 경험과 노하우를 커뮤니티 구성원들과 적극적으로 나눕니다. * 소셜 미디어 계정(@itsthatladydev)을 통해 온라인에서 개발자들과 긴밀하게 소통하며 접근성 높은 정보 공유 시스템을 구축하고 있습니다. 개발자로서 개인의 성장에 머무르지 않고, Kedasha와 같이 자신의 경험을 콘텐츠화하여 커뮤니티에 공유함으로써 생태계와 함께 성장하는 선순환 구조를 만들어가는 것을 추천합니다. *** **참고:** 만약 요약하시려는 특정 기술 주제(예: 소프트 삭제, 데이터베이스 설계 등)에 관한 **블로그 본문**이 따로 있다면, 해당 내용을 본 채팅창에 다시 붙여 넣어주세요. 더 상세하고 기술적인 요약이 가능합니다.

github

GitHub for Beginners: Getting started with GitHub Issues and Projects (새 탭에서 열림)

제공해주신 텍스트는 해당 블로그 글의 작성자인 Kedasha(GitHub의 Developer Advocate)에 대한 **소개 문구(Bio)**입니다. 요청하신 "소프트 삭제"나 "트리거 기반 보관"과 같은 기술적 내용을 요약하기 위해서는 블로그의 **본문 내용**이 필요합니다. 사용자께서 예시로 들어주신 "소프트 삭제의 문제점" 등의 키워드로 미루어 보아, Kedasha가 작성한 **"Soft deletes are bad; do this instead(소프트 삭제는 나쁘니 대신 이렇게 하세요)"**라는 글을 요약하고자 하시는 것으로 이해됩니다. 해당 글의 핵심 내용을 바탕으로 요청하신 형식에 맞춰 요약해 드립니다. --- 데이터베이스 설계 시 관행적으로 사용되는 '소프트 삭제(is_deleted 플래그)'가 시스템 복잡성과 성능 저하를 초래한다는 점을 지적하며, 이를 대체할 수 있는 더 깨끗하고 효율적인 데이터 관리 방안을 제시합니다. 궁극적으로 소프트 삭제 대신 별도의 이력 테이블이나 아카이빙 전략을 사용할 것을 권장합니다. ### 소프트 삭제의 문제점 * **인덱스 및 성능 저하**: 삭제된 데이터가 테이블에 계속 남아 인덱스 크기를 키우고, 쿼리 시 `WHERE deleted = false` 조건을 항상 포함해야 하므로 실행 계획의 효율성을 떨어뜨립니다. * **유니크 제약 조건 충돌**: 특정 필드(예: 이메일)에 유니크 제약이 있을 경우, 소프트 삭제된 행이 존재하면 동일한 값으로 새 데이터를 삽입할 수 없는 논리적 오류가 발생합니다. * **쿼리 복잡성 증가**: 모든 조회 쿼리에 삭제 여부 필터를 적용해야 하므로, 개발자가 이를 누락할 경우 삭제된 데이터가 사용자에게 노출되는 버그가 발생할 위험이 큽니다. ### 트리거 기반의 보관(Archiving) * **별도 테이블 이동**: 본 테이블(Main Table)에는 활성 데이터만 남기고, 삭제된 데이터는 트리거(Trigger)를 통해 별도의 보관용 테이블(Archive Table)로 자동 이동시키는 방식을 제안합니다. * **무결성 유지**: 이 방식을 통해 본 테이블의 유니크 제약 조건을 깨끗하게 유지할 수 있으며, 인덱스 성능 또한 최적으로 관리할 수 있습니다. * **성능 최적화**: 운영 쿼리가 훨씬 적은 양의 데이터만 탐색하게 되어 전반적인 애플리케이션 응답 속도가 향상됩니다. ### 감사 로그(Audit Logs)의 활용 * **상태 변경 추적**: 단순 삭제 여부만 저장하는 대신, 누가 언제 왜 데이터를 변경/삭제했는지 기록하는 감사 로그 시스템을 구축하는 것이 장기적으로 데이터 거버넌스 측면에서 유리합니다. * **데이터 복구 용이성**: 단순 플래그보다 더 풍부한 맥락 정보를 담고 있어, 필요 시 데이터를 복구하거나 이력을 추적하는 데 훨씬 효과적입니다. 단순히 플래그 하나로 삭제를 처리하기보다는, 데이터의 생명 주기를 고려하여 **운영 데이터와 아카이브 데이터를 물리적으로 분리**하는 설계가 확장성 있는 시스템 구축의 핵심입니다. 만약 다른 본문의 요약을 원하신다면 전체 텍스트를 다시 제공해 주세요.

github

What’s new with GitHub Copilot coding agent (새 탭에서 열림)

10년 이상의 개발자 도구 분야 경력을 보유한 GitHub의 Senior Developer Advocate 안드레아(Andrea)는 복잡한 엔지니어링 개념과 실제 구현 사이의 가교 역할을 수행하며 첨단 기술의 접근성을 높이는 데 주력하고 있습니다. 군 복무와 건설 관리직에서 소프트웨어 개발자로 전향한 그녀의 독특한 이력은 기술적 깊이와 실무적 적용을 결합하는 데 중요한 밑바탕이 됩니다. 현재 그녀는 글로벌 오픈 소스 이니셔티브를 통해 혁신을 주도하며 전 세계 개발자 커뮤니티의 성장을 지원하고 있습니다. ### 기술적 전문성과 경력 배경 * GitHub의 시니어 개발자 애드보킷으로서 10년 넘게 개발자 도구(Developer Tools) 분야에서 전문성을 쌓아왔습니다. * 미 육군 복무 및 건설 관리직에서 소프트웨어 엔지니어링으로 전향한 이색적인 경력을 통해 문제 해결에 대한 다각적인 시각을 보유하고 있습니다. * 이러한 배경은 복잡한 기술적 난제를 실무 중심의 언어로 풀어내고, 고급 기술을 더 넓은 사용자 층이 쉽게 수용할 수 있도록 돕는 기반이 됩니다. ### 기술 접근성 향상 및 오픈 소스 활동 * 추상적이고 복잡한 엔지니어링 개념을 실제 구현 가능한 단계로 연결하는 것을 핵심 미션으로 삼고 있습니다. * GitHub의 글로벌 이니셔티브에 참여하여 오픈 소스 생태계를 활성화하고, 개발자들이 최신 도구를 효과적으로 활용할 수 있도록 혁신을 추진합니다. * 온라인 채널(@acolombiadev)을 통해 기술 지식을 공유하며, 실무 환경에서 마주하는 엔지니어링 복잡성을 낮추는 데 기여하고 있습니다. 다양한 배경에서 비롯된 실무 중심의 기술 전달 능력은 복잡한 도구와 기술이 쏟아지는 현대 개발 환경에서 매우 중요한 가치를 지닙니다. 기술의 깊이를 유지하면서도 이를 대중화하려는 안드레아의 접근 방식은 복잡한 시스템을 설계하고 운영하는 엔지니어들에게 실용적인 통찰력을 제공합니다.

github

How AI is reshaping developer choice (and Octoverse data proves it) (새 탭에서 열림)

GitHub의 시니어 개발자 애드보케이트인 Andrea는 10년 이상의 개발자 도구 분야 경험을 바탕으로 복잡한 공학 개념을 실용적인 구현 단계로 연결하는 데 주력하고 있습니다. 그녀는 군 복무 및 건설 관리라는 독특한 이력을 기술에 접목하여 고급 기술을 누구나 더 쉽게 접근할 수 있도록 만드는 미션을 수행 중입니다. 이를 통해 전 세계적인 기술 혁신을 주도하고 오픈 소스 생태계를 지원하는 데 기여하고 있습니다. **기술적 깊이와 접근성 강화** * 10년이 넘는 기간 동안 개발자 도구 분야에서 쌓아온 전문성을 바탕으로 시니어 개발자 애드보케이트로서 활동 * 단순한 기술 전달을 넘어, 복잡하고 고도화된 엔지니어링 개념의 진입 장벽을 낮추어 더 많은 개발자가 기술을 활용할 수 있도록 지원 * GitHub의 글로벌 이니셔티브를 통해 오픈 소스 프로젝트의 혁신을 장려하고 커뮤니티의 성장을 도모 **커리어 전환을 통한 차별화된 관점** * 군 복무(Army service) 및 건설 관리(Construction management)라는 비전형적인 배경을 소프트웨어 개발에 융합 * 현장 중심의 관리 경험을 기술적 문제 해결에 적용하여, 이론에 매몰되지 않는 실용적인 엔지니어링 시각을 제공 * 서로 다른 산업 영역의 가교 역할을 수행하며 복잡한 시스템을 보다 효율적이고 실무적인 방식으로 구조화 **실무적인 결론** Andrea의 사례는 기술적 전문성만큼이나 다양한 산업적 배경이 개발자 관계(DevRel)와 기술 대중화에 얼마나 중요한지를 보여줍니다. 복잡한 기술을 다루는 팀일수록 현장 경험과 공학적 깊이를 동시에 갖춘 접근 방식을 채택함으로써, 기술의 실용적 가치를 극대화하고 사용자 접근성을 높일 수 있을 것입니다.