목록전체 글 (129)
능글맞은 구렁이
프록시패턴프록시패턴이란 대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 해당 접근을 필터링하거나 수정하는 등의 역할을 하는 계층이 있는 디자인 패턴이다. 이를 통해 객체의 속성, 변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 사용된다. 프록시 서버에서의 캐싱캐시 안에 정보를 담아두고, 캐시 안에 있는 정보를 요구하는 경우 캐시 안에 있는 데이터를 활용하는 것다라서 불필요하게 외부와 연결하지 않기 때문에 트래픽을 줄일 수 있다는 장점 프록시 서버프록시 서버란 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다.대표적으로 nginx있는데 nginx는 비동기 이벤트 기반의 구조와 다수의 ..
네트워크네트워크란? 노드와 링크가 서로 연결되어 있으며 리소스를 고유하는 집합노드란? 서버, 라우터, 스위치 등 네트워크 장치링크란? 유선 또는 무선을 의미 처리량과 지연시간처리량이란 ? 링크 내에서 성공적으로 전달된 데이터의 양을 말하며 보통 얼만큼의 트래픽을 처리했는지를 나타낸다. 단위로는 bps(bits per second)를 쓴다. 처리량은 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙에 영향을 받는다. 트래픽이 많아졌다 = 흐르는 데이터가 많아졌다처리량이 많아졌다 = 처리되는 트래픽이 많아졌다 지연시간이란? 요청이 처리되는 시간을 말하며 어떤 메시지가 두 장치 사이를 왕복하는데 걸린 시간을 말한다.좋은 네트워..
옵저버 패턴이란? (옵저버 : 감시자, 관찰자라는 뜻의 영어 단어) 객체 지향 프로그래밍에서 널리 사용되는 디자인 패턴 중 하나이다. 이 패턴의 핵심 목적은 객체 간의 일대다(1:N) 의존 관계를 구축하여, 어떤 객체의 상태가 변경될 때 그 객체에 의존하는 다른 객체들이 변경을 자동으로 알림받고 갱신될 수 있도록 하는 것이다. 이를 통해 객체들 사이의 느슨한 결합을 유지할 수 있으며, 상태 변화를 효율적으로 관찰하고 반응할 수 있게 한다. 옵저버 패턴의 구성요소 Subject(주제) 관찰 대상 객체로, 여러 Observer 객체를 자신의 관찰자 목록에 등록, 삭제할 수 있는 메서드를 제공한다. Subject의 상태 변화가 있을 때, 등록된 Observer들에게 통지합니다. Observer(관찰자) Sub..

- https://hub.docker.com/ 접속 Docker Hub Container Image Library | App Containerization Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide. hub.docker.com - 로그인 - repository 생성 - repository를 만들면 이미지를 push할수 있는 설명이 나와있다. - 다시 터미널로 들어와 만들어준 도커 이미지를 수정한다. - docker tag simple-..
팩토리 패턴이란? 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴이자 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴을 말한다. enum CoffeeType{ LATTE, ESPRESSO } abstract class Coffee{ protected String name; public String getName(){ return name; } } Class Latte extend Coffee{ public Latte(){ name ="latte"; } } Class Espresso extends Coffee(){ public Espress(){ name="Espesso"; } } Class CoffeF..
디자인 패턴이란? 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약'형태로 만들어 놓은 것을 의미한다. 싱글톤 패턴(Singleton Pettern)이란? 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수 있지만, 그렇게 하지 않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는데 쓰이며, 보통 데이터베이스 연결 모듈에 많이 사용한다. 장점 : 인스턴스를 생성할 때 드는 비용이 줄어든다. 단점 : 의존성이 높아진다. Java의 예시 class Singleton{ private static class singleInstanceHolde{ pri..

의존성이란? 의존성이란 종속성이라고도 하며 A가 B에 의존성이 있다는 것은 B의 변경사항에 대해 A또한 변해야 된다는 것을 의미한다. 메인 모듈이 직접 다른 하위 모듈에 대한 의존성을 주기보다는 중간에 의존성 주입자가 이 부분을 가로채 메인 모듈이 간접적으로 의존성을 주입하는 방식이다. 이를 통해 메인 모듈은 하위 모듈에 대한 의존성이 떨어지게 된다. 참고로 이를 '디커플링이 된다.' 라고도 한다. 의존성 주입의 장점 1. 모듈들을 쉽게 교체할 수 있는 구조가 되어 테스팅하기 쉽고 마이그레이션하기도 수월하다 2. 구현할때 추상화 레이어를 넣고 이를 기반으로 구현체를 넣어 주기 때문에 애플리케이션 의존성 방향이 일관되고, 애플리케이션을 쉽게 추론할 수 있다. 3. 모듈 간의 관계들이 조금 더 명확해진다. ..

- 컨테이너 삭제 - docker ps -a : 실행 중인 컨테이너와 실행 중지된 모든 컨테이너를 확인할 수 있다. - docker rm '삭제할 컨테이너 이름' - 컨테이너 자동 삭제 - docker run -p 3000:80 -d --rm f17c9d691fea : 도커를 실행할때 --rm이라는 명령어를 추가하는것이다. - 이미지삭제 * 현재 실행 중인 컨테이너에서 사용되지 않는 이미지만 삭제된다. - docker images : 모든 이미지를 확인할 수 있다. - docker rmi '삭제할 이미지ID' - docker image prune : 사용되지 않는 이미지를 모두 삭제한다. - docker image inspect f17c9d691fea : 이미지 정보 확인

인터렉티브 모드로 실행하기 : 수신과 출력결과를 얻고싶은 프로젝트에서 사용한다. - docker run -i -t 실행시킬 이미지 (docker run -it 실행시킬 이미지)

연결모드 - docker run 실행할 이미지 OR 컨테이너 - docker start -a 실행시킬 컨테이너 분리모드(백그라운드실행) - docker run -d 실행할 이미지 OR 컨테이너 - docker start 실행시킬 컨테이너 실행중인 도커의 로그는 보고싶다면? 1. docker attach 컨테이너 (연결모드) 2. docker logs 컨테이너 (출력된 과거의 로그만 볼 수 있다.) 3. docker logs -f 컨테이너 (과거의 로그 출력과 함께 연결모드)