컨텐츠
소프트웨어 아키텍트 경력
2025-03-04 17:30
언젠가 읽기
아키텍처 정의
- 아키텍처: 특정 필요 기반 구조 설계 문서화 비전
소프트웨어 아키텍처 설명
- 소프트웨어 아키텍처: 소프트웨어 시스템 기본 구조 시각화
- 소프트웨어 구조 시각화: 요구 사항 충족 소프트웨어 구조 시각화
- 소프트웨어 요소 문서화: 데이터, 프로그램, 인프라 관계 및 속성 문서화
- 최적 아키텍처 정의: 요구 사항 충족 최적 소프트웨어 아키텍처 정의 예술
- 개발 청사진: 소프트웨어 시스템 개발 청사진 역할
- 세분성 수준: 높은 수준에서 세분화까지 점진적 세분화
- 세분성 문서화: '무엇', '왜', '누가', '어떻게', '언제', '어디서' 문서화
- 구조 선택 가능: 개발 전 기본 구조 및 인프라 선택 가능
소프트웨어 아키텍트 이유
- 창의성 및 문제 해결 능력 발휘 가능
- 기술 리더로 존경받는 전문 역할 수행
아키텍트 종류
- 엔터: 소프트웨어 아키텍트 종류 중 하나
참고 자료
- 소프트웨어 아키텍처 기초
- 아키텍트 역할 및 책임
- 아키텍처 설계 가이드
#54: 기술 경력을 발전시키세요 - 데일리 도즈 오브 테크: 소프트웨어 & 데이터 아키텍처, AI (12월 10일…)
2025-02-18 17:30
언젠가 읽기
기술 경력 향상을 위한 일일 기술 다이제스트 개요
- 최신 기술 동향과 모범 사례를 요약함
- 소프트웨어 아키텍트와 데이터 과학자 대상임
주요 내용
- GenAI 모델 활용 사례 공유함
- 'God Object' 안티 패턴 설명함
- Azure의 서버리스 애플리케이션 트렌드 다룸
참고 자료 목록
- GenAI 모델 조정 관련 자료 소개함
- 소프트웨어 아키텍처 패턴 안내함
- Azure 애플리케이션 관련 자료 제공함
맥락의 힘
2025-02-03 21:30
언젠가 읽기
컨텍스트의 정의
- 컨텍스트는 설계 결정을 형성하는 특정 상황, 제약 조건 및 요구 사항을 의미
- 프로젝트 요구사항 및 목표, 팀 구성 및 전문성, 도메인 복잡성, 확장성 필요성, 유지보수 고려사항, 조직 문화 등이 포함됨
컨텍스트의 중요성
- 컨텍스트는 소프트웨어 아키텍처에서 매우 중요
- 모든 상황에 맞는 단일 솔루션이 존재하지 않음
- 특정 설계가 다른 상황에서 부적합할 수 있음
컨텍스트 무시의 위험
- 컨텍스트를 무시하면 복잡한 솔루션이나 성능 저하 발생 가능
- 최신 아키텍처 트렌드를 맥락에 맞지 않게 적용하는 실수 우려
- 고유한 요구와 상황을 고려하지 않은 조언은 부적절한 설계를 초래할 수 있음
함께 읽으면 좋은 참고 자료
- 소프트웨어 아키텍처 패턴
- 마이크로서비스의 실제 적용 사례
- 조직 문화가 소프트웨어 개발에 미치는 영향
모듈식 모놀리스를 향한 길: 스프링 부트에서 마이크로서비스와 모놀리스를 조화롭게 운영하기
2025-02-03 12:30
언젠가 읽기
모듈형 모놀리스를 선택해야 하는 이유
- 모듈형 모놀리스트는 모놀리식 아키텍처의 단순함과 크고 작은 유연성을 결합한 접근 방식
- 마이크로서비스의 복잡성을 해결하고자 하는 팀에 적합
초기 마이크로서비스의 문제점
- 운영 오버헤드: 여러 서비스 관리는 복잡
- 조기 최적화: 명확한 경계 없이 분해 시 복잡해짐
- 비용 증가: 인프라 및 도구 비용 증가
모놀리식에서 모듈형 모놀리스트로 전환하는 전략
- 명확한 모듈 경계 설정
- 철저한 의존성 관리
- 클린 아키텍처 원칙 준수
모듈 경계 설정 및 의존성 관리의 모범 사례
- 각 모듈의 책임과 기능 명확히 정의
- 의존성 최소화로 독립성 유지
- 비즈니스 로직과 인프라스트럭처 분리
참조 자료
- 마이크로서비스 vs 모놀리스트
- 스프링 부트 아키텍처 이해하기
- 클린 아키텍처 원칙
도메인 주도 설계가 소프트웨어 설계에서 일상적인 문제를 해결하는 데 어떻게 도움이 되는가
2025-01-22 15:30
언젠가 읽기
- 소프트웨어 설계의 복잡성에서 도메인 주도 설계(DDD)의 역할
- 소프트웨어 설계의 도전 과제
- 중~대형 소프트웨어 프로젝트에서의 주요 도전은 코드로 논리적인 문제를 푸는 것이 아님
- 많은 움직이는 부분들—사람들과 코드 컴포넌트들—을 연결하는 것이 더 큰 도전
- 코드베이스와 마이크로서비스가 커질수록 전체 시스템에 부합하는 솔루션 설계가 어려워짐
- 많은 움직이는 부분들—사람들과 코드 컴포넌트들—을 연결하는 것이 더 큰 도전
- 중~대형 소프트웨어 프로젝트에서의 주요 도전은 코드로 논리적인 문제를 푸는 것이 아님
- 도메인 주도 설계(DDD)란 무엇인가?
- DDD는 이러한 도전을 해결하는 철학
- 깨끗한 코드 원칙뿐만 아니라 소프트웨어 설계와 개발의 맥락과 현실을 고려
- 도메인 전문가와 개발자 간의 격차를 줄이고 비즈니스 도메인을 정확하게 반영하는 소프트웨어 시스템을 구축
- 깨끗한 코드 원칙뿐만 아니라 소프트웨어 설계와 개발의 맥락과 현실을 고려
- DDD는 이러한 도전을 해결하는 철학
- DDD를 탐구하게 된 이유
- DDD가 무엇인지 모르면서도 여러 번 들어본 유행어였기 때문에 학습 시작
- 역할이 코드 작성에서 고수준의 설계를 포함하게 되면서 기존의 프로그래밍 모범 사례가 덜 유용해짐을 느낌
- 설계 도전을 해결하는 데 도움이 되는 새로운 아이디어를 찾고 있었음
- 역할이 코드 작성에서 고수준의 설계를 포함하게 되면서 기존의 프로그래밍 모범 사례가 덜 유용해짐을 느낌
- DDD가 무엇인지 모르면서도 여러 번 들어본 유행어였기 때문에 학습 시작
- DDD의 핵심 개념
- 유비쿼터스 언어(Ubiquitous Language): 개발자와 도메인 전문가가 공유하는 공통 언어 구축으로 의사소통 격차 해소
- **
- 유비쿼터스 언어(Ubiquitous Language): 개발자와 도메인 전문가가 공유하는 공통 언어 구축으로 의사소통 격차 해소
- 소프트웨어 설계의 도전 과제