TIL

Today I Learned

[기초편] 장고 차근차근 시작하기 > 01 개발환경 구축하기

웹프레임워크가 왜 필요한가요?

  • 서버의역할: 모든 서비스의 근간. 서버없이 머신러닝만 한다고해서 서비스가 되겠는가?

다양한 파이썬 웹프레임워크

  • Django: 백엔드 개발에 필요한 거의 모든 기능을 제공
  • Flask: 백엔드 개발에 필요한 일부분의 기능을 제공. ORM으로서 SQLAlchemy를 주로 사용

Django의 강점

  • 파이썬 생태계. 크롤링,자동화, 머신러닝 코드와 같은 언어
  • 풀스택 웹프레임워크
  • 10년동안 충분히 성숙

Django

  • 2003년부터 개발하여 2005년에 세상에 공개
  • 파이썬의 인기와 더불어 국내외에 장고를 쓰는 곳이 많다. 하이퍼커넥트, 한국은행

백엔드는 서비스의 중심

  • 백엔드/서비스운영을 먼저 탄탄하게 하시고 나서, 그 후 프론트/앱을 고민하시는 것이 순서에 맞습니다

기본 생성된 파일/디렉토리 목록

  • askdjango : 프로젝트명으로 생성된 디렉토리. 다른 이름으로 변경해도 Don't care
    • manage.py : 명령행을 통해 각종 장고 명령을 수행
    • askdjango : 프로젝트명으로 생성된 디렉토리. 이 이름을 참조하고 있는 코드가 몇 개 있기에 함부로 수정X
      • init.py : 팩키지를 임포트할 때의 임포트 대상
      • settings.py : 현재 프로젝트에서 장고 기본설정을 덮어쓰고, 새롭게 지정할 설정들
      • url.py : 최상위 URL 설정
      • wsgi.py : 실서비스에서의 웹서비스 진입

[기초편] 장고 차근차근 시작하기 > 02 장고의 주요 구성 요소

장고 주요 기능들

  • Function Based Views : 함수로 HTTP 요청처리

  • Models : 데이터베이스와의 인터페이스

  • Templates : 복잡한 문자열 조합을 보다 용이하게. 주로 HTML 문자열 조합 목적으로 사용하지만,

  • Admin 기초 : 심플한 데이터베이스 레코드 관리 UI

  • Logging : 다양한 경로로 메세지 로깅

  • Static files : 개발 목적으로의 정적인 파일 관리

  • Messages framework : 유저에게 1회성 메세지 노출 목적

  • 웹서버, 데이터베이스서버, 캐시서버, 파일시스템의 기본구조