전체 글
-
[Django] Django의 Transaction 처리Django 2023. 11. 6. 17:52
Django의 Transaction *Mysql은 버전에 따라 Django의 트랜잭션이 적용되지 않을 수도 있다. *Mysql 버전이 트랜잭션을 지원하지 않으면, Django는 항상 오토커밋 모드로 기능읋 할 것이다. View 함수를 실행하기 전에 Django는 트랜잭션을 시작한다. Response에 문제가 없다면, Django는 트랜잭션을 커밋한다. 만약 view에 예외가 발생했다면, Django는 트랜잭션을 롤백한다. View가 StreamingHttpResponse를 반환한다면, response의 내용을 읽는 행위는 내용을 만들기 위해서 코드를 실행시킬 것이다. *StreamingHttpResponse(HLS) HTTP/1.1 및 HTTP/2와 같은 최신 HTTP 프로토콜에서 지원 : 데이터를 조각..
-
방화벽Computer Science 2023. 11. 5. 21:47
원치 않는 트래픽으로부터 네트워크를 보호하는 네트워크 보안 솔루션 사전 프로그래밍된 일련의 규칙에 따라 들어오는 악성코드를 차단 네트워크 내의 사용자가 특정 사이트 및 프로그램에 액세스하는 것을 방지 보안 수준이 낮은 환경에서 네트워크 트래픽을 사용자 인증 및 검사를 한 후에 보다 안전한 환경으로 이동해야 한다는 단순한 아이디어 기반 권한이 없는 사용자, 장치 및 애플리케이션이 보호된 네트워크 환경 / 세그먼트에 침입 방지 기존 방화벽은 프록시와 스테이트풀이라는 두 개의 캠프로 나뉘어져 있었지만, 프록시의 성능이 느려지면서 대부분의 방화벽은 상태 기반이다. 방화벽 네트워크는 분계 지점을 통과하는 모든 장치와 트래픽을 보호하여 광범위한 확장성을 지원 네트워크 수준, OSI 계층 3 및 4에서 작동하며, 외..
-
데이터베이스 관련 정리Computer Science 2023. 11. 5. 21:45
제 1 정규화 : Table 칼럼이 Atomic Value가 되도록 테이블을 분해 각 칼럼이 하나의 속성만 가져야 한다 하나의 칼럼은 같은 종류/type의 값을 가져야 한다 각 컬럼이 유일한 이름을 가져야 한다 칼럼의 순서가 상관이 없어야 한다 제 2 정규화 : 제 1 정규화에 대해 완전 함수 종속 제 3 정규화 : 제 2 정규화를 진행한 테이블에 대해 이행적 종속을 없애도록 테이블을 분해 BCNF 정규화 : 제 3 정규화를 진행한 테이블에 대해 모든 결정자가 후보키가 되도록 테이블을 분해 제 4 정규화 : BCNF 정규화를 진행한 테이블에 대해 다중값 종속이 없도록 분해 다중값 종속 : 같은 테이블 내 독립적인 두 개 이상의 칼럼이 또 다른 컬럼에 종속되는 것 제 5 정규화 : 제 4 정규화를 만족한 ..
-
GitComputer Science 2023. 10. 30. 07:02
Git Pull Request, PR 사용자가 원격 저장소에 push하여 새로운 사항이 있을 경우, 다른 사용자에게 push된 상황을 알리는 것을 뜻함 원격 저장소에 Push 시 Github에서 해당 레포에 들어가면 상단에 ‘Compare&pull request’라는 버튼 생성 클릭하면 push된 내용은 간단하게 요약해서 알려줄 수 있는 입력칸 등장. 메시지를 작성한 뒤 우측 하단의 Create Pull Request 버튼을 클릭함으로써 전송 Pull request 전송 시 여러 동료들에게 리뷰를 받을 수 있고, 내가 올린 코드에 동료가 병합하여 진행할 수도 있다 Pull request 순서 Fork : 타겟 프로젝트의 저장소를 자신의 저장소로 Fork 진행 Clone, remote 설정 : Fork로 ..
-
Spark Structured Streaming_1Data Engineer 2023. 10. 29. 16:53
공식 문서에 따르면 Spark Streaming은 더 이상 버전 업데이트가 되지 않는 구식(?)이 되어버려서, Spark Structured Streaming 툴을 사용해야 한다. 오늘은 Spark Structured Streaming에 대해 알아보기로 한다. *공식문서 : https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html Structured Streaming Programming Guide - Spark 3.5.0 Documentation Structured Streaming Programming Guide Overview Structured Streaming is a scalable and fault-tol..
-
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 애플리케이션의 상태를 저장 은행 계좌의 잔액을 저장하는 데이터베이스 개별 데이터 레코드를 높은 속도로 읽고 쓰는 온라인 트랜잭션 처리 트랜잭션 데이터베이스 짧은..