본문 바로가기

1-Tier49

[Django/React] 장고와 리액트 연동 (2) 안녕하세요 1-tier팀의 One입니다 😁 저번 포스팅에 이어 장고와 리액트 연동을 이어서 진행해봅시다. 1편은 아래를 참고해주세요~ https://btcd.tistory.com/1520 [Django/React] 장고와 리액트 연동 (1) 안녕하세요 1-tier팀의 One입니다 😆😆😆 백엔드와 프론트엔드 흔히 웹에서 프론트엔드는 사용자에게 시각적으로 보여지는 부분, 백엔드는 사용자에게 드러나지 않는 DB 공간(회원가입, 로그인) btcd.tistory.com Serialize 저번 포스팅 마무리에 데이터 반환값을 JSON으로 Serialize(직렬화)하는 과정이 필요하다고 언급을 했었는데요 그렇다면 Serialize란 뭘까요?? 쉽게 말해서 frontend로 데이터를 보내기위해 장고 내부의 복잡한 데이.. 2023. 11. 4.
[Youtube API] Chat GPT 연동하기 베하~!! 안녕하세요! 1-Tier팀 입니다. 이번 포스팅에는 Chat GPT를 연동하여 수집한 댓글에 대한 긍정과 부정을 판별해 보도록 하겠습니다. 코드 먼저 확인해 보도록 하겠습니다. Open AI 의 API Key 발급을 사전에 하셔야 정상 동작 합니다. https://platform.openai.com/ OpenAI Platform Explore developer resources, tutorials, API docs, and dynamic examples to get the most out of OpenAI's platform. platform.openai.com #DB 연동 부 생략 openai.api_key = login['openai'] curs.execute("SELECT * FROM y.. 2023. 10. 26.
[Django/React] 장고와 리액트 연동 (1) 안녕하세요 1-tier팀의 One입니다 😆😆😆 백엔드와 프론트엔드 흔히 웹에서 프론트엔드는 사용자에게 시각적으로 보여지는 부분, 백엔드는 사용자에게 드러나지 않는 DB 공간(회원가입, 로그인)을 의미하는데요~ 프론트엔드는 사용자로부터 다양한 형태의 입력을 받아 백엔드가 사용할 수 있는 규격에 따라 처리해야합니다. 그렇다면 프론트엔드쪽에서 주로 다루는 리액트와 백엔드 서버 프레임워크 장고를 연동하는 방법은 어떻게될까요?함께 알아봅시다 😉 장고와 리액트의 연동은 장고의 REST 프레임워크(DRF, Django Rest Framework)를 사용하여 연동을 합니다. 프론트엔드(React)가 Django 백엔드로 API 요청을 보내면, 장고는 요청을 서버 사이드 로직에 따라 처리하여 HTTP 응답으로 포장하여 .. 2023. 10. 20.
[Youtube API] 동영상의 조회수와 좋아요 수 업데이트하기 베하~!! 안녕하세요 1-Tier 팀 입니다. 이전 포스팅에서 동영상의 조회수와 좋아요를 추출해 보았는데, 해당 리소스는 실시간으로 변화하기 때문에 주기적인 업데이트가 필요합니다. 이번에는 추출했던 동영상의 조회수와 좋아요를 일정 시간마다 업데이트 할 수 있도록 하겠습니다. # DB 연결 구문 생략 ################################################################ # youtube.video_list에 저장된 있는 동영상 ID(v_id)를 검색 후 # # 해당 동영상의 좋아요, 조회수를 새로 업데이트 하는 스크립트 입니다. # ################################################################ def Cou.. 2023. 10. 11.
[Git] Rebase 안녕하세요! 1-tier 팀의 one입니다. 이제 제법 날씨가 쌀쌀해졌네요 오늘은 Git의 Rebase에 대해서 알아보도록 하겠습니다. 🤔 브랜치 병합 Git에서 한 브랜치에서 다른 브랜치로 합치는 방법에는 두 가지가 있습니다. 하나는 Merge고 하나는 Rebase 입니다. 여기서 Merge가 뭔지 간단히 한번 볼까요? Merge 브랜치가 experiment와 master로 나누어졌다고 가정해봅시다. 두 브랜치를 합치는 가장 쉬운 방법이 Merge 명령어를 사용하는 것입니다. 커밋 두개(C3, C4)와 공통조상(C2)를 사용하는 3-way Merge로 새로운 커밋(C5)을 만들어냅니다. 그렇다면 Rebase는 어떤 방식으로 병합이 이루어질까요? Rebase rebase의 방식은 다음과 같습니다. C3에.. 2023. 10. 4.
[Youtube API] 동영상의 조회수와 좋아요 수 추출하기 베하~!! 안녕하세요 1-Tier 팀 입니다. 이번 포스팅에서는 동영상의 조회수와 좋아요 갯수를 추가로 추출하는 방법에 대해 적어보고자 합니다. 이전에 사용하던 동영상 데이터 Insert 스크립트에 추가하여 사용할 예정입니다. 조회수와 좋아요 수를 알기 위해서는 statistics 리소스를 추가로 불러와야 하는데 또 새로운 API URL을 추가해줘야 합니다. https://www.googleapis.com/youtube/v3/videos?id= 그리고 기존 코드에 추가하는 방식이라 반복문 순서가 이전보다 조금 변경되었는데요, 완성본 코드를 보면서 자세히 보겠습니다. SearchText = input("검색어를 입력하세요 :") i = 0 while curs.rowcount != None: #토큰 값으로 .. 2023. 9. 25.
[Git] Github Action 안녕하세요! BTC 1-tier팀의 One입니다 ㅎㅎ 오늘은 Github Action에 대해서 알아보겠습니다. 🤔Git Hub Action? Git 리포지토리에서 바로 소프트웨어 개발 워크플로우를 자동화하고 실행하는 툴 입니다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유합니다. 🔎 Git Hub Action의 컴포넌트 리포지토리에서 이벤트가 발생할 때, 트리거가 되도록 Github 워크 플로우를 구성할 수 있습니다. 워크플로우에는 하나 이상의 작업이 포함되어있으며, 스크립트를 실행하거나 작업을 실행하는 단계가 있습니다. Git Hub Action의 컴포넌트에는 다음과 같은 것들이 있습니다. WorkFlow 워크플로우는 하나 이상의 작업을 실행하는 구성 가능한 자동화 프.. 2023. 9. 18.
[Youtube API] Pagination 베하~!! 안녕하세요 1-Tier입니다 이번엔 많은 데이터를 가독성 있게 볼 수 있도록 하는 페이징, 즉 페이지네이션 기능에 대해 알아보고 적용해보려 합니다. 사실 페이징이 쉬운건 아닌데..(저만 그렇게 느낄 수도...) Flask에서 제공하는 Flask-paginate 라이브러리를 사용하여 쉽게 구현할 수 있답니다. 해당 라이브러리를 선정한 이유는 점프 투 플라스크 강의에서 한글 래퍼런스가 있기 때문입니다. 한글 래러펀스 바로가기 그러나 구현 자체는 쉽지만 해당 라이브러리의 파라미터 수정부분에서 개인적으로 어려웠네요.. 그래도 어째저째 구현한 부분을 공유드리겠습니다. 아래 코드는 flask main.py 코드로 웹 서버를 동작시키는 코드입니다. #import와 main부 생략 @app.route('/s.. 2023. 9. 11.