전체 글 70

[Spring] Jmeter 테스트 해보기 (Window)

다운로드 링크 : https://jmeter.apache.org/download_jmeter.cgi Apache JMeter - Download Apache JMeterDownload Apache JMeter We recommend you use a mirror to download our release builds, but you must verify the integrity of the downloaded files using signatures downloaded from our main distribution directories. Recent releases (48 hours) may not yet be avajmeter.apache.org 다운로드 후 압축 해체한 후 폴더로 들어간 후 bin ..

[AWS] EC2에 Docker 설치하기

관리자 권한으로 전환Docker 명령어의 경우 관리자 권한으로 실행하는 일이 많아 관리자 권한으로 전환해 줍니다.sudo su - 1. Docker 설치아래 명령어를 사용하여 EC2 Linux에 Docker를 설치해줍니다.# 1. 프로그램 설치 전 우분투 시스템 패키지 업데이트$ sudo apt-get update # 2. 필요한 패키지 설치$ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common # 3. Docker의 공식 GPG 키 추가 $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -..

[항해 취업 리부트 코스] 개인프로젝트 2주차 WIL

이번 주 항해 취업 리부트코스에서 내가 구현한 기능은 무엇인가요?API Gateway, Eureka server, client 구현해당 기능을 구현하기 위해, 어떤 기술적 의사결정을 거쳤나요?Docker일관된 환경 제공: Docker는 개발, 테스트, 프로덕션 환경을 동일하게 구성할 수 있어 애플리케이션이 여러 환경에서 동일하게 동작하도록 보장합니다. 이를 통해 환경 간의 차이로 인한 문제를 최소화할 수 있습니다.쉬운 환경 설정: Dockerfile을 사용하면 환경 설정을 코드로 정의할 수 있습니다. 이를 통해 필요한 모든 설정을 명확하게 기록하고 쉽게 재현할 수 있으며, 환경 설정의 자동화 및 일관성을 유지할 수 있습니다.MSA 도입 장점유연성 : 각 서비스가 독립적이므로, 시스템의 일부분만 수정하고 ..

카테고리 없음 2024.07.01

[Spring] Eureka Server (Discovery Server) 생성

Eureka란?Eureka는 Neflix에서 제공한 MSA를 위한 클라우드 오픈 소스이다.Eureka는 Load Balancer와 Middle-tier server에 에러 대응을 위한 Rest 기반 서비스이다.로드 밸런서에 연결 정보 등록에 대한 문제점과 에러 처리를 유연하게 처리하기 위한 기술이다.Eureka는 등록과 해지를 곧바로 적용할 수 있게 도와줍니다. - Discovery : 다른 서비스의 연결 정보를 찾는 것이다.- Registry : 서비스의 연결 정보를 등록하는 것이다.- Eureka 구성  - Eureka Server : Eureka Client를 관리하는 서버이다.  - Eureka Client : 각각의 서비스에 해당하는 모듈이라고 생각하면 됩니다.  실제 흐름 예시로1. Eurek..

[Spring] MSA(MicroService Architecture) 란?

