본문 바로가기

분류 전체보기

(568)
[AWS] RDS RDS란? Amazon RDS(Relational Database Services)는 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있게 해주는 서비스다. 하드웨어 프로비저닝, 설정, 백업과 같은 작업을 자동화하여 비용 효율적이가 가변 크기의 데이터베이스 서비스를 제공한다. RDS를 사용하는 조직은 빠른 성능, 고가용성, 보안 및 호환성을 RDS를 통해 제공받으면서 비즈니스를 위한 애플리케이션 개발에 집중할 수 있다. AWS의 DMS(Database Migration Service)를 사용하면 서비스 중단없이 사용 중이던 데이터베이스를 다른 데이터베이스로 마이그레이션이 가능해진다. 이러한 서비스를 사용하여 온프레미스 환경에서 운영 중이던 데이터베이스를 서비스 중단없이 클라우드 환경..
[AWS] Network Network는 Net(촘촘하겨 연결되어 있는) + Work(일)의 합성어로 연결되어 서로가 가지고 있는 정보를 결합하여 생산적인 가치를 만드는 일을 의미한다. '네트워킹을 한다 = 서로 통신(Communication)을 한다'고 할 수 있다. 서로 통신하기 위해서 어떠한 방식으로 통신(Communication)을 할 것인지 약속을 해야하는데 이렇게 지켜져야하는 약속들을 프로토콜(Protocol)이라고 한다. VPN이란? 그림1 VPN(Virtual Private Network)은 큰 규모의 조직이 여러 곳에 분산되어 있는 PC를 연결하는 보안성이 높은 사설 네트워크(Private Network)를 만들거나, 인터넷을 활용하여 원격지 간에 네트워크를 서로 연결하고 암호화 기술을 적용하여 보..
[AWS] S3 관련 용어 스토리지(storage): 컴퓨터에 데이터를 저장하는 저장소의 역할을 수행하는 부품이다. 컴퓨터의 하드디스크와 동일한 역할을 수행하는 부품이다. 이때 서버에 스토리지를 직접 연결하는 방식을 DAS(Direct Attached Storage)라고 한다. 대표적으로 NAS(Network Attached Storage)와 SAN(Storage Area Network)가 있다. NAS는 스토리지를 LAN(Local Area Network)으로 연결하여 사용하는 방식으로 비용이 저렴하다. SAN은 대구모 엔터프라이즈 환경을 구성하기 적합한 스토리지로 확장성이 높다. 데이터 백업(Data Backup): 데이터가 손상되거나 유실되는 것을 대비하여 데이터를 다른 곳에 저장하는 것을 말한다. AWS에서 대표..
[AWS] EC2 이번 장에서는 AWS에서 제공하는 클라우드에서 확장 가능 컴퓨팅 용량인 EC2(Elastic Compute Cloud)와 EC2를 사용하기 위한 개념들에 대해서 알아보도록 한다. 클라우드 용어 AWS에서는 전세계의 주요 지역에 IDC(Internet Data Center)를 구축하여 운영하고 있다. 그림1 AWS에서는 클라우드 서비스를 위한 인프라 환경을 크게 리전(Region), 가용 영역(Avaliability Zone), 엣지 로케이션(Edge Location)으로 구분한다. 리전(Region): AWS가 전 세계적으로 데이터 센터를 클러스터링하는 물리적 위치다. 한국의 서울 리전은 2016년 1월 28일에 오픈되었다. 가용 영역(Availibility Zone, AZ): AWS리전의 중복 전력, ..
[AWS] 클라우드 컴퓨팅이란? 클라우드 컴퓨팅이란? 인터넷을 활용한 컴퓨팅 서비스의 하나로 PC(Personal Computer)가 아닌 인터넷을 통해 연결된 원격지의 컴퓨터를 활용하는 기술이다. 한마디로 "나의 컴퓨터가 아닌 원격지의 컴퓨터와 저장소를 빌려 사용할 수 있는 IT 서비스"다. 클라우드 컴퓨팅 유형 클라우드 서비스는 형태에 따라 크게 세 가지로 분류할 수 있다. [그림 1] IaaS(Infrastructure as a Service): 클라우드 IT의 기본 빌딩 블록을 포함하고 일반적으로 네트워킹 기능, 컴퓨터(가상 또는 전용 하드웨어) 및 데이터 스토리지 공간을 제공한다. IaaS는 IT 리소스에 대해 가장 높은 수준의 유연성과 관리 제어를 제공한다. 요약하면 물리적 서버 및 저장소 등을 가상화하여 다수의 고객을 대상..
[Design Pattern] 정리 지금까지 GoF의 디자인 패턴에 나와있는 23가지의 디자인 패턴들에 대해서 알아보았다. 이번 장에서는 지금까지 알아본 디자인 패턴들을 정리해보도록 한다. GoF 디자인 패턴에서는 총 세개의 유형으로 디자인 패턴들을 정리하였다. 각 패턴에 필자가 작성한 글의 링크를 걸어두었다. 생성 패턴(Creational Pattern): 객체의 생성과 관련있다. 생성 패턴 대부분은 정확히 무엇을 생성하는지에 대한 정보 없이도 객체를 생성할 수 있도록 해준다. Factory Method Pattern Abstract Factory Pattern Builder Pattern Prototype Pattern Singleton Pattern 구조 패턴(Structural Pattern): 프로그램의 구성에 관련있다. 구조 패..
[Design Pattern] Proxy Pattern 이번 장에서는 프록시(Proxy) 패턴에 대해서 알아본다. 샘플 코드는 여기 (링크) 프로젝트의 테스트 코드로 정리해두었다. 프록시 패턴이란? 위키백과에 따른 정의는 아래와 같다. 일반적으로 프록시는 다른 무언가와 이어지는 인터페이스의 역할을 하는 클래스이다. 프록시는 어떠한 것(이를테면 네트워크 연결, 메모리 안의 커다란 객체, 파일, 또 복제할 수 없거나 수요가 많은 리소스)과도 인터페이스의 역할을 수행할 수 있다. 결국 어떠한 일을 수행하는 A라는 객체가 있을 때 클라이언트가 A 객체를 바로 참조하여 호출하는 것이 아니라 중간에 Proxy 객체를 두고 Proxy 객체를 통해서 참조하는 디자인 패턴이다. 프록시 패턴의 종류로는 아래와 같은 프록시들이 있다. 가상프록시: 객체의 생성을 연기하고 마치 객..
[Design Pattern] Interpreter Pattern 이번 장에서는 인터프리터(Interpreter) 패턴에 대해서 알아본다. 샘플 코드는 여기 (링크)의 프로젝트의 테스트 코드로 정리해두었다. 인터프리터 패턴이란? 위키백과에 따른 정의는 아래와 같다. 한 언어에서 문자열을 평가하는 방법을 규정하는 디자인 패턴. 기본 개념은 특화된 컴퓨터 언어에서 각 기호(종단 또는 비종단)마다 클래스를 갖는 것이다. 언어 내 한 문자열의 구문 트리는 컴포지트 패턴의 인스턴스이며 클라이언트의 문자열을 평가(해석)하기 위해 사용된다. (문이라고 작성되어 있는 부분만 이해를 돕기위해 문자열로 수정하였음) 쉽게 말해서 문자열을 해석하는 클래스를 만들어서 각 클래스들이 문자열을 평가 및 해석하는 디자인 패턴이다. 이번에는 주관식 답안지를 평가하는 프로그램을 예시로 진행해본다. 주..