Pichu Pokeball
본문 바로가기

2025/0214

핫스왑 추가 설명 🔥 핫스왑이 적용되지 않을 때 해결 방법디버그 모드로 실행했는지 확인핫스왑은 Debug 모드에서만 동작합니다.Run이 아닌 Debug 실행 (Shift + F9) 으로 실행하세요.JVM 옵션 확인Help > Edit Custom VM Options에서 -XX:+AllowEnhancedClassRedefinition 옵션이 포함되었는지 확인없으면 추가 후 IDE 재시작Spring Boot DevTools와 충돌 확인spring-boot-devtools를 사용하면 자동으로 앱을 재시작하는 기능이 활성화됩니다.spring.devtools.restart.enabled=false로 설정하면 핫스왑과 DevTools가 잘 동작합니다.✅ Tomcat 핫스왑 적용 방식 정리Q1. 디버그 모드에서 실행하다가 수정하면 .. 2025. 2. 28.
IntelliJ에서 SpotBugs 플러그인 활용하기 SpotBugs란?SpotBugs는 Java 코드에서 잠재적인 버그를 찾아주는 정적 분석 도구입니다. 기존의 FindBugs 프로젝트를 기반으로 발전했으며, 코드의 품질을 향상시키고 유지보수를 용이하게 하는 데 큰 도움을 줍니다.IntelliJ IDEA에서 SpotBugs를 활용하면 코드 작성 단계에서 버그를 사전에 발견하고 수정할 수 있습니다. 이번 글에서는 SpotBugs 플러그인을 설치하고 사용하는 방법을 살펴보겠습니다.SpotBugs 플러그인 설치 방법IntelliJ IDEA에서 SpotBugs 플러그인을 사용하려면 먼저 플러그인을 설치해야 합니다.1. 플러그인 설치IntelliJ IDEA를 실행합니다.File → Settings (macOS에서는 IntelliJ IDEA → Preferences.. 2025. 2. 27.
SQL에서 인덱스를 활용한 데이터 조회 방법 1. 인덱스를 사용하면 왜 빠를까?SQL에서 데이터를 조회할 때 인덱스(Index) 를 사용하면 검색 속도를 크게 향상시킬 수 있습니다. 인덱스는 책의 목차처럼 특정 컬럼의 값을 빠르게 찾을 수 있도록 도와줍니다.🔍 인덱스의 동작 방식데이터베이스에서 인덱스는 B-Tree 또는 Hash Table 등의 자료구조를 사용하여 데이터를 정리합니다. 이 덕분에 데이터를 찾을 때 Full Table Scan(전체 검색) 없이 필요한 데이터를 빠르게 찾을 수 있습니다.예를 들어, 100만 개의 데이터가 있는 테이블에서 특정 이메일을 검색한다고 가정해봅시다.인덱스 없이 검색: 100만 개의 데이터를 하나씩 검사 → O(N) → 느림 🚫인덱스를 사용한 검색: 인덱스를 통해 원하는 데이터만 빠르게 검색 → O(log .. 2025. 2. 24.
TypeScript: 왜 그리고 어떻게 사용해야 할까? 📌 TypeScript란?TypeScript는 Microsoft에서 개발한 JavaScript의 상위 집합(Superset)입니다. JavaScript에 정적 타입(static type) 기능을 추가하여 코드의 안정성을 높이고, 개발자 경험을 개선하는 언어입니다.🔥 TypeScript를 써야 하는 이유정적 타입 시스템 → 컴파일 시점에 오류를 잡아줌강력한 코드 자동 완성 → IDE에서 타입 정보를 활용하여 더 정확한 자동 완성 제공더 나은 유지보수 → 코드 규모가 커질수록 안정성이 증가최신 JavaScript 기능 지원 → ES6+ 기능을 포함하면서도 구버전 JavaScript로 변환 가능대규모 프로젝트에 적합 → 팀 협업 시 코드 품질 유지에 유리🛠️ TypeScript 기본 문법1️⃣ 변수 선언.. 2025. 2. 20.
🚀 DBeaver에서 Commit을 하지 않아 발생한 Lock 문제 ❗ 문제 상황입사한지 얼마되지 않아 select절도 commit 해줘야 한다는걸 모르고 데이터를 보다 block 문제가 발생했습니다..ㅠㅠ  DBeaver를 사용하여 데이터베이스를 관리할 때, 트랜잭션을 실행한 후 COMMIT을 수행하지 않으면 다른 사용자나 프로세스에서 해당 데이터에 접근하지 못하는 LOCK 문제가 발생할 수 있습니다.  결국 저는 완전히 로그아웃을 해서 커밋되지 않은 트랜잭션을 롤백하는 방식으로 해결했습니다. 이 일이 있고 난 후에 select 절을 하고 나면 바로 commit을 하고 사용하지 않는 db의 경우 연결을 끊어 놓습니다...ㅎㅎ🤔 왜 이런 문제가 발생할까?DBeaver는 기본적으로 트랜잭션을 명시적으로 COMMIT하거나 ROLLBACK하지 않으면 변경 사항을 유지한 채 .. 2025. 2. 17.
IntelliJ IDEA 코드 실시간 반영(Hot Swap) 설정 및 활용법 개발 중에 코드를 수정할 때마다 애플리케이션을 종료하고 다시 실행하는 것은 매우 번거로운 일입니다. 다행히 IntelliJ IDEA는 실행 중인 애플리케이션에서 코드를 실시간으로 반영할 수 있는 기능을 제공합니다. 이를 활용하면 개발 생산성을 크게 향상시킬 수 있습니다. 이번 글에서는 IntelliJ IDEA에서 코드 실시간 반영(Hot Swap) 기능을 설정하고 활용하는 방법을 자세히 알아보겠습니다.1. 코드 실시간 반영이란?코드 실시간 반영(Hot Swap)은 애플리케이션을 재시작하지 않고 코드 변경 사항을 즉시 반영하는 기능입니다.특히, Spring Boot, JavaEE, Kotlin, React 같은 프레임워크를 사용할 때 매우 유용합니다.✨ Hot Swap을 사용하면 다음과 같은 장점이 있습니.. 2025. 2. 14.