2025/03 31

[Java] 네이버 포매터(Naver Formatter)

⚡ 1. 네이버 포매터(Naver Formatter)란?네이버 포매터(Naver Formatter) 는 네이버(NAVER)에서 개발한 Java 코드 스타일 자동 정리 도구입니다.Java 코드를 일관된 스타일로 포맷팅(정렬 및 정리)하여 코드 가독성을 높이는 역할을 합니다. 📌 즉, Java 코드를 팀 내에서 동일한 스타일로 유지할 수 있도록 도와주는 도구! ✅ 주요 기능 • 자동으로 Java 코드 스타일을 정리하여 가독성 향상 • Checkstyle, Spotless, Google Java Formatter 등과 유사한 코드 포맷터 • Eclipse, IntelliJ, Gradle, Maven 등에서 적용 가능 ⚡ 2. 네이버 포매터 사용법네이버 포매터는 Eclipse 설정 파일을 기반으로 동작하며, ..

BE/Java 2025.03.11

[AWS] AWS S3(Simple Storage Service)

⚡ 1. AWS S3란?Amazon S3(Simple Storage Service) 는 AWS에서 제공하는 확장 가능한 객체 스토리지 서비스입니다.AWS S3를 사용하면 이미지, 동영상, 로그 파일, 백업 데이터, 정적 웹사이트 파일 등을 저장할 수 있습니다. 📌 AWS S3의 주요 특징 • 확장성 → 데이터를 제한 없이 저장 가능 (이론적으로 무제한) • 내구성 & 가용성 → 99.999999999% (11 9’s) 내구성 제공 • 보안성 → IAM, 버킷 정책, 암호화 지원 • 다양한 스토리지 클래스 지원 → 비용 최적화 가능 • 정적 웹 호스팅 가능 → HTML, CSS, JS 등을 업로드하여 웹사이트 운영 가능 • 서버리스 아키텍처와 통합 → Lambda, CloudFront, API Gatew..

Infra/Cloud 2025.03.10

[SonarQube] 소나큐브

⚡ 1. 소나큐브(SonarQube)란?소나큐브(SonarQube) 는 정적 코드 분석(Static Code Analysis) 도구로,소프트웨어의 버그, 코드 스멜(Code Smell), 보안 취약점(Security Vulnerabilities) 을 자동으로 분석하여 코드 품질을 향상시키는 도구입니다. ✅ 소나큐브의 핵심 기능 🔹 정적 코드 분석 → 코드 실행 없이 문제를 찾아냄🔹 코드 품질 분석 → 코드 스멜(Code Smell), 복잡도, 중복 코드 감지🔹 보안 취약점 검사 → OWASP Top 10, SAST(정적 애플리케이션 보안 테스트) 지원🔹 CI/CD 연동 가능 → Jenkins, GitHub Actions, GitLab CI, Bitbucket과 통합🔹 다양한 언어 지원 → Jav..

Infra/CI-CD 2025.03.09

[Java] 롬복과 어노테이션 프로세서

