전체 글 (430) 썸네일형 리스트형 [Java] 인스턴스 내부 클래스 인스턴스 내부 클래스(Instance Inner Class)란?인스턴스 내부 클래스는 외부 클래스의 인스턴스에 속하는 클래스를 의미합니다. 즉, 인스턴스 내부 클래스는 외부 클래스의 객체를 생성해야만 사용할 수 있는 클래스입니다.예시 코드class Outer { // 인스턴스 변수 private final int number = 10; // 인스턴스 내부 클래스 class Inner { void display() { // 외부 클래스의 인스턴스 변수에 접근 System.out.println("Outer class number: " + number); } } // 인스턴스 메소드 void createInn.. [Java] for-each 루프 for-each란?for-each는 JDK 1.5 버전부터 추가된 반복문으로, 배열뿐만 아니라 Collection 인터페이스를 구현한 모든 자료구조에 사용할 수 있는 반복문입니다. 배열과 리스트뿐만 아니라 Set, Map과 같은 컬렉션에서도 간단히 사용 가능합니다.예제 코드import java.util.ArrayList;public class Main { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5}; // 일반적인 for문 for (int i = 0; i list = new ArrayList(); list.add("apple"); list.add("banan.. [데이터베이스] Redis란 Redis란?Redis는 Remote Dictionary Server의 약자로, 오픈 소스 데이터 구조 서버입니다.데이터를 Key-Value 형태로 저장하며, 다양한 종류의 데이터 구조를 지원합니다. Redis 특징지속성(Persistence)메모리 기반 DB이지만 시스템이 다운되더라도 데이터를 디스크에 저장하여 지속성을 제공합니다.데이터 복제(Replication)Master-Slave 구조를 통해 장애 복구(Failover) 및 백업을 지원합니다.트랜잭션 지원Redis 트랜잭션으로 작업 중 하나라도 실패 시 이전 상태로 복구합니다.Pub/Sub 모델 지원퍼블리시/구독 모델 기반의 실시간 데이터 처리를 지원합니다.빠른 속도메모리 기반 DB이므로 HDD 기반 DB보다 속도가 빠릅니다.싱글 스레드 기반.. [Spring Boot] 로그 파일 생성하기 1. 사전 지식@Slf4j@Slf4j는 SLF4J(Simple Logging Facade for Java)의 추상화를 사용하며, 디폴트로 Logback이 구현체로 설정됩니다.Logback은 Spring Boot에서 기본 제공되는 로깅 프레임워크로, XML 또는 Groovy 파일을 통해 유연한 설정을 제공합니다. 2. Logback 설정 가이드Logback 설정 파일 생성위치: src/main/resources/logback.xml기본 구성 %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 구성 요소 설명로그 메시지를 출력하는 대상 설정.여기서 STDOUT은 콘솔에 로그를 출력하기 위한 App.. [Spring Boot] Slf4j와 Logback SLF4J란?SLF4J(Simple Logging Facade for Java)는 Java 로깅을 위한 추상화 계층으로, 개발자가 특정 로깅 구현체에 종속되지 않도록 돕습니다. SLF4J를 사용하면 다양한 로깅 프레임워크(Logback, Log4j 등)를 교체하거나 적용하는 작업이 단순해집니다.SLF4J의 특징추상화 계층 제공로깅 구현체(Logback, Log4j 등)를 선택적으로 사용 가능.코드 변경 없이 구현체를 교체할 수 있음.Spring 프레임워크에서는 기본적으로 Logback을 구현체로 사용. Logback의 주요 특징Logback은 SLF4J의 기본 구현체로, 성능과 유연성을 중점에 둔 로깅 프레임워크입니다.1. 비동기 로깅별도의 스레드를 통해 로그 메시지를 처리하여 메인 스레드의 지연을 최소.. [네트워크] 포트(Port) 전송 계층의 역할전송 계층은 네트워크 계층 위에 있고 응용 계층 아래에 위치하며, 다음과 같은 주요 역할을 담당합니다:응용 계층의 프로세스 식별:네트워크 계층(IP 주소)이 어떤 장치를 식별하는 데 사용된다면, 전송 계층은 포트 번호를 통해 특정 어플리케이션 프로세스를 식별합니다.신뢰성 보장 및 연결 관리:전송 계층은 데이터의 신뢰성을 확보하고, 응용 계층과 네트워크 계층 간의 연결성을 유지합니다.네트워크 계층의 한계 극복:네트워크 계층(IP 프로토콜)은 장치 식별까지만 가능하므로, 전송 계층이 어플리케이션 구분 및 데이터 전송 관리를 추가적으로 담당합니다. 포트(Port)란?포트 번호는 특정 어플리케이션 프로세스를 식별하기 위한 고유한 숫자입니다.IP 주소는 장치를 식별하지만, 포트 번호는 어떤 어플리.. [클라우드 컴퓨팅] 클라우드 컴퓨팅이란? 클라우드 컴퓨팅은 인터넷(클라우드)을 통해 컴퓨터 시스템의 리소스(서버, 스토리지, 네트워크, 소프트웨어 등)를 제공하고 사용하는 기술입니다. 이를 통해 사용자는 물리적 장비나 데이터센터를 직접 소유하거나 관리하지 않아도 필요한 컴퓨팅 리소스를 쉽게 활용할 수 있습니다. 1. 클라우드 컴퓨팅의 핵심 개념인터넷 기반 제공클라우드의 리소스는 원격 데이터센터에 위치하며 사용자는 인터넷을 통해 접근합니다.온디맨드(On-Demand)필요할 때 리소스를 활성화하고, 필요 없으면 해제할 수 있습니다. 예를 들어, 클라우드 서버를 몇 시간 동안만 사용하고 비용을 지불할 수 있습니다.유연성(Flexibility) & 확장성(Scalability)사용자 요구에 따라 리소스를 손쉽게 늘리거나 줄일 수 있습니다.종량제(Pa.. [Java] 리스트 인터페이스 구현 자료구조는 프로그래밍에서 데이터를 효율적으로 저장하고 관리하기 위한 중요한 개념입니다. 그중에서도 리스트(List)는 가장 기본적이면서도 다양한 활용성을 가진 자료구조입니다. 이번 글에서는 리스트 인터페이스를 설계하겠습니다. 1. 리스트란?리스트(List)는 자료를 순서대로 저장하는 선형 자료구조입니다.선형 구조란 데이터가 논리적 혹은 물리적으로 순서대로 연결되어 있다는 것을 의미합니다.리스트는 데이터를 추가하거나 삭제, 조회하기 쉽도록 설계된 자료구조로, 순차적 데이터 처리에 적합합니다.리스트의 특징데이터의 앞/뒤 순서를 유지합니다.물리적이거나 논리적으로 선형 구조를 갖습니다.다양한 언어에서 기본적으로 제공되며, 배열(Array)과 비슷하지만 기능이 더 확장되었습니다. 2. 리스트를 구현하는 자료구조.. 이전 1 2 3 4 5 ··· 54 다음