목록PYTHON (30)
기록과 정리의 공간

1. flask.redirect() (공식 문서 링크) 호출 될 경우, 클라이언트를 대상 위치로 리디렉션하는 응답 오브젝트 (WSGI 애플리케이션)를 리턴한다. 첫 번째 인자로 location을 받는다. 이는 응답이 redirect해야하는 위치를 의미한다. 2. flask.url_for() (공식 문서 링크1), (공식 문서 링크2) 라우팅이 설정된 함수에 대한 URL을 얻어내기 위해 사용할 수 있다. 첫 번째 인자로 함수의 이름을 받고, 두 번째 부터는 URL 룰의 변수 부분에 대한 다수의 키워드를 인자로 받는다. 참고로 url_for()는 html파일에서 jinja문법을 통해 사용될 수 있다. ex> 내용 예를들어 '/view'이런식으로 직접 url을 쓰지 않고, url_for()를 사..
0. UTC시간이란? 참고 : 링크 UTC시간의 기준이 되는 나라는 영국의 런던으로, 런던을 기준으로 +, -로 나타낸다. 우리나라는 런던을 기준으로 +9이다. UTC와 GMT는 소수점 차이만 있을 뿐 큰 차이가 없어 혼용해서 사용하기도 한다. 1. 타임스탬프란? 참고 : 링크 운영제체 별로 날짜/시간을 표현하는 방식이 다르다. 윈도우 : 1601-01-01 00:00:00 부터 현재 시간까지 몇 100ns 떨어져 있는지를 8바이트로 나타낸다. 유닉스와 리눅스 : 1970-01-01 00:00:00부터 현재 시간까지의 초를 누적한 시간을 사용한다. 이렇게 표현되는 시간을 타임스탬프라고 한다. 2. time.time() 참고 : time모듈 관련 링크 time모듈의 time은 UTC를 사용하여 현재 시각을..

Flask로 게시판 만들기 - 2 (참고 강의 링크-인프런 강의) (공부 하며 기록이 필요한 부분들만 정리함) 개발 환경 : windows 10 / Python 3.8.1 / vscode MongoDB 연결하기 (flask_pymongo라이브러리 공식 문서 링크) 게시물 작성 시간 구하기 1. MongoDB 연결하기 #1 : flask_pymongo의 PyMongo import하기 #2 : ["MONGO_URI"]는 지정된 문자열이므로 바꾸면 안된다. PyMongo는 localhost의 27017 포트에서 실행 중인 MongoDB서버에 연결되고, 이 때 DB의 이름은 myweb2(사용자가 지정)이다. #3 : mongo라는 인스턴스로 #2에서 생성한 DB에 접근할 수 있게 된다. #4 : board라는 ..

(참고 링크)의 일부를 정리함 Flask의 기본 어플리케이션 Flask의 기본 어플리케이션은 다음과 같은 모습이다. 작성한 어플리케이션의 이름을 'flask.py'로 하지 않도록 주의한다. Flask와 자체 충돌이 나기 때문. #1 : Flask class를 import함 #2 : Flask class의 인스턴스를 생성. 인자로 모듈이나 패키지의 이름을 넣는다. ★인자로 모듈의 이름을 직접 넣지 않고, __name__으로 지정한 이유? : __name__은 현재 모듈(.py 파일)의 이름으로 정해지는데 해당 모듈이 시작점일 경우, __main__으로 변경되므로 이 부분을 해결하기 위해 __name__으로 지정 #3 : route() 데코레이터로 어떤 URL이 함수를 실행시키는지 알려준다. #4 : 함수는..

Flask로 게시판 만들기 - 1 (참고 강의 링크-인프런 강의) (공부하며 기록이 필요한 부분만 정리함) 개발 환경 : windows 10 / Python 3.8.1 / vscode Flask란? 위키백과, 공식문서, 한글 번역 사이트 virtualenv 라이브러리 설치 / 가상환경 생성 Flask 설치 MongoDB + ROBO 3T 설치 flask-pymongo 라이브러리 설치 1. virtualenv 라이브러리 설치 / 가상환경 생성 1) 가상환경을 위한 라이브러리인 virtualenv를 설치 pip install virtualenv virtualenv는 프로젝트마다 각각 독립적인 실행환경을 구성할 수 있도록 해준다. 2) 가상환경 생성 : 프로젝트 폴더 위치(myweb2)에서 아래 명령으로 가상..

백준 1991번 : 트리 순회 (문제 링크) 사용 언어 : 파이썬(Python) 문제 유형 : 트리, 구현 난이도 : 하 소스코드 import sys n = int(sys.stdin.readline()) class Node: def __init__(self, head, left, right): self.head = head self.left = left self.right = right tree = dict() for _ in range(n): head, left, right = sys.stdin.readline().split() tree[head] = Node(head, left, right) def pre_order(node): print(node.head, end='') if node.left !=..

백준 2212번 : 센서 (문제 링크) 사용 언어 : 파이썬(Python) 문제 유형 : 그리디 난이도 : 하 소스코드 import sys n = int(sys.stdin.readline()) k = int(sys.stdin.readline()) pos = sorted(list(map(int, sys.stdin.readline().split()))) if k >= n: print(0) sys.exit() dist = [] for i in range(1, n): dist.append(pos[i] - pos[i-1]) dist.sort(reverse=True) for _ in range(k-1): dist.pop(0) print(sum(dist)) 설명 결론적으로 정렬만 수행하면 되므로 시간복잡도 O(Nlo..
백준 4195번 : 친구 네트워크 (문제 링크) 사용 언어 : 파이썬(Python) 문제 유형 : 해싱, 최소 스패닝 트리 난이도 : 중 소스코드 import sys t = int(sys.stdin.readline()) def find(node): if parent[node] != node: parent[node] = find(parent[node]) return parent[node] def union(node1, node2): root1 = find(node1) root2 = find(node2) parent[root2] = root1 number[root1] += number[root2] for _ in range(t): f = int(sys.stdin.readline()) number = dict..