본문 바로가기

분류 전체보기34

Java 힙 덤프 자동화: jcmd와 쉘 스크립트로 OOM 문제 진단하기 Java 애플리케이션 운영 중 OutOfMemoryError (OOM)와 같은 메모리 관련 이슈는 개발자와 운영자에게 큰 골칫거리입니다. 이런 문제를 진단하는 가장 효과적인 방법 중 하나는 특정 시점의 힙 메모리 상태를 담은 **힙 덤프(Heap Dump)**를 분석하는 것인데요. 수동으로 프로세스 ID(PID)를 찾아서 jcmd 명령어를 실행하는 것은 번거롭고, 특히 긴급한 상황에서는 더욱 그렇습니다.오늘 이 글에서는 Java 애플리케이션의 힙 덤프 생성을 쉘 스크립트로 자동화하는 방법을 소개합니다. 이를 통해 빠르고 효율적으로 필요한 진단 정보를 확보하고 문제 해결 시간을 단축할 수 있습니다.왜 힙 덤프 자동화가 필요한가요?신속한 대응: OOM과 같은 문제가 발생했을 때, 수동 개입 없이 즉시 힙 덤.. 2025. 6. 26.
로컬에서 MSSQL, GitLab, Flyway 환경을 Docker로 구성해서 실습하고 테스트할 수 있는 플래그십 예제 프로젝트 로컬에서 MSSQL, GitLab, Flyway 환경을 Docker로 구성해서 실습하고 테스트할 수 있는 플래그십 예제 프로젝트🧱 전체 예제 프로젝트 구조/db-cicd-lab/├── docker-compose.yml├── flyway/│ ├── conf/│ │ └── flyway.conf│ └── sql/│ └── V1__create_table_users.sql├── .gitlab-ci.yml├── README.md🐳 1. docker-compose.ymlversion: '3.9'services: mssql: image: mcr.microsoft.com/mssql/server:2019-latest container_name: mssql environment.. 2025. 6. 25.
DB도 코드처럼: DBA를 위한 실전 형상관리와 CI/CD 자동화 전략 📑 목차 (Table of Contents)들어가며: 왜 DB도 형상관리가 필요한가협업의 현실: Java 개발자와 DBA의 역할 분리실전 접근: DB를 위한 독립 프로젝트 구조형상관리 도구로서의 FlywayGitLab과 CI/CD: DB 배포 자동화 구성기존 프로시저 마이그레이션 방법실무 팁과 마무리1. 들어가며: 왜 DB도 형상관리가 필요한가많은 프로젝트에서 애플리케이션 코드는 Git을 통해 관리되고, CI/CD를 통해 자동 배포됩니다. 하지만 DB는 여전히 수동으로 운영되고 있거나, 로컬 쿼리창에서 직접 작성되는 경우가 많습니다.“누가 이 프로시저를 마지막으로 수정했지?”“운영 DB는 개발 DB랑 다른 구조인데?”“배포 순서가 잘못돼서 의존성이 깨졌다...”이런 문제는 DB가 형상관리 되지 않기 때.. 2025. 6. 25.
윈도우에서 파이썬프로그램 실행 Bat 만들기 다음은 배치 파일 코드입니다. 이 코드를 사용하면 Python 스크립트가 독립적으로 실행되고, CMD 창은 자동으로 닫힙니다: @echo offcd /d D:\project_py\py-log\start "" pythonw file_manage_ui.pyexit 2025. 2. 4.