⚡ 1. 롬복(Lombok)이란?Lombok(롬복) 은 반복적인 보일러플레이트(Boilerplate) 코드를 자동으로 생성하는 Java 라이브러리입니다.예를 들어, Getter, Setter, 생성자, toString() 등을 직접 작성할 필요 없이 어노테이션만으로 자동 생성할 수 있습니다. 📌 Lombok을 사용하면 코드가 간결해지고 유지보수가 쉬워짐import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class User { private String name; private int age;}📌 위 코드 실행 시 자동으로 getName(), setAge() 등의 메서드가 생성됨 ⚡ 2. Lombok은 어떻게 동작할까? (어노테이션..

BE/Java 2025.03.08

[Spring Boot] DispatcherServlet

⚡ 1. DispatcherServlet이란?DispatcherServlet 은 Spring MVC의 핵심 컨트롤러(Front Controller) 역할을 하는 서블릿입니다.클라이언트 요청을 받아 적절한 컨트롤러로 전달하고, 응답을 처리하는 역할을 합니다. 📌 쉽게 말하면? • 요청을 받고 → 컨트롤러에 전달 → 응답을 반환하는 중앙 컨트롤러 • Front Controller 패턴을 사용하여 모든 요청을 한 곳에서 처리 • Spring MVC에서 HTTP 요청을 처리하는 핵심 역할 수행사용자 → DispatcherServlet → 컨트롤러 → 서비스 → 리포지토리 → DB ↓ ViewResolver ↓ 응답..

[Java] Java Collections Framework

⚡ 1. Java Collections Framework란?Java Collections Framework(JCF) 는 자료구조(컬렉션)를 효율적으로 다룰 수 있도록 제공하는 표준 라이브러리입니다.List, Set, Queue, Map 등의 인터페이스와 이를 구현하는 다양한 클래스들을 포함하고 있습니다. 💡 Collections Framework의 핵심 기능 • 데이터 저장 & 관리 → 배열보다 유연한 데이터 구조 제공 • 정렬 & 검색 → Comparator, Comparable 지원 • 멀티스레드 환경 지원 → Concurrent 컬렉션 제공 ⚡ 2. Java Collections Framework의 구조Java 컬렉션 프레임워크는 다음과 같은 핵심 인터페이스로 구성됩니다. 🏗 Java Colle..

BE/Java 2025.03.06

JIT(Just-In-Time) 컴파일러

⚡ 1. JIT(Just-In-Time) 컴파일러란?JIT(Just-In-Time) 컴파일러 는 프로그램 실행 중(런타임)에 바이트코드를 네이티브 코드(기계어)로 변환하는 컴파일러입니다.JIT 컴파일러는 Java, C#, Kotlin 등의 언어에서 사용되며, 인터프리터 방식과 정적 컴파일 방식의 장점을 결합한 기술입니다. 💡 쉽게 말하면: • 일반적으로 컴파일은 실행 전에 이루어지지만, JIT 컴파일러는 실행 중에 컴파일을 수행 • 바이트코드(Bytecode)를 네이티브 코드(Native Code)로 변환하여 속도를 향상시킴 • Java Virtual Machine(JVM) 및 .NET CLR(Common Language Runtime) 에서 사용됨JIT 컴파일러 = 실행 중(Just-In-Time)에..

CS 2025.03.05

[Kubernetes] K8s Cluster

⚡ 1. Kubernetes 클러스터(K8s Cluster)란?Kubernetes(쿠버네티스, K8s) 는 컨테이너화된 애플리케이션을 자동으로 배포, 관리, 확장할 수 있는 컨테이너 오케스트레이션 플랫폼입니다.Kubernetes 클러스터는 여러 노드(Node)로 구성되며, 애플리케이션을 배포하고 실행하는 분산 시스템의 역할을 합니다. ✅ Kubernetes 클러스터의 핵심 기능 🔹 자동화된 컨테이너 배포 & 관리 → 컨테이너 기반 애플리케이션을 자동으로 배포하고 실행🔹 자동 확장(Auto Scaling) → 트래픽 증가 시 Pod을 자동으로 추가하거나 제거🔹 셀프 힐링(Self-Healing) → 장애가 발생한 컨테이너를 자동으로 복구🔹 로드 밸런싱 & 서비스 디스커버리 → 여러 개의 Pod을 하..

Infra/Container 2025.03.04

[Kubernetes] 쿠버네티스 (K8s)

⚡ 1. 쿠버네티스(Kubernetes)란?쿠버네티스(Kubernetes, K8s) 는 컨테이너화된 애플리케이션을 자동으로 배포, 운영, 확장하는 컨테이너 오케스트레이션 플랫폼입니다.Google에서 개발하고 현재는 Cloud Native Computing Foundation(CNCF) 에서 관리하는 오픈소스 프로젝트입니다. ✅ 쿠버네티스의 핵심 기능 🔹 컨테이너 자동 배포 및 스케일링 → 애플리케이션을 자동으로 배포하고 확장🔹 로드 밸런싱 및 서비스 디스커버리 → 여러 컨테이너 간의 네트워크 통신 관리🔹 셀프 힐링(Self-Healing) → 오류가 발생한 컨테이너를 자동으로 재시작🔹 롤링 업데이트 & 롤백 → 무중단 배포 가능🔹 클러스터 리소스 최적화 → CPU, 메모리 등을 효율적으로 할당 ..

Infra/Container 2025.03.03

[Kotlin] 코루틴 (Coroutines)

⚡ 1. 코루틴(Coroutines)란?코루틴(Coroutine) 은 Kotlin에서 제공하는 비동기 프로그래밍을 위한 경량 쓰레드 개념입니다.기존의 Thread나 RxJava보다 가볍고 효율적으로 비동기 작업을 관리할 수 있도록 설계되었습니다. ✅ 코루틴의 주요 특징 🔹 경량성 → 수천 개의 코루틴을 실행해도 적은 리소스를 사용🔹 비동기 & 논블로킹 → 메인 쓰레드를 차단하지 않고 동작🔹 구조적 동시성(Structured Concurrency) → CoroutineScope를 활용해 일괄적으로 관리 가능🔹 기존 코드와의 쉬운 통합 → 기존 Thread, RxJava보다 간결한 코드 작성 가능 ⚡ 2. 코루틴의 기본 개념🏗 코루틴의 주요 구성 요소개념설명CoroutineScope코루틴이 실행되는..

BE/Kotlin 2025.03.02