전체 글

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

CSS3

1. CSS와 박스모델 박스모델 실제 콘텐츠 영역, 패딩, 박스의 테두리, 그리고 마진 등의 요소로 구성됨 블록 레벨 요소 요소를 삽입했을 때 혼자 한 줄을 차지하는 요소 요소의 너비가 100% 예) div, p 등 인라인 레벨 요소 줄을 차지하지 않는 요소 화면에 표시되는 콘텐츠만큼 영역을 차지하고 나머지 공간에는 다른 요소가 올 수 있음 예) img, strong 등 width, height 속성 실제 콘텐츠 영역의 크기 지정 display 속성 요소의 배치 방법 결정 : 사용할 수 있는 속성 값이 아주 많다 블록 레벨 요소, 인라인 레벨 요소를 바꿀 때 사용하는 속성 값 block : 인라인 레벨 요소를 블록 레벨 요소로 바꿉니다. inline : 블록 레벨 요소를 인라인 레벨 요소로 만듭니다. i..

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

웹 개발/HTML5

서버 VS 클라이언트 클라이언트 사용자가 웹 사이트에 접근할 때 사용하는 기기 (좁은 의미) 웹 브라우저 서버 인터넷에 연결된 컴퓨터 웹 요소와 여러 정보가 저장됨 HTTP 프로토콜 웹개발의 기본 HTML 웹문서의 뼈대를 만드는 HTML / 명령어 내 스타일을 내포하는 구조를 가짐 웹 브라우저 창에 웹 문서의 내용을 보여주기 위한 약속 HTML에서 약속한 표기법을 사용해서 문서 작성해야함 CSS 웹문서를 꾸미는 CSS 웹 문서를 꾸미거나 웹 요소를 적절하게 배치하는 방법 다양하게 디바이스에 맞는 반응형 웹 디자인을 만들기 위해 필수적으로 학습해야 함 JAVA SCRIPT 사용자 동작에 반응해서 동적인 효과를 만들기 위한 기술 자바스크립트를 알고 있다면 새로운 프레임워크를 배우기 쉬움 HTML은 구조, C..

데이터 엔지니어링/데이터베이스 및 운영체제

데이터베이스 연동 자바 프로그래밍

JDBC 데이터 베이스와 자바를 연결하는 드라이버 자바 오브젝트 정보 -> JDBC 드라이버가 커넥션, 커넥션해제, 데이터를 보내고 받고 하는 일련의 처리 과정을 중간에서 대신 해줌 설치 경로 : 오라클 내에 C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 폴더 접속 복사 후 자바 프로젝트 안에, libs 폴더 생성, ojdbc.jar 파일 넣기 이클립스 프로젝트에서 build path 시작 자바 코드 package Mycom.mytest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import..

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

REDSHIFT(AWS)

REDSHIFT는 AWS의 확장 가능한 SQL 엔진(데이터 웨어하우스) 서버 클러스터에서 최대 2 페타바이트의 데이터 제공 OLAP 응답 시간은 1초 미만이 아님 고객 대면 서비스에서 사용하면 안됨 COLUMNAR STORAGE(열 기준 저장소) 테이블에서 열을 추가, 삭제하거나 이름을 변경하는 작업이 매우 빠름 열 당 압축(PER COLUMN COMPRESSION)이 사용됨 BULK-UPDATE 지원 CSV/JSON 파일을 S3에 업로드 -> S3에서 REDSHIFT로 복사 고정 용량 SQL 엔진 모든 데이터웨어하우스는 데이터의 크기, 속도 때문에 모든 PRIMARY키를 보장하지 않는다 POSTGRESQL 8.X와 호환 다음 서비스와 완벽한 통합 S3, EMR, KINESIS, DYNAMODB, RDS..

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

데이터엔지니어, 데이터웨어하우스

데이터 엔지니어의 역할 데이터 웨어하우스 관리 데이터 파이프라인 구축 및 관리 데이터 파이프라인 = ETL(EXTRACT, TRANSFORM, LOAD) = DATA JOB = DAG 데이터 파이프라인의 형태 배치 프로세스(BATCH PROCESSING) VS 실시간 프로세스(REALTIME PROCESSING) 요약 데이터 생성(DBT - ANALYTICS ENGINEER) 이벤트 수집(EVENT COLLECTION) 유저 행동 데이터 데이터 엔지니어가 알아야할 기술들은? SQL : HIVE, PRESTIO, SPARK SQL, ... PROGRAMMING LANGUAGE : PYTHON/SCALA/JAVA ETL/ELT SCHEDULER : AIRFLOW LARGE SCALE COMPUTING PLA..

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

데이터 팀의 역할

데이터 플로우 데이터 조직의 비전 데이터 팀은 직접 매출을 발생시키는 조직이 아니다. 기본적으로 데이터 팀은 서포트 조직이다. 데이터 팀은 더 좋은 의사결정을 위해서, 높은 퀄리티의 데이터를 시의적절한 방법으로 제공해야한다. 데이터 팀은 프로덕트/서비스를 '고품질 데이터'를 통해 기능을 개선한다. 개인화를 바탕으로 한 추천(Recommendation)과 검색 기능 제공 머신러닝을 통한 운영 비용 줄이기(공정 과정 오동작 기기 예측 등) 결국 데이터팀은 끊임없이, 회사의 매출/이윤과 상관관계를 정량화하고, 데이터팀의 존재이유, 존재가치를 잘 설명해야한다. 데이터 품질 + 모두가 신뢰할 수 있을 만한 지표 설정 간단한 솔루션일 수록, 좋은 솔루션이다. 회사의 운영비용과 관련(딥러닝이 무조건 좋은 게 아니다)..

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

