728x90
16. Django의 기본 기능을 사용하는 것과 JWT를 사용하여 로그인 기능을 구현하는 것에는 어떤 차이점이 있습니까?
- JWT를 사용하면 유저 관련 정보를 모두 base64 인코딩을 하고 유지 시간도 짧아 보안에 유리하며,
다른 프레임워크에 호환성도 높다.
Django 기본 인증은 Django 내장인 만큼 훨씬더 간편하게 사용할 수 있는 이점이 있다.
17. 데이터 테이블 간의 관계를 나타내는 FK, OneToOne, ManyToMany 필드에 대해서 설명하시오
- FK: 다대일 관계. 다른 테이블과 관계가 있을 때 다른 테이블의 내용을 불러오고 이용할 수 있다.
- OnetoOne: 1:1의 대응 관계 테이블입니다. 예를들어 유저와 유저프로필 모델
- ManytoMany: A 모델에 연관된 B 모델 필드가 여러개 일 수 있고,
B모델에 연관된 A 모델 필드가 여러개일 수 있는 관계가 MtoM.
18. Django에서 ManyToMany필드를 만드는 방법에 대해서 설명하시오
- 모델과 다대다 관계에 두고 싶은 모델을 manytomany 필드로 연결하면
자동적으로 두 모델을 연결해주는 새로운 모델이 생성됨.
class Company(models.Model):
company_name = models.CharField(max_length=128)
business_area = models.ManyToManyField('BusinessArea', through='CompanyBusinessArea')
class Meta:
db_table = 'companies'
19. FBV와 CBV는 각각 무엇이며, 어떤 차이가 있습니까?
- views.py를 함수중심으로 구성하는 것과 클래스 중심으로 구성하는 것의 차이가 있습니다.
FBV
- 편하게 구현할 수 있고 읽기 편한 로직을 가진다.
- 데코레이터의 사용이 명료하다.
- 확장성 / 재사용성이 떨어진다
CBV
- 클래스는 객체지향적으로 구성이 가능하고, 상속할 수 있어서 코드 수를 줄이고 재사용성을 높일 수 있다.
- 다중상속이나 Mixin이 가능하고 HTTP method가 클래스 안에서 나누어서 처리된다.
- 강력한 generic view 지원
20. 테스트코드를 작성하는 이유는 무엇이며 어떤 장점이 있습니까?
- 테스트코드는 소프트웨어의 기능과 동작을 테스트하는 코드
- 소프트웨어의 결함을 찾아내고 수정하는 과정에서 매우 중요
- 단위 테스트, 시스템 테스트, 통합 테스트, 사용자 인수 테스트 존재
- 개발자 간 협업 원활하게 하고, 소프트웨어 유지 보수하는데 필요한 문서화 작업 줄임
- 내가 무엇을 만들고 있는지 정확하게 인지
- 결합도와 의존성이 낮은 코드를 지향하고 리팩토링의 부담을 덜어줌.
'Framework > Django' 카테고리의 다른 글
RESTful API (0) | 2023.09.23 |
---|---|
Django 테스트코드에서 setup 함수와 setupclass의 차이는 무엇입니까? (0) | 2023.09.23 |
장고 50문 50답 채우기(3) (0) | 2023.07.24 |
장고 50문 50답 채우기(2) (0) | 2023.07.24 |
ㅁㄴㅇㄹ (0) | 2023.07.20 |