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 : 서버 생성

1


⭐️구동한 서버는 계속 돌아가면서 사이트에 접속할 클라이언트를 기다림
직접 멈춰줘야 함(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__ : 코드가 특정 모듈에서 실행 중이라는 뜻
스크립트나 대화형 모드로 실행중이지 외부에서 임포트한 모듈에서 실행 중인 것은 아님

2



파이썬의 일급 객체, 함수 : 인자로 전달하기, 중첩시키기

파이썬 함수 -> 일급 객체 = 함수를 인자로 전달할 수 있음

중첩 함수 : 함수 안에 함수

Python Decorators
함수에 기능을 따로 추가하고 싶을 때 사용

3