-
ArgoCD
ArgoCD Kubernates 환경에서 애플리케이션 배포와 관리를 지원하는 Kubernates Controller Github repository와 Kubernates 동기화 Git repository 상태와 Kubernates 클러스터의 상태가 항상 일치 Git repository에서 변경 사항을 감지하여 자동으로 kubernates 클러스터에 애플리케이션을 배포 Kubernates resource를 정의하는 yaml(=manifests)는 일반적으로 Helm을 사용하는데 작성한 helm chart를 Git repository에 올리면 ArgoCD는 자동으로 변...
-
[Kotlin] Collection
가변 클래스(Mutable) : List, Set, Map 컬렉션에 element를 추가, 삭제 할 수 있음 불변 클래스(Immutable) : List, Set, Map 컬렉션에 element를 추가, 삭제 불가 불변 클래스이지만 Reference type인 element의 필드는 변경 가능 코틀린에서는 뷸변/가변을 먼저 지정해 줘야 한다 1. List final List<Interger> numbers = List.of(100, 200); (1) List val numbers = listOf(100,...
-
[Kotlin] 특별 클래스(Data, Enum)
1. Data Class 데이터를 가지고 있는 DTO 클래스 data 키워드를 붙이면 equals(), hashCode(), toString() 을 자동으로 만들어 줌 생성자를 통해 setter, getter 자동 생성 named parameter를 통해 builer까지 사용 가능 JDK 16부터 도입된 record와 같음 public class PersonDto { private final String name; private final int age; public PersonDto(String name, int age) { this.name = name; th...
-
행동 (5) - 커맨드(Command) 패턴
작업을 요청하는 쪽과 작업을 처리하는 쪽을 분리하는 패턴 요청을 처리하는 방법이 바뀌어도 호출자의 코드는 변경되지 않는다 커맨드 객체 : 특정 객체에 관한 특정 작업 요청을 캡술화 receiver 코드가 변경되어도 invoker 코드는 바꿀 필요 없이 command만 변경하면 된다 용어 Command : 커맨드를 추상화한 인터페이스 Concrete Command : 구체적인 커맨드, 작업을 캡슐화하고 그 작업을 실행할 receiver를 갖고 있음 Receiver : 작업 처리시 어떤 일을 해야할 지 알고 있는 객체 (작업을 처리하는 객체) Invoker : Command에게 ...
-
[Kotlin] 클래스(class)
생성자 객체 생성시 new 키워드 없음 class Person { var firstName: String = "" var familyName: String = "" var age: Int = 0 fun fullName() = "$firstname $familyName" fun showMe() { println("${fullName()} , $age") } } var person = Person() person.firstName = "John" person.familyname = "Doe" person.age = 25 person.showMe() 생성자 이용 ...