이펙티브 코틀린 아이템 8: 적절하게 null을 처리하라
이펙티브 코틀린아이템 8: 적절하게 null을 처리하라null 은 값이 부족하다(lack of value)는 것을 나타낸다. String.toIntOrNull() String을 Int로 적절하게 변환할수 없을때 null을 반환 Iterable.firstOrNull(( ...
Read more
이펙티브 코틀린 아이템 7: 결과 부족이 발생할 경우 null과 Failure를 사용하라
이펙티브 코틀린아이템 7: 결과 부족이 발생할 경우 null과 Failure를 사용하라함수가 원하는 결과를 만들어 낼 수 없을때 이러한 상황을 처리하는 방법은 크게 두가지가 있다. null 또는 실패를 나타내는 sealed 클래스를 리턴한다. 예외를 throw 한다 ...
Read more
이펙티브 코틀린 아이템 6: 사용자 정의 오류보다는 표준 오류를 사용하라
이펙티브 코틀린아이템 6: 사용자 정의 오류보다는 표준 오류를 사용하라 IllegalArgumentException 과 IllegalStateException 는 require 와 check 를 사용해 throw 할수 있는 예외 IndexOutOfBoundsExcept ...
Read more
이펙티브 코틀린 아이템 5: 예외를 활용해 코드에 제한을 걸어라.
이펙티브 코틀린아이템 5: 예외를 활용해 코드에 제한을 걸어라확실하게 어떤 형태로 동작해야 하는 코드가 있다면 예외를 활용해 제한을 거는것이 좋다. require 블록 : 아규먼트를 제한할 수 있다. check 블록 : 상태와 관련된 동작을 제한할 수 있다. ass ...
Read more
이펙티브 코틀린 아이템 4: inferred 타입으로 리턴하지 말라
이펙티브 코틀린아이템 4: inferred 타입으로 리턴하지 말라코틀린의 타입 추론은 가장 널리 알려진 코틀린의 특징이다. 타입추론을 사용할 때는 몇 가지 위험한 부분이 있다.우선 할당 떄 inferred 타입은 정확하게 오른쪽에 있는 피연산자에 맞게 설정된다 절대로 ...
Read more
이펙티브 코틀린 아이템 3: 최대한 플랫폼 타입을 사용하지 말라
이펙티브 코틀린아이템 3: 최대한 플랫폼 타입을 사용하지 말라코틀린에서는 null-safety 메커니즘을 사용해 NPE는 거의 찾아 보기 힘들다. 코틀린에서 자바 코드를 사용할때 @Nullable 어노테이션이 붙어 있으면 String?으로변경하고 @NotNull 이면 ...
Read more
이펙티브 코틀린 아이템 2: 변수의 스코프를 최소화하라
이펙티브 코틀린아이템 2: 변수의 스코프를 최소화하라상태를 정의할 때는 변수와 프로퍼티는 스코프를 최소화 하는것이 좋다. 프로퍼티보다 지역 변수를 사용하는것이 좋다. 최대한 좁은 스코프를 갖게 변수를 사용하자. 여러 프로퍼티를 한꺼번에 설정해야 하는 경우에는 구조분 ...
Read more
이펙티브 코틀린 아이템 1: 가변성을 제한하라
이펙티브 코틀린아이템 1: 가변성을 제한하라var 나 mutable 객체를 사용하면 상태를 가질수 있다. 상태를 가지는것은 양날의 검이다. 그래서 가변성을 제한하는것을 추천한다. 코틀린은 가변성을 제한하는것이 쉽게 만들어져 있다. 읽기 전용 프로퍼티(val) 가변 컬 ...
Read more
testcontainers macbook m1 error
testcontainers macbook m1 error 1Could not pull image: no matching manifest for linux/arm64/v8 in the manifest list entries 잘 동작하던 테스트 코드가 동작이 안되서 확인 ...
Read more
JEP 408: Simple Web Server
JEP 408: Simple Web ServerSummary정적 파일만 제공하는 최소 웹 서버를 시작하는 명령줄 도구를 제공합니다.CGI 또는 서블릿과 유사한 기능을 사용할 수 없습니다. 이 도구는 특히 교육적 맥락에서 프로토타이핑, 임시 코딩 및 테스트 목적에 유용합 ...
Read more