[Airflow] 리눅스 도커를 이용한 설치 삽질기
딥상어동의 딥한 프로그래밍/엔지니어링2022. 5. 10. 01:32[Airflow] 리눅스 도커를 이용한 설치 삽질기

가짜연구소 내 Python - Data Engineering 스터디를 위해 작성했습니다. https://www.notion.so/chanrankim/PseudoLab-c42db6652c1b45c3ba4bfe157c70cf09 (가짜연구소 링크) https://www.notion.so/chanrankim/Data-Engineer-Python-83c206a662004120a8211a800581e124 (스터디상세 링크) 핵심 내용 리눅스는 GCP를 이용하여 설치했습니다. 관련해서는 아래 블로그 글을 참고하실 수 있습니다. 스크롤이 긴데, 설치 과정에서 있었던 삽질기를 다루는 글입니다. 저처럼 엔지니어링도 클라우드도 잘 모르지만, Airflow를 설치하고 간단한 Dag파일을 생성해보고 싶은 분들께 참고가 될 ..

[Airflow] 설치(pip install) 및 webserver 실행
딥상어동의 딥한 프로그래밍/엔지니어링2022. 5. 8. 09:18[Airflow] 설치(pip install) 및 webserver 실행

가짜연구소 내 Python - Data Engineering 스터디를 위해 작성했습니다. https://www.notion.so/chanrankim/PseudoLab-c42db6652c1b45c3ba4bfe157c70cf09 (가짜연구소 링크) https://www.notion.so/chanrankim/Data-Engineer-Python-83c206a662004120a8211a800581e124 (스터디상세 링크) 0. DAG란? Directed Acyclic Graph의 약자이다. 여기서, 가장 중요한 단어는 acyclic = 비순환이 아닐까 생각한다. It defines four Tasks - A, B, C, and D - and dictates the order in which they have ..

[Python] 클래스와 상속 기초 예제
딥상어동의 딥한 프로그래밍/Python2022. 4. 24. 09:38[Python] 클래스와 상속 기초 예제

가짜연구소 내 Python - Data Engineering 스터디를 위해 작성했습니다. https://www.notion.so/chanrankim/PseudoLab-c42db6652c1b45c3ba4bfe157c70cf09 (가짜연구소 링크) https://www.notion.so/chanrankim/Data-Engineer-Python-83c206a662004120a8211a800581e124 (스터디상세 링크) 상속은 뒤를 있는다는 뜻으로 보통 재산 관련 권리에 대한 의무를 넘겨받는 것을 뜻한다. 위 짤은 정치적인 의도는 전혀 없고.. 재산 상속 관련된 짤을 찾아봤는데 마땅한게 없어서 가져왔다. 0. 클래스에서 상속이란 클래스에서 상속도 마찬가지. 자식 클래스가 부모 클래스의 능력을 이어 받는 것을..

