전체 글

데이터 엔지니어링, 자동화에 관심을 갖고 공부 중입니다.
프로젝트 단위 공부/[개인 프로젝트] 공모전 크롤링

[개인 프로젝트] 공모전 크롤링 (2) - 가상환경 및 초기 설정, git remote

이전에 공모전 크롤링을 진행할 계획을 마련하였다. 이번에는 프로젝트를 진행할 가상환경과 장고를 세팅하고, github와 연동하는 작업을 진행한다. [개인 프로젝트] 공모전 크롤링 (1) - 계획서이전에 Selenium을 배우고 나서 복습 겸 영화 사이트 스크래핑을 진행했었다. 이번에는 Django로 가져온 데이터를 웹으로 제공하는 프로젝트를 진행해보고자 한다. 계획서를 시작으로 기능을 하나sanseo.tistory.com파이썬 가상환경 설정 및 초기 설정파이썬에서 가상환경을 설정하고, 장고를 다운로드하는 것은 아래 링크를 참고하면 된다. [Web] Visual Studio Code에서 장고(Django) 사용장고(Django)가 설치되어 있지 않다면, 아래 링크에서 설치 과정을 확인할 수 있으니 먼저 진..

[프로그래머스] 데이터 엔지니어링 데브코스 3기/TIL(Today I Learn)

[TIL - 25일 차] 데이터 웨어하우스와 SQL과 데이터 분석 (5)

트랜잭션과 기타 고급 SQL 문법트랜잭션이란?트랜잭션이란 Atomic하게 실행되어야 하는 SQL을 묶어서 하나의 작업처럼 처리하는 방법이다. 이는 DDL이나 DML 중 레코드를 수정/추가/삭제한 것에만 의미가 있다. BEGIN과 END 혹은 BEGIN과 COMMIT 사이에 해당 SQL들을 사용한다. 만약 조회만 진행할 경우 트랜잭션으로 묶일 이유가 없다.예시 (은행 계좌 이체)계좌 이체는 인출과 입금의 두 과정으로 이루어진다. 인출은 성공했는데, 입금이 실패하는 경우가 생기는 상황이 생기면 안 되며, 두 과정은 동시에 성공하거나 실패해야 한다. 이를 Atomic하다고 하며, 이런 과정들은 트랜잭션으로 묶어주어야 한다.아래의 코드에서는 마치 하나의 명령어처럼 처리된다. 즉 모두 성공하거나 실패하는 두 경우..

[프로그래머스] 데이터 엔지니어링 데브코스 3기/숙제

[숙제 - 24일 차] 데브코스 SQL 숙제

숙제TableFieldssession_timestampsessionId (string), ts (timestamp)user_session_channeluserid (integer), sessionid (string), channel (string)session_transactionsessionid (string), refunded (boolean), amount (integer)channelchannelname (string)사용자 별로 처음 채널과 마지막 채널 알아내기ROW_NUMBER vs FIRST_VALUE / LAST_VALUE아래의 코드는 userid가 251인 사용자의 channel을 확인할 수 있다.SELECT ts, channelFROM raw_data.user_session_channe..

[프로그래머스] 데이터 엔지니어링 데브코스 3기/숙제

[숙제 - 23일 차] 데브코스 SQL 숙제

숙제채널별 월별 매출액 테이블 만들기TableFieldssession_timestampsessionId (string), ts (timestamp)user_session_channeluserid (integer), sessionid (string), channel (string)session_transactionsessionid (string), refunded (boolean), amount (integer)channelchannelname (string)adhoc 밑에 CTAS로 본인이름을 포함한 테이블로 만들기session_timestamp, user_session_channel, session_transaction 사용아래와 같은 필드로 구성monthchanneluniqueUsers (총 방문 사..

기억에 남는 블로그 닉네임
얕게, 깊게