전체 글

정보처리기사

[정보처리기사] 실기 대비 요약 정리 - 서버 프로그램 구현2

모듈 모듈화를 통해 분리된 시스템의 각 기능 서브루틴, 서브시스템, 소프트웨어 내의 프로그램, 작업 단위 등을 의미 모듈의 기능적 독립성 : 소프트웨어를 구성하는 각 모듈의 기능이 서로 독립됨 모듈의 독립성은 결합도, 응집도에 의해 측정 결합도 모듈 간의 상호 의존하는 정도 결합도가 약할 수록 품질이 높고, 강할 수록 품질이 낮다 결합도의 종류 하단으로 갈 수록 결합도가 낮다 내용 결합도(Content Coupling) 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 참조하거나 수정할 때의 결합도이다. 공통(공유) 결합도(Common Coupling) 공유되는 데이터 영역을 여러 모듈이 사용할 때의 결합도이다. 외부 결합도(External Coupling) 어떤 모듈에서 선언한 데이터를 외부의 다른..

정보처리기사

[정보처리기사] 실기 대비 요약 정리 - 서버 프로그램 구현1

개발 환경 구축 응용 소프트 웨어 개발을 위해 개발 프로젝트를 이해하고 소프트웨어 및 하드웨어 장비를 구축하는 것 하드웨어 환경 사용자와 인터페이스 역할을 하는 클라이언트(client), 클라이언트와 통신하여 서비스를 제공하는 서버(server)로 구성 클라이언트 종류 : 개인용 컴퓨터(PC), 스마트폰 드 서버의 종류 웹 서버(WEB SERVER) 웹 애플리케이션 서버(WAS) 데이터베이스 서버(DB SERVER) 파일 서버(FILE SERVER) 소프트웨어 환경 클라이언트와 서버 운영을 위한 시스템 소프트웨어와 개발에 사용되는 개발 소프트웨어로 구성 시스템 소프트웨어 종류 : 운영체제(OS), 웹서버 및 WAS 운용을 위한 서버 프로그램, DBMS 등 개발 소프트웨어 종류 : 요구사항 관리 도구, 설..

정보처리기사

[정보처리기사] 실기 대비 요약 정리 - 통합구현

통합구현 사용자의 요구사항에 맞춰, 송수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미 송수신 시스템, 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성 연계 메커니즘 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성된다. 송수신 시스템 사이에는 데이터의 송수신과 송수신 시스템 현황을 모니터링 하는 중계시스템을 설치할 수 있다. 로그 : 사용자가 컴퓨터에 요청한 명령이나 컴퓨터가 데이터를 처리하는 과정 및 결과 등을 기록으로 남긴 것 연계 메커니즘의 연계 방식 직접 연계 방식 중간 매개체 없이 송수신 시스템이 직접 연계하는 방식 DB LINK, API/OPEN API, DB CONNECTION, JDBC 등 간접 연계 방식 송수신 시스..

정보처리기사

[정보처리기사] 실기 대비 요약 정리 - 데이터 입출력 구현2

뷰 하나 이상의 기본 테이블로부터 우도된, 이름을 가지는 가상 테이블 뷰를 정의할 때는 CREATE, 제거할 대는 DROP 문을 사용 파티션 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것 파티션의 종류 범위 분할 지정한 열의 값을 기준으로 분할함(일별, 월별, 분기별 등) 해시 분할 해시함수를 적용한 결과 값에 따라 데이터를 분할함 특정 파티션에 데이터가 집중되는 범위 분할의 단점을 보완, 데이터를 고르게 분산할 때 유용함 특정 데이터가 어디에 있는지 판단 불가 조합 분할 범위 분할로 분할한 다음, 해시함수를 적용하여 분할 하는 방식 범위 분할한 파티션이 너무 커서 관리가 어려울 때 유용함 분산 데이터베이스의 목표 위치 투명성 액세스 하려는 데이터 베이스의 실제 위치를 알 필요 없..

정보처리기사

[정보처리기사] 실기 대비 요약 정리 - 데이터 입출력 구현1

데이터 전환 운영중인 기존 정보시스템에 축적되어 있는 데이터를 추출하여, 새로 개발할 정보 시스템에서 운영할 수 있도록 변환한 후 적재하는 일련의 과정을 말한다. 데이터 검증 원천 시스템의 데이터를 목적시스템의 데이터로 전환하는 과정이 정상적으로 수행하였는지 여부를 확인하는 과정 오류 데이터 측정 및 정제 데이터 품질 분석 -> 오류 데이터 측정 -> 오류 데이터 정제 순으로 진행 데이터베이스 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 저장장치에 저장하여 항상 사용할 수 있도록 하는 운영 데이터 데이터베이스의 정의 통합된 데이터 : 자료의 중복을 배제한 데이터의 모임 저장된 데이터 : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료 운영 데이터 : 조직의 고유한 업무를 수행하는데 반드시 필요한..

정보처리기사

[정보처리기사] 실기 대비 요약 정리 - 요구사항 확인2

유스케이스 다이어그램 유스케이스 다이어그램은 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있도록 "사용자 관점"에서 표현한 것 유스케이스 다이어그램의 구성요소 시스템 : 시스템 내부의 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현한 것 액터 : 시스템과 상호작용을 하는 모든 외부 요소 주액터 : 시스템을 사용함으로써 이득을 얻는 대상으로, 주로 사람이 해당 부액터 : 주액터의 목적 달성을 위해 시스템에 서비스를 제공하는 외부시스템 유스케이스 : 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스나 기능을 표현한 것 관계 : 유스케이스 다이어그램에서의 관계는 액터와 유스케이스, 유스케이스와 유스케이스 사이에서 나타날 수 있음 포함, 확장, 일반화 관계 유스케이스에서 나타날 수..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

