전체 글
-
VPC(Virtual Private Cloud)의 정의와 구조클라우드 2021. 7. 20. 11:56
정의를 찾아보면 클라우드 환경 상에서 논리적으로 격리된 유저 전용 네트워크 공간이다. (NAVER의 NCP) 가상의 사설 네트워크를 제공한다. (NHN의 toast) 샤용자의 AWS 계정 전용 가상 네트워크 (Amazon의 AWS) 가상 머신 인스턴스, 컨테이너등에 네트워킹 기능을 제공한다.(Google의 GCP) → 유저에게 제공하는 인스턴스, 컨테이너간 (논리적으로 격리된) 가상의 private 네트워크을 제공하는 클라우드 서비스이다.
-
Docker와 기본 구조Docker 2021. 7. 5. 12:03
도커 첫 발표 도커란? 2013년에 PyCon US에서 솔로몬 하익스가 발표한 오픈소스 프로젝트 개발자들을 위해 애플리케이션을 빠르고 가볍고 쉽게 개발, 실행하기 위한 플랫폼 거대한 서비스구조 안에 있는 하나의 애플리케이션을 떼어다가 쉽게 다른 곳에 붙일 수 있게 해준다. 쉽게 운송가능한 컨테이너. (컨테이너 가상화 기법을 통해 의존성 제거, 이식성이 뛰어남) ⇒ 비슷한 느낌의 솔루션으로 파이썬의 virtualenv → 가상화와 컨테이너? 가상화 하이퍼바이저는? 호스트 시스템에서 다수의 게스트 OS를 구동할 수 있게 하는 소프트웨어. 중간 관리자 역할을 하는 것!(비슷한 역할을 하는 것이 컨테이너 엔진 ) 베어메탈 가상머신: ex) 멀티 부팅 호스트형 가상머신: ex) VM ware, Virtual bo..
-
클라우드 네이티브 애플리케이션 설계 방법etc. 2021. 6. 25. 01:48
이 게시글은 aws 세션을 정리한 글입니다. 애플리케이션의 현대화 현대화 애플리케이션의 요소 아키텍처 패턴 모듈식 서비스로 나뉘어진다. 현대화된 애플리케이션에서 속도, 유지보수성 등이 결국 모듈식으로 나뉘어져 있기 떄문에 가능한 것이다. Domain DD, Data DD 같은 형태의 접근 방법이 있는데 활용하고자 하는 데이터의 목적이나 활용에 따라서 선택할 수 있다. 운영 모델 관리형 서비스의 활용이 중요하다. 애플리케이션이 한 번 개발되고 나서 유지 관리되다가 필요에 따라서 능동적으로 대응할 수 있다. 이런 능동적으로 대응하는 것들이 결국에 사용자에게 피드백을 받아 확장된다. 비즈니스 상황이 날이 갈수록 변화 되는데 그에 대해 대응하는 것이 현대화 애플리케이션에 중요한 요소이다. 배포 방식 자동화, 표..
-
Design Pattern: Decorator (데코레이터)디자인 패턴 2021. 6. 19. 13:18
https://refactoring.guru/design-patterns의 디자인 패턴을 해석한 글입니다. 데코레이터 개념 데코레이터 는 구조적 디자인 패턴이다. 특정 컴포넌트를 특수한 래퍼 객체 안에 배치하여 새로운 동작을 할 수 있도록 한다. 문제 발견 중요한 이벤트를 사용자에게 알려주는 알림 라이브러리를 개발한다고 하자. 라이브러리의 첫 버전은 Notifier 클래스를 기반으로 한다. 메서드는 클라이언트로부터 메세지를 주고 받을 수 있다. 클라이언트 역할을 하는 서드-파티 애플리케이션은 Notitier 객체를 한번 생성하고 구성해야한다. 그리고 중요한 이벤트가 생겼을 때 각 시간에 사용하도록 되어있다. 시간이 지나 라이브러리 유저들은 이메일 알림보다 다른 종류의 알림을 원한다. 많은 사람들이 중요햔..
-
Design Pattern: Singleton (싱글톤)디자인 패턴 2021. 6. 17. 01:20
https://refactoring.guru/design-patterns 의 디자인 패턴을 해석한 글입니다. 개념 싱글톤은 클래스에 오직 하나의 인스턴스만 존재하도록 하며 인스턴스에 대헤 전역으로 액세스할 수 있도록 제공하는 디자인 패턴이다. 문제 싱글톤 패턴은 'Single Responsibility Principle'을 위배하여 동시에 두 개의 문제를 해결한다. Single Responsibility Principle: 모든 클래스는 하나의 책임을 가지며, 클래스는 그 책임을 완전히 캡슐화해야 함을 일컫는다. 클래스가 제공하는 모든 기능은 이 책임과 주의 깊게 부합해야 한다.(https://en.wikipedia.org/wiki/Single-responsibility_principle) 클래스가 오직..
-
Design Patter: Abstract Factory (추상 팩토리)디자인 패턴 2021. 6. 14. 01:09
https://refactoring.guru/design-patterns 의 디자인 패턴을 해석한 글입니다. 개념 추상 팩토리는 구체적인 클래스를 지정하지 않고 관련 객체군들을 생성할 수 있는 디자인 패턴이다. 문제 가구점 시뮬레이터를 만들다고 가정해본다면 코드는 이렇게 구성될 것이다. 관련 객체 군, 예: Chair + Sofa + CoffeeTable 각 객체의 종류, 예: Chair + Sofa + CoffeeTable 는 Modern, Victorian, ArtDeco의 종류를 가진다. 각 종류마다 가구 세트을 생산할 방법이 필요하다. 만약 Chair와 Sofa는 Modern 타입인데 CoffeeTable만 ArtDeco이면 안된다. 또한 시뮬레이터에 기존의 코드를 수정하지 않고 가구 세트의 새로..
-
Design Pattern: Factory Method(팩토리 메서드)디자인 패턴 2021. 6. 12. 12:48
https://refactoring.guru/design-patterns 의 디자인 패턴을 해석한 글입니다. 개념 팩토리 메서드 패턴은 인터페이스를 제공하는 생성 디자인 패턴이다. 인터페이스는 슈퍼 클래스에서 객체를 생성하고 서브 클래스가 생성 될 객체의 유형을 변경한다. 문제 물류 관리 애플리케이션을 만든하고 상상해보자. 만들 앱의 첫 버전은 오직 트럭으로만 운송을 할 수 있디고 한다면, 코드는 대부분 Truck 클래스에 있다. 만약에 애플리케이션이 잘된다고 가정해보자. 하루에 해양 물류를 앱에 통합하라는 수십개의 요청이 해양 운송 업체에서 들어온다면 어떨까? 좋은 소식이긴 하지만 현재 코드는 Truck 클래스에 묶여있다. Ships이라는 클래스를 앱에 추가하려면 아마 전체의 코드 베이스를 바꿔야 한다..
-
[Django] GenericForeignKey파이썬/Django 2021. 5. 23. 10:25
class Category(models.Model): name = models.CharField(max_length=100) class Meta: verbose_name_plural = 'Categories' class Hero(models.Model): name = models.CharField(max_length=100) category = models.ForeignKey('Category', on_delete=models.CASCADE) class Villian(models.Model): name = models.CharField(max_length=100) category = models.ForeignKey('Category', on_delete=models.CASCADE) 이렇게 두개의 모델을 ..