Django, DRF

· Django, DRF
소프트워에 개발 과정에서 예외처리는 필수적인 요소이다. 예외가 발생했을 때 이를 적절히 처리하지 않으면 프로그램이 비정상적으로 종료되거나 예상치 못한 동작들을 할 수 있다. 기본적인 예외처리는 간단한 방식으로 구현되지만, 프로젝트가 복잡해질수록 더 정교하고 유연한 예외처리 전략이 필요하다. 앞서 내가 진행했던 커스텀 예외처리에 관한 글인데, 당시에는 부족한 부분도 많고 재대로 이해하지 못한 부분도 있었고 아래 글 처럼 진행하였더니 여러 불편한 상황들이 많아서 더 안정적이고 유지보수, 가독성이 많이 발전된 코드를 작성하게 되어서 이 글을 작성하게 되었다. [Custom] DRF Custom exception fomat (exception_handler)Response에 이어서 exception_handle..
· Django, DRF
유닛 테스트는 프로젝트에서 중요한 역할을 한다. 각 기능이 올바르게 동작하는지 확인하고, 코드의 변경이 기존 기능에 부정적은 영향을 미치진 않았는지 학인 및 기존 코드의 동작을 보장해 준다. 일반적으로 Django의 유닛 테스트는 별도의 테스트 데이터 베이스를 사용하여 진행되지만 개인적으로 불편하고 데이터 베이스 없이 테스트를 수행하는 것이 더 효율적일 수도 있다는 이야기가 있어서 진행해 보았다.  TEST DB를 사용하지 않았을 때의 장점속도 향상 - 데이터베이스 없이 테스트를 실행하면 테스트 속도가 향상된다.환경 구성 단순화 - 별도의 데이터베이스 구성이 필요 없어, 테스트 환경을 쉽게 설정할 수 있다.데이터 베이스의 독립성 - 데이터베이스 의존성 없이 테스트를 구성함으로써 독립적인 단위 효과를 효과..
· Django, DRF
API호출을 하면서 발생할 수 있는 문제중 하나로 CORS 관련 문제가 있다. CORS에 대한 개념 뿐만아니라 안전하게 설정하고 테스트하는 방법을 알고 있어야한다.  CORS에 대한 개념 및 DRF에서 설정하는 방법에 대해서는 여러 공식문서 외에도 블로그 글로 잘 정리되어 있었는데, 잘 적용되었는지 테스트하는 방법에 대해서는 자세히 안나와 있고, 프로젝트를하면서 cors에러가 발생해서 어떻게해서 해결했다. 라는 글만 있어서 직접 삽질하면서 알아낸 방법에 대해서도 이야기 해보려고한다.  CORS란?개념에 관해서는 자세히 정리된 글이 있어 굳이 따로 정리하진 않았지만 CORS를 간단히 설명하자면, 웹 페이지가 다른 도메인의 리소스에 접근할 수 있도록 허용하는 보안 기능이다. 브라우저는 보안 상의 이유로 스크..
· Django, DRF
Response에 이어서 exception_handler를 이용하여 기본 예외 포맷이나 응답 구조를 사용자화 하려고한다. 들어가기에 앞서 exception_handler란 무엇인가?'exception_handler'는 DRF의 예외처리 기능으로 API에서 발생한 예외를 처리하고 사용자 지정 응답을 생성하는 역할을 한다. 기본적으로 exception_handler를 사용하여 예외처리를해도 아무런 문제가 없지만 이를 재정의해서 사용자 지정 로직을 적용시켜 보려고한다. 예외처리를 커스터마이징 하기 위한 절차로는1. exception_handler를 재 정의한다.2. 예외를 처리하고 사용자 지정 응답을 생성하는 로직을 구현한다.3. 설정 파일에서 재정의한 핸들러를 등록한다. 아래는 1번 exception_han..
· Django, DRF
지난 Renderer에 이어서 Custom Response를 구현한 내용에 대해 작성해 보려고한다. 먼저 이야기하자면, Response를 구현하는것은 어렵지 않았지만, renderer과 response를 커스터마이징해서 구현했는데 data가 중복되어 매핑되는 문제가 생겼었다.  이런 저런 방법을 사용하고 수정해봐도 2번 매핑이되어서 settings에서 renderer 디폴트값을 주석처리해두고 진행하였다. 추후 알게된 사실은 Response 클래스는 renderer 메서드를 내부적으로 호출하고 있기 때문에 하나만 사용하면 되는 것이였다. 그럼 둘의 차이점은 무엇일까?우선 Response는 응답 객체를 생성할때마다 해당 클래스를 인스턴스화 하여 사용해야한다. 즉, 생성할때마다 Response 객체를 만들어줘..
Jong_seoung
'Django, DRF' 카테고리의 글 목록