Programming/Backend

    7.Flask 회원가입, 로그인 암호화 및 JWT + Redis

    7.Flask 회원가입, 로그인 암호화 및 JWT + Redis

    flask로 회원가입, 로그인 암호화 및 JWT를 통한 사이트의 안전성 확보를 하겠습니다.https://github.com/kschoi93/flask-example 패키지 설치pip install flask-jwt-extendedpip install flask-bcryptpip install redis# Ubuntu에서 redis server 설치sudo apt-get updatesudo apt-get install redis toy.models.example_models.py테스트 용도의 user_id와 password를 가지고 있는 User 모델 추가합니다.class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, pri..

    6.Flask error, exception general handling

    6.Flask error, exception general handling

    6.Flask error, exception general handlingWeb Application 전역에서 발생하는 Error에 대한 Exception을 임의로 작성하여 사용해보겠습니다.https://github.com/kschoi93/flask-example init에 Error handler 등록# general error handler from .common.errors import error_handle error_handle(app) toy.common.errors.py 등록from .exceptions import *def error_handle(app): @app.errorhandler(CustomException) def example_error(e): ..

    5.Flask sqlalchemy - get, create

    5.Flask sqlalchemy - get, create

    5.Flask sqlalchemy - get, create controller 부터 service 그리고 dao를 작성하여 get과 create를 구현 해보겠습니다. https://github.com/kschoi93/flask-example Controller 작성 example_create_model = example.model('create', { 'name': fields.String }) @example.route('/name/') class ExampleRouteGetId(Resource): def get(self, name: str) -> json: result = example_services.example_route_get_id(name) return {'message':'성공', 'res..

    4.Flask restx 적용 + Swagger

    4.Flask restx 적용 + Swagger

    4.Flask restx 적용 + Swagger flask restful을 적용하고, Swagger 적용이 되도록 하겠습니다. https://github.com/kschoi93/flask-example flask restx 패키지 설치 pip install flask-restx __init__.py 파일에 코드 추가 및 수정 from flask import Flask from flask_restx import Api from flask_migrate import Migrate from flask_sqlalchemy import SQLAlchemy api = Api( version='1.0', title='toy_project', prefix='/api', contact='', contact_email='..

    3.Flask Database 연결 + Config 설정

    3.Flask Database 연결 + Config 설정

    3.Flask Database 연결 + Config 설정 Mysql을 SQL_Alchemy와 연결하여 ORM을 사용하도록 만들어 보겠습니다. https://github.com/kschoi93/flask-example Database MySql 설치 및 환경 설정 Database 로 사용할 Mysql을 다운로드 합니다 https://dev.mysql.com/downloads/installer/ MySQL :: Download MySQL Installer Select Operating System: Select Operating System… Microsoft Windows Select OS Version: All Windows (x86, 32-bit) Windows (x86, 32-bit), MSI Ins..

    2.Flask MVC 패턴 환경 구축과 Blueprint

    2.Flask MVC 패턴 환경 구축과 Blueprint

    2. Flask MVC 패턴 환경 구축과 Blueprint https://github.com/kschoi93/flask-example 서버를 구축할 때 path, db model, db connection, service, view 등 많은 것을 전부 하나의 파일에 작성하면 작성하면서도 작성 하고 나서도 유지보수 하기가 매우 어렵습니다. 그렇기 때문에 다양한 디자인 패턴을 사용하는데요 가장 많이 사용되는 MVC 패턴을 적용해 보도록 하겠습니다. MVC 패턴에 대해서는 구글 검색을 해보시면 아주 훌륭한 자료가 많습니다 MVC 패턴 적용 MVC 패턴에 대해 간단하게 설명하자면 M(Model) : Database에 존재하는 테이블을 현재 사용하는 프레임 워크에 맞게 객체화 시켰다고 생각하면 되겠습니다. V(V..

    1.Flask 웹 서버 구축 시작

    1.Flask 웹 서버 구축 시작

    1. Flask 웹 서버 구축 시작 flask는 Python으로 아주 적은 코드로도 Backend WAS 서버를 생성 할 수 있는 훌륭한 framework입니다. Backend 서버를 생성하는 다른 framework 를 경험해 보셨을 경우 아시겠지만 기본적으로 지원되는 기능이 아주 많습니다. 그렇기 때문에 잘 이용해서 편리하게 사용이 가능하기 때문에 좋습니다. 다만 이러한 기능이 구현이 되어 있다는 것은 독이 될 수도 있습니다 무슨 이유가 있을까요? Django를 보자면 ..... 구현되어 있는 틀로 인해 수정해서 사용하고 싶어도 쉽지 않다. 나에게는 필요 없는 기능도 꾸역꾸역 다 포함되어 있다. 엄청 크게 차이는 발생하지 않겠지만 확실히 flask 보다는 무거운 느낌일 것입니다. 이에 반해 flask는..

    MariaDB + SQLAlchemy + Flask에서  database 연결 끊김 현상

    MariaDB + SQLAlchemy + Flask에서 database 연결 끊김 현상

    이슈 mariadb.InterfaceError: Lost connection to MySQL server during query MariaDB와 SQLalchemy를 사용하는 중에 요청 할 때마다 간헐적으로 계속 끊기는 현상이 발생한 오류입니다. 문제해결 알려지기로는 다음과 같은데요 “해당 오류는 Mysql과 MariaDB에서 발생하는 에러로 장기간 비활성시 발생하는 에러이다.” 저는 당최 예측할 수 없었습니다. 왜냐..... 저의 경우 이게 계속 끊기면 아! 이거다 하고 논리적으로 풀어나가 보겠는데, 어느 순간에는 DB 요청 할 때마다 계속 끊겼다가 어느 순간에는 한번만 끊겼다가 어느 순간에는 끊기지 않는 전혀 예상하지 못하겠는 참 이상한 현상이었습니다 한 가지 찝찝한 것은 저의 경우 방화벽 활성화 하..