반응형

전체 글 38

[SQL] MySQL Slow Query Log 설정과 활용법

MySQL에서 성능 저하를 유발하는 느린 쿼리(Slow Query)를 파악하고 최적화하기 위해 Slow Query Log를 활용합니다. 이 글에서는 Slow Query Log를 활성화하고 관리하는 방법에 대해 알아보겠습니다.1. Slow Query Log란?MySQL에서 Slow Query Log는 특정 시간 이상 실행된 느린 쿼리를 기록하는 로그입니다. 성능 문제를 진단하고 최적화할 수 있는 중요한 자료로 활용됩니다.Slow Query Log의 필요성데이터베이스 성능 저하를 사전에 파악할 수 있음느린 쿼리의 개선점을 확인 가능성능 최적화와 모니터링에 유용2. Slow Query Log 확인 방법Slow Query Log와 관련된 변수를 확인하려면 아래 명령어를 사용합니다.SHOW VARIABLES LI..

[Server] 무중단 배포 중 동일 프로세스 중복 문제 해결하기

무중단 배포를 진행하는 과정에서 동일한 Java 애플리케이션 프로세스가 두 개 떠서 충돌하는 경우가 발생할 수 있습니다. 이러한 문제를 해결하기 위해 불필요한 프로세스를 종료하는 방법에 대해 알아보겠습니다.🛑 문제 상황무중단 배포 시 새로운 애플리케이션 인스턴스를 실행하다가 기존 인스턴스가 종료되지 않아 두 개의 프로세스가 동시에 떠 있는 상황이 발생할 수 있습니다. 이러한 경우 서비스 장애를 유발할 수 있으므로 빠르게 하나의 프로세스를 종료해야 합니다.🔍 프로세스 확인하기먼저 현재 실행 중인 Java 프로세스를 확인합니다.ps -ef | grep java결과 예시user 12345 1 0 15:10 pts/0 00:01:23 java -jar myapp-1.0.jaruser 12346..

삼분공부/Server 2025.03.25

[JAVA] HikariCP VS SimpleDriverDataSource

HikariCP를 사용하는 이유와 SimpleDriverDataSource 비교💡 왜 HikariCP를 사용할까?대규모 애플리케이션에서 데이터베이스와의 연결을 관리하는 것은 매우 중요합니다. Java 애플리케이션에서는 이러한 연결을 관리하기 위해 커넥션 풀(Connection Pool)을 사용합니다. HikariCP는 Java 생태계에서 가장 널리 사용되는 커넥션 풀 라이브러리로, 특히 Spring Boot와 같은 프레임워크와 함께 많이 사용됩니다.이 글에서는 HikariCP를 사용하는 이유와 SimpleDriverDataSource와의 비교를 통해 그 필요성을 명확하게 이해해 보겠습니다.💡 SimpleDriverDataSource와 HikariCP 비교특징SimpleDriverDataSourceHi..

삼분공부/JAVA 2025.03.21

[Nuxt.js] page 별로 layout 다르게 적용하는 방법

퍼블분께서. . . 모든 페이지마다 header/contents/footer 영역을 모두 추가해두셨다.  탭1 탭2 탭3 ... ... ...  오 마이 갓 ~~~  처음엔 한두페이지 뿐이었던 관리자 화면이어서 그냥 뒀는데, 일이 커지기 전에 고쳐본다.   1. definePageMeta란?Nuxt 3에서는 definePageMeta를 사용하여 페이지의 메타 데이터를 설정할 수 있다. 이 메타 데이터에는 레이아웃(layout), 미들웨어(middleware), 캐시 설정(cache) 등 여러 설정이 포함될 수 있다.✅ 기본 ..

삼분공부/Vue 2025.03.11

[Git] 프로젝트 수정 중 깃 원격 저장소 주소 변경 시 !

와아아아 개발 중 회사 gitlab 서버가 이전되었다.  간단하게 새 주소로 push 하는 방법.   인텔리제이에서 터미널을 열어주고 ~ 최신 버전으로 PULL 받으면 준비 ~~  #1 기존 서버 원격 저장소 삭제git remote remove origin  #2 새 서버의 GitLab 프로젝트를 새로운 원격 저장소로 추가git remote add origin https://gitlab.your-new-server.com/group/project.git  #3 변경되었는지 확인 !git remote -v    간단하쥬위처럼 새로운 주소가 뜨면 그냥 끝이다. fetch 한번 하고 하던대로 push 하면 끝.

삼분공부/기타 2025.02.12

[Linux] 리눅스 실시간 로그 명령어 정리

