전체 글

Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
·Data Engineering
Apache Airflow 환경 구성 MacOS 환경 Python 3.8.10 버전 단일 local server 위의 환경에서 Apache Airflow 를 설치한다. 우선, airflow 를 설치할 가상 환경을 생성한다. python3 -m venv ./airflow 가상환경을 activate 시켜줍니다. source airflow/bin/activate 다음으로 AIRFLOW_HOME 이라는 환경변수에 airflow 의 경로를 저장합니다. export AIRFLOW_HOME=~/airflow echo 명령어로 환경변수가 잘 설정되었는지 확인합니다. airflow version 에 대한 환경 변수를 설정한다. airflow 2.7 version 은 Python 3.8, 3.9, 3.10, 3.11 을 ..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/92344 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이것이 누적합이다 !! 를 보여주는 문제이다 ㅋㅋㅋ 단순하게 구현하면 시간초과가 나므로 누적합을 이용하여 degree 값을 미리 계산해두고 board에 더해주면 된다. def solution(board, skill): answer = 0 n = len(board) # col m = len(board[0]) # row dp = [[0] * (m+1) for _ in range(n+1)] for t,..
지난주에 시험보고 이제서야 쓰는 후기 AWS Data Analytics Specialty Certification 을 취득했다. Solutions Architect 를 취득하고 나서 머리가 가열되어 있는 상태(?)에서 조금만 더 공부하면 금방 딸 수 있다는 주위 사람들의 말을 듣고 SAA 시험 본 날에 DAS 시험을 신청했다. 솔루션즈 아키텍트 시험을 공부할 때와 동일하게 Exam Topics 로 공부했고 따로 유료 결제까지 하면서 dump 공부를 하진 않았다. 그래서 무료로 제공되는 약 70-80 문제 정도만 1회독 했다. 덤프를 외우지는 않았고 문제 풀면서 몰랐던 기능들을 정리해보았고, 서비스들을 어떻게 붙여서 써먹는지 이해하면서 공부하려고 노력했다. 공부하면서 Kinesis , EMR, Glue 등..
·Algorithm (PS)
https://www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net 와 ~~ 상당히 어려운 재귀인 것 같다 문제를 읽어봤을 때 얻을 수 있는 힌트는 간단하다. 프로젝트 팀이 형성되는 경우는 그래프 구조에서 cycle이 형성되는 상태이다. 따라서 cycle 을 형성하기 위하여 node 들이 이어져있는 관계를 파악해야 한다. 예를 들어서 문제 예시에서 팀을 이루는 (4, 7, 6) 을 살펴보자. 1. visited node 4를 아직 방문하지 않았으므로 4에 대해 방문처리..
·Algorithm (PS)
https://www.acmicpc.net/problem/10986 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 1. 첫번째 시도 -> 메모리 초과 발생 256MB int형 == 4Byte 1KB == 1024Byte 1MB == 1024KB 256MB = 256 * 1024KB = 256 * 1024 * 1024B = int형 256 * 1024 * 1024 / 4Byte = 67108864개 [아이디어] 2차원 배열 dp 를 생성하고 여기에 i부터 j 까지..
미루고 미루다가 SAA 시험을 드디어 봤다. 17만원짜리 시험 떨어지면 어떡하나 했는데 다행히 790점대로 무난히 합격하였다. 1. 준비기간 : 3 ~ 4개월 - 준비 기간의 경우 회사를 다니면서 준비하느라 집중적으로 하루에 N시간씩 쏟지는 못했다 - 시간을 많이 쓸 수 있는 상황이거나 AWS 경험이 많다면 좀 더 짧은 기간에 준비할 수 있을 것 같다. - Cloud Practitioner 는 따지 않았으며, 바로 SAA 준비를 시작했다. 2. 준비 방법 1) Udemy SAA-03 강의 저렴한 가격에 강의 퀄리티, ppt 퀄리티도 다 마음에 들었다. 다만 꼼꼼히 듣는데 시간이 꽤 걸린다. 영어자막으로 보긴했는데 한국어 자막도 지원하는 것으로 알고 있다. 강의를 찾는다면 추천 ! Udemy 는 캐싱을 해..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 유형 : 구현 + priority queue 활용하기 import heapq from itertools import combinations_with_replacement from collections import defaultdict def solution(k, n, reqs): answer = int(1e9) # 기다린 시간의 최솟값 type_list = defaultdict(list) ..
·Algorithm (PS)
https://www.acmicpc.net/problem/6051 6051번: 시간 여행 모범생 현수는 코딩하는 시간을 늘리기 위해 타임 머신을 구매 했다. 현수는 정상적으로 문제를 코딩하거나 (타임 머신을 사용하지 않고), 과거의 임의의 지점으로 시간여행 할 수 있다. 미 www.acmicpc.net 메모리 초과 발생 풀이 .. 나이브하게 풀면 메모리 초과가 발생한다 ㅠㅠ # https://www.acmicpc.net/problem/6051 import sys import copy input = sys.stdin.readline N = int(input()) query = [] log = [[]] # 모든 기록 stack = [] # 가장 최근에 푼 문제 = 스택 맨 위 for idx in range(..
minjiwoo
minji's engineering note