
RDS를 운영하다 보면 다음과 같은 오류 메시지와 함께 데이터베이스 연결이 끊기는 상황이 발생할 수 있습니다."Too many connections"이는 데이터베이스에 허용된 최대 동시 연결 수(max_connections)를 초과했을 때 나타나는 오류입니다.커넥션 풀의 연결 수가 부족한 경우이미 종료된 커넥션이 정리되지 않고 남아 있는 경우사용되지 않는 커넥션이 과도하게 오래 유지되고 있는 경우이와 같은 상황에서는 연결 요청이 정상적으로 처리되지 못해, RDS 접속 자체가 실패할 수 있습니다.그래서 오늘은 이 오류에 대한 원인 분석과 해결 방법을 정리해보려고 합니다. 가장 근본적인 해결책은 RDS에 적용된 파라미터 그룹(Parameter Group)을 새롭게 생성하고,max_connections 값을 ..

안녕하세요!오늘은 백엔드 개발자가 꼭 알아야 할 3가지 객체인 DAO, DTO, VO에 대해서 정리를 해보겠습니다.DAO, DTO, VO는 백엔드 개발에서 자주 사용되는 개념이며, 서로의 역할이 명확히 나뉘어 있습니다.- DAO: 데이터베이스 접근 담당 (Persistence Layer)- DTO: 계층 간 데이터 전달을 위한 객체- VO: 불변 객체로, 값 자체에 의미가 있는 객체DAO(Data Access Object)개념DAO는 Data Access Object의 약자로, DB의 데이터에 접근하기 위한 객체를 가리키며 DB에 접근하기 로직을 분리하기 위해 사용합니다. 직접 DB에 접근하여 data를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다. 주로 MVC패턴의 Model에서 이러한 일을..

최근 회사에서 이런 미션을 받았습니다."Spring 기반으로 API를 하나 만들고, 클라이언트로부터 코드와 언어 타입을 입력받아, 해당 언어에 맞는 Docker 컨테이너를 실행한 후 결과를 반환해줘." 처음부터 모든 언어를 다 다루기는 어려우므로,우선 C, Python, Java 정도만 실행할 수 있도록 간단한 구조로 출발하였습니다. 각 언어별로 Docker 컨테이너를 따로 실행해야 하므로,Dockerfile을 언어마다 개별로 분리해 관리할 수 있도록 디렉터리 구조를 다음과 같이 잡았습니다.docker-compose.yml을 루트에 두고c-env/, python-env/, java-env/ 등의 디렉터리를 만들어각 디렉터리 내부에 해당 언어의 Dockerfile을 작성이런 구조는 유지보수도 편하고, 필..

프로젝트를 진행하면서 로그인 로직에 본인인증 관련 부분을 추가하게 되었다.구글링을 열심히 해보았는데 JAVA와 관련된 예제 코드가 없어서 직접 작성하고자 한다. 우선 글을 작성하기에 앞서 기본적인 본인인증 흐름을 소개하자면, 다음과 같다.대부분의 소셜 로그인 방식과 비슷할거라고 생각한다. 여기서는 고객을 클라이언트로 가정하고 코드를 작성할 것이다.우선 먼저 인증요청을 날릴 때 해당 작업을 수행하는 컨트롤러이다. 이 컨트롤러에서는 KCP측으로 up_hash 생성 요청을 날린 후, up_hash을 돌려받은 뒤, 클라이언트 측으로 인증창을 호출하는 역할을 한다. @GetMapping("phone-auth") @Operation(summary = "Phone Auth Api", description = ..
- Total
- Today
- Yesterday
- 자료구조
- DFS
- C++ Stack
- BFS
- 카운팅 정렬
- 자바스크립트
- 투 포인터
- 반복문
- 스택
- 백준
- js
- 스프링 부트 crud 게시판 구현
- java
- 백준 풀이
- html
- 자바
- 에라토스테네스의 체
- 유니온 파인드
- C++
- 세그먼트 트리
- 우선순위 큐
- HTML5
- Do it!
- DP
- 이분 매칭
- 유클리드 호제법
- c++ string
- 알고리즘
- 알고리즘 공부
- CSS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |