오브젝트 (2)
·
Book/DEV
이 포스팅은 오브젝트(조영호)를 읽으면서 정리한 글입니다이전 포스팅오브젝트 (1)메시지와 인터페이스클래스가 아닌 객체(객체가 수행하는 책임)를 지향하라메시지애플리케이션은 객체가 주고 받는 메시지로 구성된다.객체 사이의 협력을 가능케 하려면 메시지를 전송해야 한다.클라이언트 - 서버 모델객체 사이의 협력을 나타내는 전통메타포클라이언트 : 메시지를 전송서버 : 메시지를 수신ex)Movie가 할인을 적용받고자 하면 Discount policy가 필요해 메시지를 전송하게 된다.즉 Movie는 클라이언트, Discount policy는 서버라고 볼수있다메시지 전송(패싱)객체 → 객체로 도움 요청- 메시지 전송자 : 메시지 전송 객체- 메시지 수신자 : 메시지 수신 객체- operation(오퍼레이션명), argu..
[백준] 1717 - 집합의 표현 (Java)
·
Algorithm
문제 파악https://www.acmicpc.net/problem/1717풀이집합을 합치는 행위를 수행하거나, 두 원소가 같은 집합인지 리턴해주기만 하면 된다루트 개념을 가져가면 쉽게 풀이할 수 있다.말로 풀어 설명하자면 부분집합의 대표(루트)를 설정하고, union 시 하나의 대표로 병합해 준다.이전에 풀이한 최소 스패닝 트리 문제와 유사하게 풀이했다. (https://diggingcode.tistory.com/70)이런 경우 대체로 1차원 배열을 선언해서 풀이하는 편이다.초기에는 각 원소들이 부분집합의 대표이므로 배열에 스스로의 인덱스를 할당해준다.이를 탐색 및 union 시 업데이트 해 주도록 하자.재귀적으로 루트를 찾는 함수를 호출하도록 구현하였다.코드import java.io.*;public c..
[백준] 1074 - Z(Java)
·
Algorithm
문제 파악https://www.acmicpc.net/problem/1074풀이재귀적으로 순서대로 방문한다..?재귀보고 눈이 돌아가서 재귀/큐로 풀었다가 OOM을 만났다 🙂‍↕️더보기OOM 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReade..
[Kubernetes] 설치 및 실행해보기
·
CI & CD
이전 포스팅[Kubernetes] 개념 및 구성요소 이번 포스팅에서는 로컬 환경에서 쿠버네티스를 설치하고 실행해 보도록 한다.설치참고) MacOS의 brew를 이용하여 설치를 진행Docker, Kubectl, Minikube를 설치할 예정이며, 각각의 역할을 간단히 짚고 넘어가자면 다음과 같다Docker : 가상 컨테이너 빌드Kubectl : kubernetes 조작을 위한 CLIMinikube : kubernetes 클러스터 생성Docker Desktop 혹은 Docker Cli 설치Docker Desktophttps://www.docker.com/products/docker-desktop/ 로 이동하여 다운로드 및 설치Docker CLIbrew install dockerKubectl 설치brew in..
[Kubernetes] 개념 및 구성요소
·
CI & CD
들어가며모듈을 여러 개 띄우기 시작하며, 배포 시 컨테이너가 여러 개 생기는 일이 발생한다.컨테이너 수가 많아질수록 배포를 체계적으로 알아보고 싶다는 생각이 들었다.이번 기회에 쿠버네티스를 조금이나마 적용해 보며 불편함이 해소되는지 직접 부딪혀보고자 한다.쿠버네티스(K8s)란?컨테이너를 자동으로 배포하고 관리해 주는 오케스트레이션 플랫폼여러 개의 컨테이너를 설정에 맞게 배포컨테이너 / 네트워크 장애 시 복구네트워크 설정구성요소Pod컨테이너를 1개 이상 담는 최소 단위ServicePod에 접근하는 네트워크 경로Ingress외부 HTTP 요청을 라우팅DeploymentPod를 몇 개 띄울지, 언제 다시 띄울지 설정Node실제 컨테이너가 뜨는 가상 / 물리 서버마스터 노드클러스터를 관리/통제하는 컴포넌트들이 ..
오브젝트 (1)
·
Book/DEV
이 포스팅은 오브젝트(조영호)를 읽으면서 정리한 글입니다객체지향 설계서로 협력하고 의존하는 객체들의 공동체를 구성하는 과정.불필요한 의존성을 제거하고, 최소한의 의존성만 유지하여 유연하고 확장 가능한 시스템을 만들자.객체지향 프로그래밍데이터와 프로세스(행위)가 하나의 객체(모듈) 안에 함께 존재하도록 구성하는 프로그래밍 방식.→ 즉, 데이터와 해당 데이터를 다루는 로직이 같은 객체 안에 캡슐화된다.객체지향 설계 요소협력시스템 기능을 구현하기 위해 객체들이 메시지를 주고받으며 상호작용하는 과정역할객체가 협력 안에서 수행해야 할 책임의 집합.→ 동일한 역할을 여러 객체가 구현할 수 있음 (인터페이스 기반 설계)책임객체가 수행해야 할 행동(로직) 또는 데이터 관리의 의무→ 객체는 자신의 역할에 맞는 책임을 수..