본문 바로가기

분류 전체보기222

[실전 레디스] 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.
[실전 레디스] Chaprter 01_레디스의 시작 들어가기에 앞서 PART 01은 기초적인 내용을 담고 있으며, 아래와 같은 순서로 정리되어 있다.1장 레디스의 시작2장 자료형과 기능3장 고급 기능4장 레디스를 활용한 애플리케이션 작성 그 중 1장 CHAPTER 01 레디스의 시작에 대해 읽은 내용을 정리해 보려고 한다.Redis: 빠른 속도와 다양한 자료형을 제공하는 비관계형 데이터베이스 레디스를 한 줄로 정리해 보자면, 위와 같다. Chapter1의 전반적인 내용도 사실 위 한 줄을 넓은 범위로 풀어냈다고 느껴진다.그 다음으로 이어지는 문장은 아래와 같은데, 어떻게 빠르게 동작할 수 있는지에 대한 내용이 더해졌다.레디스는 인메모리 데이터 구조 저장소로써 인메모리에서 빠르게 동작하고, 자료형과 기능이 다양한 비관계형 데이터베이스 입니다. 1. 레디스.. 2025. 5. 20.
Forward Proxy VS Reverse Proxy 프록시프록시 서버는 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템(응용 프로그램)이다.  Proxy = 대리> 서버와 서버 사이의 중계기 역할  프록시: 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것프록시 서버: 중계 기능을 하게 하는 것  프록시 사용 이유보안상의 이유로 직접 통신할 수 없을 때 대리로 통신을 수행하여 보안, 성능 및 안정성을 향상 시키기 위함이다. 1) 익명으로 컴퓨터 네트워크 이용프록시 서버를 이용하면 프록시 서버가 대신 리소스를 요청하기 때문에 익명으로 네트워크를 이용할 수 있다.> 클라이언트의 IP가 아닌 프록시 서버의 IP 주소로 요청되기 때문이다. 2) 네트워크 서비스 제공을 제한 또는 관제하기 위함게이트웨이에.. 2025. 2. 26.
[이펙티브 코틀린] 아이템46: 함수 타입 파라미터를 갖는 함수에 inline 한정자를 붙여라 1. 고차 함수다른 함수를 인자로 받거나 함수를 반환하는 함수코틀린에서 람다나 함수 참조를 사용해 함수를 값으로 표현할 수 있음 2. 고차 함수와 inline 의 필요성코틀린에서는 람다 표현식이 객체로 변환되므로 성능 및 메모리 측면에서 오버헤드 발생할 수 있음이를 최적화하기 위해 inline 키워드를 사용하면 성능이 향상 3. 인라인 함수 (inline)컴파일 시점에 함수의 호출 코드가 해당 위치로 직접 복사되는 함수이를 통해 함수 호출 오버헤드를 줄이고, 람다 객체 생성을 방지하여 성능을 최적화 할 수 있음 noInlineTest는 객체를 생성inlineTest는 객체를 생성하지 않고 코드가 직접 삽입되어 실행 속도가 훨씬 빠름 4. reified 키워드기본적으로 JVM의 제네릭은 타입 소거(Type.. 2025. 2. 20.