본문 바로가기

1-Tier42

[Youtube API] Pagination 베하~!! 안녕하세요 1-Tier입니다 이번엔 많은 데이터를 가독성 있게 볼 수 있도록 하는 페이징, 즉 페이지네이션 기능에 대해 알아보고 적용해보려 합니다. 사실 페이징이 쉬운건 아닌데..(저만 그렇게 느낄 수도...) Flask에서 제공하는 Flask-paginate 라이브러리를 사용하여 쉽게 구현할 수 있답니다. 해당 라이브러리를 선정한 이유는 점프 투 플라스크 강의에서 한글 래퍼런스가 있기 때문입니다. 한글 래러펀스 바로가기 그러나 구현 자체는 쉽지만 해당 라이브러리의 파라미터 수정부분에서 개인적으로 어려웠네요.. 그래도 어째저째 구현한 부분을 공유드리겠습니다. 아래 코드는 flask main.py 코드로 웹 서버를 동작시키는 코드입니다. #import와 main부 생략 @app.route('/s.. 2023. 9. 11.
[Airflow] Celery Executer 안녕하세요 BTC 1-tier 팀의 One입니다! 점점 선선해지는게 가을이 오고있다는 것이 느껴지네요ㅎㅎ 오늘은 Airflow의 Celery Executer에 대해서 알아봅시다. CeleryExecutor? 자 한대의 Master서버가 있고 여러개의 DAG가 있다고 생각해봅시다. 데이터 처리량이 많은 여러개의 DAG를 한대의 서버에서 돌리면 어떻게 될까요? Master서버는 자신의 일을 제대로 하지 못하겠죠 ....😥 그렇기 위해서 우리는 여러개의 Worker로 Task를 분산하여 동작을 시켜야합니다. 그 역할을 해주는 Executor가 바로 Celery Executor입니다. Celery Executor는 Task 메시지를 브로커에 전달하고, Celery Worker가 Task를 가져가서 실행합니다. .. 2023. 9. 4.
[Youtube API] 페이지 토큰 값으로 동영상 제목과 설명 추출하기 베하~!! 안녕하세요 1-Tier 팀 입니다!! 이번에는YouTube Data API의 리소스 중 토큰값을 이용하여 단일 최대 호출수인 50개 이상의 유튜브 동영상을 호출하고 동영상의 제목과 설명을 추출해 보도록 하겠습니다. 기존의 코드에서 추가되어야 할 부분이 몇가지 있는데요 동영상 제목과 설명은 API 중 JSON중 video 리소스에서 추출할 수 있어 video에 관련된 API URL을 따로 호출하여 추출해야 합니다. 해당 리소스는 Snippet 이라는 JSON 구조 아래에 포함되어 있어 아래의 URL로 호출하면 됩니다. https://www.googleapis.com/youtube/v3/videos?part=snippet 또한, 유튜브 동영상 제목과 설명란에는 특수 문자가 있을 수 있으므로 DB의.. 2023. 8. 29.
[Youtube API] YouTube Data API로 동영상 ID 추출하기 베하~!! 안녕하세요 1-Tier 팀 입니다!! 이번에는YouTube Data API로 사용자에게 검색어를 받아 해당 유튜브 동영상을 검색하고 동영상의 고유 ID를 추출해 보도록 하겠습니다. YouTube의 동영상들은 각각의 고유 ID가 있습니다. 해당 ID를 활용하여 특정 동영상을 실행, 추출 등 핸들링을 할 수 있는데 먼저 YouTube Data API v3를 사용하여 유튜브 동영상의 고유 ID 값을 추출해 보고 DB에 저장해 봅시다. import requests import json import pymysql import youtube_config login = youtube_config.conn key = login['key'] search_url = 'https://www.googleapis.c.. 2023. 8. 17.
[Airflow] Decorator 안녕하세요 BTC 1-tier팀의 One입니다! 무더위 다들 잘 보내고 계신가요?? 오늘은 Airflow의 Decorator 모듈에 대해서 알아보겠습니다. Decorator 파이썬을 사용하시는 분들이라면 Decorator가 익숙하실텐데요, 모르시는 분들을 위해서 간략하게 설명을 드리자면 Decorator는 파이썬에서 함수나 클래스의 기능을 확장하거나 수정할 수 있게 해주는 기능입니다. 그렇다면 데코레이터를 사용하는 이유는 무엇일까요? 1. 코드의 재사용성과 모듈성을 높임 2. 코드의 가독성을 높일 수 있는 강력한 도구 중 하나 3. 코드의 중복을 줄이고 유지 보수성을 높일 수 있음 위처럼 데코레이터를 사용하면 기존 코드를 건드리지 않고 함수나 클래스의 동작을 수정할 수 있습니다. 말만 들어서는 이해가 잘.. 2023. 8. 7.
[Youtube API] YouTube Data API v3 개요 베하~!! 안녕하세요 1-Tier 팀 입니다!! 이번에는 제가 개인적으로 API 호출 및 응용을 통한 학습을 위해 하고있는 개발 프로젝트를 함께 공유하면서 여러 기술이나 방법론 등을 공유하고 소개할까 합니다. 제가 사용할 API는 YouTube Data API v3 입니다! YouTube Data API v3는 Youtube와 상호작용할 수 있는 애플리케이션을 개발할 수 있도록 해주는 API로 여러 리소스를 통해 원하는 기능을 개발할 수 있습니다. 저는 해당 API를 이용하여 VOC개발을 목표로 하여 특정 제품이나 검색어에 대한 영상의 좋아요, 조회수 등을 기준으로 순위를 매기고 일정 순위까지의 영상의 댓글을 추출하여 ChatGPT 모델을 사용해 크게 긍정과 부정으로 나누어 VOC를 구현할 계획입니다. .. 2023. 8. 3.
[Airflow] Airflow CLI 명령어 안녕하세요 BTC 1-tier 팀의 One입니다! 보통 Airflow를 Web에서 많이 사용하실텐데요 서버에서 CLI로 제어가 가능하다는 점 아셨나요? Airflow CLI를 사용해 작업 실행, 스케줄 조작, 작업 상태 확인 등 다양한 작업 수행이 가능합니다. 얘기치 못하게 Web 프로세스가 종료되는 등, 웹에 접속하지 못하는 상황이라면 유용하게 사용이 가능하겠죠? airflow cheat-sheet 위 명령어를 통해서 자주 쓰이는 명령어를 확인할 수 있으며 airflow --help 위 명령어를 통해 자세한 도움말을 확인 할 수 있습니다. 아래는 자주 쓰이는 일부 명령어들을 정리해놨으며, Airflow CLI에는 더 많은 명령어와 옵션이 있습니다 자세한 내용은 공식 문서에서 확인이 가능합니다. http.. 2023. 7. 24.
Rancher로 Kubernetes 환경 구축하기 - 클러스터 구축 베하~! 1-Tier팀 입니다. 이전 포스팅인 Rancher로 Kubernetes 환경 구축하기 - 설치 및 개요의 뒤를 이어 이번에는 클러스터 구축 과정부터 전반적인 인프라 구성 방법을 알아보겠습니다. 설치 완료 후 Web에 접속하여 사용자 계정을 먼저 생성해 줍니다. 그 후 접속을 하면 이제 Rancher로 쿠버네티스 환경 구축이 가능합니다. 클러스터 생성 랜처는 EKS, AKS, GKE, K8s 등 다양한 플랫폼에 구축이 가능합니다. 저희는 하단으로 스크롤을 내려 Custom Cluster로 생성 하겠습니다. 버튼을 클릭하면 생성할 클러스터의 버전과 보안방식, 스펙 등을 설정 할 수 있으며 etcd, Networking 등 세부적인 설정도 가능합니다. 버전과 스펙을 선택했으면 etcd와 Contro.. 2023. 7. 21.