- 데일리 과제[Django 50문 50답] RESTful API는 무엇을 의미합니까? REST (Representational State Transfer) API는 웹 서비스에서 클라이언트와 서버 간의 통신을 단순화하는 데 사용되는 아키텍처 스타일입니다. REST는 자원(resource)에 기반을 둔 아키텍처로, 자원을 URI(Uniform Resource Identifier)의 형태로 식별하고, 해당 자원을 생성, 읽기, 업데이트 및 삭제하는 기능을 제공합니다. RESTful API란 REST 아키텍처 원칙을 따르는 API라고 할 수 있습니다. (예상) 추가 질문: URI와 URL의 차이점 URI는 인터넷에서 자원에 접근하기 위한 고유한 식별자입니다. 자원은 웹페이지, 이미지, 영상 등 인터넷 상의 ..
- 데일리 과제[Django 50문 50답] Response 결과와 함께 status code를 반환하는 이유는 무엇입니까? 상태 코드는 요청의 성공 여부, 실패 이유, 예상되는 클라이언트의 다음 동작 등을 명확하게 전달하기 위해 사용됩니다. 즉, 웹 서비스에서 응답 결과를 효과적으로 전달하고, 어떤 오류인지 클라이언트에게 알려주어 명확하게 처리할 수 있도록 해줍니다. 또한 통신이 표준화되고 코드의 단순화가 가능합니다. 회원탈퇴, 게시글 삭제와 같은 기능을 구현할 때 실제 레코드를 삭제합니까? 그렇지 않다면 그 이유는 무엇입니까? 회원탈퇴의 경우 .delete() 메서드를 이용해서 실제 레코드는 삭제하기보다 is_active 칼럼을 True에서 False로 상태값 변경을 합니다. 유저를 레코드에서 삭제할..
- 데일리 과제[Django 50문 50답] Django ORM에서 queryset과 object의 차이점에 대해서 설명하시오 QuerySet 먼저 QuerySet은 모델을 대상으로 쿼리를 작성하는 데 사용하는 Django ORM의 객체로, 데이터베이스로부터 특정 조건에 맞는 결과를 가져오기 위한 필터링, 정렬, 슬라이싱 등 다양한 쿼리 작성 기능을 제공합니다. 데이터베이스로부터 여러 레코드를 조회할 때 QuerySet이 반환되며, QuerySet은 이런 데이터 집합의 타입입니다. QuerySet은 "lazy evaluation"이라는 특징이 있어, 값을 실제로 사용할 때 데이터베이스에 쿼리를 실행합니다. 즉, QuerySet의 평가를 연기하여 최적화를 도모하는 메커니즘이 적용되어 있습니다. Object..
- 데일리 과제[Django 50문 50답] 테스트코드에서 setup 함수와 setupclass의 차이는 무엇입니까? setUp 함수는 각 테스트 함수가 실행되기 전에 호출됩니다. 각 테스트 함수에 대해서 독립적인 테스트 환경을 구성할 수 있게 됩니다. 테스트 간의 상태를 분리하여 테스트 결과에 영향을 주지 않도록 해줍니다. setUpClass 함수는 테스트 케이스 클래스에 생성된 첫 번째 테스트가 실행되기 전에 호출되며, 단 한 번만 호출됩니다. 호출된 후 전체 테스트 케이스에 걸쳐 공유 환경이 유지됩니다. 공통적인 설정이나 리소스를 한 번만 초기화하고 전체 테스트에 걸쳐 재사용할 수 있습니다. Template Engine을 사용할 때, 발생하는 CSRF Error가 무엇이고 어떻게 해결합니까? CSR..
- 데일리 과제[Django 50문 50답] FBV와 CBV는 각각 무엇이며, 어떤 차이가 있습니까? FBV와 CBV는 Django에서 사용하는 두 가지 다른 뷰(view) 작성 방식입니다. 뷰는 사용자의 HTTP 요청(request)에 응답(response)하는 핵심 컴포넌트로, 웹 애플리케이션의 동작을 결정합니다. 먼저, FBV는 Function-Based Views의 약자로, 함수를 사용하여 뷰를 작성하는 방식입니다. 요청(request)을 처리하는 로직을 각각의 함수에 직접 작성합니다. 함수는 특정 URL 경로와 연결되어 사용자 요청에 응답합니다. 일반적으로 작은 프로젝트에서 사용되며, 코드가 간결하고 이해하기 쉽습니다. CBV는 Class-Based Views의 약자로, 클래스를 사용하여 뷰를 ..