[TIL 2024/10/01] docker db 연결 오류
·
TIL
매번 db 실행은 로컬에 직접 설치하여 진행했었는데이번 프로젝트에서는 docker로 실행해보고자 한다. docker-compose.ymlservices: server-data-db: container_name: server_data_db image: postgres restart: always ports: - "5432:5432" environment: POSTGRES_USER: server_data_db POSTGRES_PASSWORD: server_data_db POSTGRES_DB: server_data volumes: - server_data_db:/var/lib/postgresql/data  application.ym..
[TIL 2024/09/30] 이미지 서버 모듈
·
TIL
Image Upload Server1. client ➡️ 백엔드 서버로 이미지 업로드 요청이 들어온다.2. 백엔드 서버 ➡️ 이미지 서버로 업로드 요청이 들어온다.3. 원본 이미지를 minio/s3에 저장한다.3-1. 이미지 서버 데이터를 db에 저장한다.4. Queue에 작업을 넣은 후 비동기적으로 메타데이터 수정이나 리사이징 같은 추가 작업이 Internal Image Server에서 동작한다. Image URL Server1. client ➡️ 백엔드 서버로 이미지 조회/다운로드 요청이 들어온다.2. 백엔드 서버 ➡️ 이미지 서버로 조회/다운로드 요청이 들어온다.3. 요청 하는 이미지 정보를 db에서 가져온다.4. db에서 가져온 정보로 cdn을 확인한다.5. 이미지가 없다면 minio/s3에서 이..
삽질의 기록 :: FeignClient
·
카테고리 없음
MSA 프로젝트 중 gateway를 통해 다른 서비스를 호출 하는 과정에서 FeignClient를 사용했다. company 서비스에서 hub 서비스로 호출 중 401 에러가 났다.{ "resultCode": "ERROR", "result": "[401] during [GET] to [http://hub-service/api/hubs/3fa85f64-5717-4562-b3fc-2c963f66afa6] [HubClient#findHub(UUID)]: []"} 권한이... 왜 없지?생각하다가 hub 서비스를 호출 할 때 토큰이 없어서 접근을 못한다고 생각했다. - id: hub uri: lb://hub-service predicates: - Path=/api/hubs/**, /api/hub-pat..
[TIL 2024/09/12] 공공 데이터 API service Key
·
TIL
"Could not extract response: no suitable HttpMessageConverter found for response type [class com.three_iii.slack.application.WeatherResponse] and content type [text/xml;charset=UTF-8]" 분명 json으로 응답을 요청했는데 왜 xml로 반환이 되는지 찾아보니오류가 나면 xml 로 결과값을 주나보다. 대체 url을 어떻게 보내길래? 실체 요청 url을 확인 할 수 있는 방법을 찾다가.. 결국 반환값을 객체로 받는 것이 아닌 String으로 받아보기로 함 SERVICE ERROR SERVICE_KEY_IS_NOT_REGISTERED_ERROR 30  우려했던 ..
[TIL 2024/09/11] HTTP Interface
·
TIL
프로젝트 수행 중 gemini API를 연동하면서 HTTP 인터페이스를 새로이 알게되었다.옛날옛적에...약 4년전에 카카오나 네이버로 외부 api 연동할 때는 RestTemplate을 사용했었는데 ...... HTTP 인터페이스는 Spring6 에서 새롭게 추가 되었다고 한다. HTTP Interface를 호출하면 요청될 구현체 생성@Beanpublic RestClient geminiRestClient(@Value("${gemini.api.url}") String baseUrl, @Value("${gemini.api.key}") String apiKey) { return RestClient.builder() .baseUrl(baseUrl) .defaultHeader("..
[TIL 2024/09/10] 프로그래머스 카드뭉치
·
TIL
https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr class Solution { public String solution(String[] cards1, String[] cards2, String[] goal) { int x = 0; int y = 0; for(int i = 0; i
[TIL 2024/09/09] 스프링부트 AOP 사용해보기
·
TIL
이전 프로젝트와 동일한 요구사항인 페이지 제한에 대하여 이번엔 AOP를 사용하여 관리를 하도록 한다.이전에는 컨트롤러마다 검증로직을 추가하다 보니 중복되는 코드가 불필요하게 많아짐을 느꼈었는데프로젝트 후반부였어서, 그리고 리팩토링 할 생각을 미처 하지 못했던 거 같다. 이번엔 처음부터 AOP로 관리하고자 한다!import java.util.Arrays;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.Aspect;import org.springframework.data.domain.PageRequest;import org.springfram..
[TIL 2024/09/06] MSA 프로젝트 초기설정
·
TIL
유레카 서버 (Eureka-Server)  build.gradledependencies { implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher'} EurekaServerApplication.java@EnableEurekaServer@SpringBootApplicationpublic class EurekaServerApplication { public static void m..
[TIL 2024/09/05] 프로그래머스 명예의 전당(1)
·
TIL
https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr import java.util.PriorityQueue;class Solution { public int[] solution(int k, int[] score) { int[] answer = new int[score.length]; PriorityQueue pq = new PriorityQueue(); for(int i = 0; i k){ ..
[TIL 2024/09/04] 깃허브(GitHub) 사용법 & 협업방법
·
TIL
Git 특강 내용 정리💫 Git은 코드 변경점 기록(버전관리도구)이다.다시 말해, 소프트웨어의 변경사항을 체계적으로 추적학 통제하는 것을 말한다. GitHub은 백업과 공유가 가능한 저장소이다.온라인 백업, 공유, 협업도구로 쓰인다. git init프로젝트 시작 전 닥 한 번만 입력하면 됨(여러 번 입력해도 문제되진 않음)정확한 프로젝트 폴더(경로)에서 입력해야 함.git이라는 폴더가 생긴다. 이때부터 코드 변경을 git에서 추적한다. git add 파일명저장하기 전 저장할 파일 지정git add . 은 현재 경로의 모든 변경된 사항을 add한다.Working directory에서 Staging Area로 이동 git commit -m "메세지 작성"이때 커밋메세지는 내가 무슨 코드를 짰는지 자세히 ..