쿠버네티스 워크로드 잡 테스트
쿠버네티스 워크로드 잡 테스트로컬에서 테스트 하기 위해 마니쿠베를 인스톨 한다. 123456789101112131415apiVersion: batch/v1kind: Jobmetadata: name: pispec: template: spec: conta ...
Read more
이펙티브 코틀린 아이템 33: 생성자 대신 팩토리 함수를 사용하라
이펙티브 코틀린(객체생성)아이템 33: 생성자 대신 팩토리 함수를 사용하라생성자 역활을 대신해주는 함수를 팩토리 함수 팩토리 함수의 장점 함수의 이름을 붙일수 있다 함수가 원하는 타입을 리턴할 수 있다 호출될때 마다 새객체를 만들 필요가 없다 아직 존재하지 않는 객체 ...
Read more
이펙티브 코틀린 아이템 34: 기본 생성자에 이름 있는 옵션 아규먼트를 사용하라
이펙티브 코틀린(객체생성)아이템 34: 기본 생성자에 이름 있는 옵션 아규먼트를 사용하라기본 생성자 : 객체를 정의하고 생성하는 방법을 지정할때 사용하는 가장 기본적인 방법 123class User(var name: String, var surname: String)v ...
Read more
이펙티브 코틀린 아이템 35: 복잡한 객체를 생성하기 위한 DSL을 정의하라
이펙티브 코틀린(객체생성)아이템 35: 복잡한 객체를 생성하기 위한 DSL을 정의하라함수 타입의 몇가지 예 ()->Unit : 아규먼트를 갖지 않고, Unit을 리턴하는 함수 (Int)->Unit : Int를 아규먼트로 받고, Unit을 리턴하는 함수 (I ...
Read more
이펙티브 코틀린 아이템 32: 추상화 규약을 지켜라
이펙티브 코틀린(추상화 설계)아이템 32: 추상화 규약을 지켜라규약은 개발자들의 단순한 합의 무언가를 할 수 있다는 것이 그것을 해도 괜찮다는 의미는 아니다. 상속된 규약클래스를 상속하거나 다른 라이브러리의 인터페이스를 구현할 때는 규약을 반드시 지켜야 된다. 프로그램 ...
Read more
이펙티브 코틀린 아이템 31: 문서로 규약을 정의하라
이펙티브 코틀린(추상화 설계)아이템 31: 문서로 규약을 정의하라함수가 무슨일을 하는지 명확하게 설명하고 싶다면 KDoc 주석을 붙혀주는것이 좋다. 일반적인 문제는 행위가 문서화 되지 않고 요소의 이름이 명확하지 않다면 이를 사용하는 사용자는 현재 구현에만 의존하게 된 ...
Read more
이펙티브 코틀린 아이템 30: 요소의 가시성을 최소화하라
이펙티브 코틀린(추상화 설계)아이템 30: 요소의 가시성을 최소화하라API를 설계할때 간결한 API를 선호하는 이유 작은 인터페이스는 배우기 쉽고 유지하기 쉽다. 기능이 많은 클래스보다 작은 클래스이 이해하기 쉽다. 유지보수가 편하다. 변경을 가할떄는 기존것을 숨기 ...
Read more
이펙티브 코틀린 아이템 29: 외부 API를 랩(wrap)해서 사용하라
이펙티브 코틀린(추상화 설계)아이템 29: 외부 API를 랩(wrap)해서 사용하라랩(wrap) 해서 API를 사용할떄 장점 문제가 있다면 래버(wrapper)만 변경하면 되서 변화에 쉽게 대응 할수 있다. 프로젝트 스타일에 맞춰서 API의 형태를 조절할수 있다. 특 ...
Read more
이펙티브 코틀린 아이템 28: API 안정성을 확인하라
이펙티브 코틀린(추상화 설계)아이템 28: API 안정성을 확인하라시멘틱 버저닝 MAJOR 버전: 호환되지 않는 수준의 API 변경 MINOR 버전: 이전 변경과 호환되는 기능을 추가 PATCH 버전: 간단한 버그 수정 어노테이션 @Experimental: 안정 ...
Read more
이펙티브 코틀린 아이템 27: 변화로부터 코드를 보호하려면 추상화를 사용하라
이펙티브 코틀린(추상화 설계)아이템 27: 변화로부터 코드를 보호하려면 추상화를 사용하라상수123const val MAX_THREADS = 10 이름을 붙일 수 있다. 나중에 값을 쉽게 변경 가능하다. 함수일반적인 알고리즘을 함수로 추출 하면 코드를 항상 기억해 두 ...
Read more