1. Django ?
웹사이트를 만들기에 최적화된 파이썬 프레임워크로,
로그인 시스템, 데이터베이스 연결 및 CRUD 작업같은 내장된 기능들이 제공되어 즉시 사용이 가능함.
이미 만들어져 있는 기능들을 이용해 만들어 시간 단축을 할 수 있고 빠르게 개발이 가능한 장점이 있는 밀키트 같은 프레임워크 !
2. Django를 스택으로 선정한 이유?
디테일한 docs와 커뮤니티가 형성되어 비기너가 접근하기 쉽고 배우기가 좋습니다.
내장 함수가 굉장히 많기 때문에 이를 통해 전반적인 흐름 파악이 빠릅니다.
장고를 공부하여 다른 프레임워크를 사용했을 경우도 빠르게 적응할 수 있을 거라 생각이 듭니다.
3. Django 의 장점
여러 url, 함수-메서드, 템플릿들을 파일에 모아 한번에 관리하는 점.
각각 구분을 하여 다른 요소에 영향을 주지 않도록 설계가 가능한 점.
내장 함수가 굉장히 많은 점/ 예시로 로그인과 어드민이 기본 제공되는 점.
개발된지 오래되어 커뮤니티가 큰 점.
4. Django 이 파이썬 프레임워크 중 비교되는 특징은?
내부적으로 확장이 가능하고 디자인이 쉬운 템플릿 시스템을 가지고 있는 점.
소스코드의 날짜/시간 등 다국어 환경을 제공해주는 점.
별도의 관리 기능을 개발할 필요 없도록 제공되는 어드민화면이 있는 점.
ORM기능을 통해 다양한 데이터베이스 시스템을 지원하고 구축한 시스템의 변경도 쉽고 편리한 점.
5. Django 의 동작 순서
사용자는 장고를 사용해 요청, 응답을 주고받을 수 있습니다.
url 요청이 들어오면
-> 프로젝트의 url을 통해 매핑된 뷰로 요청을 보내줍니다
-> 뷰에서는 원하는 데이터를 주고받기 위해 ORM을 사용하여 모델과 통신을 합니다.
-> 가져온 데이터는 뷰를 거쳐 html 파일을 통해 브라우저로 확인할 수 있습니다.
6. Django의 MTV 패턴 시스템은 무엇입니까?
장고 프레임워크의 동작 방식으로
7. ORM에 대해서 설명하시오
Object Relational Mapping, 파이썬 객체를 받아 데이터베이스로부터 데이터를 수집하기 위해 그 정보를 SQL문으로 매핑한다.
데이터베이스는 ORM에게 데이터를 반환하고, 반환된 데이터베이스 객체를 파이썬 객체로 다시 매핑 해주는 단계를 거친다.
결과적으로, 장고에서 SQL문을 사용하지 않고서 데이터를 다루고 관리할 수 있게 되는 것이다.
8. Django ORM의 장단점은 무엇입니까?
- 장점
- 이미 작성중인 언어로 ORM을 작성할 수 있다.
- 데이터베이스 간 전환이 쉽다.
- ORM은 틀에서 벗어나 추가적인 기능을 제공한다.
- SQL문에 익숙치 않다면, ORM으로 단시간 내 더 나은 쿼리를 수행할 수 있다..
- 단점
- SQL을 사용함으로써 쿼리를 잘 튜닝해 사용할 수 있다.
- ORM - 잠재적으로 퍼포먼스를 저하시킬 수 있다.
- 임피던스 불일치
- 객체 및 관계형 테이블에서 데이터 이동이 이루어진다.
- 임피던스 불일치는 SQL과 프로그래밍 언어 사이에서 데이터 구조, 기능 등의 차이로 발생하는 충돌을 말한다.
- ORM문으로 SQL 작업을 실행하기 때문에 무슨 일이 벌어지는지 추적하기 어려울 때가 있다.
- SQL을 사용함으로써 쿼리를 잘 튜닝해 사용할 수 있다.
9. Django Admin은 무엇이고 어떤 기능을 제공합니까?
사용자가 사이트의 콘텐츠를 관리할 수 있는 모델 중심 인터페이스로 장고 기본 템플릿에서 활성이 됩니다.
모델을 관리자에게 등록하면 모델에 연결된 데이터를 손쉽게 관리할 수 있습니다.
10. Django Template Engine은 무엇이고 어떤 기능을 제공합니까?
View로부터 전달된 데이타를 템플릿에 적용하여 Dynamic 한 웹페이지를 만드는데 사용된다.
base.html 제공해주어 이를 기반으로 블록을 설정하여 확장을 해주어 손쉽게 연결할 수 있습니다.
11. Django를 통해 CRUD를 구현하는 방법에 대해서 HTTP Method와 함께 설명하시오
REST API 설계시 URL은 정보의 자원을 표현해야한다. 자원에 대한 행위는 http method (create/read/update/delete) 를 사용하여 표현합니다.
12. Django에서 테이블을 설계하고 데이터베이스에 반영하는 방법에 대해서 설명하시오
'STUDY > Python' 카테고리의 다른 글
CS간단정리 50문답(17-20) (0) | 2022.07.19 |
---|---|
CS간단정리 50문답(13-16) : JWT (0) | 2022.07.18 |
테스트 코드 작성 (0) | 2022.07.14 |
⏱ 소규모 타임어택 | DRF serializer와 참조기능에 익숙해지자! (0) | 2022.06.21 |
DRF 타임어택 재시도 | 회원가입-회원탈퇴/로그인-로그아웃 구현 (0) | 2022.06.20 |