일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 영속성
- kusitms
- scheduling messages with rabbitmq
- 30기
- 도메인 주도 개발 시작하기
- java
- Domain Driven Design
- RESTClient
- 교육기획팀원
- ddd
- cicd
- delayed message plugin
- 자바 ORM 표준 JPA 프로그래밍
- JPA
- 최범균
- 자동처리
- 밋업프로젝트
- Spring Batch
- springboot
- rabbitmq-delayed-message-exchange
- 이펙티브자바
- 한국대학생it경영학회
- 객체지향 쿼리 언어
- 교육기획팀
- jdbc
- JPQL
- 큐시즘
- GitHub Actions
- Spring
- reactive operaton
- Today
- Total
목록전체 글 (69)
코딩은 마라톤
시작에 앞서,애플리케이션 코드를 개발할 때는 명령형(imperative)과 리액티브(reactive, 반응형)의 두 가지 형태로 코드를 작성할 수 있다.명령형 코드순차적으로 연속되는 작업, 각 작업은 한 번에 하나씩 그리고 이전 작업 다음에 실행된다.데이터는 모아서 처리되고 이전 작업이 데이터 처리를 끝낸 후에 다음 작업으로 넘어간다.리액티브 코드데이터 처리를 위해 일련의 작업들이 정의되지만, 이 작업들은 병렬로 실행될 수 있다.각 작업은 부분 집합의 데이터를 처리할 수 있으며, 처리가 끝난 데이터를 다음 작업에 넘겨주고 다른 부분 집합의 데이터로 계속 작업할 수 있다.리액티브 프로그래밍 이해하기리액티브 프로그래밍은 명령형 프로그래밍의 대안이 되는 패러다임이다.명령형 프로그래밍의 문제작업이 수행되는 동안..

학습하게된 계기https://www.youtube.com/watch?v=uWcn7omddxs&t=753s 대용량 트래픽은 어떻게 대처해야하는지 궁금했었고, 마침 해당 영상을 우연히 보게 되었습니다.영상을 간단히 소개하면, 쿠폰 이벤트를 진행하였고 이때 대규모 트래픽이 발생하여 문제를 해결해나가는 과정을 설명한 영상입니다. AS-IS대규모 트래픽이 들어오면 컨트롤러에서 Redis로 바로 전달하는 시스템.부하를 전부 레디스로 처리하는 방식이라 문제 발생. TO-BE트래픽을 컨트롤러와 Redis 사이에 In-Memory Queue와 Scheduler를 사용하여 요청을 쪼개어 전달TPS를 Queue와 Scheduler를 통해 항상 쪼개어 전달할 수 있으므로 분산할 수 있음. 위 영상을 보고 어떻게 구현하는 ..

