profile
꾸준하게
post-thumbnail

Nginx로 로드 밸런싱(Load Balancing) 적용해보기

로드 밸런싱이란? 로드(부하)를 밸런싱(균형, 분산)하는 것을 말한다. 쉽게 말해, 클라이언트 요청이 많아져 서버에 부하가 많아질 때 요청들을 여러 서버에 균형있게 분산시켜 각 서버가 원활히 동작하도록 한다. Scale Up과 Scale Out 사용자 요청이 급격

2024년 9월 25일
·
0개의 댓글
·
post-thumbnail

MSA와 Spring Cloud MSA

MSA(MicroService Architecture) 기존 Monolithic Archiecture 모놀리식 구조란 소프트웨어를 하나의 시스템으로 구축하여 개발하는 방식을 말한다. 하나의 시스템에 모든 설정과 비즈니스 로직이 포함된다. 간단한 프로젝트에는 적

2024년 9월 7일
·
0개의 댓글
·
post-thumbnail

JDBC와 Spring JDBC (JdbcTemplate)

JDBC는 자바 코드로 데이터베이스와 직접 통신하는 저수준 API를 말한다.아래 코드처럼 스프링 프레임워크 없이도, Database와 통신할 수 있다.JDBC를 사용하며 개발하던 시기는 거의 20년 전이라고 한다. 현재는 Mybatis 또는 Spring JPA를 통해

2024년 8월 23일
·
0개의 댓글
·
post-thumbnail

Spring Batch 구조 및 동작 방법

배치란 주기적으로 의 반복적인 데이터 작업을 처리하기 위해 사용하는 방식 배치가 필요한 상황은 대량의 집계 데이터 생성(ex: 월별 매출, 월별 환불액, 한 달 동안 신규 회원 수, 월간 상품별 판매량 …) DB에 있는 대량의 데이터를 백업 용도로 새로운 서버

2024년 8월 15일
·
0개의 댓글
·
post-thumbnail

Programmers Lv3, 가장 긴 팰린드롬[Java]

Programmers Lv3, 가장 긴 팰린드롬 입력의 크기가 2,500이라 대략 N^2이하 알고리즘을 사용한다. 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 한다. 문자열 s가 주어질 때, s의 부분 문자열 중 가장 긴 팰림드롬의 길이

2024년 8월 13일
·
0개의 댓글
·
post-thumbnail

자바 스레드와 스레드풀

프로세스와 스레드 운영체제에서 실행 중인 하나의 애플리케이션을 프로세스(process)라고 함 스레드(thread)는 하나의 실행 흐름 모든 자바 애플리케이션은 메인 스레드(main thread)가 main() 메소드를 실행하며 시작 데몬 스레드와 유저 스레드 자바

2024년 8월 11일
·
0개의 댓글
·
post-thumbnail

Programmers Lv3, n + 1 카드게임[Java]

n개의 카드로 이루어진 카드 뭉치와 여러 코인이 주어진다. 아래 규칙에 따라 진행된다. 규칙 처음에 카드 뭉치에서 카드 n/3장을 뽑아 모두 가집니다. (n은 6의 배수입니다.) 당신은 카드와 교환 가능한 동전 coin개를 가

2024년 8월 8일
·
0개의 댓글
·
post-thumbnail

Programmers Lv3, 주사위 고르기[Java]

A와 B가 n개의 주사위 중 n/2 주사위를 골라 주사위를 모두 굴린 후 나온 수들을 비교하여 점수가 큰 쪽이 이기는 주사위 게임을 한다. 주사위마다 쓰인 수의 구성이 모두 다를 때 A가 자신이 승리할 확률이 가장 높은 주사위

2024년 8월 7일
·
0개의 댓글
·
post-thumbnail

앨리스 Cloud 트랙 2기 수료 후기

12월 15일부터 6월 15일까지 장정 6개월간의 과정이 끝났다. 벌써 엘리스 트랙 완주한 지 2달이 지났는데, 시간이 참 빠르다. 현재는 개인 프로젝트를 보완하고, 코딩 테스트 문제를 풀며 하반기 채용을 준비하고 있다. 엘리스 트랙 과정을 간단히 소개하고, 좋았던 점

2024년 8월 6일
·
0개의 댓글
·
post-thumbnail

Programmers Lv3, 카드 짝 맞추기[Java]

Programmers Lv3, 카드 짝 맞추기게임 진행 중 카드의 짝을 맞춰 몇 장 제거된 상태에서 카드 앞면의 그림을 알고 있다면, 남은 카드를 모두 제거하는 데 필요한 키 조작 횟수의 최솟값을 구해야 한다. 같은 그림을 제거하지 않으면, 다시 원상 복귀되므로 같은

2024년 8월 6일
·
0개의 댓글
·
post-thumbnail

Programmers Lv3, 매칭 점수[Java]

