Posts by Category

Spring

[k8s/스프링] 인그레스 설정과 컨텍스트 패스

쿠버네티스 클러스터 내부의 서비스(Service) 오브젝트에 대한 접근을 관리하는 오브젝트인 인그레스(Ingress)는 리소스에 정의된 규칙에 따라 라우팅을 수행한다. 인그레스의 라우팅 종류에는 단일 서비스로의 라우팅, 하나 이상의 서비스로의 라우팅(간단한 팬아웃(fanout)),...

[스프링] SpEL

스프링 표현 언어(SpEL, Spring Expression Language)(이하 SpEL)란 런타임에 객체 그래프(object graph)를 탐색하는 표현 언어이다. 객체의 프로퍼티 조회 및 설정, 메서드 실행, 연산 수행, 표현식(expression) 실행, 빈 참조 등의 기...

[자바/스프링] 코덱

HTTP를 통해 전송되는 데이터의 직렬화(serialization) 및 역직렬화(deserialization)를 위한 코덱(codec)은 요청 및 응답 데이터를 특정 형태로 처리한다. HTTP 통신을 통해 바이트 배열, JSON, XML, YAML, 프로토콜 버퍼 등 다양한 형태의...

[자바/스프링] HikariCP

자바 애플리케이션에서 JDBC(java database connectivity) API를 사용하여 데이터베이스에 연결하기 위해서는 DataSource 인터페이스를 통한 Connection 인스턴스 생성이 필요하다. DataSource는 Connection 인스턴스를 생성하기 위한 ...

[자바/스프링] JDBC 이슈 해결

문제: SQL 서버(SQL Server) 데이터베이스에서 기본키가 VARCHAR 타입인 테이블의 특정 기본키 컬럼 값에 대한 데이터 조회 시 쿼리 속도가 느리다. 원인: 기본적으로 sendStringParametersAsUnicode 연결 속성이 true이다. 내용: ...

[JPA/스프링] 스프링의 JPA 테스트

@SpringBootTest를 사용하여 애플리케이션 컨텍스트를 완전하게 생성한 후 애플리케이션의 모든 구성, 레이어 등을 단위 테스트하거나 통합 테스트하는 경우 실제 애플리케이션 구동을 위해 구성된 모든 빈이 스프링 컨테이너에 로드되기 때문에 애플리케이션의 규모가 커질수록 테스트 ...

[스프링] 캐시 추상화

스프링은 캐시 추상화(cache abstraction) 기능을 제공한다. 캐시 추상화를 통해 기존 코드에 미치는 영향을 최소화하고 다양한 캐싱 라이브러리 구현체(예: Gemfire, Caffeine, EhCache 등)를 일관된 방법으로 사용할 수 있도록 도와준다. 스프링 프레임워...

[자바/스프링/웹플럭스] 캐싱

웹플럭스에서는 스프링이 제공하는 캐싱 추상화 기능을 단순히 적용하더라도 올바르게 동작하지 않으며 그 원인은 리액티브 프로그래밍의 특성과 관련이 있다. 웹플럭스의 리액터가 제공하는 Mono와 Flux(이하 데이터 스트림 객체)는 데이터를 포함하고 있는 래퍼 객체이며, 데이터 스트림 ...

[스프링] 스프링 빈 처리

용어 인스턴스화되어 객체가 되는 것: 클래스 = POJO 클래스 클래스를 인스턴스화한 것: 빈 인스턴스 = POJO 인스턴스 = 객체 인스턴스

[스프링/JPA] 에러 해결

org.springframework.dao.InvalidDataAccessApiUsageException: No @NamedStoredProcedureQuery was found with that name 객체 관계 매핑 대상인 엔티티 객체에 @Entity 설정이 되어 있는...

[스프링 배치] StepScope

빈 스코프는 특정 빈 정의가 주어졌을 때 해당 클래스의 인스턴스화(객체 생성)를 어떻게 할 것인지를 지정하는 역할을 한다.

[스프링] ApplicationRunner, CommandLineRunner

ApplicationRunner와 CommandLineRunner는 스프링 애플리케이션 내에 포함될 때 자동으로 실행되어야 하는 빈을 지정하는데 사용되는 인터페이스이다. ApplicationRunner와 CommandLineRunner는 스프링 애플리케이션이 시작된 후에 자동으로 ...

[스프링] 스프링 키워드 정리

DI (Dependency Injection): 의존성 주입 IoC (Inversion of Conttol): 제어의 역전 AOP (Aspect-Oriented Programming): 관점 지향 프로그래밍 비즈니스 로직으로부터 공통 관심사 로직을 ...

Back to Top ↑

스프링

[k8s/스프링] 인그레스 설정과 컨텍스트 패스

쿠버네티스 클러스터 내부의 서비스(Service) 오브젝트에 대한 접근을 관리하는 오브젝트인 인그레스(Ingress)는 리소스에 정의된 규칙에 따라 라우팅을 수행한다. 인그레스의 라우팅 종류에는 단일 서비스로의 라우팅, 하나 이상의 서비스로의 라우팅(간단한 팬아웃(fanout)),...

[스프링] SpEL

스프링 표현 언어(SpEL, Spring Expression Language)(이하 SpEL)란 런타임에 객체 그래프(object graph)를 탐색하는 표현 언어이다. 객체의 프로퍼티 조회 및 설정, 메서드 실행, 연산 수행, 표현식(expression) 실행, 빈 참조 등의 기...

[자바/스프링] 코덱

HTTP를 통해 전송되는 데이터의 직렬화(serialization) 및 역직렬화(deserialization)를 위한 코덱(codec)은 요청 및 응답 데이터를 특정 형태로 처리한다. HTTP 통신을 통해 바이트 배열, JSON, XML, YAML, 프로토콜 버퍼 등 다양한 형태의...

[자바/스프링] HikariCP

자바 애플리케이션에서 JDBC(java database connectivity) API를 사용하여 데이터베이스에 연결하기 위해서는 DataSource 인터페이스를 통한 Connection 인스턴스 생성이 필요하다. DataSource는 Connection 인스턴스를 생성하기 위한 ...

[JPA/스프링] 스프링의 JPA 테스트

@SpringBootTest를 사용하여 애플리케이션 컨텍스트를 완전하게 생성한 후 애플리케이션의 모든 구성, 레이어 등을 단위 테스트하거나 통합 테스트하는 경우 실제 애플리케이션 구동을 위해 구성된 모든 빈이 스프링 컨테이너에 로드되기 때문에 애플리케이션의 규모가 커질수록 테스트 ...

