본문 바로가기

책 정리19

2. 컨테이너 다루기 컨테이너 라이프사이클 Command Description Usage 1. docker pull 원격 리포지토리에 있는 이미지를 다운로드한다. docker pull repository[:tag] 2. docker run 이미지를 기반으로 컨테이너를 실행한다. docker run [option] repository:tag [command] [argument] 3. docker ps 실행 / 정지(-a)된 컨테이너 목록을 출력한다. docker ps [option] 4. docker logs 실행 중 발생한 표준출력, 표준 에러출력을 출력한다. docker logs [option] containerID|Name 5. docker kill / stop 컨테이너를 정지하거나 강제종료한다. docker kill/s.. 2021. 8. 15.
1. 도커와 쿠버네티스 개요 쿠버네티스란? 지속적 통합 (CI), 지속적 배포 (CD) 에 적합한 구조를 가진다. 무중단 배포 및 스케일 업/다운 클라우드와 on-premise 에서 같은 방식으로 사용할 수 있다. 일관된 인터페이스로 다룰수 있도록 설계되어 있기 때문이다. 마스터노드와 워커노드로 구성된다. 마스터노드 : 클러스터의 관리를 담당 워커노드 : 컨테이너화 된 애플리케이션을 실행한다. 컨테이너의 이해 불변의 실행환경 (Immutable Infrastructure) 제공 애플리케이션 실행에 필요한 Library, OS 등을 하나로 패키징하여 불변의 실행환경을 만들 수 있다. 기존에는 호스트 운영체제 위에 애플리케이션을 구동하였으나, 개발환경과 배포환경이 완벽히 같음을 보장할 수는 없었기에 오류가 생길 수 있었던 점을 해결할 .. 2021. 8. 13.
8. 스프링이란 무엇인가 0. 스프링이란? 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 0.1. 어플리케이션 프레임워크 웹 계층을 MVC 구조로 손쉽게 만들수 있도록 도움을 준다. 포맷과 출력장치를 유연하게 변경할 수 있는 로그기능을 제공한다. ORM 기술을 제공한다. 0.2. 자바 엔터프라이즈 개발을 편하게 개발자가 복자하고 실수하기 쉬운 로우레벨 기술에 많은 신경을 쓰지 않고, 비즈니스 로직을 빠르고 효과적으로 구현하는 것 1. POJO 란 특정 규약에 종속되지 않는다. ex) 어떤 클래스를 필수적으로 상속해야하나던지, 어떤 DTO 를 필수적으로 구현해야 한다던지.. 특정 환경에 종속되지 않는다. ex) EJB 를 사용하기 위해서는 JNDI 서버가 필수적인 경우 ex) 비즈니스 코드에 Htt.. 2021. 2. 20.
7. 스프링 핵심 기술의 응용 1. Sql 과 Dao의 분리 현재의 구조는 Dao 내부에서 Sql을 정의하여 사용하도록 되어있다. 토비의 스프링에서는 이를 JAXB api를 사용하여 xml에 따로 sql을 관리하도록 하여 저장하도록 구현한다. 변경된 현재구조는 아래와 같다. public class XmlSqlService implements SqlService { private Map sqlMap = new HashMap(); public XmlSqlService() { String contextPath = Sqlmap.class.getPackage().getName(); try { JAXBContext context = JAXBContext.newInstance(contextPath); Unmarshaller unmarshaller.. 2021. 2. 14.