일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자바초보
- 자바공부
- Android
- 자바스크립트
- streamlit
- 웹대시보드 제작
- 파이썬
- serverless
- 스트림릿 기본
- 데이터베이스
- java
- Flutter
- Pandas
- 안드로이드 스튜디오
- JavaScript
- Streamlit기본
- RESTful API
- 스트림릿
- 자바
- Streamlit기초
- 판다스
- 안드로이드 앱 개발
- 판다스공부
- 웹대시보드 기초
- MySQL
- db
- 자바프로그래밍
- 파이썬공부
- 자바스크립트 공부
- 자바기초
- Today
- Total
목록분류 전체보기 (240)
ruriruriya
TypeError: Object of type Decimal is not JSON serializable 에러 해결 RESTful API 만들 때 GET 방식의 API 함수에서 '데이터 타입 직렬화'라는 에러가 났다. 원인 그래서 MySQL에서 소수점을 JSON으로 가져오지 못할 때 나는 에러라고 다른 블로그에서 봤다. 그래서 그 소수점 있는 컬럼을 제외하고 다시 해보니 동작했다. 해결방법 01 해결방법은 성공 시 리턴할 때 items의 결과 값을 str로 한번 씌우는 것으로 해결이 되었다.... 좋은 해결방법인지는 잘 모르겠다. return {'result' : 'success', 'items':str(result_list), 'count': len(result_list)}, 200 해결방법 02 다른..
ValueError: invalid base64 input 에러 해결 MySQL에서 connector로 데이터를 json으로 가져와서 JWT를 활용해서 회원가입 후 로그인할 때 이런 에러가 났다. 원인 MySQL 에서 user 테이블의 password 컬럼 설정 시 문자열 길이를 짧게 해서 jwt로 암호화된 password가 잘려서 들어갔던 것 같다.. 그래서 계속 유저가 입력한 비밀번호와, DB에 저장된 비밀번호가 일치하지 않아서 난 에러였다. 해결방법 MySQL로 돌아가서 RDS에 저장되어 있는 데이터베이스의 user 테이블의 password 컬럼 설정에서 VARCHAR(45)로 되어 있는 것을 VARCHAR(300)으로 넉넉히 바꾸어 적용했다.
JWT란 JSON Web Token의 약자로, JSON포맷으로 구성된 경량의 토큰으로, 정보를 안전하게 전달하기 위해 사용된다. JWT는 클라이언트와 서버 간의 정보를 주고받을 때 사용자의 인증과 관련된 정보를 토큰으로 안전하게 전송하고 그 토큰으로 로그인 상태를 유지하는 등에 쓰인다. JWT의 장점 토큰 자체에 정보를 담고 있어서 서버에 따로 상태를 유지할 필요가 없다. 토큰을 사용하여 토큰이 변조되지 않았음을 쉽게 확인할 수 있다. 회원가입 API에서 JWT 토큰 발급 1. 사용자 정보 입력 사용자가 회원가입 양식을 작성하고 필요한 정보를 입력 from flask import request from flask_jwt_extended import create_access_token from flask_..
1. npm 설치 별다른 설정 없이 Next 만을 누르며 설치를 완료한다. https://nodejs.org/en/download Download | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 2. Serverless 프레임워크 설치 cmd 창에서 서버리스 아래 명령어로 프레임워크를 설치한다. $ npm install -g serverless
1. RESTful API Flask에 JWT 설치하는 방법 해당 가상환경에서 아래 명령어로 설치한다. pip install Flask-JWT-Extended 2. Config.py 파일 변수 세팅 설치 후에 Config.py 파일에서 JWT관련 변수를 세팅한다. * Config는 설정(configuration)을 의미하며, 프로그램이나 시스템의 동작을 제어하기 위해 사용되는 값들의 집합이다. 이 설정들은 소프트웨어나 하드웨어의 특정 기능이나 동작을 조정하거나 사용자의 요구에 맞게 조절할 수 있도록 도와준다. class Config : ### JWT 관련 변수 세팅 JWT_SECRET_KEY = 'helloskkels##fffssfs' JWT_ACCESS_TOKEN_EXPIRES = False PROPA..
API 리소스 클래스에서 함수를 만들고 쿼리문을 넣을 때 쿼리문의 컬럼 매칭 %s가 1개라면 record에서 튜플에서 1개만 작성하게 된다. 여기서 주의 할 점은 튜플 1개일 때 뒤에 콤마(,)를 붙여주지 않으면 튜플 괄호가 없어지니 반드시 콤마(,) 붙여주는 것이다. 콤마(,)가 없어도 실행은 되지만 에러코드는 보여주지 않아 에러가 아닌 버그가 된다. 이렇게 튜플의 특성을 파악하고 확인하여 버그를 방지 하자. record =(recipe_id, ) from flask import request from flask_restful import Resource from mysql_connection import get_connection from mysql.connector import Error class..
경로에 숫자가 들어가 계속 변하는 경우라면 경로에 변수 처리를 해줘야 한다. 숫자가 들어가는 경로에 이렇게 입력하면 되는데 숫자니까 이렇게 쓰면 클라이언트가 숫자를 바꿔 입력할 때마다 값을 다르게 가져올 수 있다. from flask import Flask from flask_jwt_extended import JWTManager from flask_restful import Api # 기본 구조 app = Flask(__name__) api = Api(app) # 경로(path)와 리소스(API 코드)를 연결한다. api.add_resource(RecipeListResource,'/recipes') api.add_resource(RecipeResource,'/recipes/') # /recipes/레시..
Python MySQL Connector를 활용하여 SQL문으로 작성하여 delete 쿼리문을 만들고 실행하고 반영해보자. 1. MySQL에서 쿼리문 확인 MySQL에서 delete문 쿼리를 작성하여 테스트한다. 아래는 기존에 존재하던 값을 삭제하는 쿼리문이다. delete from recipe where id = 3; select * from recipe; 아래 테이블에서 3번이 없어진 것을 확인할 수 있다. 2.MySQL 접속 함수 만들기 mysql.connector 패키지 import 하여 접속함수를 만드는 것은 지난 포스팅의 2번을 확인하자. https://ruriruriya.tistory.com/98 [RESTful API] Python MySQL- Connector를 활용한 insert 방법 ..