컴퓨터 공부 217

[Airflow] Email Operator로 메일 전송하기

1. Email 오퍼레이터란? 이메일을 전송해주는 오퍼레이터로서 아래와 같은 형태를 가집니다. email_t1 = EmailOperator( task_id = "email_t1", to = "hockey9322@naver.com", subject = " Airflow 처리결과", html_content = "이메일 내용입니다! " ) 여기서 to 는 누구에게 메일을 보낼것인지 정하는 란이고, subject는 메일제목을 뜻하며, 메일 내용은 html_content에 적으면 됩니다. 이메일 전송을 위해선 사전 작업 세팅이 필요한데요, 해당 작업은 구글 메일 서버를 사용하도록 하겠습니다. 2. 사전 작업 설정(Google) Gmail --> 설정 --> 모든 설정 보기 --> 전달 및 POP/IMAP --> ..

[Airflow] Bash Operator & 외부 쉘 파일 수행하기

1. 쉘 스크립트란? Unix/Linux 쉘 명령을 이용하여 만들어지고, 인터프리터에 의해 한 줄씩 처리되는 파일을 말합니다. (컴파일 : 속도 ↑, c, java // 인터프리터 : 속도 ↓, python, shell) Echo, mkdir, cd, cp, tar, touch 등의 기본적인 쉘 명령어를 입력하여 작성하며 변수를 입력받거나 For문, if문 그리고 함수도 사용가능합니다. 확장자가 없어도 동작하지만, 주로 파일명에 .sh 확장자를 붙입니다. 2. 왜 쉘 스크립트가 필요할까요? 쉘 명령어를 이용하여 복잡한 로직을 처리하는 경우 (ex) "sftp를 통해 파일을 받은 후 DB에 Insert & tar.gz으로 압축해두기" 처럼 복잡한 로직도 쉘 스크립트로 만들어 놓으면 유지보수성도 좋고 관리하..

[리트코드/leetcode/python] 735. Asteroid Collision

한 번 문제를 이해해봅시다. 입력값으로 주어진 asteroids 배열은 소행성 배열입니다. 이 소행성은 양수값을 가질 수도 있고, 음수값을 가질 수도 있습니다. 양수값을 가진 소행성은 오른쪽으로 움직이고, 음수값을 가진 소행성은 왼쪽으로 움직입니다. 모든 소행성은 크기에 관계없이 같은 속도로 움직이기 때문에, 추월, 정지 등의 사건이 발생하지 않습니다. 두 소행성이 충돌했을 때는, 소행성의 크기의 절댓값에 따라서 소행성이 사라집니다. 예를 들어, '2'의 소행성과 '-5'의 소행성이 충돌했다면, '-5'의 소행성이 더 절댓값이 크기 때문에 '2'의 소행성이 없어지고, '-5'의 소행성은 계속해서 움직였던 방향대로 지나갑니다. 이 때, 두 소행성의 크기의 절댓값이 같다면, 두 소행성이 충돌했을 때는 두 소..

[리트코드/leetcode/python] 518. Coin Change II

많이들 접해보신 DP의 단골문제 동전문제입니다. 주어진 동전을 얼마든지 사용하면서 amount를 만들 수 있는 총 가짓수를 구하는 문제인데요, 이 외에도 가장 최소의 동전 개수만 사용해서 푸는 문제 등 동전에 관한 DP문제는 이제 거의 정형화된 알고리즘으로 자리잡았습니다. 그렇기 때문에, 해당 문제를 푸는 방향도 처음 본 문제라면, 접근이 어려울 수 있습니다. 특히, DP는 많은 유형을 풀어봄으로써 어느정도 유형화를 하는 것도 방법입니다. 이 문제에 대해서는 먼저, 메모제이션 기법을 사용해서 전형적인 DP로 풀어보도록 하겠습니다. 그럼, 이 문제에 대해 이해를 시각화해볼까요? 원리를 살펴보면 다음과 같은 테이블을 그릴 수 있습니다. 테이블의 열은 '(원)'을 뜻하며, 0원부터 amount(=5)원까지 테..

반응형