본문 바로가기

Category

(129)
제 49회 SQLD 합격 후기와 공부법 제49회 SQL 개발자(SQLD) 시험에 합격했다. 업무에서 SQL을 자주 쓰다 보니 자격증도 하나 갖고 싶었는데 다행히 합격 🤗🤗 *시험결과는 사전점수발표일에 웹사이트에서 확인할 수 있다 공부법에 앞서 나는 대학때 데이터베이스 수업을 수강한 적이 있고, 취준을 하면서 SQL 문제풀이를 계속했었기 때문에 공부 기간을 일주일로 잡고 시작했다. 시간은 퇴근 후 적게는 1시간 많게는 3시간 정도 쓴 것 같다. 📌 공부 방법이론/ PDF 요약집 찾기 ⭐ 네이버 카페 데이터 전문가 포럼에 가입하면 사람들이 올려놓은 PDF 요약집을 찾을 수 있다. 나는 PDF 파일을 세개정도 다운로드한 후에 제일 눈에 잘 들어오는 파일을 하나 골라 2번 꼼꼼히 읽었다. 시중에 SQL 전문가 가이드라는 이론책이 있긴 하지만 SQLD..
AWSOME DAY 온라인 컨퍼런스 후기🙋‍♂️ 지난 9일 AWS의 온라인 컨퍼런스 AWSome Day에 참여했다. 행사는 AWS 서비스에 대해 사전 지식이 없는 초보자를 대상으로 하는 1일 무료 클라우드 교육 행사다. 데이터 엔지니어링에 대해 찾아보다보면 AWS라는 단어를 여기저기서 볼 수 있는데 기업에서 AWS를 사용하는 이유는 무엇인지, 서비스는 어떤 것들이 있는지 알아보고 싶어 등록했다❗ 시간대는 오전과 오후로 나눠져있었다. 나는 미리 AWS에서 보내준 메일을 통해 오후 시간대에 들어갔다. 미리 촬영된 영상으로 오전 및 오후 반복 진행이라 내용은 같았다. 행사는 AWS 소개부터 시작해 컴퓨팅, 스토리지, 데이터베이스, 네트워킹, 보안으로 나눠 서비스를 소개하는 식으로 진행됐다. 여기부터는 강의를 듣고 적어둔 내용, 이후 더 찾아본 내용들을 정리..
[프로그래머스] 가장 먼 노드 | 파이썬 (💡 최단 경로 알고리즘) 문제 설명 문제 풀이 가장 멀리 떨어지 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드를 의미한다는 부분에서 다익스트라 최단 경로 알고리즘을 사용해야겠다고 생각했다. 전체 코드 import heapq def dijkstra(start): q = [] # 시작 노드로 가는 최단경로는 0 heapq.heappush(q, (0, start)) distance[start] = 0 while q: dist, now = heapq.heappop(q) if distance[now] < dist: continue for i in graph[now]: cost = dist + i[1] if cost < distance[i[0]]: distance[i[0]] = cost heapq.heappush(q, (co..
[BOJ/백준] 4386번 별자리 만들기 | 최소 신장 트리 | 파이썬 문제 설명 문제 풀이 모든 별은 서로 직/간접적으로 이어져 있어야 하고, 별자리를 만드는 최소 비용을 구해야 한다고 해서 그래프 문제, 그중 최소 신장 트리 알고리즘을 사용하는 문제라고 생각했다. * 신장 트리(Spanning Tree): 하나의 그래프에서 모든 노드를 포함하면서 사이클이 존재하지 않는 부분 그래프. 최소 신장 트리는 신장 트리 중에서도 최소 비용으로 만들 수 있는 신장 트리를 찾는 알고리즘이다. 최근에 이코테에서 크루스칼 알고리즘에 대해 공부했기 때문에 이를 적용해보기로 했다! 크루스칼 알고리즘(Kruskal Algorithm)의 과정은 다음과 같다. 1) 간선 데이터 오름차순으로 정렬하기 2) 간선을 확인하며 2-1) 사이클이 만들어지면 pass 2-2) 사이클이 만들어지지 않으면 최..
[Airflow] 튜토리얼 따라하기 (with 공식 문서🧐) Airflow 공식문서의 튜토리얼을 따라해보자. 오늘 따라할 코드는 다음과 같다. airflow/example_dags/tutorial.py from datetime import datetime, timedelta from textwrap import dedent # The DAG object; we'll need this to instantiate a DAG from airflow import DAG # Operators; we need this to operate! from airflow.operators.bash import BashOperator with DAG( 'tutorial', # These args will get passed on to each operator # You can over..
[프로그래머스] 디스크 컨트롤러 | 파이썬 (💡 SJF 스케줄링 구현하기) 문제 설명 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 문제 풀이 작업의 요청부터 종료까지 걸린 시간의 평균을 최소로 만들어야하는, 즉 SJF(Shortest-Job-First) 스케줄링을 비선점형 방식으로 구현하는 문제였다. 마침 운영체제에서 스케줄링 기법을 공부하고 있었던 터라 반가웠던 문제❕ 스케줄링에 관한 내용은 아래에서 확인 [운영체제] 4. CPU 스케줄링 | KOCW 2017 이화여대 반효경 교수님 * 강의를 듣고 복습하며 정리한 내용입니다. CPU 프로그램의 기계어 명령을 수행하는 컴퓨..
[운영체제] CPU 스케줄링 | KOCW 2017 이화여대 반효경 교수님 * 강의를 듣고 복습하며 정리한 내용입니다. CPU 프로그램의 기계어 명령을 수행하는 컴퓨터 내 중앙 처리 장치 CPU 스케줄링 Ready Queue에 있는 프로세스 중 CPU를 줄 프로세스를 고르는 것. 운영체제 코드인 CPU 스케줄러에 의해 수행된다. CPU 스케줄링의 필요성 사용자 프로그램은 CPU 작업과 I/O 작업의 반복으로 이루어진다. CPU Burst: 사용자 프로그램이 CPU를 가지고 빠른 명령을 수행하는 작업. I/O Burst: I/O 요청이 발생한 후 커널을 통해 입출력을 수행하는 비교적 느린 작업. 프로세스는 이런 특성에 따라 두 가지로 나눌 수 있다. CPU-bound process: I/O 요청이 거의 발생하지 않아 CPU 버스트가 길게 나타나는 프로세스. I/O-bound pr..
📌유니온 파인드(Union-Find)를 알아보자 (이코테 WITH 파이썬) 어젯밤 알고리즘 스터디 모의 코테 중 못 푼 문제가 있는데 검색해보니 유니온 파인드로 푼다고 했다. 유니온 파인드가 뭔지 알아보고 못 풀었던 백준 문제도 풀어보겠다😇 유니온 파인드 우선 서로소 집합(Disjoint Sets)에 대해 알아야 한다. 서로소 집합은 공통 원소가 없는 두 집합을 말한다. 서로소 집합 자료구조는 서로소 부분 집합들로 나누어진 데이터를 처리하기 위한 자료구조이며, union과 find 연산으로 조작할 수 있기 때문에 유니온 파인드 자료구조라 불리기도 한다. union: 2개의 원소가 포함된 집합을 하나의 집합으로 합치는 연산 find: 특정 원소가 어느 집합에 포함되어있는지 찾는 연산 유니온 파인드 알고리즘은 서로소 집합을 표현하기 위한 알고리즘이다. 이를 통해 각 집합이 어떤 원..