일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Redis
- docker
- GIT
- LV0
- 프로그래머스
- LV.02
- Til
- LV01
- spring boot
- LV03
- CoffiesVol.02
- Lv.0
- 일정관리 프로젝트
- S3
- Join
- SQL
- 포트폴리오
- 디자인 패턴
- LV1
- 데이터 베이스
- Java
- 일정관리프로젝트
- 코테
- 이것이 자바다
- mysql
- CI/CD
- 연습문제
- LV02
- 알고리즘
- JPA
- Today
- Total
목록분류 전체보기 (211)
코드 저장소.
목차1.도입 배경2.기술 스택 및 선택 이유3.전체 구성4.OpenFeign로 OpenAi 연동하기5.프롬프트 설계 및 응답 처리6.예외 및 장애 대응7.결과 및 테스트8.회고 및 다음단계1.도입 배경일정관리 프로젝트를 진행하면서 사용자의 하루 일정에서 비어 있는 시간대를 찾아 AI가 추천 일정을 제공해주는 기능이 필요했다. 이를 위해 OpenAI의 Chat Completions API를 사용해 프롬프트 기반 일정 생성을 시도했고, 통신은 OpenFeign + Spring Cloud를 사용해 안정적으로 구성했다.2.기술 스택 및 선택 이유Spring Boot 3.2: 기본 백엔드 프레임워크OpenFeign: 외부 API(OpenAI) 호출 간결화Resilience4j: 장애 발생 시 fallback 처..

목차1.PresingedUrl구조 및 흐름도2. 코드 적용3.회고 1.PresingedUrl구조 및 흐름도우선은 지난 글에서 기존의 첨부파일의 로직의 단점을 설명했고 이번에는 S3를 활용한 PreSignedUrl을 구현해보겠습니다. 아래의 도식은 제가 작성한 업/다운로드의 흐름도 입니다.위의 사진을 토대로 설명을 드리겠습니다. 우선 업로드의 흐름은 다음과 같습니다.클라이언트가 첨부파일을 업로드를 합니다. 그 후 서버에서는 S3를 거쳐서 업로드를 할 수 있는 URL을 프론트에게 응답을 해줍니다.클라이언트에서 서버가 보내준 해당 URL을 기준(제한 기간 있음)으로 첨부파일을 S3에 업로드를 합니다. 그 다음 서버에서 첨부파일을 디비에 저장을 하고 섬네일을 생성합니다.다음은 다운로드의 흐름입니다.프론트에서 다..
목차1.에라토네스의 체?2.작동원리3.예제 1.에라토네스의 체?에라토네스의 체는 대 그리스의 수학자 에라토스테네스가 고안한 소수 판별 알고리즘이다. 이 알고리즘은 2부터 N까지의 자연수 중에서 소수를 효율적으로 찾는 방법으로, 현재까지도 널리 사용되고 있다.2.작동원리에라토스테네스의 체는 배수 제거 방식을 사용하여 소수를 판별한다. 초기에는 2부터 N까지의 모든 정수를 소수라고 가정한 뒤, 각 수의 배수를 지워나가면서 최종적으로 소수만을 남기는 방식입니다. 작동원리는 다음과 같습니다. 만약에 n 이 30일 때2부터 30까지 나열→ [2, 3, 4, 5, ..., 30]가장 작은 수인 2는 소수니까 남기고, 2의 배수들 제거남은 수 중 다음 작은 수(3)는 소수니까 남기고, 3의 배수들 제거남은 수 중 ..

목차1.메시지 큐2.Kafka의 작동원리3.RabbitMq의 작동원리4.Kafka vs RabbitMq 1.메시지 큐일단은 Kafka와 RabbitMq를 알기 위해서는 메시지큐의 개념을 알아야 합니다. 우선은 아래의 사진을 보면 메시지 큐에 대한 개념을 알 수 있습니다. 위 사진의 용어를 보면 다음과 같습니다. Producer : 정보를 제공하는 자Queue: FIFO의 개념으로 Producer에서 보낸 메시지를 처리를 하는 방식으로 처리합니다.Consumer: 정보를 받는 자. 그래서 메시지큐의 작동순서를 다시 정리를 하자면 다음과 같습니다. 1.메시지를 보낸다.2. 보낸 메시지는 Producer가 받아서 Queue에 보낸다.3.해당 메시지는 consumer가 사용하기 전까지 Queue에서 저장한다...
목차1. 현재 코드의 문제2. 문제의 대안 1. 현재 코드의 문제현재 일정관리 프로젝트를 진행을 하면서 일정을 등록시 첨부파일을 등록을 하는 기능을 만들었다. 현재의 업로드 방식은 업로드후 로컬에 저장을 하는 방식이었다. 아래는 내가 작성한 첨부파일에 관련된 코드의 일부분이다. // 기존 방식: 로컬 경로에 파일 저장 + 썸네일 생성 + AttachModel 생성까지 모두 한 메서드에서 처리public static List uploadMultipleFiles(...) { // 1. 디렉토리 생성 // 2. 확장자 판별 // 3. 썸네일 생성 // 4. 파일 저장 및 AttachModel 구성} 이 방식에는 여러가지의 문제점이 있는데 문제점은 아래와 같습니다. 1-1. 서버 자원(I/..

목차1.사건의 발단2.println을 쓰면 안되는가?3.그래서? 어떻게 해야되는가?4.느낀점. 1.사건의 발단첨부파일 모듈에서 첨부파일 업로드에 관한 로직을 작성을 했고 pr을 올렸는데 다음과 같은 리뷰가 들어왔습니다. 업로드를 테스트를 하기 위해서 작성을 했던 System.out.println()이었는데 사용을 하면 안된다고 해서 왜 안돼는지에 관해서 알아보기로 했습니다.2.println을 쓰면 안되는가?사실 처음엔 크게 문제 될 거라 생각 안 했습니다. 그냥 테스트용으로 했거든요. 근데 찾아보니 이게 생각보다 심각했었습니다. 우선은 System.out.println()이 무엇인지를 알아보기로 했습니다. System.out.println()System.out.println은 Java개발할때 디버깅 ..