SonarQube 시작하기

SonarQube 설치, 설정 및 사용법 SonarQube는 코드 품질을 관리하는 오픈 플랫폼으로, 코드 내에 존재할 수 있는 잠재적이거나 명백한 오류를 빠르게 식별할 수 있습니다. 본 문서에서는 이 도구의 설치, 설정 및 사용 방법을 소개합니다. 사전 준비: JDK (설명 생략) SonarQube: http://www.sonarqube.org/downloads/ SonarQube Scanner: https://sonarsource.bintr ...

6월 12일 01:20에 게시됨

Spring Boot와 Spring AI Alibaba를 이용한 알리바바 클라우드 DashScope 에이전트 통합

아키텍처 및 기술 스택 본 가이드는 Spring Boot 환경에서 알리바바 클라우드의 대규모 언어 모델(LLM) 서비스인 DashScope(백련) 에이전트를 연동하는 방법을 다룹니다. 동기식 요청과 Server-Sent Events(SSE)를 활용한 비동기 스트리밍 응답 두 가지 방식을 구현합니다. 프레임워크: Spring Boot 3.x, Spring WebFlux 언어: Java 17 AI 라이브러리: Spring ...

6월 11일 22:12에 게시됨

Java 어노테이션의 개념과 커스텀 어노테이션 정의 방법

Java 프로그래밍을 하다 보면 메서드 상단이나 클래스 선언부에 @Override와 같은 표식을 자주 접하게 됩니다. 이를 어노테이션(Annotation)이라고 하며, 프로그램 코드의 일부로 간주되지는 않지만 컴파일러나 런타임 환경에 중요한 정보를 전달하는 역할을 합니다. 1. 어노테이션의 정의와 특징 어노테이션은 Java 5.0부터 도입된 메타데이터 메커니즘입니다. 일반적인 ...

6월 11일 22:00에 게시됨

Java를 이용한 SNMP 프로토콜로 서버 정보 수집

Java를 이용한 SNMP 프로토콜로 서버 정보 수집1. SNMP 소개SNMP는 IP 네트워크에서 노드(서버, 워크스테이션, 라우터, 스위치 및 허브 등)를 관리하기 위해 특별히 설계된 표준 프로토콜로, 응용 계층 프로토콜입니다. SNMP를 통해 네트워크 관리자는 네트워크 성능을 관리하고, 문제를 발견하며 해결하며, 네트워크 성장을 계획할 수 있습니다. SNMP를 통해 무작위 메시 ...

6월 11일 21:41에 게시됨

Spring Boot 비동기 작업 처리: @EnableAsync와 Future 패턴 적용

Spring Boot는 비동기 작업을 매우 효율적으로 지원합니다. 이번 글에서는 @EnableAsync와 @Async 어노테이션을 활용하여 비동기 기능을 활성화하고, 단방향(Fire-and-Forget) 패턴과 요청-응답(Request-Reply) 패턴을 구현하는 방법을 살펴봅니다. 비동기 기능 활성화 Spring Boot 환경에서 비동기 처리를 사용하려면 먼저 설정 클래스에 @EnableAsync 어노테이션을 추가 ...

6월 11일 16:34에 게시됨

싱글톤 패턴과 열거형, 예외 처리 및 어노테이션 활용

싱글톤 디자인 패턴 싱글톤 패턴은 객체를 한 번만 생성하여 메모리 사용을 줄이고 일관성을 유지하는 데 유용합니다. 즉시 초기화 방식(Eager Initialization): 클래스 로딩 시점에 인스턴스를 생성하므로 스레드 안전하지만 메모리 점유 시간이 길 수 있습니다. 지연 초기화 방식(Lazy Initialization): 필요할 때 인스턴스를 생성하므로 메모리를 절약하지만 멀티스레 ...

6월 10일 20:55에 게시됨

Java에서 FFmpeg를 활용한 로컬 영상 RTSP 스트리밍 구현

준비사항FFmpeg: 멀티미디어 처리 오픈소스 도구 (권장 버전: 4.2 이상) - 공식 사이트에서 다운로드EasyDarwin: RTSP 미디어 서버 (테스트용) - easydarwin.org에서 릴리즈 바이너리 획득VLC 미디어 플레이어: 스트림 재생 확인용FFmpeg 명령어 구조로컬 영상을 RTSP 프로토콜로 전송하는 기본 명령어:ffmpeg -re -i [입력경로] -f rtsp rtsp://[서버주소]/[스트림명]각 ...

6월 10일 19:14에 게시됨

Java의 Character 클래스 사용법과 주요 메서드

자바에서 문자를 다룰 때 기본적으로 char라는 원시 데이터 타입을 사용합니다. 하지만 객체지향 프로그래밍의 특성상 객체 형태로 문자를 처리해야 하는 경우가 많습니다. 이를 위해 자바는 char 타입을 래핑하는 Character 클래스를 제공합니다. Character 클래스란? 기본 자료형인 char 대신 객체로 취급이 필요한 상황에서는 Character 클래스를 사용할 수 있습니다. ...

6월 10일 17:01에 게시됨

자바 환경에서 객체 인스턴스화를 제어하는 단순 팩토리 패턴 가이드

객체 생성의 복잡성과 분리 필요성 소프트웨어 개발 과정에서 가장 빈번하게 접하는 패턴 중 하나는 객체를 어떻게 생성하느냐에 관한 것입니다. 생성형 패턴은 시스템의 유연성을 확보하기 위한 핵심 도구입니다. 그중에서도 '단순 팩토리(Simple Factory)'는 개념적으로 접근하기 가장 쉬운 시작점이며, 실제 프로젝트에서도 널리 쓰입니다. 이 패턴은 GoF(가디언 오프 ...

6월 10일 16:40에 게시됨

Java 기반 유틸리티 클래스 모음: 맵, 압축, 인코딩, 신분증, IP 처리

맵 키 필터링 유틸리티 특정 문자열을 포함하는 키를 기준으로 맵 항목을 추출하는 기능을 제공합니다. 스트림과 람다를 활용하여 조건에 맞는 엔트리만 필터링합니다. public class MapFilterUtil { public static Map<String, Object> filterByKeyFragment(Map<String, Object> source, String fragment) { if (source == null || fragment == n ...

6월 10일 00:06에 게시됨