Programmers Lv3, 매칭 점수html 문자열 파싱 문제이다. 웹 페이지들의 매칭 점수를 구한 뒤 가장 큰 매칭 점수를 가진 웹 페이지 인덱스를 출력한다. 매칭 점수는 기본 점수와 링크 점수의 합으로 계산하며, 기본 점수는 해당 웹 페이지의 텍스트 중 검색어가

2024년 8월 5일
·
0개의 댓글
·
post-thumbnail

CQRS가 필요한 이유

객체 지향으로 도메인 모델을 구현할 때 주로 사용하는 ORM 기법은 도메인 상태 변경 기능을 구현하는 데는 적합하지만, 주문 상세 조회 화면처럼 여러 애그리거트에서 데이터를 가져와 출력하는 기능을 구현하기에는 고려할 게 많아 구현을 복잡하게 한다.구현 복잡도를 낮추는

2024년 8월 3일
·
0개의 댓글
·
post-thumbnail

Programmers Lv3, 산 모양 타일링[Java]

한 변의 길이가 1인 정삼각형을 2n+1 개를 이어 붙여 윗변의 길이가 n, 아랫변의 길이가 n+1인 사다리꼴을 만들 수 있다. 이때 사다리꼴 윗변과 변을 공유하는 삼각형을 이어 붙일 수 있다. 이는 tops\[] 배열로 주

2024년 8월 2일
·
0개의 댓글
·
post-thumbnail

Programmers Lv3, [1차] 추석 트래픽

9월 15일에 발생하는 초당 최대 처리량을 구해야 한다. 이는 임의의 시간부터 1초간 처리하는 요청의 최대 개수를 말한다.문제를 풀기 위해 가장 중요한 부분은 입력 문자열 파싱과 초당 최대 처리량을 어떻게 구할지다.

2024년 8월 1일
·
0개의 댓글
·
post-thumbnail

Programmers Lv3, 코딩 테스트 공부 [Java]

모든 문제를 풀 수 있는 알고력과 코딩력을 얻는 최단 시간을 구해야 한다. 알고리즘 공부를 해서 시간당 1의 알고력을 높일 수 있고, 코딩 공부를 해서 시간당 1의 코딩력을 높일 수 있다. 또한, 문제를 풀어 x 시간을

2024년 7월 31일
·
0개의 댓글
·
post-thumbnail

JPA, 페이징 처리와 N+1문제 해결하기

공간 정보와 연관된 엔티티를 조회하면서 페이징 처리를 했는데 JPA가 만들어주는 쿼리는 심히 당황스러웠다. 페이징을 위한 쿼리 2개, 연관된 엔티티(5개)를 각각 조인해서 가져오는 쿼리 5개, 총 7개를 예상했지만 실제로는 52개의

2024년 7월 27일
·
0개의 댓글
·
post-thumbnail

Programmers Lv3, 기둥과 보 설치[Java]

Programmers Lv3, 기둥과 보 설치문제의 요구사항에 따라 기둥과 보를 설치하거나 제거하여, 남아있는 건축물을 정렬하여 반환하는 문제이다. 먼저 기둥과 보를 설치하는 방법을 알아보자.기둥은 바닥 위에 있거나 보의 한쪽 끝 부분 위에 있거나, 또는 다른 기둥 위

2024년 7월 26일
·
0개의 댓글
·
post-thumbnail

Programmers Lv3, 양과 늑대[Java]

Programmers Lv3, 양과 늑대특정 노드에 방문할 때마다 해당 노드에 있던 양과 늑대가 따라온다. 루트 노드에서 출발하여 양과 늑대를 모을 때, 최대한 많이 모을 수 있는 양의 개수를 반환한다. 늑대의 수가 양보다 많거나 같아지면 양이 잡아먹히니, 잡아먹히지

2024년 7월 25일
·
0개의 댓글
·
post-thumbnail

Programmers Lv3, 광고 삽입[Java]

Programmers Lv3, 광고 삽입시청자들의 누적 재생 시간이 가장 많은 곳에 공익 광고가 들어갈 시작 시간을 구해야 한다. 동영상 재생 길이, 공익 광고 재생 길이, 시청자들이 동영상을 재생했던 구간 정보가 주어진다.크게 다음 단계로 문제에 접근할 수 있다.

2024년 7월 24일
·
0개의 댓글
·
post-thumbnail

Programmers Lv3, 외벽 점검[Java]

Programmers Lv3, 외벽 점검 - 레스토랑 외벽의 취약한 지점을 최소한의 친구들을 파견해 점검한다. 친구들이 1시간 동안 이동할 수 있는 거리를 주며, 모든 친구를 투입해도 1시간 내 취약 지점을 점검할 수 없으면 -1을 반환한다.취약 지점이 {1,5,6,

2024년 7월 23일
·
0개의 댓글
·