[스프링] 캐시 추상화

스프링은 캐시 추상화(cache abstraction) 기능을 제공한다. 캐시 추상화를 통해 기존 코드에 미치는 영향을 최소화하고 다양한 캐싱 라이브러리 구현체(예: Gemfire, Caffeine, EhCache 등)를 일관된 방법으로 사용할 수 있도록 도와준다. 스프링 프레임워...

[자바/스프링/웹플럭스] 캐싱

웹플럭스에서는 스프링이 제공하는 캐싱 추상화 기능을 단순히 적용하더라도 올바르게 동작하지 않으며 그 원인은 리액티브 프로그래밍의 특성과 관련이 있다. 웹플럭스의 리액터가 제공하는 Mono와 Flux(이하 데이터 스트림 객체)는 데이터를 포함하고 있는 래퍼 객체이며, 데이터 스트림 ...

[스프링] 스프링 빈 처리

용어 인스턴스화되어 객체가 되는 것: 클래스 = POJO 클래스 클래스를 인스턴스화한 것: 빈 인스턴스 = POJO 인스턴스 = 객체 인스턴스

[스프링/JPA] 에러 해결

org.springframework.dao.InvalidDataAccessApiUsageException: No @NamedStoredProcedureQuery was found with that name 객체 관계 매핑 대상인 엔티티 객체에 @Entity 설정이 되어 있는...

[스프링 배치] StepScope

빈 스코프는 특정 빈 정의가 주어졌을 때 해당 클래스의 인스턴스화(객체 생성)를 어떻게 할 것인지를 지정하는 역할을 한다.

[스프링] ApplicationRunner, CommandLineRunner

ApplicationRunner와 CommandLineRunner는 스프링 애플리케이션 내에 포함될 때 자동으로 실행되어야 하는 빈을 지정하는데 사용되는 인터페이스이다. ApplicationRunner와 CommandLineRunner는 스프링 애플리케이션이 시작된 후에 자동으로 ...

[스프링] 스프링 키워드 정리

DI (Dependency Injection): 의존성 주입 IoC (Inversion of Conttol): 제어의 역전 AOP (Aspect-Oriented Programming): 관점 지향 프로그래밍 비즈니스 로직으로부터 공통 관심사 로직을 ...

Back to Top ↑

Java

[자바] MDC

