개발노트(150)
-
Ubuntu+Apache2+Flask 배포/관리
Apache와 WSGI를 함께 쓰는 이유 Flask만 사용해도 Flask에서 제공하는 WSGI를 이용해 서버를 배포 하지만 WSGI는 미들웨어의 개념이라 서버로서 동작하기보다는 웹 앱에 가깝기 때문에 서버의 역할을 수행하는 Apache를 함께 사용, 성능 향상을 위해 사용 Apache는 정적인 웹 페이지를 제공 WSGI는 동적인 페이지 제공과 추가적인 기능들을 제공 Apache 환경 설정 /etc/apache2/sites-available/000-default.conf 위 경로를 따라가서 '.conf'파일을 수정 # Flask 프로세스 사용자권한 설정 및 user group, thread 설정 WSGIDaemonProcess Test python-path=/etc/anaconda3/lib/python3...
2020.08.20 -
MySQL - 이미지 INSERT/SELECT
Python, MySQL을 사용했습니다.Python 라이브러리import pymysqlfrom PIL import Imageimport base64from io import BytesIOimport time테이블 생성sql = """CREATE TABLE image_upload_test( id INT AUTO_INCREMENT PRIMARY KEY, image_data BLOB, date VARCHAR(50), time VARCHAR(50) )"""인코딩한 문자열을 INSERT 할 예정이기 때문에 BLOB자료형으로 이미지가 들어갈 컬럼을 만들어줬습니다.이미지 인코딩과 INSERTwith open("testimage.jpg", "rb") as imag..
2020.08.19 -
BAEKJOON #11726 2xn 타일링
이 문제의 저작권은 BAEKJOON에 있습니다. https://www.acmicpc.net/problem/11726 문제는 위 링크에서 확인할 수 있습니다. get_num = int(input()) mylist = [0, 1, 2] for i in range(3, get_num + 1): mylist.append(mylist[i-1] + mylist[i-2]) print(mylist[get_num] % 10007) 타일을 붙이는 규칙을 알면 쉬운 문제였습니다. 직접 그려가면서 찾아보면 규칙을 찾기 쉽습니다. get_num output mylist 1 1 [0, 1, 2] 2 2 [0, 1, 2] 3 3 [0, 1, 2, 3] 4 5 [0, 1, 2, 3, 5] 5 8 [0, 1, 2, 3, 5, 8] n..
2020.07.09 -
BAEKJOON #1003 피보나치 함수
이 문제의 저작권은 BAEKJOON에 있습니다. https://www.acmicpc.net/problem/1003 문제는 위 링크에서 확인할 수 있습니다. test_case = int(input()) zero = [1, 0, 1] one = [0, 1, 1] for _ in range(test_case): num = int(input()) zreo_len = len(zero) if zreo_len
2020.07.09 -
삽입 정렬을 만들어보자
def insertsort(arr): for i in range(1, len(arr)): key = arr[i] temp = i while 0 key: arr[temp] = arr[temp - 1] temp -= 1 arr[temp] = key return arr print(insertsort([3, 2, 1])) i key temp arr[temp] arr[temp-1] while문 temp 변경 arr 1 2 1 2 1 True 1 >> 0 [3, 3, 1] 1 2 0 False [2, 3, 1] 2 1 2 1 3 True 2 >> 1 [2, 3, 3] 2 1 1 3 2 True 1 >> 0 [2, 2, 3] 2 1 0 False [1, 2, 3] fo..
2020.07.08 -
선택 정렬을 만들어보자
def selectsort(arr): for i in range(len(arr) - 1): idx = i for j in range(i + 1, len(arr)): if arr[j] > 1 [3, 2, 1] 0 0 2 1 2 True 1 >> 2 [3, 2, 1] for문을 모두 돌고 현재 arr[idx]와 arr[i]의 요소만 바꿔준다. [3, 2, 1] >> [1, 2, 3] 1 1 2 2 1 False X [1, 2, 3] 두 개..
2020.06.29