일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Trie
- GitHub
- Linked list
- SWEA
- gpdb
- DFS
- 코테
- Back tracking
- 구현
- JavaScript
- 알고리듬
- boj
- Bruth Force
- programmers
- CSV
- hash table
- SQL
- spring boot
- 시뮬레이션
- 알고리즘
- Algorithm
- BFS
- aws
- 모의SW역량테스트
- Priority Queue
- Python
- Vue.js
- Data Structure
- 코딩테스트
- django
- Today
- Total
목록Dev./Flask (5)
hotamul의 개발 이야기
Flask란 무엇인가? Flask를 이야기 하기 전에 uWSGI, WSGI에 대한 이해가 필요합니다. uWSGI는 Application Container로, 사용하고자 하는 (적재된) 애플리케이션을 실행해 주는 역할을 합니다. 이렇게 uWSGI가 실행시켜 줄 애플리케이션은 일종의 규격이 존재하는데 이 규격을 WSGI라고 이해하시면 됩니다. WSGI는 Python 표준(PEP-333)으로 HTTP를 통해 요청을 받아 응답하는 애플리케이션의 명세입니다. 이러한 명세를 만족시키는 클래스, 함수 그리고 객체를 WSGI 애플리케이션이라 합니다. WSGI가 명세라고 했으니까 이 규격에 맞춰 함수, 객체를 만들면 그것이 곧 WSGI 애플리케이션 입니다. (애플리케이션을 실행시켜 줄 서버는 wsgiref.simple_..
Flask를 사용해서 API 서버를 구축하게 되었는데 local에서는 발생하지 않았다가 운영 서버에 배포하고 나서부터 발생했던 psycopg2.OperationError 해결 방법을 공유하고자 한다. psycopg2.OperationError File "/usr/local/lib/python3.8.9/site-packages/sqlalchemy/sql/elements.py", line 287, in _execute_on_connection Return connection._execute_clauseelement(self, multiparams, params) File "/usr/local/lib/python3.8.9/site-packages/sqlalchemy/engine/base.py", line 11..

지난 포스트 [Flask] Flask & docker-compose wait for db에서 docker-compose를 이용할 때 Flask app이 db보다 먼저 실행되는 문제를 해결했었다. 이번 포스트에는 Github Action을 이용해 CI 구축을 해보고자 한다. docker hub token setting [Flask] Flask & Docker (Dockerfile 작성 방법), [Flask] Flask & docker-compose wait for db을 보면 python:3.8-alpine3.13, postgres:13-alpine 이미지를 사용하고 있다. 따라서 Github Action에서 해당 이미지를 가져올 수 있도록 Docker hub user, Docker hub token을 설..
docker-compose version: "3.9" services: app: build: context: . args: - DEV=true ports: - "8000:8000" volumes: - ./app:/app command: > sh -c "flask run --host=0.0.0.0 --port=8000" environment: - DB_HOST=db - DB_NAME=devdb - DB_USER=devuser - DB_PASS=changeme - FLASK_ENV=development - FLASK_APP=app depends_on: - db db: image: postgres:13-alpine volumes: - dev-db-data:/var/lib/postgresql/data envir..

Django를 잠깐 맛보기로 사용해보면서 왜 인기있는 framework인지 알 수 있었다. 빠르고 쉽게 개발할 수 있고 제공하는 기능들이 굉장히 편리했다. 때마침 현업에서 API 서버 개발이 필요하게 되어서 Django를 이용해 micro service를 만들어보려고 했었다. 하지만 현업에서는 Greenplum DB를 사용중이였고 Django와 Greenplum DB의 호환은 어려웠다. (table을 자동으로 생성할 때 index constraints 설정에서 에러가 있었고 생각보다 해결방법을 찾는것도, 커스터 마이징 하는 것도 쉽지 않았다.) 그래서 Flask를 사용하게 되었다. (Flask는 ORM을 선택적으로 사용할 수 있어 DB 호환 이슈도 해결할 수 있고 자유도 높게 내 입맛대로 만들 수 있었기..