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