read: fail

디자인 토큰 기반 UI 아키텍처

디자인 토큰은 디자인 시스템의 핵심 요소로, 다양한 플랫폼에서 일관된 디자인을 유지하는 데 도움을 줍니다. 이 글에서는 디자인 토큰의 정의, 이점, 그리고 효과적인 활용 방법을 다룹니다. 특히, 자동화된 배포 파이프라인레이어 구조를 통해 디자인 토큰을 관리하는 방법을 소개합니다. 디자인 토큰은 대규모 팀이나 다중 플랫폼 환경에서 특히 유용하며, 프로젝트의 필요에 따라 사용 여부를 결정해야 합니다.

데이터 제품 설계: 다음 단계

데이터 메쉬를 도입할 때 가장 먼저 고려해야 할 것은 어떤 데이터 제품을 먼저 구축할지입니다. 데이터 제품은 발견 가능성, 신뢰성, 보안성 등 8가지 특성을 가져야 하며, 소프트웨어 개발 방법론을 적용해 설계됩니다. 사용 사례에서 역으로 접근하여 데이터 제품을 모델링하고, 도메인 소유권을 명확히 하며, 서비스 수준 목표(SLO)를 설정하는 것이 중요합니다. 이러한 방법을 통해 조직은 데이터 메쉬를 효과적으로 운영할 수 있습니다.

데이터 제품 설계의 일반화

데이터 메쉬를 도입할 때 가장 먼저 고민해야 할 것은 어떤 데이터 제품을 먼저 구축할지 결정하는 것입니다. 데이터 제품은 발견 가능성, 신뢰성, 보안성 등 8가지 특성을 가져야 하며, 이를 통해 데이터 기반의 의사결정을 돕습니다. 사용 사례에서 출발해 데이터 제품을 설계하고, 도메인 소유권을 명확히 하여 혼란을 줄일 수 있습니다. 이 글은 데이터 제품의 정의와 오해를 풀어주며, 서비스 수준 목표(SLO) 설정의 중요성을 강조합니다.

데이터 제품 설계: 사용 사례에서 시작하기

데이터 메쉬를 도입할 때 가장 먼저 고민해야 할 것은 어떤 데이터 제품을 먼저 구축할지 결정하는 것입니다. 데이터 제품은 발견 가능성, 신뢰성, 보안성 등 8가지 핵심 특성을 가져야 합니다. 소프트웨어 개발의 핵심 원칙인 '사용 사례에서 시작하기'를 통해 데이터 제품을 효과적으로 설계할 수 있습니다. 예를 들어, 패션 리테일에서 고객 관계 관리자는 고객 가치를 평가하는 보고서를 필요로 할 수 있습니다. 이를 통해 '고객 생애 가치'라는 데이터 제품을 정의할 수 있습니다. 이처럼 명확한 목표를 설정하면 데이터 제품 팀이 과도한 설계를 피할 수 있습니다.

Gen AI 탐구: Copilot의 새로운 멀티 파일 편집 기능

GitHub Copilot과 같은 AI 코딩 보조 도구는 소프트웨어 개발 워크플로우를 강화할 수 있는 강력한 도구입니다. 특히, 새로 도입된 멀티 파일 편집 기능은 AI 보조의 범위를 확장하지만, AI가 생성한 변경의 영향을 관리하기 위해 신중한 문제 정의와 리뷰 과정이 필수적입니다.

블루스카이와 소셜 미디어에 대한 생각

최근 블루스카이에서 활동이 증가하면서 저자는 더 많은 게시물을 올리기 시작했습니다. 트위터의 중요성은 감소했으며, 링크드인에서는 불편한 사용자 경험에도 불구하고 많은 반응을 얻고 있습니다. 소셜 미디어는 다양한 플랫폼으로 분산되어 있으며, 저자는 오픈 프로토콜의 진전에 희망을 걸고 있습니다.

모바일 앱에서 스트랭글러 피그 사용 결과 평가

모바일 앱의 복잡성이 증가함에 따라, 전통적인 '처음부터 다시 쓰기' 방식은 점점 더 어려워지고 있습니다. 이에 대한 해결책으로 스트랭글러 피그 패턴을 도입하여 기존 앱 내에 React Native 마이크로 앱을 점진적으로 통합하는 방식이 제안되었습니다. 이 접근법은 전체 재작성에 비해 시간과 비용을 대폭 줄이면서 앱의 기능을 개선할 수 있는 유망한 전략으로 평가되었습니다.

스트랭글러 피그를 활용한 모바일 앱의 점진적 현대화

스트랭글러 피그 패턴을 이용해 기존의 복잡한 모바일 앱을 점진적으로 현대화하는 방법을 소개합니다. 이 방법은 전체적인 재작성의 위험을 피하면서, 모듈형 마이크로-앱 아키텍처를 통해 앱의 일부분을 새롭게 교체해 나가는 전략입니다. 이 과정에서 React Native 브리지와 회귀 테스팅 방법도 다룹니다.

모바일 앱의 점진적 현대화를 위한 스트랭글러 피그 패턴

스트랭글러 피그 패턴을 활용하여 점진적으로 구식 모바일 애플리케이션을 현대화하는 방법에 대해 설명합니다. 이 패턴은 기존 시스템 주변에 새 시스템을 구축하면서 점진적으로 교체하는 방식을 포함합니다. 이 방법은 비용, 기간, 위험을 줄이면서 사용자 경험을 유지할 수 있게 해줍니다.

Book Overflow 팟캐스트 인터뷰: 리팩토링에 대해

