본문 바로가기

취대넓얕22

[기술면접] 21일차 문답 | Django 기초 💡 Django가 무엇인지 설명하시오 Django는 오픈소스 프레임워크로, 많은 기본 기능을 제공하여 개발자들이 어플리케이션을 개발하는데에 있어 반복적인 작업을 최소화하고, 쉽고 간결한 코드를 통해 편하게 협업할 수 있는 도구입니다. 개발용 DB인 sqlite가 내장되어있고 ORM을 지원하여 DB 모델링과 작업을 편리하게 처리할 수 있는 장점이 있습니다. 기본적으로 Model-Template-View의 MTV패턴을 따라 디자인되었고, 서버사이드 template engine이 함께 지원되어서 Django만으로도 클라이언트의 요청을 처리하는 서버 로직과 사용자가 사용할 수 있는 인터페이스까지 쉽게 개발할 수 있다는 장점이 있습니다. + 보안: 취약점 방어, XSS 공격 방지, CSRF 보호 💡 Django를.. 2023. 8. 17.
[기술면접] 20일차 문답 | CORS오류, 배포 관련 💡 Django 프로젝트 진행 시 발생하는 CORS 오류를 처리하는 방법에 대해서 설명하시오 CORS(Cross-Origin Resource Sharing) 오류는 웹 애플리케이션에서 발생하는 보안 정책 중 하나로, 다른 도메인에서 오는 요청을 차단하는 정책입니다. 1. pip install django-cors-headers django-cors-headers를 설치, INSTALLED_APPS, MIDDLEWARE에 cors설정을 추가, 그외 CORS설정에 도메인을 추가합니다. CORS_ALLOW_ALL_ORIGINS = False CORS_ALLOWED_ORIGINS = [ "https://example.com", ] 2. 서버 측 설정 변경: 서버 측에서는 웹 서버 설정을 조정하여 CORS 오류를.. 2023. 8. 16.
[기술면접] 19일차 문답 | permission_classes, Django DB 💡 DRF permission_classes를 사용하는 이유는 무엇입니까? API의 다른 부분에 대한 다양한 사용자의 액세스 권한을 설정하는데 사용되며, 항상 view의 시작점에서 검증한다. APIView에는 기본적으로 permission_classes 변수를 가지고 있고, default 값으로 Django setting에서 설정한 값을 가진다. Default 값을 통해 전체 API에 인증절차를 적용할 수 있으며, 필요할 경우 각 APIView에 permission_classes에 필요한 permission을 명시하면 된다. check_permissions 로직 : method handler가 호출되기 전에 호출. 모든 permission에 대해 has_permission을 호출, 만약 특정 permis.. 2023. 8. 14.
[기술면접] 18일차 문답 | TDD, DRF 기본기 💡 테스트코드를 작성하는 이유는 무엇이며 어떤 장점이 있습니까? 작성 이유와 장점 코드의 로직을 이해해야 작성이 용이하기때문에 작성하는 것만으로도 코드의 구조를 이해하는데에 도움이 된다 구현한 기능의 보이지 않는 오류를 테스트코드를 통해 검증하고 찾아내어 보완할 수 있다 코드 변경 시, 변경 부분으로 인한 영향도를 쉽게 파악할 수 있다 코드 리팩토링 시 기능 구현이 동일하게 되었다는 판단을 내릴 수 있다 구현한 코드의 정확도를 확인할 수 있다 프론트엔드 작업자가 백엔드 작업에서의 오류를 쉽게 확인할 수 있게 해주어 협업에 용이하다 참고: https://yozm.wishket.com/magazine/detail/1964/ 💡 테스트코드에서 setup 함수와 setupclass의 차이는 무엇입니까? 실행 순.. 2023. 8. 11.