Home
zz9z9
Cancel

JDBC / MyBatis / MyBatis-Spring 훑어보기

JDBC부터 mysql-spring까지 간단하게 사용해보면서 드는 개인적인 생각을 적어보자. 시나리오 : 회원 테이블에 회원 정보 저장 후, 회원 이력 테이블에 이력 저장하기 전 예외 발생 상황1 : 회원 정보는 저장됨 상황2 : 회원, 이력 테이블에 모두 저장되지 않음 JDBC ...

키릴문자를 아시나요 ?

상황 담당하는 서비스에서 발행한 쿠폰 번호를 사용자가 앱에서 입력했는데 등록되지 않는다는 CS가 접수 로그에 남은 해당 쿠폰의 앞자리를 복사하여 DB에서 조회해봤는데 결과가 없음 하지만, 사용자가 보내준 스크린샷에 있는 쿠폰 번호를 직접 입력해서 조회하면 결과가 있음 원인 파악하기 아래 코드로 로그에서 복사한 경우와 직접 입력한 ...

javax.net.ssl.SSLHandshakeException - No appropriate protocol (protocol is disabled or cipher suites are inappropriate)의 원인을 찾아서

상황 신규 이전한 서버에서 애플리케이션을 띄우는데 다음과 같은 에러를 마주하게됐다. 이전 서버에서와 달라진 점은 CentOS 7.4에서 7.9로 바뀐 것밖에 없는데 뭐가 문제일까 이해가 잘되지 않았다. 또한 로컬 환경에서는 문제없이 실행되는 상황이라 추적이 더 어려웠다. Caused by: javax.net.ssl.SSLHandshakeExc...

HTTPS 요청이 HTTP로 리다이렉트 되는 현상

상황 서버 이전 작업 후 담당 웹사이트에서 URL 리다이렉트시 페이지 응답이 없는 경우가 발생함 특정 사용자에게서는 이런 현상이 발생하지 않음 확인해보니 HTTPS 요청이 HTTP로 바껴서 리다이렉트됨 원인 파악하기 요청이 WAS에 도달하기까지의 흐름 (브라우저) ---- https ---- (L4/L7 스...

wait_timeout을 초과한 커넥션을 사용해서 겪은 이슈 (The last packet successfully received from the server was ... milliseconds ago)

상황 최근 배치 애플리케이션의 커넥션 풀 관련 설정을 변경한 후 MMS 발송하는 job에서 아래와 같은 에러 발생 Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 104,...

MySQL에서 시간,날짜 데이터를 저장할 때 반올림되는 현상 (2)

상황 이전 포스팅 에서 MySQL 반올림 현상으로 인해 겪었던 이슈를 살펴보았다. 이번 포스팅에서는 해당 이슈를 해결하면서 궁금했던 소수점 초가 제거되기까지의 자료형 변환 과정을 들여다보자. 소수점 초가 제거되기까지의 과정 살펴보기 public void 상품권생성() { 상품권생성정보 info = new 상품권생성정보(param1, ...

MySQL에서 시간,날짜 데이터를 저장할 때 반올림되는 현상 (1)

상황 회사에서 판매하는 상품권의 등록만료일시 변경 요청을 받아 작업한 뒤 테스트하던 중 24년 12월 31일 23시 59분 59초로 만료일시를 세팅하려는데 실제 DB에는 25년 1월 1일 0시 0분 0초로 저장되는 현상 발견 기존 코드 import org.apache.commons.lang.time.DateUtils; public void...

POST 요청 사이즈 제한으로 인해 겪었던 이슈(http-max-post-size, max-http-form-post-size)

상황 클라이언트로부터 상품 수신자 리스트 데이터를 받아 처리하는데, 수신자가 일정 수를 넘어가면 제대로 처리되지 않고 애플리케이션에서 예외 발생함 로그 추적 1. 아파치 로그 Connection reset by peer : ... AH01084: pass request body failed to ... 2. 애플리케이션 로그 컨트...

Java - JDBC 알아보기

JDBC란? 공식 문서에서는 다음과 같이 설명한다. JDBC(Java Database Connectivity) API는 Java에서 범용 데이터 액세스를 제공한다. 즉, JDBC API를 사용하면 관계형 데이터베이스, 스프레드시트 및 플랫 파일에 이르기까지 거의 모든 데이터 소스에 액세스할 수 있다. 한 마디로, JDBC는 데이터소스(...

Infra - 톰캣 구조 살펴보기

톰캣 구조 출처 : https://howtodoinjava.com/tomcat/tomcats-architecture-and-server-xml-configuration-tutorial/ 이러한 구조는 일반적으로 Tomcat 설치 폴더의 /conf 하위 디렉토리에 있는 server.xml 파일에 정의된다. server.xml ...