전체 글35 푸시한 커밋을 특정시점으로 안전하게 되돌리기 reset 이 아닌, revert 이용 📜 커밋 히스토리 (되돌리기 전) A → B → C (74134fa) → D → E (HEAD)C: 리드미 변경D: 기능 추가E: 버그 수정🛠️ 실행bashgit revert D^..E내부적으로는 revert E → revert D 순서로 실행됩니다.📜 커밋 히스토리 (되돌린 후) A → B → C → D → E → F (Revert D and E)F 커밋은 D와 E의 변경사항을 되돌리는 커밋입니다.결과적으로 F 커밋의 파일 상태는 C와 동일합니다.하지만 D와 E는 히스토리에 남아 있으므로 추적 가능하고, 협업에도 안전합니다.✅ 요약항목설명최종 소스 상태C와 동일D, E 커밋히스토리에 남아 있음F 커밋D, E를 되돌리는 커밋협업 안전성매우 안전 (강제 푸시 불.. 2025. 7. 7. 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. 이전 1 2 3 4 ··· 9 다음