도메인 주도 설계에 관심이 있어서 [NHN FORWARD 22] DDD 뭣이 중헌디? 🧐 를 보았는데,해당 영상만 보고는 쉽게 이해가 가지 않아 여러 영상들과 글들을 참고 해서 얕게나마 정리 해보았습니다. 정리 해두고 다음에 다시 보고 더 정리 해 봐야겠습니다. DDD (Domain-Driven Design)도메인이란 무엇인가?먼저, 도메인이란 특정 정보와 활동이 이루어지는 영역을 의미합니다. 프로그래머에게 도메인은 애플리케이션의 로직이 관여하는 정보와 활동의 영역을 나타냅니다. 예를 들어, "회원"이라는 도메인에서는 회원 가입, 탈퇴와 같은 회원과 관련된 일련의 작업들이 포함됩니다. 또한, "도메인 레이어"와 "도메인 로직"이라는 용어는 비즈니스 로직과 동일한 개념으로 받아들여집니다. 이 비즈니스 로..
아래 글은 [스프링캠프 2024] Spring AI : LLM에도 봄이 찾아오다 (황민호)님의 발표를 듣고 정리한 글입니다. 1. 발표자 소개황민호 개발자님은 카카오에서 10년차 개발자로서 다음 클라우드, 다음 검색, 모먼트 광고 플랫폼, 오픈소스 플랫폼 등 다양한 프로젝트를 스프링 부트로 개발해왔습니다. 현재는 AI 교육 자문과 CTO 기술 전략 스텝 역할을 수행하고 있으며, ChatGPT 등장 이후 AI 관련 발표를 활발히 진행하고 있습니다. 2. 생성형 AI의 역사와 현재생성형 AI는 단순한 객체 인식 기술을 넘어, 텍스트, 이미지, 사운드 등 다양한 형태로 정보를 생성할 수 있는 능력을 갖추게 되었습니다. 기존 객체 인식 모델인 YOLO와 같은 딥러닝 모델은 특정 객체를 인식하는 데 주력했지만,..
아래 글은 인프콘 2024에서 진행된 인프런 아키텍처 2024 ~ 2025 이라는 발표를 듣고 정리한 글입니다. 인프런의 CTO로 계시는 이동욱님께서 발표하신 인프런의 아키텍처 변화와 발전 방향에 대한 내용입니다. 1. 작년 아키텍처 리뷰와 현재 상황작년에는 MSA까지는 아니더라도 분산 환경으로의 전환을 목표로 했습니다. 각 목적 조직마다 레거시 시스템을 복제하여 가져가고, 이를 각 조직의 신규 시스템과 함께 점진적으로 개선하는 것이 계획이었습니다. 하지만 현실적으로는 일부 조직은 레거시가 조금씩 개선되었지만, 다른 조직은 레거시가 그대로 남아있고 신규 시스템의 코드가 아직 작은 상태로 유지되는 등 기술 스택 전환이 조직마다 불균형하게 진행되었습니다. 이런 상황에서 인프런은 현재 국제화를 진행하다 보니..
아래 글은 인프콘 2024에서 진행된 지속 성장 가능한 설계를 만들어가는 방법 이라는 발표를 정리한 글입니다. 토스페이먼츠의 김재민님께서 발표 해주셨습니다. 설계를 하지 않는 것이 설계를 잘하는 방법?설계보다 중요한 것은 '구현'이 핵심입니다.설계는 구현을 통해 완성되는 것이고, 완벽한 설계란 애초에 불가능합니다. 개념과 격벽을 통한 유연한 설계소프트웨어 개발에서 중요한 두 가지 개념, 개념과 격벽개념: 소프트웨어를 만들 때 떠오르는 다양한 요소들, 예를 들어 웹툰 서비스에서는 작가, 작품, 결제 등의 개념이 있을 수 있다. 이 개념들을 그룹화하고 그 관계를 잘 설정하는 것이 설계의 핵심.격벽: 개념 간에 무분별한 참조를 막고, 통제된 방식으로만 상호작용할 수 있게 하는 일종의 ‘벽’이다. 격벽을 잘 세..
최근 쿠버네티스에 관심을 갖게 되면서 CKA 자격증 공부를 시작했습니다. 관련 지식을 넓히고자 유튜브에서 쿠버네티스 관련 컨퍼런스 영상을 찾아보던 중, 2023년에 열린 Kubernetes Community Day의 강연들이 눈에 띄었습니다. 그 중에서도 오픈소스 기여에 관심이 많았던 저는 컨트리뷰션을 주제로 한 강연을 듣고 정리해 보았습니다. 해당 강연은 이곳에서 원본으로 보실 수 있습니다.→ KCD Korea 2023: CNCF 및 Kubernetes 컨트리뷰션, 지금 여기서 시작하세요! - 손석호 이 강연은 '노코드' 방식으로 쿠버네티스 문서의 한글화에 기여하는 방법을 다루고 있습니다. 강연 내용부터 설명해 드리겠습니다. 발표자손석호님은 한국전자통신연구원(ETRI)에서 근무하며, Kubernetes..
아래 글은 [우아콘 2023] Kafka Streams를 활용한 이벤트 스트림 처리 삽질기를 보고 정리되었습니다.배치에서 스트림 처리로의 전환초기에는 배치 처리를 통해 배달 데이터와 라이더 데이터를 수집하고 분석했지만, 서비스 확장과 함께 데이터량이 급격히 증가하면서 여러 문제가 발생했다.배치 처리 시간의 불안정성: 평상시에는 빠르게 끝나던 배치가, 주문량이 몰리는 시간대나 주말에는 DB에 부하가 발생하여 처리 속도 문제가 발생실시간 반영의 어려움: 배치 처리 주기 사이에 들어온 데이터는 실시간 반영이 불가능해 이상 탐지와 같은 작업이 지연이러한 이유로 대량의 데이터를 실시간으로 처리할 수 있는 스트림 처리로의 전환을 결심하게 되었다고 합니다.Kafka Streams 선택 이유Apache Flink vs..