본문 바로가기
반응형

분류 전체보기181

AWS 알아보기 2 - AWS 인프라 AWS 인프라 AWS VPC Virtual Private Cloud 최초에 구축하는 사람이 아니라면 거의 만질일이 없다. (devops 전담팀이 따로 있을 정도) 가상 네트워크 서비스로 퍼블릭 네트워크와 프라이빗 네트워크를 분리하고 모니터링할 수 있도록 해주는 서비스 네트워크 구성과 관련된 사실상 모든 기능을 담당하며, 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사한 형태 private 서브넷은 외부와의 인터넷은 연결이 안되는데 Nat게이트웨이를 사용하면 연결 가능 AWS API Gateway 어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안 유지할 수 있도록 하는 완전관리형 서비스 서버의 “대문”과 같은 역할 API Gateway가 할 수 있는 것들: 트래.. 2023. 6. 11.
AWS 알아보기 1 - AWS란? AWS란? On-premise vs Cloud Computing On-premise 온프레미스란기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아닌, 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식 Cloud Computing 클라우드 컴퓨팅은 인터넷을 통하여 데이터를 저장하거나 데이터베이스, 서버, 네트워킹, 소프트웨어와 같은 도구, 애플리케이션등 다양한 서비스를 제공하는 방식 Cloud Computing을 쓰는 이점 점점 증가하는 서버 인스턴스의 수를 온프레미스로 감당하기엔 점점 벅참 (공간적, 비용적 문제) 이를 클라우드 컴퓨팅을 통해 해결 글로벌 서비스를 제공하려면 각 국가에 데이터 센터를 직접 구축해야하는 것을 대신 AWS를 통해 해결 예로 카프카의 클러스터 규모를 살펴보면.. 2023. 6. 11.
컨테이너, Container Container Container란? 가상화 기술중 하나 호스트 운영체제 위에 여러 개의 격리된 환경을 생성하는 것 각각의 컨테이너 안에서 애플리케이션을 실행하게 된다. (실행환경을 애플리케이션 마다 관리할 수 있게 된다.) 리눅스의 커널 기능을 사용하여 만들어 졌다. chroot(파일 시스템 격리), namespace(프로세스 격리), cgroup(하드웨어 격리) 조합으로 격리 프로세스 단위 격리 대표적인 예로 도커가 있다. VM vs Container 컨테이너 기술은 각 애플리케이션 또는 서비스에 대해 별도의 OS 인스턴스 오버헤드가 필요하지 않기 때문에 더 가볍고 효율적입니다. VM Container 출처: https://www.itworld.co.kr/news/103469 하이퍼 바이.. 2023. 6. 10.
Abstract Factory Pattern, 추상 팩토리 패턴 추상 팩토리 패턴(abstract factory pattern) 추상 팩토리 패턴이란? 추상 팩토리 패턴은 관련된 여러 객체를 일관된 방식으로 생성하는 인터페이스를 제공하는 패턴이다. 즉, 관련성 있는 여러 종류의 객체를 생성하는 경우 사용된다.. 추상 팩토리 패턴을 사용하면 구체적으로 어떤 클래스의 인스턴스를 사용하는지 클라이언트에게 감출 수 있다. 이 추상 팩토리 패턴을 이해하기 위해서는 팩토리 메서드 패턴을 이해해야 한다. 왜냐면 팩토리 메서드 패턴에서 발전한 것이 추상 팩토리 패턴이기 때문이다. --> 팩토리 메서드 패턴 학습하러 가기 팩토리 메서드 VS 추상 팩토리 팩토리 메서드 추상 팩토리 의도 단일 유형 객체 생성 관련 유형 그룹으로 관리 구현 방법 추상 클래스 인터페이스 다만, 구현방법은 .. 2023. 6. 10.
Factory Method Pattern, 팩토리 메서드 패턴 팩토리 메서드 패턴이란? 팩토리 메서드 패턴은 부모(상위)클래스에 알려지지 않은 추상 클래스를 생성하는 패턴으로 자식(하위)클래스가 직접 어떤 객체를 생성할지 결정하도록 하는 패턴! 즉, 객체 생성을 위한 패턴으로 생성과 사용의 분리를 통해서 유연하게 객체를 생성할 수 있게 된다. 또한 객체 생성에 필요한 과정들을 템플릿처럼 정해놓고 각 과정을 구현할 수 있다. 왜 사용하나요? 생성자 (Creator)와 구현 객체(concrete product)의 강한 결합을 피함 객체가 생성될때 반복적으로 할 일을 수행시킬 수 있음 캡슐화, 추상화를 통해 생성되는 객체의 구체적인 타입 은닉 단일 책임 원칙 (SRP) 준수 객체 생성 코드를 한 곳 (패키지, 클래스 등)으로 이동시켜 코드를 유지보수하기 쉽게할 수 있으므.. 2023. 6. 7.
SingleTon Pattern , 싱글톤 패턴 싱글톤 패턴 (Single Ton) 싱글톤 패턴이란? 싱글톤은 클래스를 구현할때 메모리상에 하나의 인스턴스만 존재하게 하여 사용하는 패턴 왜 사용 하나요? 객체를 구현할때 메모리 리소스가 사용된다. 한개의 전역 객체로 만들어 둔다면 이러한 리소스낭비를 줄일 수 있기 때문입니다! 어디에서나 접근 가능하도록 만들기 위함입니다. 언제 사용하나요? 데이터베이스 커넥트 풀과 같이 같은 객체를 자주 사용하는 경우에 사용하면 좋아요! 문제점 싱글톤에 많은 역할들이 담기게 되면 객체지향원칙에 어긋나게 된다. => 유지보수가 힘들어 진다. 만약 멀티 스레드 환경에서 동기화 문제를 처리하지 않는다면 2개가 생기는 문제가 발생할 수 있습니다. 구현 방법 (자바) 다른 객체들이 싱글턴 클래스와 함께 new 연산자를 사용하지 .. 2023. 6. 7.
REST란 REST 개념 REpresentational State Transfer의 약자 월드 와이드 웹(www)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 개발 아키텍처의 한 형식 REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일 REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나 한마디로 웹의 장점을 살려 활용하기 위한 하나의 네트워크 기반 애플리케이션 아키텍처 스타일 💡 아키텍처 스타일? 스타일을 따르는 아키텍처가 지켜야 하는 제약조건들의 집합 REST 구성 자원 (Resource) : URI 모든 자원에 고유한 ID 존재, 자원은 Server에서 관리 자원을 구별하는 ID는 HTTP URI.. 2023. 6. 7.
[Spring boot] 설정 정보 외부에서 관리하기 2 - submodule https://teching.tistory.com/143 Spring boot 설정 정보 외부에서 관리하기 1 - 개요 Spring boot 설정 정보 관리하기 서버를 github를 사용해서 형상관리를 할 생각인데 레파지토리를 public으로 열어두려고 한다... 공개하게 되면 spring boot의 application.yml파일에는 아래와 같이 DB 접속 정 teching.tistory.com 지난번에 설정정보를 관리하는 여러 방법을 알아본 후 그중 Submodule을 사용해서 설정정보를 관리해 보려고 한다. 이를 위해서 submodule에 대한 공부가 필요한 것 같아 가볍게 알아보는 시간을 가져보려고 한다. 서브 모듈 서브 모듈이란? 서브 모듈이란, 프로젝트 내부에 다른 프로젝트를 사용해야 하는 경.. 2023. 3. 21.
[Spring boot] 설정 정보 외부에서 관리하기 1 - 개요 Spring boot 설정 정보 관리하기 서버를 github를 사용해서 형상관리를 할 생각인데 레파지토리를 public으로 열어두려고 한다... 공개하게 되면 spring boot의 application.yml파일에는 아래와 같이 DB 접속 정보, API 키와 같은 공개되면 안 되는 민감정보가 포함되어 있어 위험할 수 있다고 생각이 들었다. 이것을 그대로 public 레파지토리 올리면 무수한 해킹 요청이 있을 것만 같았다. server: port: 9999 spring: datasource: url: jdbc:mysql://localhost/mydb username: root password: secret 그래서 설정 정보를 갖고있는 파일을 레파지토리에 포함하지 않고 따로 관리하기 위해서는 어떤 방법이 .. 2023. 3. 20.
반응형