일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- SQL
- WEB
- CS
- 데이터엔지니어링
- 기술면접
- 부트캠프
- 자료구조
- 파이썬
- Amazon
- AWS
- 에어플로우
- 데이터베이스
- 클라우드
- 알고리즘
- Django
- 웹스크래핑
- 취준
- 프로그래머스
- 운영체제
- 웹크롤링
- airflow
- Service
- 관계형데이터베이스
- 개발
- 웹자동화
- 데브코스
- DataWarehouse
- 개념정리
- 데이터엔지니어
- 데이터웨어하우스
- Today
- Total
목록전체 글 (90)
사진과 음악을 좋아하는 개발자 지망생의 블로그

힙(Heaps)의 사전적 용어 Heap 1. 무질서하게 서로의 위에 쌓아 올린 물건들의 무질서한 집합체. 2. 많은 양 또는 수. 자료 구조에서의 힙(Heaps) - 트리 데이터 구조에서의 "힙"은 최댓값 또는 최솟값을 효율적으로 검색하고 추출하기 위한 방법 중 하나 - 이때 "힙"은 일종의 이진 트리(binary tree)를 기반으로 구성되며, 다음과 같은 특성을 갖는다 1. 힙은 완전 이진 트리(Complete Binary Tree) 구조를 가진다 2. 최대 힙(Max Heap)은 부모 노드가 항상 자식 노드보다 크거나 같은 값을 갖는 구조입니다. → 즉, 가장 큰 값이 루트 노드에 위치함 3. 최소 힙(Min Heap)은 부모 노드가 항상 자식 노드보다 작거나 같은 값을 갖는 구조입니다. → 즉, ..
array - 인덱스가 존재하며 타입의 데이터가 연속적으로 존재하는 집합 - 따라서 조회가 빠르나 미리 배열의 크기를 지정해야하며, 데이터 삽입·삭제가 불편하다 list - 수정가능하며 순서가 있는 데이터 집합 - 각 원소의 길이가 달라도 되며 각 원소의 데이터 타입이 달라도 된다. - 인덱스가 존재하나 순서만 나타내는 정도이며 메모리 주소가 비연속적일 수 있다. - 포인터를 통해 다음 데이터를 가리키고 있어 삽입 및 삭제가 쉬우나 데이터 검색 성능이 좋지 않다 ○ list.insert(idx, elm) - list에서 idx번째 위치에 elm을 삽입함. - idx에 elm을 삽입하기 위해선 list의 길이가 1 증가해야하며 기존 idx에 있던 원소는 한칸씩 밀려나게 된다 ○ del(list[idx]) ..

1. 메모리 구조 메모리 구조에는 크게 code, data, stack, heap이 있다 code에는 실행할 프로그램의 코드가 data에는 전역변수와 정적 변수가 stack에는 함수의 매개변수와 지역변수가 heap에는 동적으로 할당하는 변수나 메소드가 저장된다 data를 조금 더 분해하면 초기화된 영역과 초기화되지 않은 영역(BSS)이 있다 2. Python Memory Management 파이썬은 python memory management 에 의해 관리되고 있다 파이썬에서 변수가 선언되면 변수에 값이 들어가는 것이 아니라 python memory management에 의해 heap영역에서 선언된 변수에 메모리 영역을 할당해 주고 변수에는 할당된 변수의 '주소'가 저장된다. 그리고 주소에 해당된 메모리..
참여 중인 프로그래머스 데이터엔지니어링 데브코스 3차 프로젝트가 마무리되어 가고 있다. 이전 프로젝트에서 ETL 과정을 거쳐 대시보드를 만드는 것을 하였는데 이번 프로젝트에는 airflow를 활용하여 스케줄링을 하여 자동으로 데이터를 ETL하고 적재한 데이터를 활용하여 대시보드는 만드는 것이었다. 그리고, 나느 이번 프로젝트에서 ETL 데이터 파이프라인을 구축하는 역활을 맡았다. 어쩌다 보니.... 라고 보기엔 그동안 핵심역활을 하지못한 나를 위해 팀원들이 배려해준거 같았다 그래서 최대한 완벽하게 해보고 싶었다. 물론 완벽하게 해내진 못했다. 기존에 만들었던 코드들을 Dag로 이식하는 과정에서 여러 에러가 발생하면서 예상치 못한 에러가 발생 시 어떻게 대처할지, 그 대처법을 어떻게 자동화할지에 대해 고민..
필요한 패키지 설치를 위한 dockerfile 작성 FROM ubuntu:latest # 필요한 패키지 설치 RUN apt-get update && apt-get install -y curl gnupg # Google Chrome 설치 RUN curl -sSL https://dl.google.com/linux/linux_signing_key.pub | apt-key add - RUN echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list RUN apt-get update && apt-get install -y google-chrome-stable..
공공데이터 api 관련해서 프로젝트를 진행하던 중 궁금증이 생겼다 요청변수가 pageNo, numOfRows 인 공공데이터 api가 있다 pageNo는 가져올 page수이고, numOfRows 가져올 열(데이터)의 갯수이다. 예를들어, 내가 구직공고 데이터 100개를 가져오고 싶을때 pageNo = 1, numOfRows = 100 으로 가져올수도 있고, pageNo = 1 ~ 10, numOfRows = 10 으로 가져올수도 있다. 그리고, pageNo = 10, numOfRows = 10에 경우 모든 정보를 보려면 api 호출 시 pageNo를 1부터 10까지 바꿔서 호출해야한다. 즉, 10번 호출해야한다. 그런데, 공공데이터 api는 느리다. 따라서, 공공데이터 api를 통해 데이터를 가져오려면 최..
상황 docker-compose up -d를 실행한 후 airflow 로컬 UI에 들어갔으나 에러가 발생하여, 확인해보니 다음과 같은 에러가 발생하였다 [2023-06-20 06:52:51,575] {triggerer_job.py:348} ERROR - Triggerer's async thread was blocked for 0.52 seconds, likely by a badly-written trigger. Set PYTHONASYNCIODEBUG=1 to get more information on overrunning coroutines. Airflow에서 트리거 문제의 원인으로 여러가지(트리거의 작업 차단, 너무 많은 트리거, 콜백 실행 중 Airflow 작업자 비정상 종료, 트리거의 무한 루프,..
정확히는 다음과 같이 에러가 발생했 airflow-scheduler_1 | airflow-worker_1 | .................... airflow-worker_1 | ERROR! Maximum number of retries (20) reached. airflow-worker_1 | airflow-worker_1 | Last check result: airflow-worker_1 | $ airflow db check airflow-worker_1 | Unable to load the config, contains a configuration error. airflow-worker_1 | Traceback (most recent call last): airflow-worker_1 | File..