데이터 분석을 하는 데에 사용하는 많은 라이브러리 중에서 가장 핵심은 판다스이다. 판다스를 모르면 데이터 분석은 할 수 없다. 판다스를 가지고 데이터 분석을 진행하는 프로젝트를 해봤지만 그때그때 필요한 판다스 문법을 구글링하여 프로젝트에 적용하는 과정을 거쳤기 때문에 “너 판다스 할 수 있어?”라는 질문에는 선뜻 대답할 수 없는 정도의 실력이었다. 최근에 데이터 분석 공부를 기초부터 탄탄하게 다시 하기로 결심한 나는 'Do it! 데이터 분석을 위한 판다스 입문' 책을 가지고 판다스 공부를 가장 먼저 하기로 마음먹었다. 이 책은 하루에 2시간씩 10일 동안 공부해서 완독 하는 10일 코스와 월요일에 시작해서 금요일에 끝내는 5일 코스를 제안해 준다. 나는 파이썬 초보자가 아니기 때문에 5일 코스를 선택했..
커맨드 패턴(Command Pattern)이란? 커맨드 패턴을 사용하면 요청 내역을 객체로 캡슐화해서 객체를 서로 다른 요청 내역에 따라 매개변수화할 수 있다. 이러면 요청을 큐에 저장하거나 로그로 기록하거나 작업 취소 기능을 사용할 수 있다. 커맨드 패턴의 주요 구성요소 1. 커맨드(Command): 요청을 나타내는 인터페이스이다. execute 메서드를 통해 실제 요청을 수행한다. 2. 컨크리트 커맨드(Concrete Command): Command 인터페이스를 구현한 구체적인 커맨드 클래스로, 실제 요청을 수행하는 코드가 들어 있다. 3. 호출자(Invoker): 커맨드 객체를 호출하는 객체이다. 이 객체는 클라이언트의 요청을 처리하기 위해 커맨드 객체를 호출한다. 4. 수신자(Receiver): ..
싱글턴 패턴(Singleton Pattern)이란? 싱글턴 패턴은 클래스 인스턴스를 하나만 만들고, 그 인스턴스로의 전역 접근을 제공한다. 싱글턴 패턴의 특징 1. 단일 인스턴스: 싱글턴 패턴은 특정 클래스의 인스턴스가 오직 하나만 생성되도록 보장한다. 이 인스턴스는 어플리케이션 내에서 전역적으로 접근 가능하며, 여러 곳에서 동시에 사용될 수 있다. 2. 전역 접근 지점: 싱글턴 클래스의 인스턴스는 어디서든지 접근 가능한 전역 변수처럼 사용됩니다. 이를 통해 어플리케이션 전체에서 동일한 상태를 공유하거나 특정 기능을 사용할 수 있다. 3. 지연된 초기화 (Lazy Initialization): 인스턴스가 처음으로 요청될 때까지는 생성되지 않고, 필요한 순간에 생성된다. 이를 통해 초기화에 필요한 자원을 ..
팩토리 패턴(Factory Pattern)이란? 팩토리 패턴은 객체를 생성하는 과정을 캡슐화하고, 이를 통해 클라이언트가 생성되는 객체의 타입을 지정하지 않고도 객체를 얻을 수 있게 한다. 또한, 객체의 생성과 관련된 복잡한 로직이나 클래스를 숨기고, 객체 생성을 담당하는 팩토리 클래스를 도입하여 시스템을 더 유연하게 만든다. 팩토리 패턴의 세가지 타입 1. 간단한(또는 정적) 팩토리 메서드 패턴(Simple or Static Factory Method Pattern): 하나의 팩토리 메서드가 객체를 생성하는 패턴이다. 이는 일반적으로 인터페이스나 추상 클래스를 통해 여러 하위 클래스들이 구현될 수 있다. 2. 팩토리 메서드 패턴(Factory Method Pattern): 여러 객체를 생성하는 팩토리를..
데코레이터 패턴(Decorator Pattern)이란? 기존의 객체에 새로운 기능을 동적으로 추가할 수 있도록 하는 패턴입니다. 이 패턴은 상속보다 유연한 구조를 제공하며, 객체의 변경 없이 새로운 기능을 추가할 수 있게 한다. 데코레이터 패턴의 핵심 구성요소 1. 컴포넌트(Component): 실제로 기능을 추가하고자 하는 객체를 나타낸다. 데코레이터 패턴에서는 인터페이스나 추상 클래스로 정의된다. 2. 컨크리트 컴포넌트(Concrete Component): Component를 구현한 구체적인 클래스로, 실제로 추가 기능이 필요한 객체이다. 3. 데코레이터(Decorator): 실제로 새로운 기능을 추가하는 역할을 한다. 이는 Component를 상속하며, 내부에 다른 Component를 포함한다. ..
옵저버 패턴(Observer Pattern)이란? 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의한다. 옵저버 패턴의 핵심 구성요소 1. 주체(Subject): 상태가 변하는 객체를 나타낸다. 이 객체는 옵저버들을 등록하고, 상태가 변경되었을 때 등록된 옵저버들에게 알림을 보낸다. 2. 옵저버(Observer): 주체의 상태 변화를 감지하고 이에 대응하는 동작을 수행하는 인터페이스를 정의한다. 일반적으로 update 메서드가 이 역할을 한다. 3. 구체적인 옵저버(Concrete Observer): 옵저버 인터페이스를 구현한 구체적인 클래스들로, 주체의 상태가 변경되었을 때 수행할 동작을 정의한다. 옵저..
전략 패턴(Strategy Pattern)이란? 전략 패턴은 알고리즘을 정의하고 각각을 캡슐화하여 교환 가능하도록 만드는 패턴이다. 이 패턴은 동일한 문제를 해결하기 위해 여러 알고리즘이 필요하거나, 알고리즘의 변경이 필요한 경우에 유용하게 사용된다. 전략 패턴의 핵심 아이디어는 알고리즘을 클라이언트로부터 독립적으로 정의하고, 클라이언트가 사용할 전략을 동적으로 교체할 수 있도록 하는 것이다. 전략 패턴의 주요 구성 요소 1. 전략(Strategy): 알고리즘을 나타내는 인터페이스 또는 추상 클래스이다. 이 인터페이스를 구현하는 여러 전략들이 있다. 2. 구체적인 전략(Concrete Strategy): 전략을 실제로 구현한 클래스로, 알고리즘의 구체적인 내용을 담고 있다. 3. 컨텍스트(Context)..
AWS Certified Cloud Practitioner 자격증은 Amazon Web Service에서 제공하는 자격증 중에 하나입니다. 가장 낮은 기초 단계에 해당하는 자격증으로 비교적 쉬운 난이도의 시험으로 알려져 있습니다. 저는 네트워크, 클라우드 관련 지식이 없는 상태에서 한 달 정도 공부를 하고 시험을 봤고, 합격했습니다. 시험공부 방식은 다음과 같습니다. 1. AWS Skill Builder 사이트 AWS Cloud Practitioner Essentials (Korean) (Sub) (한국어 자막) 모듈 강의 하루에 한 개씩 듣고, 노트에 정리하기 -> 총 10일 소요 2. 노트에 정리한 내용 Notion에 옮기면서 암기하기 -> 총 2일 소요 3. 덤프 문제 하루에 30개씩 풀고 Noti..
공동 책임 모델 고객의 책임 RDS 사용하는 동안: 보안 그룹을 통한 네트워크 액세스 제어 aws관리형 서비스를 사용하는 동안: 고객 데이터 관리 Lambda 기능을 관리하는 동안: Lambda함수 버전 생성, 코드 암호화 공통: Amazon EC2 데이터 베이스 인스턴스용 운영 체제 보안 패치 설치 aws의 책임 RDS 사용하는 동안: 기본 운영 체제의 패치 및 유지 관리, 데이터베이스의 자동 백업 관리, 하드웨어 오류 발생시 실패한 인스턴스 교체 aws관리형 서비스를 사용하는 동안: 데이터 센터의 물리적 보안, 운영 체제 패치 AWS에서 웹 애플리케이션을 실행하는 동안: IP 스푸핑 및 패킷 스니핑으로부터 보호, RDS 인스턴스에 최신 보안 패치 설치 공통: Xen 및 KVM 하이퍼바이저용 보안 패치..
핵심 내용 Well-Architected 프레임워크의 5가지 핵심 요소를 요약 AWS Well-Architected 프레임워크 AWS 클라우드에서 안정적이고 안전하며 효율적이고 비용 효율적인 시스템을 설계하고 운영하는 방법을 이해하는 데 도움 모범 사례 및 설계 원칙에 따라 아키텍처를 지속적으로 측정하고 개선할 영역을 파악 운영 우수성 시스템을 실행 및 모니터링하여 비즈니스 가치를 제공하고 지속적으로 지원 프로세스 및 절차를 개선하는 능력 클라우드에서의 운영 우수성을 위한 설계 원칙에는 코드로 작업 수행, 문서에 주석 추가, 실패 예측, 되돌릴 수 있는 소규모 변경을 자주 수행이 포함 보안성 핵심 요소는 위험 평가 및 완화 전략을 통해 비즈니스 가치를 제공하는 동시에 정보, 시스템, 자산을 보호하는 능력..