최근 Book Overflow 팟캐스트에서 리팩토링에 대한 인터뷰를 진행했습니다. 이 인터뷰에서는 코드를 더 깔끔하고 효율적으로 만드는 방법에 대해 논의했습니다. 리팩토링의 중요성과 그 과정에서 발생할 수 있는 오류에 대해서도 언급되었습니다.

GenAI를 활용한 능력 지도 구축 및 레거시 시스템 변환

GenAI는 레거시 시스템의 이해와 변환을 돕는데 큰 역할을 합니다. 이 기술은 코드를 데이터로 처리하고, 능력 지도를 생성하여 시스템의 현대화를 지원합니다. 또한, 코드의 이해도를 높이고, 변환 과정에서의 리스크를 최소화하는 데에도 기여할 수 있습니다.

레거시 시스템에서 저수준 세부 정보 및 고수준 설명 추출을 위한 GenAI 활용

ChatGPT 출시 이후, GenAI는 소프트웨어 엔지니어링 분야에서 빠르게 실험되고 채택되고 있습니다. 이 기술은 레거시 시스템의 복잡성에 대처하고, 코드를 데이터로 처리하여 다양한 추상화 수준에서 분석을 가능하게 하는 CodeConcise라는 도구를 개발했습니다.

GenAI를 활용한 레거시 시스템 현대화

ChatGPT 출시 이후 GenAI는 소프트웨어 엔지니어링 분야에서 빠르게 실험되고 도입되고 있습니다. 특히, 개발자들이 코드를 더 빠르게 작성할 수 있도록 돕는 GenAI 어시스턴트의 활용이 두드러집니다. 이에 대응하여, CodeConcise라는 내부 현대화 가속기가 개발되었으며, 이는 LLM을 사용하여 레거시 시스템의 복잡성을 해결하는 데 중점을 두고 있습니다.

데이터 제품을 관리하기 위한 피트니스 함수 사용

데이터 메쉬의 핵심 아이디어는 분석 데이터의 소유권을 분산시켜 각 도메인에 맞는 자율적인 팀이 데이터 제품을 관리하게 하는 것입니다. 이를 통해 팀은 비즈니스 요구사항의 변화에 빠르게 대응하고, 데이터 기반 의사결정에 도메인 지식을 적용할 수 있습니다. 또한, '아키텍처 피트니스 함수'라는 개념을 도입하여 데이터 제품이 설계 목표에 부합하는지 평가하고, 거버넌스 문제를 사전에 해결할 수 있도록 합니다.

블리키: 사이클 타임

마틴 파울러가 작성한 이 글에서는 아이디어에서 제품화까지 걸리는 시간인 사이클 타임의 개념을 설명합니다. 애자일 소프트웨어 개발에서는 작은 기능을 신속하게 구현하고 개발 과정에서의 지연을 줄여 사이클 타임을 최소화하는 데 중점을 둡니다. 또한, 사이클 타임을 다양하게 정의하고 측정하는 방법을 제안하여 개발 과정의 효율을 높일 수 있는 방법을 제시합니다.

현대화를 위한 '질식 덩굴' 비유 업데이트

20년 전, 한 작가가 레거시 시스템을 점진적으로 대체하는 방법으로 '질식 덩굴' 식물을 흥미로운 비유로 소개했습니다. 이 비유는 시간이 지남에 따라 인기를 끌었고, 이제 작가는 현대화를 위한 질식 덩굴 접근법을 성공적으로 적용하기 위한 핵심 활동에 초점을 맞춰 원본 페이지를 업데이트하기로 결정했습니다.

AI를 활용한 '레거시' 코드베이스 온보딩

AI 도구는 도메인 용어를 이해하고 관련 코드를 찾는 데 도움을 줄 수 있지만, 개발 환경 설정이나 테스트되지 않은 코드에 대한 유닛 테스트 생성에는 어려움이 있습니다. 자동 컨텍스트 조정이 미지의 애플리케이션에 대한 온보딩에 필수적입니다.

엔터프라이즈 애플리케이션 아키텍처 패턴 카탈로그 업데이트

엔터프라이즈 애플리케이션 아키텍처 패턴의 카탈로그 페이지가 개선되었습니다. 주요 변경 사항으로는 패턴의 의도를 메인 페이지에 포함시키고, O'Reilly 웹사이트의 책 섹션에 대한 직접 링크를 추가하는 것이 있습니다. 이러한 개선을 통해 카탈로그의 발견성과 사용성이 향상되었습니다.

AI와 알고리즘 제한 대신 설명 가능성을 높여야 할 필요성

AI 도구의 증가하는 사용은 소셜 미디어 피드와 보험 가격 책정과 같은 사람들의 삶에 영향을 미치는 소프트웨어 결정에 대한 우려를 낳고 있습니다. 설명 가능한 알고리즘과 AI의 필요성을 강조하며, 소프트웨어가 내리는 결정은 이해할 수 있어야 하며, 그 이유를 알 수 있어야 한다고 주장합니다.

서버 호출을 테스트하는 HTML 생성

HTML 생성 테스트는 잘 구성된 HTML을 확인하고, 구조와 내용을 검증하며, 사용자 상호작용을 시뮬레이션합니다. 이 과정에서 CSS 선택자, 무헤드 브라우저를 사용하고, HTML을 캐노니컬 문자열로 변환하는 방법도 소개되었습니다. 이러한 방법들은 서버 사이드에서 렌더링된 HTML의 구조적 및 행동적 측면을 철저히 테스트할 수 있게 해줍니다.