OpenStack 개념
1. OpenStack 이란 OpenStack은 표준 하드웨어에서 운용할 수 있는 모듈형 클라우드 인프라를 제공하여 단일한 위치에서 필요한 모든 툴을 필요한 시기에 배포할 수 있다. 가상화에서는 다양한 벤더별 프로그램에서 스토리지, CPU, RAM과 같은 리소스를 추상화해 하이퍼바이저를 통해 분할한 다음 필요에 따라 배포합니다. OpenStack은 ...
1. OpenStack 이란 OpenStack은 표준 하드웨어에서 운용할 수 있는 모듈형 클라우드 인프라를 제공하여 단일한 위치에서 필요한 모든 툴을 필요한 시기에 배포할 수 있다. 가상화에서는 다양한 벤더별 프로그램에서 스토리지, CPU, RAM과 같은 리소스를 추상화해 하이퍼바이저를 통해 분할한 다음 필요에 따라 배포합니다. OpenStack은 ...
1. API란 API는 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트로, 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)를 나타낸다. API를 사용하면 구현 방식을 알지 못해도 제품 또는 서비스가 서로 커뮤니케이션할 수 있으며 애플리케이션 개발을 간소화하여 시간과 비용을 절약할...
1. 데이터 전송 방식 REST와 SOAP는 각기 다른 두 가지의 온라인 데이터 전송 방식이다. 둘 다 웹 애플리케이션 간 데이터 통신을 허용하는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 구축하는 방법을 정의한다. REST(Representational State Transfer)는 ...
1. 람다의 사용 List<Apple> greenApples = filter(inventory, (Apple a) -> GREEN.equals(a.getColor())); 람다는 함수형 인터페이스라는 문맥에서 람다 표현식을 사용할 수 있다. 위 예제에서는 함수형 인터페이스 Predicate<T> 를 기대하는 filter...
1. Kubernetes란 컨테이너를 도입하는 조직이 점점 많아짐에 따라 컨테이너 중심 관리 소프트웨어인 Kubernetes는 사실상 컨테이너화된 애플리케이션을 배포하고 운영하기 위한 표준이 되었다. Kubernetes는 원래 Google에서 개발되어 2014년에 오픈소스로 출시되었으므로 Google Cloud가 시초라고 할 수 있다. Kuber...
1. Spring Initializr SpringBoot 프로젝트 구조를 만드는 웹 애플리케이션이다. 기본적인 프로젝트 구조와 코드를 빌드하는데 필요한 maven이나 gradle 빌드 명세를 만들어준다. Spring Initializr는 웹 기반 인터페이스, Spring Tool Suite(STS), IntelliJ IDE, SpringBoot CLI...
1. 람다란 람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것이라고 할 수 있다. 람다 표현식에는 이름은 없지만, 파라미터 리스트, 바디, 반환 방식, 발생할 수 있는 예외 리스트는 가질 수 있다. 람다의 특징은 아래와 같다. 익명 보통의 메서드와 달리 이름이 없으므로 익명이라 표현한다. 구현해야 할 코드에 대...
1. Interpreter 패턴이란 디자인 패턴의 목적 중 하나는 클래스의 재이용성을 높이기 위해서이다. 재이용성이란 한 번 작성한 클래스를 별로 수정하지 않고(가능하면 전혀 수정하지 않고) 몇 번이고 사용할 수 있도록 하는 것이다. Interpreter 패턴에서는 프로그램이 해결하려는 문제를 간단한 ‘미니 언어’로 표현한다. 구체적인 문제를 미니 ...
1. Command 패턴이란 클래스가 일을 실행할 때에는 자신의 클래스나 다른 클래스의 메소드를 호출한다. 메소드를 호출한 결과는 오브젝트(객체)의 상태에 반영되지만, 일의 이력은 어디에도 남지 않는다. 이때 ‘이 일을 실행하시오’라는 ‘명령’을 표현하는 클래스가 있으면 편리하다. 실행하고 싶은 일을 ‘메소드 호출’하는 동적인 처리로 표현하는 것이 ...
1. Proxy 패턴이란 proxy는 ‘대리인’이라는 의미이다. 대리인이란 일을 해야할 본일을 대신(대리)하는 사람이다. 본인이 아니라도 가능한 일을 맡기기 위해서 대리인을 세운다. 대리인은 어디까지나 대리에 지나지 않기 때문에 할 수 있는 일에는 한계가 있다. 대리인이 할 수 있는 범위를 넘는 일이 발생하면, 대리인은 본인한테 와서 상담을 한다. ...