django 챕터 1 정리

김재효·2023년 5월 1일
0
post-thumbnail

프론트엔드,벡엔드 비교

프론트엔드

  • 사용자 인터페이스
  • 사용자 입력
  • 데이터 입력

벡엔드

  • 시스템 관리 및 제어
  • 비즈니스 로직, 연산 수행
  • 데이터베이스 관리

웹 프레임워크

프레임 워크

  • 소프트웨어 개발을 위한 기능, 구조의 틀을 제공
  • 시스템 흐름을 프레임워크가 제어함

라이브러리

  • 소프트웨어 개발을 위한 기능을 제공
  • 시스템 흐름을 개발자가 제어함

프레임워크의 장점

1. 효율적

  • 이미 구현되어 있는 코드로 시간과 비용절약하여 생산성이 높음

2. 품질 향상

  • 수많은 개발자들이 검증한 코드버그를 최소화 할 수 있음

3. 유지보수 용이

  • 체계적인 코드관리유지보수 용이
  • 개발자 기준보다 프레임워크 기준으로 개발 하기에 수월한 협업 가능

프레임워크의 단점

  • 프로그래밍 언어 외 별도 학습 필요
  • 기본 설계된 구조로 개발이 다소 제한적

웹 프레임워크(Django)

장고

장고

  • 개발 속도가 상당히 빠름
  • 기본적으로 필요한 기능 제공
  • 인증,보안 부분들도 고려됨
  • 풀스택 프레임워크
  • python 웹 프레임워크(오픈소스가 많음)
  • MTV 디자인 패턴
  • 오픈 소스
    앱(App) 단위로 프로젝트 구성

장고 핵심 요소

ORM

  • ORM,Object-Relational Mapping
  • 객체지향 언어와 관계형 데이터베이스를 연결해주는 기술
  • Models, QuerySetAPI등이 ORM에 포함

Templates

  • 자체 템플릿 시스템으로 디자인과 로직을 분리하여 독립적 개발 가능
  • HTML 파일을 분리하여 재사용,체계적으로 관리할 수 있음
  • HTML 파일에 include,if,for등 템플릿 언어를 사용 가능

Forms

  • 데이터의 유효성 검사
  • 구성하고자 하는 형태 렌더링(HTML태그 생성)
  • 제출하는 폼 데이터의 변경 확인

Authentication

  • 시스템 인증과 권한부여 기본 제공

    인증과 권한의 차이

    • 인증: 사용자가 누구인지 판별
    • 권한:인증된 사용자가 어떤 일을 할 수 있는지 결정
  • 구성 요소: 사용자,권한,그룹(권한을 둘 이상 적용하는 방법)

Admin

  • 관리자 인터페이스 제공
  • 등록된 모델의 기본적인 조회,추가,수정,삭제 기능 제공
  • 사용자 관리,사용자 그룹 관리,사용자 별 권한 기본 제공

Internationalization

  • 동일한 소스코드로 텍스트의 번역,날짜/시간/숫자의 포맷,타임존의 지정 등가 같은 다국어 환경 제공
  • 개발자와 템플릿 작성자는 언어 및 문화에 맞게 번역하거나 형식 지정 가능
  • 특정 사요자의 기본 설정에 따라 웹 앱을 현지화화

Security

대표적인 보안 사항 기능 제공

  • CSRF(교차 사이트 요청 위조)보호
  • SQL 주입 보호
  • XSS(교차 사이트 스크립팅)보호
  • 클릭재킹 방지
  • SSL/HTTPS
  • 호스트 헤더 유효성 검사
  • 리퍼러 정책
  • 교차 출처 정책
  • 세션 보안

장고의 기본 구조



0개의 댓글