상황 회사에서 판매하는 상품권의 등록만료일시 변경 요청을 받아 작업한 뒤 테스트하던 중 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 ...
IntelliJ - 프로젝트, 모듈이란 ?
Project 프로젝트는 애플리케이션을 구성하는 모든 것(모듈, 종속성, 공통 설정 등)을 보관하는 디렉토리이다. 일반적으로 프로젝트에는 관련 모듈, 애플리케이션, 라이브러리 등이 포함되며, 이를 통해 상호 의존적으로 협력하여 개발이 가능해진다. 출처 : https://www.jetbrains.com/help/idea...
group by, order by, 드라이빙 테이블 수정을 통한 쿼리 성능 개선하기
들어가기 전 회사에서 개발하면서 처음으로 슬로우 쿼리를 개선해보았다. 제대로 한건지는 모르겠지만 나름대로 공부해서 7초에서 0.4초까지 개선되었다. 그 과정을 간략하게 적어보고 앞으로 또 다른 슬로우 쿼리를 만나게되면 기록할 예정이다. 쿼리 튜닝 과정 최초 쿼리 수행 시간 : 약 7초 최초 쿼리는 다음과 같다. (문제가 됐던 부...
Apache Http Server 2.2.x -> 2.4.x 버전 업그레이드 하면서 겪었던 이슈
상황 최근 개발 서버 이관 작업을 진행하면서 새로운 서버에는 기존에 사용하던 아파치 2.2.27 대신 2.4.33 버전을 설치해서 작업을 진행했다. 그리고 기존 서버의 httpd.conf 파일과 가상 호스트 파일들(한 대의 서버에서 여러 서비스 제공)을 옮겨와서 세팅한 뒤, 새로운 서버의 아파치를 실행(apachectl start)하려고 하는데, ...
Infra - Tomcat & Apache HTTP Server 연동
들어가기 전 Tomcat과 Apache HTTP Server 연동과 관련된 기초 지식을 살펴보고, 다음 파트에서는 실제로 연동하는 작업을 진행해보려고 한다. Apache Tomcat Connectors Apache Tomcat Connectors 프로젝트는 Tomcat 프로젝트의 일부이며, 웹 서버를 Tomcat 및 기타 백엔드와 연결하...
Infra - Apache httpd.conf 파일 속성 공부하기(1)
들어가기 전 회사에서 서버 이관을 준비하고 있다. 기존에 각각의 서버에 흩어져 있던 애플리케이션을 한 서버로 모으는 등의 작업을 해야하는데, 그럴려면 기존에 세팅된 아파치 설정 파일을 제대로 이해하고 더 나아가 수정하는 등의 작업이 필요할 것 같다. 따라서, httpd.conf 파일에 있는 속성들이 어떤 것을 의미하는지, 왜 필요한지 정리해보려고 ...
Permissions 0644 for ~ are too open 그리고 Permission denied (publickey) 현상 해결하기
상황 회사에서 리눅스 서버를 다뤄야할 일이 많아서 익숙해질겸 연습용으로 막 다뤄볼 수 있는 AWS 서버 하나를 구해봐야지 생각했다. 예전에 만들어놓은 AWS EC2 인스턴스가 있어서 오랜만에 접속해보려고 했는데 Permissions 0644 for keyname.pem are too open., Permission denied (publickey)...