sudo rm -rf /*
딥상어동의 딥한 프로그래밍/운영체재(linux)2022. 4. 21. 00:34sudo rm -rf /*

리눅스의 rm 명령어에 대해 살펴보던중 와중 재밌는 짤을 발견했다. sudo rm -rf /* 뒤에 내용 먼저 살펴보자. 우선 shell 환경에 접속했을 때, 기본 주소는 home directory다. 여기서 cd .. 명령어를 입력하면 상위 단계 폴더로 한칸씩 이동하는데 더이상 이동이 불가능한 지점이 있다. 이 지점이 / 이다. 즉, 가장 상위 디렉토리 까지 올라왔다는 것이다. 다음으로, *은 디렉토리 아래 모든 파일을 의미한다. 즉, /*은 os내 모든 파일을 의미한다. 다음으로 -rf를 알아보자 r과 f는 rm이라는 명령어의 세부 옵션이다. f: 강제로 다 지워라! r: recursive(재귀적으로 모든 폴더를 싹다 돌면서~) 요약하자면 rm이 삭제하는 명령인데 /* -> 최상위 디렉토리 아래에 있..

[pytest] TDD, 초간단 pytest 실행해보기
딥상어동의 딥한 프로그래밍/Python2022. 4. 17. 09:51[pytest] TDD, 초간단 pytest 실행해보기

가짜연구소 내 Python - Data Engineering 스터디를 위해 작성했습니다. https://www.notion.so/chanrankim/PseudoLab-c42db6652c1b45c3ba4bfe157c70cf09 (가짜연구소 링크) https://www.notion.so/chanrankim/Data-Engineer-Python-83c206a662004120a8211a800581e124 (스터디상세 링크) - 테스트를 실패하지 않는 가장 좋은 방법! - 테스트를 하지 않는것! 0. TDD란? - Test-Driven-Development의 약자(=테스트 주도 개발) - 테스트 코드를 먼저 작성(실패할 확률이 높음) - 테스트 통과 목적의 코드 작성 - 테스트 통과후 코드 성능 향상(재사용성, ..

[Python] PEP 8 스타일 가이드 중 헷갈리는 것 정리
딥상어동의 딥한 프로그래밍/Python2022. 4. 11. 23:50[Python] PEP 8 스타일 가이드 중 헷갈리는 것 정리

http://www.yes24.com/Product/Goods/94197582 파이썬 코딩의 기술(개정2판) - YES24 아마존 파이썬 프로그래밍 분야 베스트셀러, [Effective Python] 전면 개정 증보판! 파이썬의 매력과 강점을 이용해 강력하고 우수한 성능의 코드를 작성하는 90가지 방법! 파이썬다운 방식으로 프로 www.yes24.com 파이썬 코딩의 기술 책을 참고해 헷갈리는 PEP8스타일을 정리하였다. # 1. 딕셔너리에서 키와 콜론(:) 사이에는 공백을 넣지 않고, 한 줄 안에 키와 값을 같이 넣는 경우 콜론 다음에 스페이스를 넣는다. my_dict = { 'key1': 1, 'key2': 2, } # 2. 타입 표기를 덧붙이는 경우에는 변수 이름과 콜론 사이에는 공백을 넣지 말고,..

[linux] Python과 crontab을 이용하여 카카오톡 메시지 보내는 배치 실행하기(카카오 API)
딥상어동의 딥한 프로그래밍/엔지니어링2022. 4. 10. 05:17[linux] Python과 crontab을 이용하여 카카오톡 메시지 보내는 배치 실행하기(카카오 API)

가짜연구소 내 Python - Data Engineering 스터디를 위해 작성했습니다. https://www.notion.so/chanrankim/PseudoLab-c42db6652c1b45c3ba4bfe157c70cf09 (가짜연구소 링크) https://www.notion.so/chanrankim/Data-Engineer-Python-83c206a662004120a8211a800581e124 (스터디상세 링크) 0. 들어가며 제목은 거창하지만, 메시지 내용은 간단하다. 리눅스에서 크론탭과 파이썬을 이용해서 매 시간마다 나에게 메시지를 보내볼 것이다. https://gibles-deepmind.tistory.com/117 [Linux] Python 가상환경 세팅하기 (bdist_wheel 에러 해결)..

[Linux] Python 가상환경 세팅하기 (bdist_wheel 에러 해결)
딥상어동의 딥한 프로그래밍/엔지니어링2022. 4. 10. 01:22[Linux] Python 가상환경 세팅하기 (bdist_wheel 에러 해결)

0. 들어가며 https://gibles-deepmind.tistory.com/116 [GCP] VM Instance 생성하기 1. 무료로 시작하기 무료로 시작하기를 클릭해준다. 적당한 걸 클릭해주고 계좌 유형은 귀찮으니, 개인을 선택해준다. 그리고, 이름 및 주소를 적당히 입력. 참고로 우편번호는 시/군/구에 맞게 gibles-deepmind.tistory.com GCP VM Instance를 이용하여 우분투 환경을 구축했다. 필요하신 분은 참고 1. 파이썬 버젼 체크 따로 Jupyter notebook과 같은 IDE는 설치하지 않고 Script 형식으로만 파일을 만들어볼 것이다. 우선, python 버젼을 먼저 체크해보자. python3 -V >>> 3.7.3 파이썬은 잘 설치되어 있으나, pip가 ..

[GCP] VM Instance 생성하기
딥상어동의 딥한 프로그래밍/엔지니어링2022. 4. 8. 08:56[GCP] VM Instance 생성하기

1. 무료로 시작하기 무료로 시작하기를 클릭해준다. 적당한 걸 클릭해주고 계좌 유형은 귀찮으니, 개인을 선택해준다. 그리고, 이름 및 주소를 적당히 입력. 참고로 우편번호는 시/군/구에 맞게 입력해주어야 한다. 따로 체킹시스템이 있는듯 마지막으로 안내에 따라 고객 정보를 입력해준다. 결제 설정까지 완료해야지 다음 단계로 넘어갈 수 있다. 근데, 기분탓인지는 모르겠는데 지금까지 GCP 계정을 9개 가량 만들었는데 결제 정보를 설정한 적은 몇번 없는것 같다? 사람마다 개인차가 있을듯. 2. 콘솔로 이동하기 콘솔로 들어가면 무료평가판 기간이 91일 남아 있다는 것을 확인할 수 있다. 3. Compute Engine 클릭 Computer Engine에서 VM 인스턴스를 클릭해준다. 그러면 API 사용 화면으로 ..

[mllib] Pyspark Kmeans 알고리즘 사용법
딥상어동의 딥한 프로그래밍/Spark2022. 4. 8. 00:14[mllib] Pyspark Kmeans 알고리즘 사용법

Pyspark Mllib에서 Kmeans 알고리즘 사용법을 다루는 글이다. (데이터브릭스 이용) 1. 라이브러리 세팅 import pandas as pd # 스파크 sql 내장함수 from pyspark.sql import * # 스파크 sql 내 자료구조 타입 from pyspark.sql.types import * # 스파크 sql 내 여러 함수들 from pyspark.sql.functions import * # 스케일러, VectorAssembler -> 여러 자료값들을 하나의 vector로 모아줌 from pyspark.ml.feature import MinMaxScaler, VectorAssembler # mllib에서 연산을 위해서는 vector형 자료 구조로 변환 from pyspark.m..

image