본문 바로가기

object5

[Kubernetes] 쿠버네티스 오브젝트 (Service, Volume, ConfigMap) 쿠버네티스 오브젝트 (Service, Volume, ConfigMap) 지난 포스팅에 이어 쿠버네티스의 오브젝트에 대하여 알아보겠습니다. Service Pod은 IP를 가지고, 다른 Pod과 통신할 수 있습니다. 하지만 Pod은 쉽게 삭제되고, 생성될 수 있기 때문에 쿠버네티스는 고정된 IP를 가진 서비스를 만들고 서비스를 통해 Pod에 접근합니다. Service(ClusterIP) 만들기 ClusterIP는 클러스터 내부에 새 IP를 할당하고, 여러 Pod을 바라보는 로드밸런서 기능을 제공합니다. 그리고 서비스 이름을 내부 도메인 서버에 등록하고 Pod간 서비스 이름으로 통신할 수 있습니다. apiVersion: apps/v1 kind: Deployment metadata: name: redis spe.. 2022. 8. 30.
[Kotlin] object를 다루는 방법 Object를 다루는 방법 static 함수와 변수 Java public class JavaPerson { private static final int MIN_AGE = 1; public static JavaPerson newBaby(String name) { return new JavaPerson(name, MIN_AGE); } private String name; private int age; private JavaPerson(String name, int age) { this.name = name; this.age = age; } } Kotlin class Person private constructor(var name: String, var age: Int) { companion object Fa.. 2022. 7. 6.
[Object] 객체지향 프로그래밍 2 객체지향 프로그래밍 2 컴파일 시간 의존성과 실행 시간 의존성 코드의 의존성과 실행 시점의 의존성 코드의 의존성과 실행 시점의 의존성은 서로 다를 수 있다. -> 클래스 사이의 의존성과 객체 사이의 의존성은 동일하지 않을 수 있다. 유연하고, 쉽게 재사용할 수 있으며, 확장 가능한 객체지향 설계가 가지는 특징은 코드의 의존성과 실행 시점의 의존성이 다르다는 것이다. 코드의 의존성과 실행 시점의 의존성이 다르면? 코드를 이해하기 위해서는 코드뿐만 아니라 객체를 생성하고 연결하는 부분을 찾아야 하기 때문에 코드를 이해하기 어려워진다. 하지만 코드는 더 유연해지고 확장 가능해진다. 무조건 유연한 설계도, 무조건 읽기 쉬운 코드도 정답이 아니다. 차이에 의한 프로그래밍 차이에 의한 프로그래밍: 상속을 이용해 부.. 2022. 5. 16.
[Object] 객체지향 프로그래밍 1 객체지향 프로그래밍 1 클래스가 아닌 객체에 초점을 맞춰야 한다. 어떤 클래스가 필요한지 고민하기 전에 어떤 객체들이 필요한지 고민해야 한다. 클래스는 공통적인 상태와 행동을 공유하는 객체들을 추상화한 것 클래스의 윤곽을 잡기 위해서는 어떤 객체들이 어떤 상태와 행동을 가지는지 먼저 결정해야 한다. 객체를 중심에 두는 접근 방법은 설계를 단순하고 깔끔하게 만든다. 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원으로 봐야 한다. 객체는 홀로 존재하는 것이 아니라, 다른 객체에게 도움을 주거나 의존하면서 살아가는 협력적인 존재다. 객체를 협력하는 공동체의 일원으로 바라보는 것은 설계를 유연하고 확장 가능하게 만든다. 프로그램의 구조는 도메인의 구조를 따른다. 도메인: 문제를 해결하.. 2022. 5. 16.
[Object] 객체와 설계 객체와 설계 객체지향적 사고와 프로그래밍을 위해 Object라는 책을 읽고 정리하는 과정입니다. 코드의 경우 Github 커밋에 대한 링크를 이용합니다. before code: Github commit after code: Github commit 영화관의 티켓 판매를 예시로 하는 코드이다. 예상을 빗나가는 코드 이해 가능한 코드: 동작이 예상에서 크게 벗어나지 않는 코드. 예상을 빗나가는 코드란 이해 가능한 코드가 아니라는 것이다. before code Theater의 enter 메서드 각각의 객체 내에서 해야할 것 같은 행위들이 모두 enter 메서드 내에서 진행된다. 변경에 취약한 코드 의존성: 변경에 대한 영향을 암시한다. 어떤 객체가 변경될 때 그 개체에게 의존하는 다른 객체도 함께 변경될 수 .. 2022. 5. 9.