이벤트5 알고리즘에서 이벤트 기반 접근 오늘은 특정 문제의 풀이를 가져오진 않았다. 주말에 Moloco 코딩테스트를 보다가 뼈아프게 실수한 게 있어서 복기의 목적으로 문제를 정리해본다. 몰로코 코딩 테스트는 4문제 70분으로 주어진다. 난이도는 전반적으로 쉬운 편이다. 백준 기준으로 실버 1~5 수준의 문제가 나오는데 복잡한 알고리즘과 자료구조를 묻기보다 빠른 문제 해결 능력을 물어보는 유형이 나온다.결국 한 문제를 시간 내에 풀지 못하고 제출했다. 시험이 끝나고 곰곰이 생각해보니 분명히 풀었던 유형이었다. 코드트리의 "코드트리 오마카세"가 정확히 이런 유형이었다.구간의 변화를 이벤트로 관리코드시그널 문제를 구체적으로 밝힐 수는 없지만 코드트리 오마카세와 못 풀었던 문제의 유형을 일반화한다면 "구간의 변화를 이벤트로 관리"한다는 점이다. 이때.. 알고리즘 2024. 11. 11. 우아한 형제들의 회원시스템 이벤트기반 아키텍처 구축하기 2 본 포스팅은 아무런 상업적 이익과 금전적 수입에 연관되어 있지 않습니다. 문제 시 삭제 조치하겠습니다. 블로그 프로필의 이메일이나 lion0077v@gmail.com으로 메일 주시기 바랍니다. 이전 포스팅에서는 물리적인 시스템 분리와 비동기 HTTP 통신, 올바른 이벤트 발행 방식까지 살펴보며 의존 관계의 본질이 무엇인지 확인했다. 메시징 시스템을 사용해 물리적인 의존을 제거하는 방법과 “메시지가 담는 의도”에 따라 전혀 다른 결과를 얻는다는 것을 알 수 있었다.예시 상황처럼 ‘가족관계를 탈퇴하라’ 라는 달성 목적이 아닌 본인인증을 해제했다는 이벤트를 발송해야 한다. 즉, 우리가 발행해야 하는 이벤트는 도메인 이벤트로 인해 달성할 목적이 아닌 도메인 이벤트 그 자체가 되어야 한다.도메인이란 해결하고자 하.. 기술블로그 2024. 10. 23. 결합도를 낮추고 응집도를 높히자. “Spring Event” 객체 지향 프로그래밍의 5가지 설계 원칙을 다시 되새겨보자. 오늘의 주제 Spring Event도 이 5원칙에서 출발한다.1. SRP(Single Responsibility Principle) 단일 책임 원칙2. OCP(Open-Closed Principle) 개방 폐쇄 원칙3. ISP(Interface Segregation Principle) 인터페이스 분리 원칙4. LSP(Liscov Substitution Principle) 리스코프 치환 원칙5. DIP(Dependency Inversion Principle) 의존 역전 원칙흔히 말하는 SOLID 원칙(https://dev-ignuy.tistory.com/14)에 의해 객체지향은 계속 발전해왔다. 이 중에서도 SRP는 “하나의 메서드나 클래스는 한.. 개발일기/Spring 2024. 9. 23. 우아한 형제들의 회원시스템 이벤트기반 아키텍처 구축하기 1 본 포스팅은 아무런 상업적 이익과 금전적 수입에 연관되어 있지 않습니다. 문제 시 삭제 조치하겠습니다. 블로그 프로필의 이메일이나 lion0077v@gmail.com으로 메일 주시기 바랍니다.성공적으로 성장하는 회사들이 대부분 그렇듯 배달의 민족 주문수는 J커브를 그리면서 가파른 성장을 경험하였다. 2015년 서비스 출범 당시 하나의 프로젝트로 만들어졌던 배달의 민족은 더 이상 하나의 시스템, 하나의 데이터베이스 만으로 폭발적으로 늘어나는 트래픽을 감당하지 못한다.이에 배달의 민족은 MSA로 전환을 시도하였고 2019년 모든 시스템이 분리에 성공하며 마이크로 서비스를 완성하였다. 이제 배달의 민족은 이벤트 기반 아키텍처의 시대로 돌입한다.그럼 우리는 배달의민족의 이벤트 기반 아키텍처를 다루는 노하우를 확.. 기술블로그 2024. 9. 22. LINE 오픈챗 서버가 100배 급증하는 트래픽을 다루는 방법 - 서론 📑서론, 오픈챗? 오픈챗은 메신저형 소셜 네트워크와 장점을 공유한다. 여러 사람이 동시에 소통할 수 있으며, 실시간으로 참여하지 않더라도 남겨진 메시지를 통해 수월하게 소통할 수 있다. 또한 접속만 하고 있다면, 참여 여부와 상관없이 인원과 채팅내역이 지속된다. 파일, 목소리, 단체통화 등 여러 형태로 소통이 가능하며 연동된 앱에 따라선 송금, 선물등의 행위까지 수월하게 할 수 있으며 대부분 모바일이 연동되므로 비교적 접속과 참여가 자유롭다. 한 오픈챗에 수천 명부터 수만 명의 사용자가 참여할 수 있고, 활발한 오픈챗은 한 오픈챗에서만 1분에 20만 개의 API 요청을 처리하기도 한다. 통계적으로 라인의 오픈챗 서버는 1분에 천만 개, 하루에 약 100억 개의 API요청을 처리하고 있다. 따라서 네이버의.. 기술블로그 2023. 8. 1. 이전 1 다음