전체 글 144

AWS_chapter01_클라우드컴퓨팅개요

클라우드 컴퓨팅은 인터넷("클라우드")을 통해 서버, 스토리지, DB, 네트워킹, 소프트웨어, 분석, 인텔리전스 등의 컴퓨팅 서비스를 제공하는 것이다. 즉, 인터넷만 된다면 언제 어디서나 필요한 만큼의 컴퓨팅 자원을 필요한 시간만큼 인터넷을 통하여 활용할 수 있다는 것이다. 클라우드 컴퓨팅의 이점 클라우드 컴퓨팅은 그 동안 기업이 IT 리소스에 접근하던 방식을 크게 바꾸어 놓았다. 클라우드 컴퓨팅의 이점을 정리하면 다음과 같다. 접속 용이성 시간과 장소에 상관없이 인터넷을 통해 클라우드 서비스 이용 가능 다양한 기기로 서비스 이용 가능 유연성(확장성) 클라우드 공급자는 갑작스러운 이용량 증가나 이용자 수 변화에 신속하고 유연하게 대응할 수 있기 때문에 중단없이 서비스를 이용할 수 있음 주문형 셀프서비스(..

AWS 2022.03.24

빅데이터_chapter02_하둡과 데이터과학

1.하둡이란? 하둡은 2006년 야후의 더그 커팅이 '넛치'라는 검색엔진을 개발하는 과정에서 대용량의 비정형 데이터를 기존의 RDB 기술로는 처리가 힘들다는 것을 깨닫고, 새로운 기술을 찾는 중 구글에서 발표한 GFS와 MapReduce 관련 논문을 참고하여 개발하였다. 하둡은 하나의 좋은 컴퓨터를 이용하여 데이터를 처리하는 대신, 적당한 성능의 범용 컴퓨터 여러 대를 클러스터화하고, 큰 크기의 데이터를 클러스터에서 병렬로 동시에 처리하여 처리 속도를 높이는 것을 목적으로 하는 분산처리를 위한다. 특징으로는 다음과 같다. HW 확장을 위해 장애를 일반적인 현상으로 허용한다. 소프트웨어 수준에서 복원 체계를 구축한다. 병렬처리 노드는 고장날 가능성이 높고 이에 대한 유연한 처리를 위해 Master/Slav..

빅데이터 2022.03.18

빅데이터_chapter01_빅데이터 개요

1.빅데이터의 배경 빅데이터 개념 빅데이터는 양(Volume)이 많고, 증가 속도(velocity)가 빠르며, 종류(variety)가 다양한 데이터이다.이것을 V3라고도 부른다. 간단히 말해, 빅데이터는 특히 새로운 데이터 소스에서 나온 더 크고 더 복잡한 데이터 세트이다. 이러한 데이터 세트는 너무 방대하여 기존의 데이터 처리 소프트웨어로는 관리 할 수 없기에 나온 해결방안이다. 비즈니스 애널리틱스(Business Analytics, BA) 비즈니스 애널리틱스는 비즈니스 기회를 얻기 위하여 데이터를 지속적/반복적으로 조사하고 분석하는 기법, 기술, 응용분야, 실무를 의미한다. 분석은 총 4단계로 설명적 분석, 진단적 분석, 예측적 분석, 예방적 분석과 같이 총 4단계로 이루어져있다. 설명적 분석(des..

빅데이터 2022.03.18

Spring프레임워크_chapter03_Dependency Injection

1.Dependency Injection정의 개발 시 하나의 기능을 처리를 수행하기 위하여 여러 개의 컴포넌트를 조합해서 구현하는 경우가 일반적인데, 여러 개의 컴포넌트를 통합할 때 의존 관계 주입(Dependency Injection) 디자인 패턴이 매우 효과적이다. DI는 오브젝트 간의 의존 관계를 만드는 것으로 객체 간의 결합도를 낮춘다. IoC(Inversion of Control)은 역전 제어, 즉 인스턴스를 제어하는 주도권이 역전된다는 의미이다. 컴포넌트를 구성하는 인스턴스 생성과 의존 관계 연결을 개발자의 소스 코드가 아닌 DI 컨테이너가 대신해 주기 떄문에 제어가 역전되었다고 정의한다. spring 프레임워크이 제공하는 IoC Container를 통해 인스턴스의 생명주기 관리 및 의존 관계..

Spring 2022.03.17

Spring 프레임워크_Chapter02_Maven

1.Maven Maven은 프로젝트를 관리하는 도구이다. 빌드 자동화 기능과 프로젝트 관리 기능을 제공한다. 프로젝트(라이브러리) 관리는 pom.xml 파일을 이용하여 프로젝트와 관련된 jar 파일을 다운로드하고 관리한다. 빌드 자동화는 빌드 작업들을 간단하고 쉽게 그리고 일관성 있게 수행할 수 있는 통합 환경을 제공한다. 이때 빌드는 소스코드 파일을 실행 코드로 변환하여 배포하는 과정을 말한다. 2. 프로젝트 관리 기능 프로젝트 관리 설정들을 메이븐이 미리 정의한 설정들로 대체한다. 정형화된 프로젝트 디렉토리 구조 관리(pom.xml) CoC(Convention over COnfiguration)패러다임을 따른다. - 설정보다는 규범 의존성 관리기능 편리한 라이브러리 관리 기능이다.(pom.xml, R..

Spring 2022.03.12

Spring 프레임워크_Chapter01_프레임워크 기초

1. 웹 애플리케이션 일반적인 웹 시스템은 정적 컨텐츠인 HTML와 동적 컴텐츠인 JSP으로 나눌 수 있다. HTML 웹 브라우저가 웹 서버로부터 저장된 HTML을 읽어와 표현한다. JSP 웹 브라우저가 웹 서버에 동적 페이지를 요청하면 이 요청을 애플리케이션 서버가 실행하고, 처리결과(데이터베이스 조회등)를 브라우저가 HTML 형식으로 받아서 표현한다. 2.스프링의 등장 스프링 전에는 EJB라는 분산 환경에서의 트랜잭션 처리를 위한 컴포넌트를 사용했다. JSP와 서블릿은 프레젠테이션을 구현했고, EJB는 비즈니스 로직을 구현했다. 하지만 J2EE 버전업과 함께 EJB 복잡도는 높아지고 확장성은 떨어지는등 문제가 생겨 그것을 보완하기 위해 등장했다. 스프링 프레임워크는 자바 플랫폼을 위한 오픈소스 애플리..

Spring 2022.03.11

컴퓨터구조_09.기억장치

기억장치는 중앙처리장치와 입출력장치와 더불어 컴퓨터의 3대 구성 요소이다. 컴퓨터의 주기억장치는 주로 전원이 커져 있을 때 실행하는 프로그램과 데이터를 저장하고, 보조기억장치는 영구적으로 프로그램과 데이터를 저장한다. 기억장치 특성 기억장치 종류 기억장치는 데이터를 저장한다. 데이터를 저장한다는 의미에서 컴퓨터의 기억장치는 중앙처리장치 내부의 레지스터, 중앙처리장치와 직접 버스로 연결되는 주기억장치, 그리고 입출력 장치로 연결되는 보조기억장치로 구성되어있다. 컴퓨터 내부에는 주기억장치가 있으며, 주기억장치는 반도체 소자인 ROM(Read Only Memory)과 RAM(Random Access Memory)로 만들어져있다. ROM 저장된 데이터를 읽기만 가능하고, 지우거나 다른 값으로 갱신할 수 없는 기..

컴퓨터구조 2021.12.15

컴퓨터구조_08.제어장치

제어장치는 순서 제어와 동작 제어를 담당하며 컴퓨터의 모든 제어 신호를 생성한다. 제어장치 기능 컴퓨터 시스템을 포함한 모든 디지털 시스템은 제어부와 실행부로 나누어 구현된다. 실행부(Control Path) 외부에서 입력된 데이터를 처리하여 출력 데이터를 생성한다. 프로그래머 모델, 레지스터, 연산기, 외부(기억장치, 입출력장치) 입력 신호 : 명령어 레지스터, 상태 레지스터, 제어 버스 중 일부 출력 신호 : 실행부의 모든 소자를 제어 제어부(Data Path) 실행부에서 상태 신호를 입력으로 받고 실행부의 동작을 제어하기 위한 제어 신호를 생성한다. 제어장치는 명령어 사이클이 돌아가도록 만들고 마이크로 오퍼레이션을 수행하기 위한 제어신호를 생성해야 한다. 순서 제어 : 프로그램을 실행하도록 명령어 ..

컴퓨터구조 2021.12.15

컴퓨터구조_07.중앙처리장치 설계

프로그래머 모델 프로그래머가 어셈블리 언어로 프로그램을 작성할 때 알고 있어야 할 수준으로 컴퓨터 구조를 표현한 것 ToyCOM 특징 16비트 프로그램 카운터(PC) : 다음에 실행할 명령어의 주소를 저장한다. 16비트 스택 포인터(SP) : 스택의 탑(top)을 가리킨다. 16비트 명령어 레지스터(IR) : 모든 명령어는 크기가 16비트이다. 8비트 상태 레지스터(SR) : 연산기의 연산 결과를 반영하여 상태 레지스터 안에 배치된 플래그의 값이 결정된다. Z(제로 플래그) : 연산기의 연산 결과가 0일 때 1이다. S(부호 플래그) : 연산기의 연산 결과값의 부호 비트로 설정된다. C(자리올림수) : 연산기에서 산술 연산을 수행할 때 발생하는 자리올림수를 저장한다. V(오버플로우) : 연산기에서 산술 ..

컴퓨터구조 2021.12.14

자료구조_12.정렬

정렬이란? 정렬은 물건을 크기 순으로 오름차순이나 내림차순으로 나열하는 것을 의미한다. 레코드, 필드, 키 보통 정렬시켜야할 될 대상은 레코드(record)라 불리며, 또 레코드는 필드(field)라는 보다 작은 단위로 구성된다. 여러 필드 중에서 특별히 레코드와 레코드를 식별해주는 역할을 하는 필드를 키라고 한다. 알고리즘의 효율성 모든 경우에 최적인 정렬 알고리즘은 없다. 즉, 각 응용 분야에 적합한 정렬 방법을 사용해야 한다. 대개 정렬 알고리즘을 평가하는 효율성의 기준으로는 정렬을 위해 필요한 비교 연산의 횟수와 이동 연산의 횟수이다. 이들 횟수를 빅오 표기법을 이용하여 근사적으로 표현한다. 정렬의 종류 정렬 알고리즘을 내부 정렬(internal sorting)과 외부정렬(external sort..

자료구조 2021.12.03