전체 글
-
FastAPI카테고리 없음 2023. 10. 21. 09:48
설치 FastAPI를 구동하기 위해선 다음과 같은 설치 과정이 필요하다, pip install fastapi pip install "uvicorn[standard]" fastapi는 fastAPI를 사용하기 위한 패키지, uvicorn은 구동 서버다. fastAPI 공식 문서에 나와있는 코드를 한번 보자. from typing import Union from fastapi import FastAPI app = FastAPI() @app.get("/") async def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") async def read_item(item_id: int, q: Union[str, None] = None): re..
-
DataBase에 대해<견고한 데이터 엔지니어링> 2023. 10. 9. 19:15
Database 데이터베이스 관리 시스템(DBMS) 조회 쿼리 옵티마이저 확장과 분산 모델링 패턴 CRUD 일관성 관계형 vs 비관계형 관계형 가장 일반적인 애플리케이션 백엔드 중 하나 데이터는 관계 테이블에 저장되며, 각 관계에는 여러 필드(열)가 포함 테이블 내의 각 관계는 동일한 스키마(string, integer, float 등의 정적 유형이 할당된 일련의 열)를 가진다 행은 일반적으로 연속된 바이트 시퀀스로 디스크로 저장 테이블은 일반적으로 테이블의 각 행에 대한 고유 필드인 기본 키에 의해 인덱싱 다른 테이블의 기본 키 값과 연결된 값이 있는 필드인 다양한 외래 키를 가질 수도 있다. 일반적으로 ACID 준수 정규화된 스키마, ACID 컴플라이언스 및 높은 트랜잭션 비율 지원을 결합한 관계형 ..
-
원천 시스템에서의 데이터 생성<견고한 데이터 엔지니어링> 2023. 10. 9. 19:05
Data 흐름 원천 시스템에서의 데이터 생성 데이터 수집은 IoT 장치, 신용카드 단말기, 망원경 센서, 주식 거래 등에서 데이터를 수집한다. File -> 바이트의 시퀀스로서 일반적으로 디스크에 저장 애플리케이션은 종종 파일에 데이터를 쓴다. (로컬 매개변수, 이벤트, 로그, 이미지 및 오디오 저장) 정형 : xlsx, csv 반정형 : json, xml, csv 비정형 : txt, csv API. : 시스템 간에 데이터를 교환하는 표준 방식 다양한 서비스와 프레임워크, 그리고 API 데이터 수집 자동화 서비스 애플리케이션 데이터베이스 OLTP 애플리케이션의 상태를 저장 은행 계좌의 잔액을 저장하는 데이터베이스 개별 데이터 레코드를 높은 속도로 읽고 쓰는 온라인 트랜잭션 처리 트랜잭션 데이터베이스 짧은..
-
Git 명령어 정리&github카테고리 없음 2023. 9. 18. 00:34
Git init 저장소(repository) 만들기 Git status 현재 저장소 상태 출력 .gitignore 사용자별, 시스템별로 달라지는 파일의 경우 여러 사람이 진행하는 프로젝트를 할 시에 git으로 관리하지 않을 대상 기술 Git add 현재 디렉터리 하위의 모든 파일을 추가 *Staging : 변경 사항을 저장소에 저장하기 직전 단계에 올려놓는 개념 Git commit /User/project/ config --global user.email harvey@naver.com // 이메일 설정 /User/project/ config --global user.name "harvey" // 이름 설정 git commit -m "Project is revised" Git diff 직전 커밋 후 변경 ..
-
데이터 엔지니어링 수명 주기 전체에 걸친 기술 선택Data Engineer 2023. 9. 17. 23:48
데이터 기술 : 오픈 소스, 관리형 오픈 소스, 독점 소프트웨어, 독점 서비스 등 거의 모든 방식으로 사용할 수 있는 Turn-Key 제품으로 제공 "수명 주기 전체에 걸쳐 데이터를 운반하고, 최종 사용자의 요구에 따라 이를 제공하는 견고하고 신뢰성 높은 시스템 설계" - 아키텍처 : 비즈니스의 전략적 목표를 충족하는 데이터 시스템의 고수준 설계, 로드맵 및 청사진 데이터 엔지니어링 수명 주기 전반에 걸쳐 데이터 기술 선택 고려사항 팀의 규모와 능력 단순한 기술부터 복잡한 기술에 이르기까지 팀의 규모에 따라 솔루션에 할애할 수 있는 역량의 규모가 대략적으로 결정 Cargo-cult engineering : 소규모 데이터 팀이 대기업의 최첨단 기술에 관한 블로그 포스팅을 참고하여 모방하는 사례 소규모 팀이..
-
TransactionComputer Science 2023. 9. 6. 00:21
데이터베이스의 목적은 기업의 목표 달성을 위해 모순이 없는 정확한 데이터를 만들어내기 위함이다. 그러므로 데이터를 업데이트하고, 삭제하고, 추가하는 등의 DB 연산은 매우 중요하다. 예를 들어, DB 내 삽입/ 삭제/ 갱신 연산 중 하드웨어의 이상, 소프트웨어 오류 등으로 연산의 실행이 취소된 상황에는, DB를 트랜잭션 이전 상황으로 돌려놓아야 한다. 이 때 DB 연산 작업에 필요한 SQL 문들의 모임을 트랜잭션(Transaction) 이라고 한다. 트랜잭션의 원리 - 원자성, Atomicity : All or Nothing으로 정리할 수 있으며, 오류 발생 시 트랜잭션 이전 원래 상태로 복구해야 한다. - 일관성, Consistency : 트랜잭션 성공 이후 DB 내 데이터는 이전과 모순되지 않고 일관..
-
DMBOKData Engineer 2023. 9. 3. 17:44
비즈니스 메타데이터 : 비즈니스와 데이터 정의, 데이터 규칙과 로직, 데이터 사용 방법과 장소, 데이터 소유자 등 비즈니스에서 데이터가 사용되는 방식과 관련이 있다. 비즈니스 메타데이터는 데이터 엔지니어에게 데이터를 적절하게 사용하는 올바른 콘텍스트와 정의를 제공한다. 예를 들어, 데이터 엔지니어는 올바른 데이터를 사용해 비즈니스 메타데이터(데이터 사전 / 데이터 카탈로그)를 참조해서 어떻게 고객을 정의했는지 찾아볼 수 있다. * Data Catalog : 'highly scalable data discovery and metadata management service' 기술 메타데이터 데이터 엔지니어링 수명 주기 전반에 걸쳐 시스템이 생성하고 사용하는 데이터를 의미한다. 여기에는 데이터 모델과 스키마,..
-
DP 에러 찾기Programmers 2023. 9. 3. 15:58
동전 2 1 초 (추가 시간 없음) 128 MB 64987 19571 13830 29.412% 문제 n가지 종류의 동전이 있다. 이 동전들을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶다. 그러면서 동전의 개수가 최소가 되도록 하려고 한다. 각각의 동전은 몇 개라도 사용할 수 있다. 사용한 동전의 구성이 같은데, 순서만 다른 것은 같은 경우이다. 입력 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주어질 수도 있다. 출력 첫째 줄에 사용한 동전의 최소 개수를 출력한다. 불가능한 경우에는 -1을 출력한다. 다음 코드의 ..