공모전 크롤링 개선 방안프로젝트 소개프로젝트 요약"링커리어", "위비티", "씽굿"에 게시된 공모전 데이터를 한 페이지에서 확인검색 기능 및 추천 검색어 기능을 제공하여 필요한 공모전을 빠르게 탐색표시된 공모전을 클릭하면, 해당 공모전 사이트로 이동사용한 기술Frontend : HTML, CSSBackend : Django (5.0.4), sqliteCrawling : beautifulsoup (4.12.3), selenium (4.20.0)Data-Processing : pandas (2.2.2) GitHub - ss721229/competition-webContribute to ss721229/competition-web development by creating an account on GitHub..
인프라 구축기EC2의 t3.large로 Airflow를 구축한 상황에서 AI 학습 및 예측을 진행해야 하는 문제에 직면했다. 그러나 Airflow Worker(LocalExecutor)만 사용한다면, 과부하가 올 것이라는 확신이 있었기에 AI를 위한 추가 인스턴스를 생성하고자 하였다. 이에 따라 Terraform 작업을 진행하게 되었으며, 진행 내용은 다음과 같다.AI Server를 위한 EC2 인스턴스 추가Airflow에서 EC2를 Start/Stop 하기 위한 IAM 사용자 생성lambda 함수에 AI Server를 추가하고, 특정 시간에 Start/Stop 되도록 수정EC2 인스턴스 추가 및 사용자 생성instance/ec2.tfAMI는 Amazon Linux 2023, 인스턴스는 t2.micro ..
인프라 구축기지금까지 인프라 아키텍처를 설계 및 구축하고, 발생한 오류를 해결하는 과정을 인프라 구축기에 담았다. 그러나 내용이 많고, 난잡할 수 있기 때문에 하나의 글에서 진행 상황과 앞으로의 진행 내용을 정리하려고 한다.진행한 내용인프라 아키텍처 설계 및 구축인프라 아키텍처 설계인프라 구축 및 통신 테스트인프라는 Terraform을 활용해 구성 (단, EC2 Keypair만 AWS 웹에서 생성)VPC, 인스턴스 등 인프라 요소 생성 (VPC 구성, instance/storage 구성)내부 통신 동작 확인 (Bastion Host -> Private Subent, Private EC2 -> Other Instance)Local -> Private EC2 (Airflow) Web Server 접속Bast..
DAG params를 PythonOperator 매개변수로 사용하기Airflow에서 DAG와 개별 Task를 유연하게 구성하기 위해 params와 op_kwargs를 활용하는 것은 매우 유용하다. 이를 활용하면, DAG 전역에서 사용하는 변수를 정의하여 개별 Task에서 재사용할 수 있다. 이 글에서는 DAG에서 params를 정의하고, 이를 PythonOperator의 매개변수로 사용하는 방법에 대해 소개하려고 한다.DAG : paramsDAG params란?DAG 실행 시 특정한 값을 전역적으로 정의하고, DAG 내의 Task에서 Jinja 템플릿을 사용해 값을 참조할 수 있다. 이를 통해 DAG 내 여러 Task에서 동일한 값을 재사용할 수 있다.DAG 예시 코드current_data_file_na..