본문 바로가기

분류 전체보기314

Kubernetes 이해하기 - 1 (with. minikube) *개인 공부를 위한 포스팅으로, 잘못된 부분이 있는 경우 댓글로 피드백 해주시면 감사하겠습니다. 참고 링크: kubernetes document 목표 쿠버네티스 클러스터가 무엇인지 배운다. Minikube가 무엇인지 배운다. 온라인 터미널을 사용해서 쿠버네티스 클러스터를 시작한다. 쿠버네티스는 single unit으로 연결된 컴퓨터처럼 동작할 수 있도록 컴퓨터들의 클러스터들을 조정하는 역할을 한다. 컨테이너 단위로 애플리케이션을 띄우고, 각각의 머신을 개별적으로 조작하지 않아도 된다. 이를 위해서는 애플리케이션의 컨테이너화가 필요하다. 쿠버네티스는 애플리케이션 컨테이너간의 스케줄링, 분산 등을 효과적으로 자동화한다. 그럼 어떻게 애플리케이션을 컨테이너화하고 클러스터 구성을 할까? 클러스터 클러스터는 두가.. 2022. 10. 10.
[개발노트] 기본적인 의존성(dependency) 관리 법칙 우아한테크세미나를 듣고 일부 기록하였습니다. Dependency(의존성) 클래스 의존성 패키지 의존성 클래스 의존성 종류 연관 관계 : 영구적인 협력 class A { private B b; } 의존 관계 (의존성X) :일시적으로 협력 파라미터에 특정 타입이 나온다. 리턴타입에 특정 타입이 나온다. 메서드 안에서 특정 타입의 인스턴스 생성 class A { public B method(B b) { return new B(); } } 상속 관계 구현이 바뀌어도 영향 class A extends B { } 실체화 관계 인터페이스가 바뀌었을 때 영향 class A implements B { } 패키지 의존성 패키지에 포함된 클래스 사이의 의존성 클래스 열었을 때 import에 다른 패키지 있으면 depende.. 2021. 10. 21.
[책] 객체지향의 사실과 오해 - 3 객체지향의 사실과 오해를 읽고 정리한 글입니다. 6. 객체 지도 어떤 사람이 길을 물어본다면 첫번째 해결책은 '기능적이고 해결책 지향적인 접근법'이 있다. 직접 길을 알려주는 것이다. 단계별로 상세히 설명할 수 있지만, 재사용이 불가능하다. 두번째 해결책은 지도를 이용하는 것이다. '구조적이고 문제 지향적 접근법'이며, 길을 찾을 수 있는 구조를 제공한다. 전통적인 소프트웨어 개발 방법은 길을 알려주는 것과 유사하며, 객체지향 개발 방법은 기능을 종속시키는 지도의 방법과 유사하다. 설계의 두가지 측면 - 구조, 기능 설계의 목적은 나중 설계를 허용하기 위해, 그리고 변경에 소요되는 비용을 낮추기 위해서이다. 이 목적을 위해 구조, 기능 두 가지 측면을 고려한다. 구조 측면의 .. 2021. 10. 12.
[책] 객체지향의 사실과 오해 - 2 객체지향의 사실과 오해를 읽고 정리한 글입니다. 1, 2장에서 개괄적인 틀을 설명해주었다면, 3,4,5은 좀 더 디테일하게 객체간의 협력, 그리고 협력을 위한 준비물들(역할, 책임, 메시지)을 설명해준다. 역할, 책임, 메시지에 대한 설명을 통해 OOP의 특징인 다형성, 캡슐화를 더 쉽게 이해할 수 있었다. 이러한 특징을 잘 활용한다면 확장성, 재사용성이 좋은 시스템 설계가 가능함을 알려주며, 디자인 패턴, TDD를 활용하면 왜 더 좋은지를 알려준다. OOP에 대해 알아야한다는 의무감에 주먹구구식으로 머릿 속에 우겨넣었던 과거와 다르게, 왜 설계에는 확장성과 재사용성이 중요하며 OOP가 사용되는지 자연스럽게 이해할 수 있어서 유독 재미있게 읽었던 장이었다. 목표 개념(concept)과 타입에 대해 이해하.. 2021. 10. 10.