오라클 RAC(real application cluster)란 클러스터 구조의 데이터베이스 아키텍처를 통해 여러 서버에서 단일 오라클 데이터베이스 소프트웨어를 실행함으로써 공유 스토리지(파일 시스템)에 접근에 대한 가용성을 높이고 데이터베이스 서비스의 투명한 스케일 아웃(trans...

[자바/스프링] 코덱

HTTP를 통해 전송되는 데이터의 직렬화(serialization) 및 역직렬화(deserialization)를 위한 코덱(codec)은 요청 및 응답 데이터를 특정 형태로 처리한다. HTTP 통신을 통해 바이트 배열, JSON, XML, YAML, 프로토콜 버퍼 등 다양한 형태의...

[자바/스프링] HikariCP

자바 애플리케이션에서 JDBC(java database connectivity) API를 사용하여 데이터베이스에 연결하기 위해서는 DataSource 인터페이스를 통한 Connection 인스턴스 생성이 필요하다. DataSource는 Connection 인스턴스를 생성하기 위한 ...

[자바/스프링] JDBC 이슈 해결

문제: SQL 서버(SQL Server) 데이터베이스에서 기본키가 VARCHAR 타입인 테이블의 특정 기본키 컬럼 값에 대한 데이터 조회 시 쿼리 속도가 느리다. 원인: 기본적으로 sendStringParametersAsUnicode 연결 속성이 true이다. 내용: ...

[스프링] 캐시 추상화

스프링은 캐시 추상화(cache abstraction) 기능을 제공한다. 캐시 추상화를 통해 기존 코드에 미치는 영향을 최소화하고 다양한 캐싱 라이브러리 구현체(예: Gemfire, Caffeine, EhCache 등)를 일관된 방법으로 사용할 수 있도록 도와준다. 스프링 프레임워...

[자바] 가상 스레드

자바 19에서 프리뷰 기능으로 도입된 프로젝트 룸(Project Loom)의 가상 스레드(virtual thread)링크는 경량(lightweight) 스레드이다. 자바 20을 거쳐 자바 21에서 최종 릴리스링크되었다. 가상 스레드는 처리량이 많은 동시성 애플리케이션의 개발, 관리...

[자바/코틀린] 잭슨 (Jackson)

잭슨(Jackson)은 자바 JSON 파서(parser) 라이브러리이다. 자바 객체와 JSON 문자열 간 직렬화 및 역직렬화를 수행한다. com.fasterxml.jackson.databind.ObjectMapper를 사용하여 자바 객체(엔티티 객체)와 JSON 문자열 간 직렬화 ...

[자바/스프링/웹플럭스] 캐싱

웹플럭스에서는 스프링이 제공하는 캐싱 추상화 기능을 단순히 적용하더라도 올바르게 동작하지 않으며 그 원인은 리액티브 프로그래밍의 특성과 관련이 있다. 웹플럭스의 리액터가 제공하는 Mono와 Flux(이하 데이터 스트림 객체)는 데이터를 포함하고 있는 래퍼 객체이며, 데이터 스트림 ...

[자바/코틀린] 열거 (enumeration)

프로그래밍에서 열거 타입(또는 열거 형)(enumeration type)이란 값의 집합을 구성하는 특별한 자료형 및 값 타입이다. 열거 타입 변수는 사전 정의된 상수 집합이며 미리 정의된 값 중 하나여야 한다. 상수인 열거 타입 변수를 열거 타입 상수(enum type consta...

[자바] 클래스 경로

자바 프로그램을 실행하기 위해서는 다음 두 단계가 수행되어야 한다. 컴파일: 소스 코드인 자바 파일(.java)을 바이트 코드인 클래스 파일(.class)로 변환한다. 컴파일된 파일 실행: 클래스 파일(.class)이나 클래스 파일들의 아카이브 ...

[자바/동시성] CAS와 Atomic 클래스

자바에서 기본적으로 래퍼(wrapper) 클래스는 불변(immutable)이다. 래퍼 클래스를 한 번 인스턴스화 한 이후에는 값을 변경할 수 없다. 래퍼 클래스를 메서드의 파라미터나 메서드 블록의 로컬 변수로 선언하여 사용하는 경우 불변성에 대해서만 주의하면 사용에 큰 문제가 되지...

[자바, 로깅] log4j2 설정

Log4j는 API와 코어 두 가지가 있다. API는 애플리케이션 인터페이스를 제공한다. 코어는 컴파일 시간이 아닌 런타임에만 필요하다.

[Java] 정규표현식 2

앞서 자바에서 정규표현식을 사용하기 위해 자바가 제공하는 어떤 클래스들을 사용할 수 있는지 살펴보았습니다.

Back to Top ↑

자바

[자바] MDC

오라클 RAC(real application cluster)란 클러스터 구조의 데이터베이스 아키텍처를 통해 여러 서버에서 단일 오라클 데이터베이스 소프트웨어를 실행함으로써 공유 스토리지(파일 시스템)에 접근에 대한 가용성을 높이고 데이터베이스 서비스의 투명한 스케일 아웃(trans...

[자바/스프링] 코덱

HTTP를 통해 전송되는 데이터의 직렬화(serialization) 및 역직렬화(deserialization)를 위한 코덱(codec)은 요청 및 응답 데이터를 특정 형태로 처리한다. HTTP 통신을 통해 바이트 배열, JSON, XML, YAML, 프로토콜 버퍼 등 다양한 형태의...

[자바/스프링] HikariCP

자바 애플리케이션에서 JDBC(java database connectivity) API를 사용하여 데이터베이스에 연결하기 위해서는 DataSource 인터페이스를 통한 Connection 인스턴스 생성이 필요하다. DataSource는 Connection 인스턴스를 생성하기 위한 ...

[스프링] 캐시 추상화

스프링은 캐시 추상화(cache abstraction) 기능을 제공한다. 캐시 추상화를 통해 기존 코드에 미치는 영향을 최소화하고 다양한 캐싱 라이브러리 구현체(예: Gemfire, Caffeine, EhCache 등)를 일관된 방법으로 사용할 수 있도록 도와준다. 스프링 프레임워...

[자바] 가상 스레드

자바 19에서 프리뷰 기능으로 도입된 프로젝트 룸(Project Loom)의 가상 스레드(virtual thread)링크는 경량(lightweight) 스레드이다. 자바 20을 거쳐 자바 21에서 최종 릴리스링크되었다. 가상 스레드는 처리량이 많은 동시성 애플리케이션의 개발, 관리...

[자바/코틀린] 잭슨 (Jackson)

잭슨(Jackson)은 자바 JSON 파서(parser) 라이브러리이다. 자바 객체와 JSON 문자열 간 직렬화 및 역직렬화를 수행한다. com.fasterxml.jackson.databind.ObjectMapper를 사용하여 자바 객체(엔티티 객체)와 JSON 문자열 간 직렬화 ...

[자바/스프링/웹플럭스] 캐싱

웹플럭스에서는 스프링이 제공하는 캐싱 추상화 기능을 단순히 적용하더라도 올바르게 동작하지 않으며 그 원인은 리액티브 프로그래밍의 특성과 관련이 있다. 웹플럭스의 리액터가 제공하는 Mono와 Flux(이하 데이터 스트림 객체)는 데이터를 포함하고 있는 래퍼 객체이며, 데이터 스트림 ...

[자바/코틀린] 열거 (enumeration)

프로그래밍에서 열거 타입(또는 열거 형)(enumeration type)이란 값의 집합을 구성하는 특별한 자료형 및 값 타입이다. 열거 타입 변수는 사전 정의된 상수 집합이며 미리 정의된 값 중 하나여야 한다. 상수인 열거 타입 변수를 열거 타입 상수(enum type consta...

[자바] 클래스 경로

자바 프로그램을 실행하기 위해서는 다음 두 단계가 수행되어야 한다. 컴파일: 소스 코드인 자바 파일(.java)을 바이트 코드인 클래스 파일(.class)로 변환한다. 컴파일된 파일 실행: 클래스 파일(.class)이나 클래스 파일들의 아카이브 ...

[자바/동시성] CAS와 Atomic 클래스

자바에서 기본적으로 래퍼(wrapper) 클래스는 불변(immutable)이다. 래퍼 클래스를 한 번 인스턴스화 한 이후에는 값을 변경할 수 없다. 래퍼 클래스를 메서드의 파라미터나 메서드 블록의 로컬 변수로 선언하여 사용하는 경우 불변성에 대해서만 주의하면 사용에 큰 문제가 되지...

[자바, 로깅] log4j2 설정

Log4j는 API와 코어 두 가지가 있다. API는 애플리케이션 인터페이스를 제공한다. 코어는 컴파일 시간이 아닌 런타임에만 필요하다.

Back to Top ↑

코틀린

[자바/코틀린] 열거 (enumeration)

프로그래밍에서 열거 타입(또는 열거 형)(enumeration type)이란 값의 집합을 구성하는 특별한 자료형 및 값 타입이다. 열거 타입 변수는 사전 정의된 상수 집합이며 미리 정의된 값 중 하나여야 한다. 상수인 열거 타입 변수를 열거 타입 상수(enum type consta...

[코틀린] 코루틴 기초

코루틴(coroutine)은 비동기적으로 실행하려는 코드를 보다 쉽게 작성할 수 있게 도와주는 동시 실행 설계 패턴이다. 코루틴은 중단 가능한(suspendable) 연산, 즉 함수가 특정 시점에 실행을 중단했다가 나중에 다시 시작할 수 있는 연산으로 구성된다. 코틀린 언어는 비동...

Back to Top ↑

Kotlin

[코틀린] 코루틴 기초

코루틴(coroutine)은 비동기적으로 실행하려는 코드를 보다 쉽게 작성할 수 있게 도와주는 동시 실행 설계 패턴이다. 코루틴은 중단 가능한(suspendable) 연산, 즉 함수가 특정 시점에 실행을 중단했다가 나중에 다시 시작할 수 있는 연산으로 구성된다. 코틀린 언어는 비동...

Back to Top ↑

자료 구조

[자료 구조/알고리즘] 투 포인터 기법

투 포인터(two pointers) 기법이란 배열과 리스트 같은 선형(linear) 자료 구조에서 데이터를 순차적으로 탐색하는데 사용되는 방법 중 하나이다. 투 포인터 기법은 간단한 방법으로 알고리즘의 성능을 높이는데 주로 사용된다. 문제 해결 시 브루트 포스(brute-force...

[자료 구조] 컬렉션

컬렉션(collection)이란 데이터(요소)를 그룹화한 것으로 추상 자료형(ADT, abstract data type)을 의미하며, 자료 구조의 구체적인 구현을 규정 짓지는 않는다. 일반적으로 컬렉션의 예로는 리스트(list), 셋(set), 큐(queue), 스택(stack),...

[자료 구조/알고리즘] 이진 탐색 트리

이진 트리(binary tree)란 각 노드(node)에 최대 두 개의 자식(하위) 노드가 있는(모든 노드의 차수가 2 이하인) 트리 자료 구조이다. 이진 탐색 트리(binary search tree)란 다음 두 특성을 갖는, 정렬된(ordered, sorted) 이진 트리를 말한...

[자료 구조/알고리즘] 트리 순회

트리 순회(tree traversal)란 트리 자료 구조에서 부모 노드와 두 개의 자식 노드를 정해진 순서에 따라 한 번씩만 탐색하는 것이다. 트리 순회는 크게 세 가지로 구분된다. 전위(pre-order) 순회: 부모 노드 -> 왼쪽 자식 노드 -> 오른쪽 자식 ...

[자료 구조/알고리즘] 그래프와 트리

그래프(graph)란 노드(node)와 간선(edge)의 집합으로 구성되는 추상 자료형(ADT, abstract data type)이다. 간선은 서로 다른 두 노드를 연결하는 선을 의미하며 방향성(direction)과 가중치(weight)를 가질 수 있다. 간선은 두 노드의 연결 ...

Back to Top ↑

Data Structure

[자료 구조/알고리즘] 투 포인터 기법

투 포인터(two pointers) 기법이란 배열과 리스트 같은 선형(linear) 자료 구조에서 데이터를 순차적으로 탐색하는데 사용되는 방법 중 하나이다. 투 포인터 기법은 간단한 방법으로 알고리즘의 성능을 높이는데 주로 사용된다. 문제 해결 시 브루트 포스(brute-force...

[자료 구조] 컬렉션

컬렉션(collection)이란 데이터(요소)를 그룹화한 것으로 추상 자료형(ADT, abstract data type)을 의미하며, 자료 구조의 구체적인 구현을 규정 짓지는 않는다. 일반적으로 컬렉션의 예로는 리스트(list), 셋(set), 큐(queue), 스택(stack),...

[자료 구조/알고리즘] 이진 탐색 트리

이진 트리(binary tree)란 각 노드(node)에 최대 두 개의 자식(하위) 노드가 있는(모든 노드의 차수가 2 이하인) 트리 자료 구조이다. 이진 탐색 트리(binary search tree)란 다음 두 특성을 갖는, 정렬된(ordered, sorted) 이진 트리를 말한...

[자료 구조/알고리즘] 트리 순회

트리 순회(tree traversal)란 트리 자료 구조에서 부모 노드와 두 개의 자식 노드를 정해진 순서에 따라 한 번씩만 탐색하는 것이다. 트리 순회는 크게 세 가지로 구분된다. 전위(pre-order) 순회: 부모 노드 -> 왼쪽 자식 노드 -> 오른쪽 자식 ...

[자료 구조/알고리즘] 그래프와 트리

그래프(graph)란 노드(node)와 간선(edge)의 집합으로 구성되는 추상 자료형(ADT, abstract data type)이다. 간선은 서로 다른 두 노드를 연결하는 선을 의미하며 방향성(direction)과 가중치(weight)를 가질 수 있다. 간선은 두 노드의 연결 ...

Back to Top ↑

알고리즘

[자료 구조/알고리즘] 투 포인터 기법

투 포인터(two pointers) 기법이란 배열과 리스트 같은 선형(linear) 자료 구조에서 데이터를 순차적으로 탐색하는데 사용되는 방법 중 하나이다. 투 포인터 기법은 간단한 방법으로 알고리즘의 성능을 높이는데 주로 사용된다. 문제 해결 시 브루트 포스(brute-force...

[자료 구조/알고리즘] 이진 탐색 트리

이진 트리(binary tree)란 각 노드(node)에 최대 두 개의 자식(하위) 노드가 있는(모든 노드의 차수가 2 이하인) 트리 자료 구조이다. 이진 탐색 트리(binary search tree)란 다음 두 특성을 갖는, 정렬된(ordered, sorted) 이진 트리를 말한...

[자료 구조/알고리즘] 트리 순회

트리 순회(tree traversal)란 트리 자료 구조에서 부모 노드와 두 개의 자식 노드를 정해진 순서에 따라 한 번씩만 탐색하는 것이다. 트리 순회는 크게 세 가지로 구분된다. 전위(pre-order) 순회: 부모 노드 -> 왼쪽 자식 노드 -> 오른쪽 자식 ...

[자료 구조/알고리즘] 그래프와 트리

그래프(graph)란 노드(node)와 간선(edge)의 집합으로 구성되는 추상 자료형(ADT, abstract data type)이다. 간선은 서로 다른 두 노드를 연결하는 선을 의미하며 방향성(direction)과 가중치(weight)를 가질 수 있다. 간선은 두 노드의 연결 ...

Back to Top ↑

Algorithm

[자료 구조/알고리즘] 투 포인터 기법

투 포인터(two pointers) 기법이란 배열과 리스트 같은 선형(linear) 자료 구조에서 데이터를 순차적으로 탐색하는데 사용되는 방법 중 하나이다. 투 포인터 기법은 간단한 방법으로 알고리즘의 성능을 높이는데 주로 사용된다. 문제 해결 시 브루트 포스(brute-force...

[자료 구조/알고리즘] 이진 탐색 트리

이진 트리(binary tree)란 각 노드(node)에 최대 두 개의 자식(하위) 노드가 있는(모든 노드의 차수가 2 이하인) 트리 자료 구조이다. 이진 탐색 트리(binary search tree)란 다음 두 특성을 갖는, 정렬된(ordered, sorted) 이진 트리를 말한...

[자료 구조/알고리즘] 트리 순회

트리 순회(tree traversal)란 트리 자료 구조에서 부모 노드와 두 개의 자식 노드를 정해진 순서에 따라 한 번씩만 탐색하는 것이다. 트리 순회는 크게 세 가지로 구분된다. 전위(pre-order) 순회: 부모 노드 -> 왼쪽 자식 노드 -> 오른쪽 자식 ...

[자료 구조/알고리즘] 그래프와 트리

그래프(graph)란 노드(node)와 간선(edge)의 집합으로 구성되는 추상 자료형(ADT, abstract data type)이다. 간선은 서로 다른 두 노드를 연결하는 선을 의미하며 방향성(direction)과 가중치(weight)를 가질 수 있다. 간선은 두 노드의 연결 ...

Back to Top ↑

Programming

[소프트웨어/프로그래밍] 테스트

프로그램이 의도된 대로 동작하는지 검증 및 확인하는 것을 테스트(test)라고 한다. 테스트는 프로그램이 요구사항에 맞게 동작하는지, 동작 도중 에러가 발생하지 않는지 등 프로그램의 정상적인 실행 흐름과 동작을 확인하는 과정을 포함한다. 테스트의 목적에는 여러가지가 있겠지만 가장 ...

Back to Top ↑

Test

[소프트웨어/프로그래밍] 테스트

프로그램이 의도된 대로 동작하는지 검증 및 확인하는 것을 테스트(test)라고 한다. 테스트는 프로그램이 요구사항에 맞게 동작하는지, 동작 도중 에러가 발생하지 않는지 등 프로그램의 정상적인 실행 흐름과 동작을 확인하는 과정을 포함한다. 테스트의 목적에는 여러가지가 있겠지만 가장 ...

Back to Top ↑

테스트

[소프트웨어/프로그래밍] 테스트

프로그램이 의도된 대로 동작하는지 검증 및 확인하는 것을 테스트(test)라고 한다. 테스트는 프로그램이 요구사항에 맞게 동작하는지, 동작 도중 에러가 발생하지 않는지 등 프로그램의 정상적인 실행 흐름과 동작을 확인하는 과정을 포함한다. 테스트의 목적에는 여러가지가 있겠지만 가장 ...

Back to Top ↑

프로그래밍

[소프트웨어/프로그래밍] 테스트

프로그램이 의도된 대로 동작하는지 검증 및 확인하는 것을 테스트(test)라고 한다. 테스트는 프로그램이 요구사항에 맞게 동작하는지, 동작 도중 에러가 발생하지 않는지 등 프로그램의 정상적인 실행 흐름과 동작을 확인하는 과정을 포함한다. 테스트의 목적에는 여러가지가 있겠지만 가장 ...

Back to Top ↑

JPA

[JPA/스프링] 스프링의 JPA 테스트

@SpringBootTest를 사용하여 애플리케이션 컨텍스트를 완전하게 생성한 후 애플리케이션의 모든 구성, 레이어 등을 단위 테스트하거나 통합 테스트하는 경우 실제 애플리케이션 구동을 위해 구성된 모든 빈이 스프링 컨테이너에 로드되기 때문에 애플리케이션의 규모가 커질수록 테스트 ...

[스프링/JPA] 에러 해결

org.springframework.dao.InvalidDataAccessApiUsageException: No @NamedStoredProcedureQuery was found with that name 객체 관계 매핑 대상인 엔티티 객체에 @Entity 설정이 되어 있는...

Back to Top ↑

Python

[Python] 진법 변환

int() 함수 - 용도: 자연수 진법으로 표현된 수를 10진수 정수로 변환 - 문법 int(값, 밑)

[Python] 문법 정리

컴프리헨션 (Comprehension) 리스트 컴프리헨션 [표현식 for 임시변수명 in 원본리스트명]

[Python] Pandas 기본 2

앞서 살펴본 시리즈와 데이터프레임은 Pandas에서 데이터를 저장하는 자료구조 객체입니다. 두 객체의 생성 및 초기화, 조작 방법에는 차이가 있으며 Numpy의 배열(ndarray 객체)와도 연관이 있습니다.

[Python] Pandas 기본 1

Pandas가 자료를 저장하는 구조에는 크게 두 가지가 있습니다.

Back to Top ↑

Git

Back to Top ↑

Build

Back to Top ↑

빌드

Back to Top ↑

Architecture

Back to Top ↑

Batch

[스프링 배치] StepScope

빈 스코프는 특정 빈 정의가 주어졌을 때 해당 클래스의 인스턴스화(객체 생성)를 어떻게 할 것인지를 지정하는 역할을 한다.

Back to Top ↑

배치

[스프링 배치] StepScope

빈 스코프는 특정 빈 정의가 주어졌을 때 해당 클래스의 인스턴스화(객체 생성)를 어떻게 할 것인지를 지정하는 역할을 한다.

Back to Top ↑

Flutter

[다트/플러터] 비동기 프로그래밍

다트 언어에서는 async와 await 키워드를 사용하여 비동기 프로그래밍을 구현할 수 있다. 비동기 방식으로 작업을 수행하는 이유는 하나의 작업이 수행되고 완료되기를 기다리는 동안 다른 작업을 동시에 수행하여 리소스를 효율적으로 사용하고 일련의 작업들을 빠르게 처리하기 위함이다....

Back to Top ↑

플러터

[다트/플러터] 비동기 프로그래밍

다트 언어에서는 async와 await 키워드를 사용하여 비동기 프로그래밍을 구현할 수 있다. 비동기 방식으로 작업을 수행하는 이유는 하나의 작업이 수행되고 완료되기를 기다리는 동안 다른 작업을 동시에 수행하여 리소스를 효율적으로 사용하고 일련의 작업들을 빠르게 처리하기 위함이다....

Back to Top ↑

소프트웨어

[소프트웨어/프로그래밍] 테스트

프로그램이 의도된 대로 동작하는지 검증 및 확인하는 것을 테스트(test)라고 한다. 테스트는 프로그램이 요구사항에 맞게 동작하는지, 동작 도중 에러가 발생하지 않는지 등 프로그램의 정상적인 실행 흐름과 동작을 확인하는 과정을 포함한다. 테스트의 목적에는 여러가지가 있겠지만 가장 ...

[소프트웨어] 의존성, 종속성

의존성 또는 종속성이라는 용어가 많이 사용되고 있다. 의존성 주입, 의존성 역전 법칙이라는 용어가 널리 사용되는 것으로 보아 종속성 보다는 의존성이 더 많이 사용되는 듯하다. 어떤 것에 의존한다는 것, 어떤 것에 종속되었다는 표현은 두 대상이 얼마나 서로 연관되어 있냐는 관점에서 ...

Back to Top ↑

Gradle

Back to Top ↑

Database

[자바/스프링] HikariCP

자바 애플리케이션에서 JDBC(java database connectivity) API를 사용하여 데이터베이스에 연결하기 위해서는 DataSource 인터페이스를 통한 Connection 인스턴스 생성이 필요하다. DataSource는 Connection 인스턴스를 생성하기 위한 ...

[자바/스프링] JDBC 이슈 해결

문제: SQL 서버(SQL Server) 데이터베이스에서 기본키가 VARCHAR 타입인 테이블의 특정 기본키 컬럼 값에 대한 데이터 조회 시 쿼리 속도가 느리다. 원인: 기본적으로 sendStringParametersAsUnicode 연결 속성이 true이다. 내용: ...

Back to Top ↑

Software

[소프트웨어/프로그래밍] 테스트

프로그램이 의도된 대로 동작하는지 검증 및 확인하는 것을 테스트(test)라고 한다. 테스트는 프로그램이 요구사항에 맞게 동작하는지, 동작 도중 에러가 발생하지 않는지 등 프로그램의 정상적인 실행 흐름과 동작을 확인하는 과정을 포함한다. 테스트의 목적에는 여러가지가 있겠지만 가장 ...

Back to Top ↑

Docker

Back to Top ↑

비동기

Back to Top ↑

Asynchronous

Back to Top ↑

IntelliJ

[IntelliJ] Hot Swapping을 위한 Spring Loaded 설정

Spring Loaded를 사용하여 컨테이너 재시작 없이 자바 클래스를 리로드하여 클래스 변경사항을 적용할 수 있음 기존 Hot Code Replacement(HCR)가 메소드 바디 변경만 허용했다면(즉, 메서드 시그니처는 그대로 유지해야함) Spring Loaded는 메...

Back to Top ↑

데이터베이스

[자바/스프링] HikariCP

자바 애플리케이션에서 JDBC(java database connectivity) API를 사용하여 데이터베이스에 연결하기 위해서는 DataSource 인터페이스를 통한 Connection 인스턴스 생성이 필요하다. DataSource는 Connection 인스턴스를 생성하기 위한 ...

Back to Top ↑

아키텍처

Back to Top ↑

SpringBoot

Back to Top ↑

스프링부트

Back to Top ↑

인텔리제이

[IntelliJ] Hot Swapping을 위한 Spring Loaded 설정

Spring Loaded를 사용하여 컨테이너 재시작 없이 자바 클래스를 리로드하여 클래스 변경사항을 적용할 수 있음 기존 Hot Code Replacement(HCR)가 메소드 바디 변경만 허용했다면(즉, 메서드 시그니처는 그대로 유지해야함) Spring Loaded는 메...

Back to Top ↑

Back to Top ↑

Dart

[다트/플러터] 비동기 프로그래밍

다트 언어에서는 async와 await 키워드를 사용하여 비동기 프로그래밍을 구현할 수 있다. 비동기 방식으로 작업을 수행하는 이유는 하나의 작업이 수행되고 완료되기를 기다리는 동안 다른 작업을 동시에 수행하여 리소스를 효율적으로 사용하고 일련의 작업들을 빠르게 처리하기 위함이다....

Back to Top ↑

다트

[다트/플러터] 비동기 프로그래밍

다트 언어에서는 async와 await 키워드를 사용하여 비동기 프로그래밍을 구현할 수 있다. 비동기 방식으로 작업을 수행하는 이유는 하나의 작업이 수행되고 완료되기를 기다리는 동안 다른 작업을 동시에 수행하여 리소스를 효율적으로 사용하고 일련의 작업들을 빠르게 처리하기 위함이다....

Back to Top ↑

k8s

[k8s/스프링] 인그레스 설정과 컨텍스트 패스

쿠버네티스 클러스터 내부의 서비스(Service) 오브젝트에 대한 접근을 관리하는 오브젝트인 인그레스(Ingress)는 리소스에 정의된 규칙에 따라 라우팅을 수행한다. 인그레스의 라우팅 종류에는 단일 서비스로의 라우팅, 하나 이상의 서비스로의 라우팅(간단한 팬아웃(fanout)),...

[k8s] 랜처 데스크탑

도커 데몬은 컨테이너를 실행 및 관리하는 백그라운드 서비스이다. 쿠버네티스는 도커를 사용하여 클러스터 전반에 걸쳐 컨테이너들을 오케스트레이션함으로써 애플리케이션의 배포와 관리를 자동화한다. 로컬 환경에서 쿠버네티스를 통한 컨테이너 오케스트레이션 환경을 구축하기 위해 미니큐브(Min...

Back to Top ↑

그레이들

Back to Top ↑

Bean

Back to Top ↑

Dependency Injection

Back to Top ↑

DI

Back to Top ↑

Back to Top ↑

의존성 주입

Back to Top ↑

Webflux

Back to Top ↑

웹플럭스

Back to Top ↑

Caching

[스프링] 캐시 추상화

스프링은 캐시 추상화(cache abstraction) 기능을 제공한다. 캐시 추상화를 통해 기존 코드에 미치는 영향을 최소화하고 다양한 캐싱 라이브러리 구현체(예: Gemfire, Caffeine, EhCache 등)를 일관된 방법으로 사용할 수 있도록 도와준다. 스프링 프레임워...

[자바/스프링/웹플럭스] 캐싱

웹플럭스에서는 스프링이 제공하는 캐싱 추상화 기능을 단순히 적용하더라도 올바르게 동작하지 않으며 그 원인은 리액티브 프로그래밍의 특성과 관련이 있다. 웹플럭스의 리액터가 제공하는 Mono와 Flux(이하 데이터 스트림 객체)는 데이터를 포함하고 있는 래퍼 객체이며, 데이터 스트림 ...

Back to Top ↑

캐싱

[스프링] 캐시 추상화

스프링은 캐시 추상화(cache abstraction) 기능을 제공한다. 캐시 추상화를 통해 기존 코드에 미치는 영향을 최소화하고 다양한 캐싱 라이브러리 구현체(예: Gemfire, Caffeine, EhCache 등)를 일관된 방법으로 사용할 수 있도록 도와준다. 스프링 프레임워...

[자바/스프링/웹플럭스] 캐싱

웹플럭스에서는 스프링이 제공하는 캐싱 추상화 기능을 단순히 적용하더라도 올바르게 동작하지 않으며 그 원인은 리액티브 프로그래밍의 특성과 관련이 있다. 웹플럭스의 리액터가 제공하는 Mono와 Flux(이하 데이터 스트림 객체)는 데이터를 포함하고 있는 래퍼 객체이며, 데이터 스트림 ...

Back to Top ↑

Transaction

Back to Top ↑

트랜잭션

Back to Top ↑

Mac

Back to Top ↑

Django

Back to Top ↑

운영체제

Back to Top ↑

동기

Back to Top ↑

Synchronous

Back to Top ↑

카프카

Back to Top ↑

Kafka

Back to Top ↑

어노테이션

Back to Top ↑

Annotation

Back to Top ↑

역직렬화

Back to Top ↑

Deserialization

Back to Top ↑

아키텍쳐

Back to Top ↑

Load Balancer

Back to Top ↑

JVM

Back to Top ↑

Cloud

Back to Top ↑

클라우드

Back to Top ↑

Network

Back to Top ↑

네트워크

Back to Top ↑

그래들

Back to Top ↑

Thread

Back to Top ↑

스레드

Back to Top ↑

SCDF

Back to Top ↑

Elasticsearch

[데이터베이스] 엘라스틱서치

엘라스틱서치에서 데이터를 저장하는 단위는 도큐먼트(document)이며, 도큐먼트는 인덱스(index)라는 논리적 단위에 저장된다. 일반적으로 데이터의 성격 별로 서로 다른 인덱스를 생성하여 데이터를 저장한다.

Back to Top ↑

엘라스틱서치

[데이터베이스] 엘라스틱서치

엘라스틱서치에서 데이터를 저장하는 단위는 도큐먼트(document)이며, 도큐먼트는 인덱스(index)라는 논리적 단위에 저장된다. 일반적으로 데이터의 성격 별로 서로 다른 인덱스를 생성하여 데이터를 저장한다.

Back to Top ↑

ORM

Back to Top ↑

MongoDB

Back to Top ↑

몽고DB

Back to Top ↑

오픈텔레메트리

Back to Top ↑

Oracle

Back to Top ↑

Vue.js

Back to Top ↑

Webpack

Back to Top ↑

Pycharm

Back to Top ↑

Merge

Back to Top ↑

Rebase

Back to Top ↑

병합

Back to Top ↑

리베이스

Back to Top ↑

Operating System

Back to Top ↑

MockMvc

Back to Top ↑

JSONPath

Back to Top ↑

Maven

Back to Top ↑

메이븐

Back to Top ↑

스프링 컨테이너

Back to Top ↑

Spring Container

Back to Top ↑

스프링 빈

Back to Top ↑

Spring Bean

Back to Top ↑

마샬링

Back to Top ↑

언마샬링

Back to Top ↑

Marshalling

Back to Top ↑

Unmarshalling

Back to Top ↑

컨슈머

Back to Top ↑

Consumer

Back to Top ↑

Logging

[자바, 로깅] log4j2 설정

Log4j는 API와 코어 두 가지가 있다. API는 애플리케이션 인터페이스를 제공한다. 코어는 컴파일 시간이 아닌 런타임에만 필요하다.

Back to Top ↑

log4j2

[자바, 로깅] log4j2 설정

Log4j는 API와 코어 두 가지가 있다. API는 애플리케이션 인터페이스를 제공한다. 코어는 컴파일 시간이 아닌 런타임에만 필요하다.

Back to Top ↑

로깅

[자바, 로깅] log4j2 설정

Log4j는 API와 코어 두 가지가 있다. API는 애플리케이션 인터페이스를 제공한다. 코어는 컴파일 시간이 아닌 런타임에만 필요하다.

Back to Top ↑

SpringLoaded

[IntelliJ] Hot Swapping을 위한 Spring Loaded 설정

Spring Loaded를 사용하여 컨테이너 재시작 없이 자바 클래스를 리로드하여 클래스 변경사항을 적용할 수 있음 기존 Hot Code Replacement(HCR)가 메소드 바디 변경만 허용했다면(즉, 메서드 시그니처는 그대로 유지해야함) Spring Loaded는 메...

Back to Top ↑

HotSwapping

[IntelliJ] Hot Swapping을 위한 Spring Loaded 설정

Spring Loaded를 사용하여 컨테이너 재시작 없이 자바 클래스를 리로드하여 클래스 변경사항을 적용할 수 있음 기존 Hot Code Replacement(HCR)가 메소드 바디 변경만 허용했다면(즉, 메서드 시그니처는 그대로 유지해야함) Spring Loaded는 메...

Back to Top ↑

Project Structure

Back to Top ↑

Module

Back to Top ↑

프로젝트 구조

Back to Top ↑

모듈

Back to Top ↑

직렬화

Back to Top ↑

Serialization

Back to Top ↑

VSCode

Back to Top ↑

Debugger

Back to Top ↑

크롬 개발자 도구

Back to Top ↑

MS-SQL

Back to Top ↑

ANTLR

Back to Top ↑

T-SQL

Back to Top ↑

Linux

Back to Top ↑

리눅스

Back to Top ↑

Node.js

[Node.js] MacOS NVM 설치

1. NVM 설치 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

Back to Top ↑

NVM

[Node.js] MacOS NVM 설치

1. NVM 설치 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

Back to Top ↑

Riders

Back to Top ↑

IIS

Back to Top ↑

.NET

Back to Top ↑

Cache

Back to Top ↑

Ehcache

Back to Top ↑

캐시

Back to Top ↑

Submodule

Back to Top ↑

서브모듈

Back to Top ↑

ASP.NET

Back to Top ↑

Model Binding

Back to Top ↑

닷넷

Back to Top ↑

모델 바인딩

Back to Top ↑

Proxy

Back to Top ↑

Reverse Proxy

Back to Top ↑

프록시

Back to Top ↑

리버스 프록시

Back to Top ↑

로드 밸런서

Back to Top ↑

cherry-pick

Back to Top ↑

체리픽

Back to Top ↑

Design Patrern

Back to Top ↑

디자인 패턴

Back to Top ↑

Package

Back to Top ↑

패키지

Back to Top ↑

Spring Data JPA

Back to Top ↑

QueryDSL

Back to Top ↑

스프링 데이터 JPA

Back to Top ↑

Memory

Back to Top ↑

메모리

Back to Top ↑

데이터 액세스

Back to Top ↑

DAO

Back to Top ↑

Xcode

Back to Top ↑

Xcode Cloud

Back to Top ↑

Session

Back to Top ↑

쿠키

Back to Top ↑

세션

Back to Top ↑

Null

Back to Top ↑

Back to Top ↑

Kubernetes

Back to Top ↑

쿠버네티스

Back to Top ↑

OS

Back to Top ↑

Concurrency

Back to Top ↑

Parallelism

Back to Top ↑

동시성

Back to Top ↑

병렬성

Back to Top ↑

Restart

Back to Top ↑

Stateful

Back to Top ↑

중복 실행

Back to Top ↑

재시작

Back to Top ↑

상태 저장

Back to Top ↑

Task

Back to Top ↑

태스크

Back to Top ↑

부하 분산기

Back to Top ↑

Blocking

Back to Top ↑

Non-blocking

Back to Top ↑

블로킹

Back to Top ↑

논블로킹

Back to Top ↑

ACID

Back to Top ↑

Timeout

Back to Top ↑

타임아웃

Back to Top ↑

Security

Back to Top ↑

시큐리티

Back to Top ↑

Optional

Back to Top ↑

Tag

Back to Top ↑

태그

Back to Top ↑

Repository

Back to Top ↑

리포지토리

Back to Top ↑

Microservices

Back to Top ↑

마이크로서비스

Back to Top ↑

의존성

[소프트웨어] 의존성, 종속성

의존성 또는 종속성이라는 용어가 많이 사용되고 있다. 의존성 주입, 의존성 역전 법칙이라는 용어가 널리 사용되는 것으로 보아 종속성 보다는 의존성이 더 많이 사용되는 듯하다. 어떤 것에 의존한다는 것, 어떤 것에 종속되었다는 표현은 두 대상이 얼마나 서로 연관되어 있냐는 관점에서 ...

Back to Top ↑

종속성

[소프트웨어] 의존성, 종속성

의존성 또는 종속성이라는 용어가 많이 사용되고 있다. 의존성 주입, 의존성 역전 법칙이라는 용어가 널리 사용되는 것으로 보아 종속성 보다는 의존성이 더 많이 사용되는 듯하다. 어떤 것에 의존한다는 것, 어떤 것에 종속되었다는 표현은 두 대상이 얼마나 서로 연관되어 있냐는 관점에서 ...

Back to Top ↑

Coroutine

[코틀린] 코루틴 기초

코루틴(coroutine)은 비동기적으로 실행하려는 코드를 보다 쉽게 작성할 수 있게 도와주는 동시 실행 설계 패턴이다. 코루틴은 중단 가능한(suspendable) 연산, 즉 함수가 특정 시점에 실행을 중단했다가 나중에 다시 시작할 수 있는 연산으로 구성된다. 코틀린 언어는 비동...

Back to Top ↑

코루틴

[코틀린] 코루틴 기초

코루틴(coroutine)은 비동기적으로 실행하려는 코드를 보다 쉽게 작성할 수 있게 도와주는 동시 실행 설계 패턴이다. 코루틴은 중단 가능한(suspendable) 연산, 즉 함수가 특정 시점에 실행을 중단했다가 나중에 다시 시작할 수 있는 연산으로 구성된다. 코틀린 언어는 비동...

Back to Top ↑

Redis

Back to Top ↑

레디스

Back to Top ↑

Mockito

Back to Top ↑

모키토

Back to Top ↑

Web

Back to Top ↑

CORS

Back to Top ↑

Back to Top ↑

Reactive Programming

Back to Top ↑

리액티브 프로그래밍

Back to Top ↑

Google Cloud

Back to Top ↑

구글 클라우드

Back to Top ↑

Koltin

[자바/코틀린] 열거 (enumeration)

프로그래밍에서 열거 타입(또는 열거 형)(enumeration type)이란 값의 집합을 구성하는 특별한 자료형 및 값 타입이다. 열거 타입 변수는 사전 정의된 상수 집합이며 미리 정의된 값 중 하나여야 한다. 상수인 열거 타입 변수를 열거 타입 상수(enum type consta...

Back to Top ↑

도커

Back to Top ↑

Performance Testing

Back to Top ↑

성능 테스트

Back to Top ↑

Jackson

[자바/코틀린] 잭슨 (Jackson)

잭슨(Jackson)은 자바 JSON 파서(parser) 라이브러리이다. 자바 객체와 JSON 문자열 간 직렬화 및 역직렬화를 수행한다. com.fasterxml.jackson.databind.ObjectMapper를 사용하여 자바 객체(엔티티 객체)와 JSON 문자열 간 직렬화 ...

Back to Top ↑

잭슨

[자바/코틀린] 잭슨 (Jackson)

잭슨(Jackson)은 자바 JSON 파서(parser) 라이브러리이다. 자바 객체와 JSON 문자열 간 직렬화 및 역직렬화를 수행한다. com.fasterxml.jackson.databind.ObjectMapper를 사용하여 자바 객체(엔티티 객체)와 JSON 문자열 간 직렬화 ...

Back to Top ↑

GraalVM

Back to Top ↑

Generic

Back to Top ↑

제네릭

Back to Top ↑

Subtyping

[프로그래밍] 계약에 의한 설계와 서브타이핑

계약에 의한 설계(Design by Contract, DbC)(계약 프로그래밍, 계약에 의한 프로그래밍)는 컴포넌트 간 계약(contract)을 기반으로 하는 소프트웨어 설계 기법이다. 계약이란 소프트웨어를 구성하는 컴포넌트 중 클라이언트 컴포넌트와 서버 컴포넌트 간의 상호작용에 ...

Back to Top ↑

Container

Back to Top ↑

Podman

Back to Top ↑

컨테이너

Back to Top ↑

포드맨

Back to Top ↑

RSocket

[네트워크] R소켓 프로토콜

HTTP는 애플리케이션 프로토콜을 위한 간단한 기능을 제공하지만 애플리케이션 시맨틱스(애플리케이션의 동작과 기능에 대한 의미 해석)를 정의하는데 불충분하다. HTTP는 클라이언트-서버 모델 기반의 단순한 상호작용 모델(interaction model)로서, 클라이언트와 서버 간 보...

Back to Top ↑

R소켓

[네트워크] R소켓 프로토콜

HTTP는 애플리케이션 프로토콜을 위한 간단한 기능을 제공하지만 애플리케이션 시맨틱스(애플리케이션의 동작과 기능에 대한 의미 해석)를 정의하는데 불충분하다. HTTP는 클라이언트-서버 모델 기반의 단순한 상호작용 모델(interaction model)로서, 클라이언트와 서버 간 보...

Back to Top ↑

HTTP

Back to Top ↑

SpEL

[스프링] SpEL

스프링 표현 언어(SpEL, Spring Expression Language)(이하 SpEL)란 런타임에 객체 그래프(object graph)를 탐색하는 표현 언어이다. 객체의 프로퍼티 조회 및 설정, 메서드 실행, 연산 수행, 표현식(expression) 실행, 빈 참조 등의 기...

Back to Top ↑

Ktor

Back to Top ↑

Monitoring

Back to Top ↑

모니터링

Back to Top ↑

Opentelemetry

Back to Top ↑

Opentelemtetry

Back to Top ↑