Command Line, Python Decorators and Web Development with Flask
-
Python Back-End Frameworks : Node, Flask, Django, Bottle, Cherry pie, pyramid…
- Flask : 초보 개발자나 소규모 프로젝트에 적합
- Django : 대규모 사업 프로젝트
- 백엔드 : 클라이언트, 서버, 데이터베이스 요소가 맞물려 백엔드 작동방식을 결정
- 클라이언트 : 브라우저를 이용하는 사용자
- 서버 : 고성능 컴퓨터, 24시간 돌아가며 요청을 받을 준비가 되어 있음
- 데이터베이스 : 성능을 한껏 끌어올린 스프레드시트, 사이트의 모든 정보를 담아둘 수 있음
플라스크로 웹 서버 만들기
-
라이브러리와 프레임워크의 차이
라이브러리 : 특정 작업 시 우리가 호출
프레임워크 : 프레임워크 규칙에 맞게 아키텍처를 사용해야 하고 특정 기능을 실행할 때 프레임 워크가 우리의 코드를 호출함
ex) 사용자가 사이트에 접속할 때 프레임워크가 알아서 코드를 실행 -
설치 후 환경변수 설정
파일을 지정해서 서버로 사용할 수 있게 설정
flask run : 서버 생성
⭐️구동한 서버는 계속 돌아가면서 사이트에 접속할 클라이언트를 기다림
직접 멈춰줘야 함(CTRL + C)
명령어 사용하기
- 명령어 창을 쓰는 이유 :
더 강력한 제어권이 주어짐
더 쉽고 빠르게 처리할 수 있음
맥 : terminal app
파일 경로 현재 내 위치 보는 법 : pwd(print working directory)
현재 작업 디렉토리에 있는 파일과 폴더를 나열 : ls(list)
디렉토리 변경 : cd(changed directory)
새 폴더 만들기 : mkdir(make directory)
파일 생성 : touch 파일명
파일 삭제 : rm 파일명 (remove)
상위폴더로 이동 : cd ..
폴더삭제 : rm -rf (반복적으로 수행하기 때문에 주의가 필요함)
파이썬에 내장된 특수 속성 : name__과 __main
__name__
: 파이썬에 내장된 특수 속성의 하나
현재 사용 중인 클래스나 함수, 메소드, 디스크립터의 이름을 알 수 있음
__main__
: 코드가 특정 모듈에서 실행 중이라는 뜻
스크립트나 대화형 모드로 실행중이지 외부에서 임포트한 모듈에서 실행 중인 것은 아님
파이썬의 일급 객체, 함수 : 인자로 전달하기, 중첩시키기
파이썬 함수 -> 일급 객체 = 함수를 인자로 전달할 수 있음
중첩 함수 : 함수 안에 함수
Python Decorators
함수에 기능을 따로 추가하고 싶을 때 사용