SQL 윈도우 함수 요약, 예제

WINDOW FUNCTION 개요 행과 행 간의 관계를 쉽게 정의하기 위해 만든 함수가 윈도우 함수 윈도우 함수는 집계함수 뿐만 아니라, 새로운 윈도우 함수 전용 만들어진 기능도 있음 윈도우 함수는 다른 함수와 중첩 X, 서브쿼리에는 사용 가능 윈도우 함수 종류 그룹 내 순위(RANK) 관련 함수: RANK, DENSE_RANK, ROW_NUMBER 그룹 내 집계(AGGREGATE) 관련 함수 : SUM, MAX, MIN, AVG, COUNT (sql server는 OVER 절의 OREDER BY 지원 X) 그룹 내 행 순서 관련 함수 : FIRST_VALUE, LAST_VALUE, LAG, LEAD (오라클에서만 지원) 그룹 내 비율 관련 함수 : CUME_DIST, PERCENT_RANK, NTILE..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

SQL 꿀팁(IS TRUE, NULLIF, COALESCE)

IS TRUE, IS FALSE, IS NOT TRUE, IS NOT FALSE BOOLEAN 값은 절대로 !=, =로 비교하는 것이 아니다. 반드시 IS 구문을 사용한다. SELECT COUNT(SDD) FROM TABLE WHERE a != TRUE NULL이 들어간 모든 사칙연산은 반환 값이 NULL이다. SELECT 1/NULL; NULLIF NULLIF(value, 0) -> value가 0인 경우, NULL 값을 리턴 SELECT value, 100/NULLIF(value, 0) FROM tkddnr961224.test_table; COALESCE COALESCE는 첫번째 값이 NULL 이면 대신 사용할 값을 정할 수 있다. SELECT value, COALESCE(value, 1) FROM ..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

SQL CASE WHEN

CASE WHEN 구문은 SELECT 절에 사용되며, 대표적으로 2가지 쓰임새가 있다. 1) 새로운 열을 생성하는 경우 SELECT CASE WHEN 기존열 = 조건 THEN '값1' WHEN 기존열 = 조건2 THEN '값2' ... (ELSE '값 N') END AS 새로운 열 예제 ts 열에서 7글자만 select groupby된 ts를 count한 row들이 10000이 넘으면 ">= 10,000"이라는 값 생성 SELECT LEFT(ts, 7), CASE WHEN COUNT(1) >= 10000 THEN '>= 10,000' ELSE '< 10,000' END FROM raw_data.session_timestamp GROUP BY 1; 열을 집계하는 경우 집계함수와 함께 사용하며, 집계 열에 ..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

2주차 강의 요약

스타트업 데이터플로우 리뷰 AIRFLOW AMZON EC2 설치 데이터웨어하우스 REDSHIFT 사용 대시보드 : 구글 LOOKER (에어비앤비가 만든 SUPERSET이라는 오픈소스 대시보드로 많이 사용) POSGRESQL에 있는 데이터, 데이터웨어하우스로 옮기기 APP 내 AMPLITUDE 설치(웹,앱 내 사용자가 어떤 데이터 클릭했고~, 어떤 버튼 클릭했고 등) 여기서 EVENT STREAM, CLICK STREAM 쭉 따서 저장했다. PAYMENTS로는 STRIP이라는 서비스 위 정보들을 ELT 정보들은 30분에 한번씩 SINK SUMMARY TABLE들만 대시보드와 데이터분석에 사용 : LOOKER 사용 요즘은 DBT로 SUMMARY TABLE에 적용해서 진행 데이터 관련 팁 관계형 데이터베이스는..

정보처리기사

[정보처리기사] 실기 대비 요약 정리 - 요구사항 확인1

소프트웨어 생명주기 소프트웨어 생명주기는 소프트웨어를 개발하기 위한 과정을 각 단계별로 나눈 것이다. 나선형 모형 나선형 모형은 여러번의 소프트웨어 개발과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 모형이다. 계획 수립 -> 위험분석 -> 개발 및 검증 -> 고객 평가 폭포수 모형 폭포수 모형은 각 단계를 확실히 매듭 짓고 결과를 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론이다. 프로토타입 모형 프로토타입 모형은 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형이다. 애자일 모형 애자일은 요구사항 변화에 유연하게 대응할 수 있도록 일정 주기를 반복하면서 개발하는 모형이다. 소프트웨어 공학 소프트웨어 공학은 소프트웨어의 위기를 극복하기 위한 방안으로..

웹 애플리케이션/프론트엔드

자바스크립트

자바스크립트로 뭘할까 웹요소 제어 웹 요소를 가져와서 필요에 따라 스타일을 변경하거나 움직이게할 수 있음 웹 사이트 UI 부분에 많이 활용 예) 마우스 포인터를 올렸을 때 펼쳐지는 메뉴한 화면에서 탭을 눌러 내용만 바뀌도록 하는 콘텐츠 웹 애플리케이션을 만듭니다 최근의 웹 사이트는 사용자와 실시갂으로 정보를 주고 받으며 애플리케이션처럼 동작 예) 온라인 지도의 길찾기 서비스, 데이터 시각화 서비스, 공개된 API를 활용한 다양한 서비스 다양한 라이브러리를 사용할 수 있습니다 웹을 중심으로 하는 서비스가 늘어나면서 브라우저에서 처리해야 할 일이 늘어남 라이브러리와 프레임워크가 계속 등장 예) 시각화를 위한 d3.js, 머싞러닝을 위한 tensorflow.js DOM 조작을 위한 jQuery 등 예) 웹 애..

우상욱
데이터엔지니어스터디