정책 검색 앱 개발: RecyclerView와 데이터 필터링 구현
정책 검색 애플리케이션의 핵심 기능을 구현하기 위해 데이터 모델, UI 컨트롤러, 어댑터를 단계별로 설계합니다. 아래는 검색 기능을 포함한 안드로이드 앱의 핵심 코드 예제입니다.
1. Policy 데이터 모델 클래스
public class Policy {
private String title;
private String content;
public Policy(String title, String content) {
this.titl ...
7월 19일 17:40에 게시됨
자바 메서드 활용과 재귀 호출
메서드 기본 개념
메서드는 특정 기능을 수행하는 코드 블록입니다. 주요 장점:
코드 모듈화로 복잡성 감소
재사용성을 통한 개발 효율 향상
가독성 및 유지보수성 개선
// 윤년 판별 메서드 예시
public class CalendarUtil {
public static boolean checkLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
}
...
7월 19일 05:33에 게시됨
Jenkins와 SonarScanner로 Java 프로젝트 코드 품질 분석하기
사전 준비 및 수동 검증
SonarScanner 최신 버전은 Java 언어 스캔 플러그인을 내장하고 있어 추가 설치가 불필요합니다.
1. 소스 코드 클론
git clone git@192.168.1.128:root/demo-maven-service.git
2. Maven 빌드
cd demo-maven-service/
mvn clean package
ls target/ # SonarScanner가 스캔할 컴파일된 클래스 확인
3. SonarScanner 설정
cd /usr/local/sonar-s ...
7월 18일 22:54에 게시됨
자바 기반 네트워크 통신 프로그래밍 입문
네트워크 프로그래밍의 기본 개념
네트워크 프로그래밍은 서로 다른 장치 간에 데이터를 주고받는 소프트웨어 기술을 의미합니다. 이를 구현하기 위해 반드시 이해해야 할 세 가지 핵심 요소가 있습니다: IP 주소, 포트 번호, 그리고 통신 프로토콜입니다.
IP 주소
IP 주소는 네트워크 상에서 각 장치를 고유하게 식별하는 번호입니다. IPv4는 4개의 8비트 숫 ...
7월 18일 19:10에 게시됨
자바 래퍼 클래스의 상수 풀 캐싱과 데이터 처리 메커니즘
자바에서는 메모리 사용의 효율성을 높이기 위해 기본 타입(Primitive Type)의 래퍼 클래스(Wrapper Class)에 대해 상수 풀(Constant Pool) 캐싱 기술을 적용하고 있습니다. 이 메커니즘은 자주 사용되는 특정 범위의 값을 객체로 미리 생성해 두어, 동일한 값을 사용할 때 새로운 인스턴스를 생성하지 않고 기존 객체를 재사용하도록 설계되었습니다.
캐싱을 지원하는 래 ...
7월 18일 16:14에 게시됨
Java 표준 로깅 프레임워크 java.util.logging 활용하기
자바 기본 로깅 시스템 이해하기
자바는 1.4.2 버전부터 java.util.logging 패키지를 통해 내장형 로깅 기능을 제공합니다. 이 API의 핵심은 Logger 클래스이며, 애플리케이션의 문제 진단 및 실행 흐름 추적에 매우 유용합니다. 서버 장애나 예외 발생 시, 로그를 통해 원인을 정확히 파악할 수 있습니다.
로그 레벨은 총 8단계로 구성되며, 우선순위는 다음과 같습니다: ...
7월 18일 08:14에 게시됨
JSONMap을 활용한 Java JSON 데이터 처리 심층 가이드
핵심 개념 및 동작 원리
Java 환경에서 JSON 데이터를 처리할 때 발생하는 중첩 구조 접근, 형변환 오류 등 문제를 해결하는 JSONMap의 설계 철학과 메커니즘을 분석합니다. 이 라이브러리는 기존 Jackson 라이브러리를 확장하여 Map 인터페이스를 강화합니다.
아키텍처 설계
JSONMap은 HashMap을 상속받아 기존 Jackson 변환 결과를 향상시킵니다. 주요 기능은 다음과 ...
7월 18일 03:57에 게시됨
Spring Boot, Vue, uni-app 기반 시 학습 시스템 구현 상세
백엔드 시스템은 Java 언어 기반의 Spring Boot 프레임워크를 활용하여 개발됩니다. Spring Boot는 Spring 프레임워크를 기반으로 하며, '설정보다 관례(Convention over Configuration)' 원칙을 통해 개발자가 애플리케이션 구축에 더 집중할 수 있도록 돕습니다. 자동 구성 기능은 복잡한 XML 설정이나 수많은 어노테이션을 수동으로 관리할 필요 없이, 프로젝트 의존성 ...
7월 18일 03:21에 게시됨
Future와 CompletableFuture의 차이점
Future는 비동기 처리 결과를 얻기 위해 주기적으로 상태를 확인해야 하며, 이로 인해 CPU 사용률이 증가할 수 있습니다.
ExecutorService executorService = Executors.newFixedThreadPool(10);
Future<String> asyncResult = executorService.submit(() -> {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStac ...
7월 17일 23:58에 게시됨
ServletContextListener 인터페이스 완벽 가이드
서론
ServletContextListener는 웹 애플리케이션의 생명주기를 관리하는 중요한 리스너 인터페이스입니다. 이 인터페이스를 사용하면 서블릿 컨테이너가 시작되거나 종료될 때 특정 코드를 실행할 수 있습니다. 본 글에서는 ServletContextListener의 구조와 활용 방법, 그리고 실제 사용 사례를詳細히 다루겠습니다.
ServletContextListener란?
ServletContextListener ...
7월 17일 23:25에 게시됨