본문 바로가기

기술면접32

[기술면접] 7일차 문답 | Status Code, 소프트 삭제 Response 결과와 함께 status code를 반환하는 이유는 무엇입니까? 요청의 성공 실패 결과를 약속된 HTTP Status Code로 명시하여 개발과정 및 오류 처리를 용이하게 함 status code 약속을 지키지 않아도 프로그램을 작성하는데는 아무런 지장이 없지만 프론트엔드처럼 API를 사용하는 쪽에서는 API의 사용법만 알면 되고 그 이면에 어떤 로직이 있는지 알지 못해도 개발이 가능하기 때문에 약속된 대로 상태코드를 보내주어 협업을 편하게 진행함 +추가정보+ [HTTP 메서드를 써야하는 이유와 어떻게 써야할지를 자세히 적은 문서:)] https://evan-moon.github.io/2020/03/15/about-http-status-code/ [status code 문서] https:.. 2023. 7. 27.
[기술면접] 6일차 문답 | Django ORM Django ORM에서 queryset과 object의 차이점에 대해서 설명하시오 .get()으로 데이터를 가져오면 object 형식 .filter()으로 queryset 형식 차이점 get은 인자를 바탕으로 가져오는 데이터가 없으면 에러가 발생하지만 queryset은 데이터가 없어도 빈리스트를 가져와 오류가 나지 않고 작동한다 때문에 .get 은 try except로 예외처리를 작성하거나 get_object_or_404기능을 사용하여 데이터가 존재하지않을 때의 에러를 방지, .filter는 빈리스트인 경우를 따로 처리하여 기능을 보완할 수 있다 Django ORM에서 정참조와 역참조에 대해서 설명하시오 정참조는 해당 객체가 다른 객체의 ForeignKey를 가지고 있거나 1대1 관계로 있는 상황에서 참.. 2023. 7. 26.
[기술면접] 5일차 문답 | 테스트코드 Fixture CSRF 테스트코드에서 setUp 함수와 setupClass의 차이는 무엇입니까? setUp() 각각의 테스트 메서드가 실행될 때마다 실행, 각 테스트메서드는 방금 생성된 fresh한 오브젝트를 입력받는다! 각 테스트가 끝나면 롤백되기 때문에 데이터베이스에 대한 변경 사항을 정리하지 않아도 된다. 테스트 중 내용이 변경될 수 있는 객체를 이곳에서 생성한다. 단점 : 테스트당 한 번 호출됨 => 시간이 오래 걸리는 경우 테스트 속도가 크게 느려질 수 있다. setUpClass() @classmethod 데코레이터를 달아 함께 사용, 메서드 인자로 cls를 넘겨준다 모든 테스트 함수들을 아울러 데이터를 한 번만 설정한다 한 곳에 테스트에 필요한 데이터들을 정의하고 관리할 수 있다는 장점이 있다 단점 : 테스트 클래스.. 2023. 7. 25.
[기술면접] 4일차 문답 | FBV CBV 테스트코드 TDD FBV와 CBV는 각각 무엇이며, 어떤 차이가 있습니까? Function-Base Views 함수 기반 뷰 함수기반 뷰는 뷰를 작성할때 함수로 작성하는 방식 # views.py @api_view([‘GET’, ‘POST’]) def index(request): if request.method == ‘POST’: return HTTPResponse(“post method”) if request.method == ‘GET’: #else: return HTTPResponse(“get method”) Class-Based Views 클래스 기반 뷰 클래스 기반뷰는 클래스 형식으로 작성하는 방식 From django.views import View Class NewView(View): def get(self, r.. 2023. 7. 24.