도입 배경HTTP Client를 사용할 때, RestClient, WebClient를 사용했었습니다.다만 RestClient, WebClient를 사용할 때는 Header와 Body 등에 필요한 값을 작성해야 합니다.하기 코드는 카카오 Local Rest API를 `RestClient`를 이용하여 연결한 코드입니다.public KakaoSearchResponse search(KakaoSearchRequest kakaoSearchRequest) { try { return RestClient.create() .get() .uri(uri) .headers(header -> { h..

큐시즘 31기 교육기획팀원이 되다.https://developer-anxi.tistory.com/60 [대외활동] 큐시즘(KUSITMS) 30기 기업프로젝트 회고저는 3학년 2학기 복학하면서 대외활동을 해보고 싶었고 특히 연합동아리를 해보고 싶었습니다.여러 동아리를 찾아 보던 중 큐시즘에 알 수 없는 끌림이 있었고 지원을 해서 서류 및 면접을 통developer-anxi.tistory.comhttps://developer-anxi.tistory.com/66 [대외활동] 큐시즘(KUSITMS) 30기 밋업 프로젝트 회고서론한 달 여만에 블로그를 작성하네요...큐시즘에서 진행한 밋업이 성공적으로 마무리되고, 큐시즘 30기 수료까지 끝이 났습니다. 기업 프로젝트가 끝나고 회고를 작성했으니, 밋업도 쓰는dev..

[ 도입 배경 ]저번 프로젝트에서 활동 자동 종료 기능을 구현해야 했습니다. 활동 자동 종료 과정:1. 사용자가 자투리 시간을 입력한다.2. 자투리 시간이 지나면, DB의 활동 상태는 자동으로 종료 상태로 변경된다. 자동으로 변경해야 하는데, 이 기능을 구현하려면 TTL을 사용해야 한다고 생각했습니다. 그래서 활동 시작 시점에 TTL을 자투리 시간만큼 설정해두고 TTL이 지나면 비동기 처리되면 되지 않을까.. 생각하고 방법을 모색하던 중에,,, RabbitMQ의 Delayed Message Plugin을 알게 되었습니다. [ RabbitMQ ]RabbitMQ는 오픈소스로 개발된 메시지 브로커입니다. RabbitMQ는 여러 프로토콜을 지원하지만, 대다수는 AMQP(Advanced Message Queu..

근황큐시즘 30기를 수료한 후 종강도 맞이하면서, 요새 딱히 바쁘게 지내고 있지 않은 것 같다.무언가를 시작할 때 고민이 많아 "할까, 말까?"를 고민하다가 결국 안 하는 경우가 많아서, 자연스레 바쁘지 않은 생활이 이어지는 듯하다. 그래도 이번에 스터디를 만들어 큐시즘 개발 파트 일부 사람들과 토비의 스프링 3.1 Vol. 1을 읽기로 했다!개발을 하면서 다양한 기술을 배우는 것도 물론 중요하지만, 요즘은 워낙 자료가 풍부해 새로운 기술도 며칠만 투자하면 구현 정도는 가능하다고 생각한다. (나뿐만 아니라 대다수의 개발 경험이 있는 사람들이라면..?)하지만 정작 지금 사용하는 프레임워크인 SpringBoot는 물론, 그 기반인 Spring에 대해 깊이 알고 있느냐는 질문에는 솔직히 "No"라고 답할 수밖..

서론한 달 여만에 블로그를 작성하네요...큐시즘에서 진행한 밋업이 성공적으로 마무리되고, 큐시즘 30기 수료까지 끝이 났습니다. 기업 프로젝트가 끝나고 회고를 작성했으니, 밋업도 쓰는 게 인지상정 (기업 프로젝트 회고 : https://developer-anxi.tistory.com/60)30기 밋업 프로젝트 회고 지금 시작합니다! 프로젝트 소개우리 팀이 만든 서비스는 "조각조각"입니다.‘조각조각’은 일상 속에서 발생하는 자투리 시간을 의미 있게 활용할 수 있도록 돕는 개인 맞춤형 활동 추천 서비스입니다. 자투리 시간?개인 맞춤형 활동 추천 서비스? 글을 읽고 무슨 서비스인지 이해하기 어려울 수 있어요.그런 분들은 우리 서비스를 한 번 사용해 보시면 좋을 거 같습니다! (제발 사용해 달라는 뜻.) 배..

표현 영역과 응용 영역표현 영역 : 사용자의 요청 해석, 요청에 상응하는 응용 서비스 실행응용 영역 : 실제 사용자가 원하는 기능을 제공하는 서비스응용 서비스 역할응용 서비스는 사용자의 요청을 처리하기 위해 리포지터리에서 도메인 객체를 가져와 사용한다.응용 서비스는 도메인 영역과 표현 영역을 연결하는 창구응용 서비스가 복잡하면 서비스에서 도메인 로직 일부를 구현하고 있을 수 있음 → 도메인 로직을 서비스에서 사용하고 있을 수 있음응용 서비스는 트랜잭션 처리 담당도메인 로직 넣지 않기도메인 로직을 응용 서비스에 분산해서 구현할 경우 문제점코드 응집성 떨어짐도메인 데이터와 도메인 로직이 한 영역에 위치하지 않기 때문여러 응용 서비스에서 동일한 도메인 로직을 구현할 가능성이 높아짐응용 서비스 구현응용 서비스는..