분류 전체보기 110

[프로젝트][MSA] API Gateway 작성으로 모듈 별 연결하기

우선 지금 진행하고 있는 api gateway와 각 도메인들을 모듈별로 구분해놓고, 각 모듈은 각기 다른 포트 번호를 가지고 있는 구조이다. 오늘은 api gateway 모듈에서 게이트웨이 설정으로 각 모듈 별 api 주소를 전부 8080 포트에서 뿌려주도록 변경해 볼 예정이다. 의존성 추가일단 스프링 클라우드 사용을 위한 의존성 추가를 해주자!ext { set('springCloudVersion', "2023.0.0")}dependencies { testImplementation 'org.springframework.boot:spring-boot-starter-test' // 스프링 클라우드 implementation 'org.springframework.cloud:spring-c..

[프로젝트] 인텔리제이 깃 클론/pull 후 모듈 인식 불가 해결

문제프로젝트 초기 설정 중, 함께 피쳐 별 모듈을 나누고 깃을 클론 후 application.yml 파일을 설정하려고 하는데 풀 받은 필자의 인텔리제이 파일에서 나눠놓은 모듈을 모듈로 인식 못 하는 문제가 발생했다. 원인깃에서 풀 받으면 루트 파일의 모듈은 인텔리제이에서 알아서 찾아주는데, 그 외 따로 설정한 모듈은 알아서 찾지 못해서 인식을 못하는 것으로 추측했다. 따로 인식을 위한 추가 절차가 필요해보였다.  해결 시도 및 해결1. Import module 하기 👉 실패 모듈로 인식시키기 위해 상단 메뉴 File > Project Structure ... 로 이동해서 모듈을 import 하는 걸 시도해봤는데 왜인지 필자의 인텔리제이에서는 그대로 모듈로 인식을 못했다. 2.  해당 모듈의 build...

[programmers] 피자 나눠 먹기 (2) 파이썬 풀이

https://school.programmers.co.kr/learn/courses/30/lessons/120815 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 문제 자체는 쉬운 문제였다. 최소 공배수를 구해야겠구나 라고 생각하고, for 문으로 피자 판 수를 1부터 시작해서 필요한 피자 판 수를 찾을 때까지 증가시키면서 모든 사람이 동일한 수의 조각을 가질 수 있는지 확인되면 그 때의 피자 판 수를 return 시키는 식으로 풀었다. 1.  for문 풀이 👉 정답def solution(n): for i in range(1, 6 * n + 1):..

[Python] 파이썬에서 최소 공배수 함수로 구하기

알고리즘 문제를 풀다 최소 공배수를 구해야 하는 문제를 맞닥뜨렸다.  필자는 for문으로 풀었지만, 풀고 난 후 다른 적합한 풀이 방법이 있나 찾아보다 파이썬에서 최소 공배수를 구하는 함수가 있다는 걸 알았다. 공유도 하고 잊지 않고 다음에 써먹기도 할 겸 포스팅한다 🍀 ✏️ 최소 공배수란?먼저 다들 알고 있겠지만 최소 공배수가 뭔지 간단히 짚고 넘어가보려 한다. 최소 공배수(LCM, Least Common Multiple)는 두 수의 배수 중에서 가장 작은 공통 배수를 의미한다. 예를 들어, 4와 6의 최소 공배수는 12 이다. 개념최소 공배수는 다음과 같은 특성을 가지고 있다.두 수의 공통된 배수 중 가장 작은 수최소 공배수를 구하기 위해 최대 공약수(GCD, Greatest Common Divis..

[프로젝트] 모놀리식과 MSA: MSA 구조 채택 이유

들어가며이번 프로젝트에서 모놀리식 아키텍쳐 대신 MSA 구조를 선택하기로 하면서, 모놀리식 아키텍쳐와 MSA는 어떻게 다르고 왜 이런 의사결정을 하기로 했는지 현재 프로젝트에 빗대어 기술해보려고 한다! 🔎모놀리식 아키텍쳐란? 모놀리식 아키텍처( Monolithic Architecture )는 소프트웨어 프로그램의 전통적인 모델로, 자체 포함 방식이며 다른 애플리케이션과 독립적인 통합된 유닛으로 만들어진다. “모놀리스"라는 단어는 거대하고 빙하 같은 것을 의미하는 경우가 많은데, 소프트웨어 설계의 모놀리식 아키텍처도 크게 다르지 않다. 즉, 한 문장으로 간단히 정리해 보면!MSA가 등장하기 이전에 하나의 서비스로 하나의 애플리케이션을 만드는 것이 모놀리식 아키텍쳐이다. 모놀리식 아키텍쳐의 장점 모놀리식 ..

[TIL] 캐시와 Redis (Redis 특징과 장점, 사용 시 주의할 점)

프로젝트에서 성능 개선을 위해 캐시를 이용해야 할 일이 생겼다. 프로젝트 적용에 앞서 캐시란 뭔지, 왜 써야하는지 등 캐시에 대한 것들과 Redis의 간결한 특징을 정리해보려 한다. 📌캐시(Cache)란?캐시란, 데이터를 빠르게 읽고 처리하기 위해 (속도가 빠른 메모리를 활용하여) 미리 데이터를 저장해두는 임시 장소이다. 계산된 값을 임시로 저장해두고, 동일한 계산 / 요청 발생 시 다시 계산하지 않고 저장된 값을 바로 사용한다고 생각하면 된다. 이 때 사용하는 임시 저장소를 '캐시'라 하고, 이런 기술을 '캐싱'이라고 한다. 📌캐시의 활용캐시는 컴퓨터 공학 전반의 매우 다양한 곳에서 쓰이는데, BE 개발자에게 익숙한 것 두 가지를 뽑아보면 DP와 JPA를 예로 들 수 있을 것 같다.Dynamic P..

Computer Science 2024.05.28

[Docker-Compose (2/2)] 도커 Compose를 통해 워드프레스를 실행해보자

[Docker] 도커 Compose 톺아보기이 글은 2024 05월 원티드 프리온보딩 BE 챌린지 '도커'편 수업을 회고하며 정리한 글입니다. [Docker] 도커 이미지 만드는 법! (feat. Dockerfile)이 글은 2024 05월 원티드 프리온보딩 BE 챌린지 '도커'편developer-jinnie.tistory.com이전 글을 통해서 Docker Compose 파일의 개념을 자세히 학습해보는 시간을 가졌다. 이번 포스팅은 이 글을 토대로 워드프레스를 도커 컴포즈로 실행해보는 실습 과정을 기록해보려 한다. WordPress는 모두가 아는 것 처럼 유명한 블로그 시스템이다. WordPress 자체 뿐만 아니라 MySQL 컨테이너와 연결해서 두 개의 컨테이너를 관리해보는 실습을 해보려 한다. ✏️..

[Docker-Compose (1/2)] 도커 Compose 톺아보기

이 글은 2024 05월 원티드 프리온보딩 BE 챌린지 '도커'편 수업을 회고하며 정리한 글입니다. [Docker] 도커 이미지 만드는 법! (feat. Dockerfile)이 글은 2024 05월 원티드 프리온보딩 BE 챌린지 '도커'편 2주차 수업을 회고하며 정리한 글입니다. 지난 번 포스팅들에서는 이미지들을 도커 허브와 같은 레지스트리에서 다운받아 실행시키는developer-jinnie.tistory.com이전 포스팅에서는 Dockerfile을 통해 나만의 도커 이미지를 만드는 법을 알아봤다. 이번 포스팅에선 Docker compose를 실습해보기 전에 Docker Compose란 뭔지, 왜 사용하는지에 대해서 알아보고 실습해보는 시간을 가져보자!🐳 등장 배경여태 도커파일과 도커 컨테이너와 같은 ..