1주차 강의 중요 포인트 요약

이상적인 데이터 조직 데이터 엔지니어 영입을 통한, 데이터 인프라 구축 기반 요즘 데이터팀 개발 방식 -> 애자일 솔루션은 간단히 : ex) 딥러닝을 고집할 필요가 없음(머신러닝, 혹은 CASE 별 IF문 또한 좋은 해결책) 어떤 이슈든 간에 업무의 성공여부를 결정해주는 지표를 생각하고 행동 에어플로우(AIRFLOW) ETL을 만들면 이를 주기적으로 실행해야함. 이를 위해 스케줄러가 필요한데, "에어플로우"를 기업들 대다수가 사용 중 ETL EXTRACT(추출) : 데이터를 웹, 혹은 외부 환경에서 추출하는 과정 TRANSFORM(변환) : 데이터를 특정 형식에 맞게 가공하고 변환하는 과정 LOAD(적재) : 데이터를 특정 저장소(데이터베이스, 데이터레이크, 데이터웨어하우스)에 삽입하는 과정 가장 많이 ..

데이터 엔지니어링/데이터베이스 및 운영체제

정규화

이상현상 삭제이상(deletion anomly) 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상→ 연쇄삭제(triggered deletion) 문제 발생 삽입이상(insertion anomly) 투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL 값을 입력해야 하는 현상→ NULL 값 문제 발생 수정이상(update anomly) 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치 문제가 일어나는 현상 → 불일치(inconsistency) 문제 발생 이상현상을 막는 예시 정규화 제 1정규형 릴레이션 R의 모든 속성 값이 원자값을 가지면 제 1정규형이라고함 제 1정규형으로 변환 고객 취미들(이름, 취미들) 릴레이션을 고객취미(이름, 취미) 릴레이션으로 바꾸어 저장하면 제 1..

데이터 엔지니어링/데이터베이스 및 운영체제

ER 다이어그램 실습(ORALCE)

1. 메뉴바에서 보기 클릭 2. DATA MODELER - 브라우저 클릭 3. 브라우저 탭에서 새 관계형 모델 생성 참고 - IE 표기법 ERwin 실습 : 데이터 모델링을 하기 위한 프로그램. IE 표기법을 지원

데이터 엔지니어링/데이터베이스 및 운영체제

데이터베이스 모델링

데이터베이스 모델링 1. 요구사항 수집 및 분석 실제 문서를 수집하고 분석함. 담당자와의 인터뷰나 설문조사를 통해 요구사항을 직접 수렴함. 비슷한 업무를 처리하는 기존의 데이터베이스를 분석함. 각 업무와 연관된 모든 부분을 살펴봄. 2. 개념적 모델링 개념적 모델링(conceptual modeling) : 요구사항을 수집하고 분석한 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인 뼈대를 만드는 과정 개체(entity)를 추출하고 각 개체들 간의 관계를 정의하여 ER 다이어그램(ERD, Entity Relationship Diagram)을 만드는 과정까지를 말함. 3. 논리적 모델링 개념적 모델링에서 만든 ER 다이어그램을 사용하려는DBMS에 맞게 사상(매핑, mapping)하여 실제 데이터베이스로..

데이터 엔지니어링/데이터베이스 및 운영체제

데이터베이스 프로그래밍(PL/SQL)

1. PL/SQL Procedural Language/Structured Query Language의 줄임말로 데이터베이스 응용 프로그램을 작성하는 데 사용하는 오라클의 SQL 전용 언어. SQL 전용 언어로 SQL 문에 변수, 제어, 입출력 등의 프로그래밍 기능을 추가하여 SQL 만으로 처리하기 어려운 문제를 해결함. PL/SQL은 SQL Developer에서 바로 작성하고 컴파일한 후 결과를 실행함 파이썬, 자바로 DB 데이터를 뽑아서도 가능하나 확실히 속도가 빠르다. 2. 프로시저 리턴 값이 없음, 리턴 값이 있으면 함수 2.(1) 삽입 작업 프로시저 프로시저로 데이터를 삽입 작업을 하면 좀 더 복잡한 조건의 삽입 작업을 인자 값만 바꾸어 수행할 수도 있고, 저장해두었다가 필요할 때마다 호출하여 사..

데이터 엔지니어링/데이터베이스 및 운영체제

SQL - 인덱스

데이터베이스의 성능 데이터베이스의 성능은 일반적으로 데이터베이스의 데이터 탐색시간으로 판단한다. 이 때 탐색시간을 줄이기 위해서 인덱스를 사용한다. 인덱스와 B-TREE 인덱스(INDEX, 색인) : 도서의 색인이나 사전과 같이 데이터를 쉽고 빠르게 찾을 수 있도록 만든 데이터 구조임 데이터베이스 운영 중에는 삽입, 삭제 발생하면서 노드에 순서대로 쌓이지 않음. 그래서 노드가 비었을 때, 그 노드에 채워줌으로써 빈 곳이 생기지 않게하고, 노드 구조로 데이터를 탐색하는 구조를 가짐 B-TREE 구조로 저장할 때는, 탐색 시간이 선형이 아닌 로그 함수 모양을 갖는데, 탐색 시간이 일정 시점이 되면 늘어나지 않는 장점을 가진다. 인덱스의 생성 인덱스는 WHERE 절에 자주 사용되는 속성이어야 함. 인덱스는 조..

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