본문 바로가기

ALL260

lambda 서버리스 수작업 lambda = 서버리스 api Gateway = 해당람다를 실행시키기 위한 cloud watch = 디버깅 로그 (print, error ) 1.수작업 2.cicd 자동배포 (추후안내) IAM 검색 사용자 aws 액세스 키 - 프로그래밍만 체크 기존정책연결 서버를 올리기 위한 인증준비는 완료되었다. npm 설치 https://nodejs.org/en/ lts - window serverless framework 설치 cmd - $ npm install -g serverless https://app.serverless.com/ 접속 - 로그인 org - providers - add - next - access/secret keys - default app - created - python flask ap.. 2023. 1. 10.
Flask 영화의 리스트를 가져오되, 내가 좋아요 한 영화면 좋아요표시 order = cnt, avg ( 갯수정렬, 평균정렬) offset, limit = 페이징처리 테스트를 위해 user_id = 1004 jwt토큰 로그인 mysql workbench 조인할 테이블의 상태 user_movie = 두개를 묶는 조합을 유니크하게 처리 사용한 sql문 (정리안됨 주의) SELECT * FROM movie_db.rating; insert into rating (user_id,movie_id,rating) values ( %s, %s, %s); select * from rating where user_id = 1004; delete from rating where movie_id = 1; select rating.id, rating.movie_id, rating.rating, mo.. 2023. 1. 10.
Flask 영화 추천 API from flask import request # 클라이언트가 보낸 데이터를 받기 위한 라이브러리 from flask_restful import Resource # API를 만들기 위한 라이브러리 from mysql.connector import Error # DB에 연결할 때, 에러가 발생할 수 있으므로, 에러처리를 위한 라이브러리 from flask_jwt_extended import jwt_required, get_jwt_identity # JWT를 사용하기 위한 라이브러리 from mysql_connection import get_connection # DB에 연결하기 위한 함수 import pandas as pd class MovieRecommendResource(Resource) : # 영화 .. 2023. 1. 9.
Flask 영화명 검색 API FULLTEXT 로 하는 이유는 검색의 속도 향상을 위한것. class MovieSearchResource(Resource) : def get(self) : # 영화 정보를 가져오는 API keyword = request.args.get('keyword') order = request.args.get('order') offset = request.args.get('offset') limit = request.args.get('limit') try : connection = get_connection() # 2가지 정렬조건을 만들어서, 사용자가 선택한 정렬조건에 따라서 쿼리를 실행하도록 한다. query = ''' select m.id, m.title, ifnull(count(r.movie_id), 0) .. 2023. 1. 9.
Github .ignore 캐시삭제, 등록방법 git rm -r --cached . git add . git commit -m "commit message!" #특정파일 제외 (※모든 경로에 적용!) [파일명].[확장자] #특정 경로의 파일제외 [폴더명]/[파일명] #특정 폴더 제외 [폴더명]/ #현재 경로의 특정파일 /[파일명] #확장자 기반 제외 *.[확장자] #예외처리 ![제외하고자 하는 경로 파일] 2023. 1. 9.
Flask postman mysql 셀렉한 컬럼만 가져온다 유저아이디가 = 6인것 datetime 으로 내림차순 정렬 0부터 3개 까지 SELECT id, title, datetime, content, createdAt, updatedAt FROM memo where userId = 6 order by datetime desc limit 0, 3; # 클라이언트에서 쿼리스트링으로 보내는 데이터는 # request.args.get('키값', '기본값') 으로 받아온다. # 키값은 쿼리 스트링과 같아야한다. offset = request.args.get('offset') # page가 없으면 1을 가져온다. limit = request.args.get('limit') # limit가 없으면 3을 가져온다. # 2. db에 저장된 데이터를 가져.. 2023. 1. 6.
Flask 백엔드 개발 큰그림 요약 레파지토리 생성 db 서비스용 계정생성 -- 서비스가 이용할 데이터베이스를 만든다. use mysql; -- 서버마다 유저를 만든다// 이계정은 이 DB만 접속가능 // @'%' == 네트워크로 작업가능하게 한다는것 //identified by == 패스워드 create user 'memo_user'@'%' identified by 'yh1234db'; -- 권한설정 grant all on memo_DB.* to 'memo_user'@'%'; db생성 호스트 AWS RDS 주소, 아디'memo_user', 비번'yh1234db'; 테스트커넥션 == 성공 스키마 생성 utf8 utf8_unicode_ci 권한이 없으면 생성되지 않음 위에서 설정한 memo_DB 와 스키마 이름이 같아야함. 포스트맨 뉴 컬렉.. 2023. 1. 5.
Flask 회원가입 API : email체크, 비밀번호 길이체크 암호화, jwt(user_id), 로그인, 로그아웃, 로그인 유저의 리퀘스트 처리, Headers(Authorization & Bearer) , 토큰의 특성 jwt를 사용하는 이유는 보안때문 클라이언트는 사용자의 고유한 id를 보관하고 있어야 그유저가 어떤 행동을 했을때 그 id를 서버로 보내서 처리를 해야하는데. 그냥 숫자로 보관한다면 해킹등의 문제가 발생한다 때문에 회원가입시에 유저정보를 db에 저장할때 유저의 고유한 id는 토큰으로 저장하고 클라이언트에서 토큰형태로된 고유한id값을 리퀘스트 하면 db에 저장되어있는 id 값을 가져와서 체크한다. 비밀번호도 db에 저장할때 미리 작성해 두었던 from passlib.hash import pbkdf2_sha256 을 이용한 함수를 써서 암호화하여 저장. email은 진위성 체크 라이브러리를 사용한다. from email_validator import validate_email, EmailNotValidErr.. 2023. 1. 5.
Flask 1단계 Postman, Mysql, Github 기본세팅 백엔드 서버를 프레임워크 (Flask)로 구현하는 기본 1. 화면 기획문서를 보고 -- 서비스가 이용할 MySQL 데이터베이스를 만든다. use mysql; -- 서버마다 유저를 만든다 -- 이계정은 이 DB만 접속가능 -- @'%' == 네트워크로 작업가능하게 한다는것 -- dentified by == 패스워드 create user '아이디'@'%' identified by '비번'; -- 권한설정 grant all on recipe_DB.* to '아이디'@'%'; mysql 스키마를 생성한다. 테이블을 만든다. +버튼을 눌러 해당 정보를 기입하여 커넥션 데이터 베이스 작업이 완료되었다면 github 레파지토리는 프라이빗(보안)으로 만들고 클론하고 실행. vscode로 메인앱 코드작성 메인 화면은 유.. 2023. 1. 4.
Pandas 시카고 범죄율을 예측 Prophet, error_bad_lines, to_datetime(format), resample 함수의 사용법과, 이 함수를 사용하기 위해 인덱스를 설정하는 방법 시카고 범죄율을 예측해 보자 ( Facebook 의 Prophet 라이브러리 활용 )¶ STEP #0: PROBLEM STATEMENT¶ The Chicago Crime dataset : 2001 ~ 2017. Datasource: 캐글 https://www.kaggle.com/currie32/crimes-in-*chicago* Dataset contains the following columns: ID: Unique identifier for the record. Case Number: The Chicago Police Department RD Number (Records Division Number), which is unique to the incident. Date: Date when the in.. 2023. 1. 3.
Pandas (영화 추천 시스템)pivot_table 함수 사용법, item based collacborative filtering 을 하기 위해, corr() 함수를 이용한 correlation과min_periods 파라미터 사용법 영화 추천 시스템¶ PROBLEM STATEMENT¶ 추천시스템은 영화나 노래등을 추천하는데 사용되며, 주로 관심사나 이용 내역을 기반으로 추천한다. 이 노트북에서는, Item-based Collaborative Filtering 으로 추천시스템을 구현한다. Dataset MovieLens: https://grouplens.org/datasets/movielens/100k/ STEP #0: LIBRARIES IMPORT¶ In [23]: import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline In [24]: from google.colab import drive.. 2023. 1. 3.
딥러닝 Transfer Learning 이란 (코드없음 진행순서만) 딥러닝 모델의 정확도를 높이기 위해선 대학원 이상의 전문지식을 요한다. 따라서 응용프로그래머는 잘 만들어진 검증된 모델을 가져다 쓴다는 개념이 Transfer Learning 이라고 한다. 사용법은 사이드바 딥러닝 부분에 자세히 설명해놓았기 때문에, 여기선 전체적인 그림만 그린다 1. 필요한 라이브러리를 임포트 2.Building the model (Loading the pre-trained model) 학습이 잘 된 모델의 베이스 모델만 가져온다.(헤드모델은 빼고) 3. Freezing the base model 가져온 베이스 모델 부분은 이미 특징을 잘잡게 학습되어있기 때문에 재학습 하지않도록 사전작업을 하는것 4.Defining the custom head for our network 내 문제에 맞.. 2023. 1. 2.