2024/05 53

영화 추천 시스템 만들기

데이터프레임을 불러오고 필요없는 컬럼을 제거하고 합쳐준다.import pandas as pdimport numpy as npmovie_df = pd.read_csv('Movie_Id_Titles.csv')review_df = pd.read_csv('user_rating.csv')df = pd.merge(movie_df, review_df, on='item_id', how='left') 각 영화별로 별점에 대한 기본 통계치 확인df.groupby('movieId')['rating'].describe()df.corr(numeric_only=True) 영화 제목이 컬럼 부분에 위치해야 상관계수를 뽑을 수 있다. 영화 제목은 컬럼으로, 유저아이디는 인덱스로, 유저가 준 별점은 데이터로 들어가도록 데이터프레임을 ..

- 2024.05.27

[AWS] Serverless Framework 와 Github Actions 를 이용한 AWS 자동 배포 (CICD)

깃허브 레포지토리 Settings > Secrets and variables > Actions New repository secret 을 누르고 만들어준다.  외부 프로그램 권한설정 할때 csv 파일로 다운로드 받은 Access key, secret accuess key (https://iwhnoegmik.tistory.com/118)그리고 서버리스의 키를 입력해 만들어준다.  Serverless의 키는 Serverless 웹페이지에서 만들 수 있다.Settings > Access Keys. 여기서 새로운 액세스 키를 생성할 수 있다.   repository secret 3개를 다 만들고 레포지토리 Actions > set up a workflow yourself 클릭 다음과 같이 입력로컬에서 사용한 버..

AWS 2024.05.24

[AWS]Serverless deploy 오류 해결, 로컬 작업한 파일 옮기기

만들어둔 aws-recipe-server 폴더를 Vscode 로 연다. 가상환경을 맞춰주고 터미널 cmd를 열어서serverless deploysls deploy둘 중 하나 선택해서 입력  플러그인이 없다는 오류가 발생했다. 이 경우에는 npm install serverless-wsgi --save-dev 입력해서 설치해준다. 다른 에러가 발생했다.. 이 경우에는 serverless.yml 파일에package: individually: true exclude: - node_modules/** # node_modules 폴더와 그 하위 모든 파일 및 디렉토리 제외 - .git/** # .git 폴더와 그 하위 모든 파일 및 디렉토리 제외 - tests/** # tests 폴더와 그..

AWS 2024.05.23

[AWS] Serverless Framework 설치

https://nodejs.org/en  Node.js — Run JavaScript EverywhereNode.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.nodejs.org 먼저 Node.js 를 설치 설치 후 cmd 에서  serverless 프레임워크를 설치  설치가 완료되면 Github 경로로 들어가서 serverless 입력 Python 의 Flask API 선택 선택 후 이름을 만들어준다. 이후 Login/Register 선택하고 링크로 넘어가서 회원가입과 로그인을 해준다. Create A New App 선택 이름 입력 Save AWS Credentials in a Local Profile 선택 https://iwhn..

AWS 2024.05.23

[Restful API] 로그아웃 시키는 방법

로그아웃 된 토큰을 관리할 set 생성# 로그아웃된 토큰을 저장할 set 을 만든다.# 로그아웃된 토큰의 식별자(JTI)를 저장하여 추후 요청에서 해당 토큰이 사용되지 못하게 한다.jwt_blacklist = set()class UserLogoutResource(Resource): @jwt_required() def delete(self): # 현재 요청에서 사용된 JWT 토큰의 JTI(JWT ID)를 가져옴 # JTI는 토큰의 고유 식별자 jti = get_jwt()['jti'] # 현재 사용된 JWT 토큰의 JTI를 블랙리스트에 추가 # 이를 통해 이 토큰이 이후에 더 이상 사용되지 못하도록 한다. jwt_..

Restful API 2024.05.22

[Restful API] 회원가입 / 로그인 API 에서 토큰 생성해서 처리하는 방법

회원가입 API에서 토큰 생성해서 처리하는 코드 작성from email_validator import EmailNotValidError, validate_email# 이메일 주소가 올바른지 확인하기 위한 라이브러리from flask import requestfrom flask_jwt_extended import create_access_tokenfrom flask_restful import Resourcefrom mysql_connection import get_connectionfrom mysql.connector import Errorfrom utils import check_password, hash_passwordclass UserRegisterResource(Resource): def po..

Restful API 2024.05.22