Backend
Web Framework Django 시작하기(3) - Django에 대해
전형적인 데이터기반 웹사이트에서 웹 어플리케이션은 웹 브라우저로부터 HTTP 요청(Request)을 기다린다 요청을 받으면 웹 어플리케이션은 URL과 GET, POST 데이터의 정보에 기반하여 요구사항을 알아내게 되고, 그 다음이 무엇이 필요한지에 따라, 데이터베이스로부터 정보를 읽거나 쓰고 필요한 다른 작업들을 수행할 것이다. 그 다음 웹 어플리케이션은 웹 프라우저에 응답(Response)을 반환하는데, 주로 동적인 HTML 페이지를 생성하면서 응답한다 URLs: 단일 함수를 통해 모든 URL 요청을 처리하는 것이 가능하지만, 분리된 뷰 함수를 작성하는 것이 각각의 리소스를 유지보수하기 훨씬 쉽다. URL mapper는 요청 URL을 기준으로 HTTP 요청을 적절한 뷰(view)로 보내주기 위해 사용된..
Web Framework Django 시작하기(2) - Routing URLConf ★
어떤 웹 프레임워크를 사용하던 간에 제일먼저 하게 되는 것은 라우팅이다. URLconf : 장고에서 URL과 일치하는 뷰를 찾기 위한 패턴들의 집합 project의 urls.py을 거쳐서 특정 app로 라우팅을 하게 되면 그 app의 urls.py에서 view안에 있는 특정 함수와 매칭을 시켜서 작업을 수행하게 된다. django-admin startapp myapp app을 만드는 명령어는 위와 같으며 myapp이라는 app을 생성한다. myapp - __init__.py - admin.py - apps.py - models.py - tests.py - views.py #myproject - urls.py from django.contrib import admin from django.urls impo..
Web Framework Django 시작하기(1) - 프로젝트 생성
python -m pip install django django-admin django을 시작하기 위해 install을 해주고 django-admin 명령어를 이용하여 프로젝트 주요 명령어를 실행 django-admin startproject myproject startproject는 django 프로젝트를 시작하기 위한 기본 프로젝트 폴더를 만드는 명령어다. myproject폴더가 생기고 그 안에 myproject에 생기게 된다. django-admin startproject myproject . 현재 내가 위치하고 있는 디렉토리 안에서 생성하고 싶을땐 .을 찍어서 표시해준다. myproject - __init__.py - asgi.py - settings.py - urls.py #사용자가 접속하는 ..
Python Multithread vs Multiprocessing
파이썬은 인터프리터 언어로서 기본적으로 싱글 스레드에서 순차적으로 동작 threading 모듈로 멀티쓰레드 구현하기 0부터 100,000,000 까지의 합을 구하는 계산 프로그램을 하나의 쓰레드로 동작하게 만들어보자. from threading import Thread def work(id, start, end, result): total = 0 for i in range(start, end): total += i result.append(total) return if __name__ == "__main__": START, END = 0, 100000000 result = list() th1 = Thread(target=work, args=(1, START, END, result)) th1.start()..
Python Thread
OS에서 어떤 실행 프로그램이 실행된다는 것은 CPU, 메모리, SSD와 같은 컴퓨터 자원을 사용한다 OS가 프로그램들이 실행될 수 있도록 부여하는 공간을 프로세스 라고 한다. 프로세스에는 응용 프로그램이 있다. OS 입장에서 프로세스에 있는 객체를 Thread라고 한다. Thread 프로그램이라고 부르는 것은 OS위에서 동작한다 프로그램이 메모리에 올라가서 실행 중인 것을 프로세스라고 부른다 프로세스의 실행 단위를 스레드 라고 한다. 프로세스는 최소 하나 이상의 스레드를 가지며 경우에 따라 여러 스레드를 가질 수 있다(멀티스레드) 우리가 윈도우를 사용할 때 메신저도 사용하고 게임도 하고 문서작성도 하고 인터넷도 사용한다 윈도우는 동시에 실행되는 여러 프로그램들을 잘 관리해야하는데 이런 작업을 스케줄링이..
Python Flask 웹 페이지 제작(3) - Form
FlaskForm 계정에 로그인하고 상품을 주문하거나 설문조사를 하는 것과 같이 사용자로부터 정보를 입력받는 방식 Content - Flask에서 Form 활용을 위한 프로젝트 폴더 및 파일 관리 - form.py - run.py - register.py form.py pip install Flask-WTF Flask Framework의 폼 검증 모듈로서, 쉽게 폼을 생성 할 수 있으며 json 데이터 상호 작용을 위한 검증도구로도 사용 가능 #form.py #회원 가입을 위한 form을 구성하는 파일을 만듦 from flask_wtf import FlaskForm from wtforms import StringField, PasswordField, SubmitField from wtforms.valid..