📌 리눅스 실시간 로그 확인하는 tail 명령어 정리tail 명령어는 파일의 마지막 몇 줄을 출력하거나, 파일이 업데이트될 때 실시간으로 변경 내용을 확인할 때 사용합니다.✅ 기본 사용법bash복사편집tail -n 100 filename.log # 마지막 100줄 출력 tail -f filename.log # 파일이 변경될 때 실시간 출력 🚀 자주 사용하는 옵션옵션설명-n [줄 수]지정한 줄 수만큼 마지막에서부터 출력 (-n 50 → 마지막 50줄 출력)-f파일이 변경될 때 자동으로 추가 내용을 출력 (실시간 모니터링)-F-f와 비슷하지만, 파일이 재생성되거나 로그 로테이션이 발생해도 자동으로 계속 추적--pid=[PID]특정 프로세스가 종료될 때까지 -f 모니터링 유지-q여러 파일을 모니터링할 때 ..

삼분공부/기타 2025.02.11

[node.js] 노드 nodemailer 메일 발송시 css 깨지는 현상

노드로 메일발송 api를 구현했다. 근데 퍼블리셔한테 받은 코드를 그대로 보내니까 안 되는 거 있지~~ 그래서 찾아봄.🚨 NodeMailer로 HTML 메일 발송 시 CSS가 깨지는 문제 해결 🚨NodeMailer를 사용해서 HTML 메일을 보낼 때, 일부 이메일 클라이언트(Gmail, Outlook 등)에서 CSS가 깨지는 문제가 발생할 수 있다. 이런 문제는 보통 외부 CSS가 적용되지 않거나, 일부 스타일이 무시되는 것 때문.✅ 해결 방법 2가지1️⃣ @import 대신 인라인 스타일 사용 이메일 클라이언트들은 @import 또는 태그를 통한 외부 CSS 적용을 차단하는 경우가 많아.👉 해결 방법: 모든 CSS를 ✅ 올바른 예시 (인라인 스타일 적용) 버튼 텍스트 ✔ 이렇게 하면 대..

[Nuxt.js] <NuxtLink> 사용하는 이유 !

🚀 NuxtLink를 써야 하는 이유1️⃣ 클라이언트 사이드 네비게이션 (CSR) 적용 태그는 기본적으로 서버에 요청을 보내고 새로고침(F5)하면서 페이지를 이동함.반면 는 페이지를 새로고침 없이 Vue Router를 이용하여 이동하기 때문에, 앱처럼 부드럽게 작동함.NuxtLink를 쓰면 라우트가 변경될 때 Vue의 가상 DOM을 활용하여 필요한 데이터만 업데이트함.✅ 결과적으로 속도가 빠르고 UX가 좋아짐.📌 비교 예시 About 페이지로 이동 About 페이지로 이동2️⃣ 자동 프리페치(Pre-fetch) 기능 지원를 사용하면, 브라우저가 화면에 보이는 링크를 미리 로드할 수 있음.Nuxt 3에서는 기본적으로 prefetch 기능이 활성화되어 있어, 사용자가 클릭하기 전에 이미 데이터를 로드함..

삼분공부/Vue 2025.02.06

[PM2] 명령어 정리

🚀 PM2 명령어 총정리PM2는 Node.js 애플리케이션을 관리하는 프로세스 매니저입니다.이 글에서는 PM2의 주요 명령어와 사용법을 정리합니다.🔹 PM2 설치sh복사편집npm install -g pm2 글로벌(-g)로 설치하여 시스템 어디서든 사용할 수 있도록 합니다.🔹 애플리케이션 실행1️⃣ 기본 실행sh복사편집pm2 start app.js app.js 파일을 실행하고 PM2로 관리 시작2️⃣ 실행 시 이름 지정sh복사편집pm2 start app.js --name myApp myApp이라는 이름으로 실행하여 관리하기 쉽게 만듦3️⃣ 여러 개의 애플리케이션 실행sh복사편집pm2 start app.js --name uat1 --port 3000 pm2 start app.js --name uat2 ..

삼분공부/기타 2025.02.05

[리눅스] Linux 기본 명령어 정리

📂 파일 및 디렉토리 관련명령어설명ls현재 디렉토리의 파일 목록 조회ls -l상세 정보 출력 (파일 권한, 소유자, 크기 등)ls -a숨김 파일 포함 출력 (.으로 시작하는 파일)cd [디렉토리]해당 디렉토리로 이동cd ..상위 디렉토리로 이동pwd현재 작업 디렉토리 경로 출력mkdir [디렉토리명]새로운 디렉토리 생성rmdir [디렉토리명]빈 디렉토리 삭제rm -r [디렉토리명]디렉토리 및 내부 파일 삭제cp [원본] [대상]파일 복사cp -r [원본] [대상]디렉토리 복사mv [원본] [대상]파일 또는 디렉토리 이동 및 이름 변경rm [파일명]파일 삭제📄 파일 내용 조회 및 수정명령어설명cat [파일명]파일 내용 출력tac [파일명]파일 내용을 역순 출력less [파일명]한 화면씩 파일 내용 출력..

카테고리 없음 2025.02.04
728x90