| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 최범균
- 불변객체
- 중간 지점 추천
- 약속 장소 추천
- Container Registry
- 이펙티브자바
- 객체지향 쿼리 언어
- Spring
- JPA
- 중간 장소 찾기
- GitHub Actions
- K3S
- 큐시즘
- JPQL
- 모임 장소 추천
- 한국대학생it경영학회
- Domain Driven Design
- springboot
- 모이삼
- 도메인 주도 개발 시작하기
- 중간 지점 찾기
- cicd
- Docker Layer
- Docker cache
- 자바 ORM 표준 JPA 프로그래밍
- 중간 장소 추천
- 쿠버네티스
- kusitms
- ddd
- java
- Today
- Total
목록springboot (4)
코딩은 마라톤
요새 AWS로 마이그레이션을 진행하고 있다.마이그레이션을 진행하기 앞서, 배포 과정에서의 문제점을 살펴보고 개선할 수 있는 부분은 개선하고자 했다. 서버 로그를 살피고 있던 도중, 어느샌가 스프링 애플리케이션 초기 실행 시간이 40초에 근접했다.사실 나는 Github Actions가 돌아가는 것이 배포의 시작이자 끝이라 생각했다.하지만 애플리케이션 초기 실행 시간, 그리고 배포된 Docker Image를 Pull 하는 과정에 대해선 간과하고 있었다. 초기 실행 시간을 줄일 순 없을까?배포 과정에서 도커 이미지를 만들고 push, pull 과정에서 개선할 수 없을까?그래서 나는 위 두 가지의 고민을 해결하고자 찾던 도중 "Layered Jar"를 알게 되었다. Layered Jar흔히 `./gradlew..
SPOT은... 외부 API 호출이 많다. SPOT의 메인 기능은 애플리케이션 레벨에서 최적의 중간 지점(역)을 계산하고, 이후 여러 출발지부터 중간 지점까지의 경로를 보여주는 것이다.이때 출발지 ~ 중간 지점까지의 경로를 대중교통과 자가용, 두 가지를 기준으로 보인다. 중간 지점을 계산할 때, 지하철역 공공데이터를 가져와서 환승까지 전부 고려하여 계산하기 때문에 지하철 상세 경로는 보여줄 수 있지만, 버스나 자가용은 구현할 엄두가 나지 않았다. 그래서 대중교통 경로는 Odsay를, 자가용 경로는 Kakao Mobility를 호출하여 가져오도록 하였다. 그러나,, 외부 API를 사용하는 편리함을 무료로 얻는 데는 한계가 있다.특히 Odsay의 제한 호출수는 일 1,000회로 리미트를 초과하면 서비스를 운..
[ 도입 배경 ]저번 프로젝트에서 활동 자동 종료 기능을 구현해야 했습니다. 활동 자동 종료 과정:1. 사용자가 자투리 시간을 입력한다.2. 자투리 시간이 지나면, DB의 활동 상태는 자동으로 종료 상태로 변경된다. 자동으로 변경해야 하는데, 이 기능을 구현하려면 TTL을 사용해야 한다고 생각했습니다. 그래서 활동 시작 시점에 TTL을 자투리 시간만큼 설정해두고 TTL이 지나면 비동기 처리되면 되지 않을까.. 생각하고 방법을 모색하던 중에,,, RabbitMQ의 Delayed Message Plugin을 알게 되었습니다. [ RabbitMQ ]RabbitMQ는 오픈소스로 개발된 메시지 브로커입니다. RabbitMQ는 여러 프로토콜을 지원하지만, 대다수는 AMQP(Advanced Message Queu..
진행 중인 프로젝트에서 최근 ChatGPT를 연동해서 응답을 받아와야할 상황이 생겼습니다.OpenAI Java SpringBoot 라이브러리도 있기는 하지만 (https://github.com/TheoKanning/openai-java?tab=readme-ov-file)라이브러리보다 직접 구현하는게 나중에 API 명세가 바뀌더라도 변경하는데 용이하지 않을까 해서 구현해보았습니다! RestClient와 WebClient를 사용하여 구현할 수 있는데 저는 WebClient를 사용하였습니다!* 추후 RestClient와 WebClient에 관한 블로그도 올릴게요! 1. OpenAI API 요청과 응답 확인하기Create Chat Completion API를 사용하였습니다! (참고: https://platfor..