분류 전체보기237 [코틀린 코루틴] 13장 - 코루틴 스코프 만들기 1. CoroutineScope 팩토리 함수CoroutineScope는 아래와 같이 coroutineContext를 유일 프로퍼티로 갖는 인터페이스이다. CoroutineScope 인터페이스를 구현한 클래스를 만들고 내부에서 코루틴 빌더를 직접 호출 할 수 있다.다만 이와 같은 방법은 자주 사용되지 않고, 그 이유는 CoroutineScope를 구현한 클래스에서 cancel, ensureActive 같은 다른 CoroutineScope의 메서드를 직접 호출 시 문제가 발생하기 때문이다. 위 방법 대신 스코프 인스턴스를 프로퍼티로 가지고 있다가 코루틴 빌더를 호출할 때 사용하는 방법이 선호된다. CoroutineScope 객체를 만드는 가장 쉬운 방법은 CoroutineScope 팩토리 함수를 사용하는 .. 2025. 6. 11. [실전 레디스] Chaprter 03_고급 기능 이 장에서는 레디스의 고급 기능인 파이프라인, 루아 스크립팅, 레디스 함수, 트랜잭션, 모듈 기능 중심으로 다룬다. 3.1 파이프라인파이프라인은 이전 요청의 응답을 기다리지 않고 새로운 요청을 보낼 수 있는 기능여러 명령어를 동시에 송신하여 네트워크 RTT를 절약 가능MSET/MGET도 여러 키를 한번에 작업할 수 있지만 파이프라인이 더 범용적조건 분기 등을 적용할 수 없어서 다소 복잡한 로직에는 부적합다른 클라이언트가 연결된 상황에서는 다른 명령어가 간섭할 가능성도 있으므로 스크립트의 원자적 처리를 보증할 수 없음복잡한 로직과 원자적 처리가 필요할 때는 아래 기술을 사용한다. 트랜잭션: 원자적 처리루아 스크립팅: 복잡한 로직 구현, 원자적 처리모듈: 복잡한 로직 구현, 원자적 처리 redis-cli나.. 2025. 6. 9. Hikari CP HikariCP는 Java 계열 애플리케이션에서 가장 널리 사용되고 있는 고성능 JDBC 커넥션 풀 라이브러리이다. 1. HikariCP 특징성능 최적화: "zero-overhead" 철학을 기반으로 설계되어 매우 빠른 성능 제공경량성: 라이브러리 크기가 작고(약 130KB) 런타임 오버헤드가 거의 없어 메모리 사용량이 적음안정성: 커넥션 누수 감지, 자동 복구 메커니즘, 데드락 방지 등의 기능 제공하여 안정적인 데이터베이스 연결 보장 2. Spring Boot에서 사용되는 HikariCPSpring Boot 2.0버전부터는 Tomcat JDBC 대신 Hikari를 사용하며 spring-boot-starter-data-jpa와 spring-boot-start-jdbc에 의존성이 포함되어 있다. appli.. 2025. 6. 8. [실전 레디스] Chaprter 02_자료형과 기능 대표 자료형의 특징과 유스케이스, 명령어의 실행 예시를 비교해서 설명하고 있는 챕터이다. 2.1 자료형 기능 개요다섯 가지 자료형- 레디스의 주요 자료형에는 String, List, Hash, Set, Sorted Set이 존재한다.- 자료형의 특징은 아래 표를 통해 확인 가능하다. 보조 자료형위에서 언급한 다섯 가지 자료형 외 기본 자료형 내부에서 특정 용도에 사용될 목적으로 만들어진 보조 자료형이 있다.비트맵(비트 배열)지리적 공간 인덱스그리고 데이터를 어떻게 활용할 것인가 라는 관점에서는 아래와 같이 데이터를 직접 다루는 기능도 갖추고 있다.Pub/Sub 기능HyperLogLog레디스 스트림 레디스의 폭 넓은 데이터 모델 표현성레디스는 전역에서 키와 값의 쌍으로 관리하며, RDBMS 테이블 같은 .. 2025. 5. 27. [코틀린 코루틴] 2장 시퀀스 빌더 파이썬이나 자바스크립트 같은 언어에서는 아래와 같이 제한된 형태의 코루틴을 사용하고 있다.1) 비동기 함수 (async/await)2) 제너레이터 함수 (값을 순차적으로 반환) 코틀린에서는 제너레이터 대신 시퀀스를 생성할 때 사용하는 시퀀스 빌더를 제공한다.코틀린의 시퀀스는 List나 Set 같은 컬렉션과 비슷한 개념인데, 필요할 때마다 값을 하나씩 계산하는 지연 처리를 한다. 시퀀스의 특징- 요구되는 연산을 최소한으로 수행- 무한정이 될 수 있음- 메모리 사용이 효율적 -> Q: 무한정. 메모리 효율? 시퀀스는 sequence라는 함수를 이용해 정의된다.시퀀스의 람다 표현식 내부에서는 yield 함수를 호출하여 다음 값을 생겅한다.val seq = sequence { yield(1) yield.. 2025. 5. 20. [코틀린 코루틴] 1장 코틀린 코루틴을 배워야 하는 이유 코틀린 코루틴을 배워야 하는 이유- 이미 RxJava나 Refactor와 같은 JVM 계열 라이브러리가 있음- 비동기적 연산을 수행하기 위한 다양한 방법이 존재- 그럼에도 불구하고 코틀린 코루틴을 배워야하는 이유는 무엇일까 1963년 처음 제시되었으나 코루틴이라는 개념이 실제 현업에서 사용될 수 있도록 구현되기까지 수십 년 걸렸다. 멀티플랫폼에서 작동시킬 수 있고, 코틀린을 사용하는 모든 플랫폼을 넘나들며 사용할 수 있다.코틀린 코루틴을 도입한다고 해서 기존 코드를 크게 수정할 필요 없다.초보 개발자들이 사용하는 데도 무리가 없다. 이러한 이유로 코틀린 코루틴을 배워야한다. 코루틴 사용스레드 전환- 안드로이드에서의 문제: 하나의 앱에서 뷰를 다루는 스레드가 하나만 존재하고, 이 스레드는 가장 중요한 스.. 2025. 5. 20. 이전 1 2 3 4 5 6 ··· 40 다음