@deveely-log

deveely
Written by@deveely
자기실력이 좋다고 느껴지는건 공부를 안하고 있다는 신호

GitHubTistory

Kotlin 프로퍼티 (Properties)

보통 객체지향 프록그래밍에서 클래스를 정의할 때 객체의 상태는 멤버변수 (필드)로 행위는 메소드로 표현합니다. 그리고 보통 멤버변수가 있으면 객체의 값을 설정하고 가져오는 (setter / getter) 메소드가 동반되는 경우가 많은데요. 코틀린에서는 이런 요소를 아우르는 라는 개념이 제공됩니다. 즉 프로퍼티는 getter, setter와 같은 접근자를 …

Kotlin 생성자 개념과 사용법 정리

코틀린에서 생성자를 정의하는 여러가지 방법에 대해 정리합니다. 코틀린 생성자는 크게 주 생성자(primary constructor)와 부 생성자(secondary constructor)로 나뉘고 각각 제약이 조금씩 다릅니다. 1. 주 생성자 (Primary constructor) 기본적으로 키워드를 통해 생성자를 정의할 수 있습니다. 키워드 앞에 접근…

Kotlin 클래스 주요 개념 with Java class와 차이점

클래스 정의에 대한 Java와 Kotlin 차이점 이 포스트에서는 코틀린에서의 클래스가 자바와 어떻게 다른지 대략적으로 정리한 내용을 다룹니다. 공부하면서 정리한 포스트이기에 잘못된 내용이나 부족한 부분이 있을 수 있습니다. 댓글로 일러주시면 감사하겠습니다 :) 1. class 키워드에 대한 차이점 기본적으로 자바에서는 키워드를 통해 클래스를 정의합니다…

Reactive Programming 1

이 포스트 시리즈는 Reactive Programming은 토비의 스프링 저자 이일민님의 리액티브 프로그래밍 유튜브 강좌를 공부하며 정리한 내용입니다. 1. Iterable과 Observable의 차이점 1.1. Iterable 개념 자바에서 연속적인 데이터 구조를 표현할 때 를 주로 사용한다. 그리고 주로 아래와 같이 구문을 사용한다. 이는 인터페…

Reactive Programming 2

이 포스트 시리즈는 Reactive Programming은 토비의 스프링 저자 이일민님의 리액티브 프로그래밍 유튜브 강좌를 공부하며 정리한 내용입니다. 0. Tips Stream 인터페이스에 iterate 라는 메소드가 있다. 이 메소드는 어떠한 데이터 스트림을 쉽게 만들어 낼 수 있는 메소드이다. 위 코드는 1 ~ 10까지 정수를 담은 리스트를 만든다…

Spring Cloud Gateway 기본 활용법

0. Spring Cloud Gateway 란? Netflix OSS의 API Gateway 컴포넌트인 을 Spring 진영에서 직접 만든 API Gateway 입니다. Zuul은 기본적으로 블록킹 방식으로 동작했었는데요. (Zuul 1.x) 이를 개선하기 위해 Zuul 2.x에서 논블록킹 방식을 도입했습니다. Spring 진영에서는 Zuul의 동기방식이…

Java에서 파일의 Mime type을 판별하는 방법

얼마전, 로컬 파일 시스템에 저장되어 있는 파일을 바이너리 형태로 내려주는 REST API를 작성할 일이 있었습니다. 파일을 내려줄 때 헤더에 Mime Type을 알맞게 지정해줘야 하는데요. 찾아보니 다음과 같은 방법으로 할 수 있었습니다. 시스템에 따라 파일 타입을 감지하지 못하는 경우도 있는데요. 제 경우엔 Mac OSX에서 파일 타입을 감지하지 못…

Spring Boot Redis Connection Pool + Cluster 설정

Spring Boot에서 Redis Cluster에 접속하는 방법을 정리한다. Spring Boot 설정 이 후 사용은 보통 RedisTemplate 혹은 Repository 사용하듯이 사용하면 된다. 참고 (Redis 클러스터 모드로 접속) -c 옵션으로 클러스터 모드로 접속

Spring Boot에서 Redis 활용

설정 의존성 추가 설정 클래스 작성 아래와 같이 설정하면 default 설정에 의해 localhost:6379 로 연결합니다. 변경하려면 설정파일에 , 로 지정할 수 있습니다. Key / Value Serializer를 설정해주는 이유는 RedisTemplate에서 Spring ~ Redis간 데이터 직, 역직렬화 시 사용하는 방식이 Jdk 직렬화 방식이…

Redis 개념과 설치, 활용방안

Redis란? Redis는 REmote Dictionary Server의 약자로 “key-value” 기반 인메모리비 관계형 데이터 베이스다. 모든 데이터를 메모리에 저장하고 조회하기 때문에 빠른 Read, Write 속도를 보장한다. 다양한 value에 다양한 자료구조를 지원해 사용자 애플리케이션 개발 시 활용도가 높다. Redis vs Memcach…