목록Data Engineer with Python (6)
study
TDD는 Test-Drive-Development의 약자로 소프트웨어 블록을 개발할 때 미리 그 소프트웨어가 만족해야할 입력과 출력 집합을 정의해놓고 개발하는 것을 말합니다. 장점 객체 지향적인 코드 작성(모듈화를 지향, 종속성과 의존성이 낮음) 디버깅 시간의 단축(unitest를 지향) 유지보수 용이 단점 생산성 저하, 비용증가 진입 장벽이 높다(팀원들이 TDD에 익숙하지 않은 경우 개발에 집중하기 어려움) TDD를 위해 python unittest를 활용하여 간단하게 구현해보겠습니다 calculator.py 사칙연산을 위한 함수 정의 unit_test.py를 통해 앞서 작성한 calculator.py 함수 테스트 테스트 결과 method들이 정상적으로 동작 asseretion 메소드 unittest ..
데코레이터란 사전적 의미로 "장식과" 또는 "디자이너"등의 의미를 가지고 있으며, 여러 가지 기능을 추가하는 구문이다 메인 함수에 부가적인 기능을 반복적으로 추가할 때 사용한다 데코레이터 문법 함수의 시작과 끝을 출력하고 싶다면 함수를 만들 때마다 print를 넣어야 하며 함수가 많아질수록 코드가 길어지고 번거로운 작업이다 데코레이터 함수를 정의한 후 @데코레이터를 통해 적용가능하다 데코레이터 적용 python 웹 프레임워크 django를 통해 웹페이지 구현 update, delete view 구현 데코레이터 함수 정의 고유값을 통해 기존의 User와 요청을 보낸 User를 비교하여 접근권한을 부여 데코레이터를 사용하는 목적은 코드 간결화지만 데코레이터가 많아지면 코드가 길어지는 문제가 발생한다 이를 해..
1. map, lambda 사용 기존 코드 개선된 코드 map : 리스트의 요소를 지정된 함수로 처리해주는 함수 lambda : 함수를 한 줄로 작성(매개변수, 표현식) 2. 코드 동작 순서 변경 기존 코드 개선된 코드 append 함수를 사용하는 경우 반복문 내부에서 타입 변환을 하는 것보다 반복문 끝나고 전체 데이터에 대해서 한 번에 타입 변환하는 것이 효율적이다 3. 데이터 프레임 열 계산 기존 코드 개선된 코드 데이터프레임 계산을 진행할 때 values를 하게 되면 type이 numpy로 변환되어 기존 코드(Series)보다 빠른 계산이 가능하다
투자? 투기? 나가모토 사토시(익명)라는 사람이 만든 비트코인이 큰 가격 상승으로 인해 일반 대중들까지 큰 관심을 갖게 되었습니다. 코인에 대한 미래가치는 무시하고 상승장 랠리에 탑승한 사람들이 가격이 하락하자 코인은 '투기'이다라는 말이 나왔습니다. 블록체인 시장은 2021년 49억 달러지만 2026년 674달러와 크게 증가하고 있는 시장입니다 미래의 변화에 한 축은 블록체인이 맡고있는 것은 자명한 사실입니다 재무제표, 지표, 근거 코인에 대해서 투기라고 말하는 사람들의 근거는 코인을 평가할 수 있는 지표가 없다라는 것입니다. 주식의 경우 기업의 실적이라는 지표를 통해 개별 기업들간 평가를 할 수 있습니다. 해당 자료는 스테이킹 순위입니다 스태이킹이란 코인을 Pool에 위임하여 일정기간 후에 보상으로 ..
데이터베이스는 데이터 유형에 따라 SQL과 NoSQL로 구분하며 SQL에는 대표적으로 MySQL, PostgreSQL이 있다 NoSQL에는 대표적으로 redis, mongoDB과 있다 병렬 처리 오픈소스 소프트웨어인 하둡에 대해서 소개하겠습니다 하둡은 2가지 특징을 가지고 있으며 첫 째 HDFS인 분산 파일 시스템입니다 파일이 여러 다른 컴퓨터에 있는 것을 말합니다 두 번째는 Map Reduce입니다 작업을 하위 작업으로 나누고 여러 장치에 데이터를 분배합니다 Map Reduce는 초기의 병렬 처리에서 많이 사용된 것으로 현재는 HIVE를 가장 많이 사용하고 있습니다 병렬 계산 프레임워크인 Spark를 소개하겠습니다 MapReduce보다 100배 더 빠른 작업 속도를 가졌습니다 Spark를 Python ..
데이터 엔지니어는 데이터 파이프라인을 구축하며, 데이터 파이프라인을 구축하는데 가장 많이 사용하는 프레임워크는 ETL(Extract, Transform, Load)이다 1. Extract(추출) : Row data(원본 데이터) 추출 2. Transform(변형) : 추출된 데이터 변형 3. Load(적재) : 데이터웨어하우스에 데이터 적재 Data lake는 원본 데이터로 구조화되어 있으며, 전처리 작업이 진행되지 않기 때문에 저장하는데 비용 효율적이다 반면 Data warehouse는 전처리 작업이 진행되기 때문에 상대적으로 크기는 작지만 분석에 최적화되어 있다 Scheduling에는 크게 Batche와 stream로 구분된다 Batche : 데이터가 일정 크기가 쌓이면 업데이트 하는 방식 Strea..