마이크로서비스 아키텍처 (MSA) 란?마이크로서비스 아키텍처(MSA)는 소프트웨어 애플리케이션을 여러 개의 작은, 독립적으로 배포 가능한 서비스로 구성하는 소프트웨어 개발 접근 방식입니다. 이 아키텍처는 최근 몇 년간 소프트웨어 개발에서 큰 인기를 얻고 있으며, 특히 대규모 시스템의 유연성, 확장성 및 유지보수성을 향상시키는 데 유용합니다. 특징느슨한 결합도 : MSA는 느슨하게 결합되어 있어, 각 서비스가 독립적으로 동작하고, 다른 서비스에 최소한의 영향을 미칩니다.독립적 배포 : 각 서비스는 독립적으로 배포될 수 있어, 시스템의 일부분만 수정하고 배포할 수 있습니다.특정 기능 수행 : 각 서비스는 특정 기능을 수행하도록 설계되어, 단일 책임 원칙(Single Responsibility Principl..

[항해 취업 리부트 코스] 개인프로젝트 1주차 WIL

이번 주 항해 취업 리부트코스에서 내가 구현한 기능은 무엇인가요?회원 관리 기능회원가입개인정보 암호화로그인 및 로그아웃 기능JWT 토큰 활용상품 관리 기능상품 리스트 및 상세 정보 조회해당 기능을 구현하기 위해, 어떤 기술적 의사결정을 거쳤나요?고민한 기술의 종류들에는 무엇이 있나요?JAVA 17버전 선택8, 17, 11 버전을 사용을 많이 하고 있고, 8과 17을 사용하는 점유율이 비슷하였고,스프링 부트 3.xx 버전 부터는 Java 17 이상을 지원한다. Java 21 버전부터 Virtual Threads - 수백만 개의 가벼운 스레드를 지원하여 높은 동시성을 효율적으로 처리해주는 기능 안정성과 검증된 기능과 성능을 제공하는 17버전 DB 선택MySQL의 장점:성능: 일반적으로 빠른 속도를 보장하며..

[백준] 2501번 : 약수 구하기 - Java

문제https://www.acmicpc.net/problem/2501자연수 N과 K가 주어졌을 때, N의 약수들 중에서 K번째로 작은 수를 구하는 문제입니다. 만약 K번째 약수가 존재하지 않는다면 0을 출력합니다.접근 방법1. 주어진 N의 약수를 찾습니다.2. 약수들을 리스트에 저장합니다.3. 리스트를 오름차순으로 정렬하여 K번째 약수를 출력 or 작다면 0을 출력코드import java.io.*;import java.util.ArrayList;import java.util.Collections;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { ..

[백준] 1251번 : 단어 나누기 - Java

문제https://www.acmicpc.net/problem/1251주어진 문자열을 세 부분으로 나누고, 각 부분을 뒤집은 후 합친 문자열 중에서 사전순으로 가장 앞서는 문자열을 찾는 문제입니다.접근 방법문자를 입력 받고, 세 부분으로 문자를 나누어 각 부분을 뒤집고, 뒤집은 세 단어를 합쳐 출력구현문자열 합치기:뒤집은 세 부분을 합쳐 새로운 문자열을 만듭니다.이 문자열을 리스트에 추가합니다.사전순 비교와 출력:모든 가능한 문자열을 리스트에 추가한 후, Collections.sort()를 사용하여 사전순으로 정렬합니다.정렬된 리스트의 첫 번째 요소를 출력합니다.코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputSt..

MySQL transaction_isolation 문제

에러 상황java.sql.SQLException: Unknown system variable 'transaction_isolation’MySQL 데이터베이스에서 JDBC 연결 시에 발생할 수 있는 문제 MySQL 5.7.20 이후 버전을 사용하면 tx_isolation 대신 transaction_isolation가 존재해야 한다고 합니다. show variables like 'transaction_isolation'; 쿼리를 통해 MySQL 서버에서 해당 변수를 확인해 보았으나 결과가 표시되지 않았고, 해결 방법spring.datasource.hikari.transaction-isolation 속성을 추가하여 문제를 해결할 수 있었습니다. 특히, 다음과 같이 명시적으로 TRANSACTION_REPEATA..

[백준] 18352번 : 특정 거리의 도시 찾기 - Java

문제https://www.acmicpc.net/problem/18352주어진 그래프에서 특정 도시 X로부터 출발하여, 정확히 K 만큼 떨어져 있는 모든 도시를 찾는 문제입니다. 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시 X가 주어지며, 각 도로는 단방향입니다. 도시를 정확히 K만큼 이동하여 도달할 수 있는 도시들을 출력하고, 만약 그런 도시가 없다면 -1을 출력합니다.접근 방법문제는 그래프 탐색 문제로, 너비 우선 탐색(BFS)을 사용하여 해결할 수 있습니다. BFS는 모든 간선의 가중치가 동일한 상황에서 최단 거리를 찾는데 효과적입니다. 우리는 BFS를 사용하여 출발 도시 X로부터 모든 도시까지의 최단 거리를 구하고, 이 중에서 거리 K인 도시들을 출력하면 됩니다. 구현그래프 초기화..