디자인 패턴 - 싱글톤 패턴 완벽 이해하기

생성 패턴의 핵심 목표는 객체 생성 과정과 사용을 분리하는 것입니다. 이를 통해 시스템의 결합도를 낮추고, 사용자는 객체가 어떻게 생성되는지 알 필요 없이 사용할 수 있습니다. 생성 패턴의 종류는 다음과 같습니다: 싱글톤 패턴 팩토리 메서드 패턴 추상 팩토리 패턴 프로토타입 패턴 빌더 패턴 싱글톤 패턴이란? 싱글톤 패턴은 클래스의 인스턴스가 오직 하나 ...

7월 5일 04:46에 게시됨

행위 기반 설계: 전략과 어댑터 패턴의 활용

전략 패턴은 동일한 작업 흐름 내에서 다양한 알고리즘을 교체 가능하게 만드는 디자인 접근법이다. 다음 예제는 문자열 처리 과정에서 각기 다른 전략을 적용하는 방식을 보여준다. public abstract class TextProcessor { public String identifier() { return getClass().getSimpleName(); } public abstract String transform(String input); } ...

6월 30일 02:28에 게시됨

자바를 활용한 네트워크 프로그래밍 기초

네트워크 프로그래밍은 종종 복잡하고 신비로운 기술로 인식되지만, 사실 그 핵심은 간단한 통신 메커니즘에 기반합니다. 이 글에서는 자바에서 제공하는 네트워크 기능을 중심으로 기본적인 TCP 기반 통신 구현 방법을 알아봅니다. 우선 명확히 해야 할 점은, 웹 개발과 네트워크 프로그래밍은 동일하지 않다는 것입니다. 웹은 네트워크 통신의 한 형태일 뿐이며, 네트워 ...

6월 26일 21:34에 게시됨

스프링에서 마이바티스 활용: 주석 및 XML 기반 데이터베이스 작업 가이드

마이바티스 기본 설정 데이터베이스 연결 설정 JDBC 드라이버 클래스명 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver DB 연결 URL spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mybatis_test characterEncoding=utf8&useSSL=false DB 사용자 이름 spring.datasource.username=root DB 비밀번호 spring.datasource.password=root 로깅 설정 ...

6월 17일 03:07에 게시됨

자바 웹 애플리케이션에서 JDBC와 서블릿을 이용한 로그인 시스템 구현

먼저 자바 웹 프로젝트를 생성해야 합니다. 프로젝트 생성 방법은 다음 링크를 참조할 수 있습니다: https://blog.csdn.net/u012532559/article/details/51013400 프로젝트 구조는 다음과 같습니다: 로그인 페이지 index.jsp 내용 수정 <%-- Created by IntelliJ IDEA. User: Developer Date: 2023/11/15 Time: 10:30 To change this template use File | S ...

6월 14일 18:58에 게시됨

스프링 부트와 마이바티스 통합 완벽 가이드

목차 통합 개요 통합 구현 환경 설정 실습 예제 마이바티스 플러스 통합 시 문제 해결 의존성 문제 구성 문제 매퍼 인터페이스 및 XML 파일 문제 엔티티 클래스 문제 데이터베이스 연결 문제 SQL 문장 문제 스프링 컨테이너 문제 기타 문제 1. 통합 개요 마이바티스와 스프링 부트를 통합하는 핵심 원리는 ...

6월 12일 16:34에 게시됨

자바에서의 중첩 반복문 구현 및 활용

중첩 반복문의 기본 개념 한 반복문을 다른 반복문 내부에 포함시키면 중첩 반복문이 형성됩니다. for, while, do-while 등 다양한 반복문 구조를 외부와 내부 루프로 조합할 수 있으며, 일반적으로 두 단계까지 사용하는 것이 가독성 측면에서 바람직합니다. 세 단계 이상의 중첩은 코드 유지보수에 부정적인 영향을 미칠 수 있습니다. 동작 원리 내부 반복문은 외부 반 ...

6월 10일 23:31에 게시됨

다중 작업 스케줄링 최적화: 최단 완료 시간 계산

문제 설명 공장은 m개의 생산 라인을 운영하며, n개의 독립적인 작업을 병렬 처리해야 합니다. 시스템은 항상 처리 시간이 가장 짧은 작업부터 우선 배치합니다. 각 작업의 처리 시간이 주어졌을 때, 모든 작업이 완료되는 총 소요 시간을 구하세요. 작업 수가 라인 수를 초과하면, 처음에 처리 시간이 짧은 m개의 작업이 라인에 할당되고, 이후 한 라인이 작업을 완료할 ...

6월 8일 19:40에 게시됨

자바 기본 개념과 데이터 타입

자바 주요 키워드 자바 변수명 명명 규칙 자바 데이터 타입 1. 기본 타입(Primitive Types) public class DataTypeExample { public static void main(String[] args) { // 기본 데이터 타입 예제 byte num1 = 10; // 1바이트 -128~127 short num2 = 3000; // 2바이트 -32768~32767 int num3 = 8889999; // 4바이트 -2147483648 ...

6월 3일 21:09에 게시됨

HashMap 내부 구조와 작동 원리

데이터 구조 1.7 버전 배열과 연결 리스트의 조합으로, 키-값 쌍은 Entry 내부 클래스 배열에 저장됩니다. 키로부터 계산된 해시값이 배열의 인덱스가 됩니다. 이를 버킷 배열이라고 부르며, 해시 충돌이 발생할 경우 Entry 클래스의 내부 멤버 변수 Entry<k,v> next;를 통해 연결 리스트를 형성합니다. 해시값이 동일한 요소들은 머리 삽입법(head insertion)을 ...

6월 3일 17:20에 게시됨