
4/21(월) - 수업 : 빅데이터 및 클라우드 기초
4/22(화) - 수업 : SQL 기초
4/23(수) - 수업 : SQL 기초
4/24(목) - 수업 : SQL 기초
4/25(금) - 수업 : SQL 기초
이번 주 월요일에는 Docker 실습을 했고, 나머지 요일에는 SQL 기초 수업을 집중적으로 하면서 MSSQL을 다루었다.
작년에 SQLD 자격증을 준비하면서 SQL 쿼리를 공부해본 경험이 있었다. 후에는 MySQL을 기반으로 실습했었는데, 이번에는 처음으로 MSSQL을 다루게 되었다.
전반적인 쿼리 작성 방식은 익숙했기 때문에, 이번 주는 여유롭게 수업에 참여할 수 있었다. 하지만 MySQL과 함수 사용법에 차이가 있었다.
예를 들어, MySQL에서 상위 레코드를 조회할 때에는 ORDER BY 절에서 LIMIT 함수를 사용했지만, MSSQL에서는 SELECT 절에서 TOP 함수를 통해 조회한다.
-- 상위 10개 조회
-- MySQL
SELECT * FROM 테이블명
ORDER BY 컬럼명 LIMIT 10;
-- MSSQL
SELECT TOP 10 * FROM 테이블명
ORDER BY 컬럼명;
다른 부분들이 더 있지만, 다음 주에는 MySQL을 다루기 때문에 이번엔 여기까지만 쓰겠다.
월요일에 Docker를 다루면서, 간단한 Flask 웹서버를 직접 컨테이너로 띄워보는 경험을 했다.
구성은 생각보다 단순했다.
app.py 파일에 Flask로 간단한 라우팅 정의Dockerfile을 통해 이미지 빌드$ docker run 명령어를 사용하여 컨테이너 실행localhost:에 접속 -> 페이지 출력본격적으로 웹 프레임워크를 다룬 경험이 아직 없어서 사실 이전까지는 "웹 서버를 띄운다"는 것이 막연하게 느껴졌는데, 이 과정을 직접 해보면서 웹 개발에 대한 흥미가 더해지고, 감이 조금씩 잡히는 느낌이었다. 또 웹 프레임워크에 대해 깊이 공부해보고 싶다는 생각이 들었다.
같이 수업 듣는 분 중에 파이썬 개발을 꾸준히 하신 분이 있는데, 그 분과의 대화를 통해 FastAPI에 대해 알게 되었다. FastAPI는 빠른 API개발. 타입 기반의 자동검증, Swagger 문서 자동 생성 때문에 백엔드 개발자와 데이터 엔지니어 쪽에 인기가 많다고 한다.
그래서 앞두고있는 ADsP 시험이 끝나면 본격적으로 FastAPI를 공부해볼 계획이다.
SQL 실습을 하면서 전반적으로 익숙한 문법이었지만, 서브쿼리를 활용한 쿼리 작성이 가장 헷갈리게 느껴졌다.
JOIN은 이전에 빈번하게 다루었어서 아직 2개의 테이블을 연결하는데에 있어서는 큰 어려운 부분이 없었지만, 오히려 서브쿼리를 사용하여 특정 조건에 따라 데이터를 필터링하고 집계 값을 기준으로 다시 조회하는 쿼리 작성에 어려움을 느꼈다.
이 부분은 많은 문제 풀이와 함께, 서브쿼리와 JOIN을 이용한 쿼리를 동시에 작성하면서 흐름을 익히고 익숙해 지는 것이 중요할 것 같다.
다음 주에는 MySQL을 본격적으로 다룬다. 기존에 다뤄본 경험이 있는 만큼, 기초를 탄탄하게 다시 다지고, 다양한 예제 풀이를 통해 쿼리 작성 능력을 향상시킬 것이다.
또, 다음 주 부터 리눅스 스터디를 한다. 이번 스터디에서 네트워킹 파트의 발표를 맡았는데, 이유는 내가 학부생 시절과 자격증 준비 중에도 네트워크 개념을 가장 어려워했다. 지금도 네트워크 관련 용어나 흐름에 대해 부족한 부분이 많기 때문에, 이번 스터디를 통해 개념을 확실하게 정리하고 싶다.
아마 나의 발표는 다다음주가 될 거 같은데, 발표자가 내용 숙지가 안된 상태에서 발표를 하는 것은 다른 분들께 피해를 주는 행동이기 때문에, 최대한 깊이 이해하는 걸 목표로 하고 있다.