Django
-
[Django][DRF] Django View 함수를 DRF VieSet 으로 변형하기 (FBV -> CBV)Backend/Django 2025. 3. 9. 23:44
과제 목표"왜 모두 ViewSet을 사용할까?"지난해, 웹 개발자로 첫 프로젝트를 마주했을 때 Django의 Function-Based View(FBV)는 나에게 '안전한 선택'이었다. 직관적인 요청-응답 구조와 익숙한 방식이었기 때문이다. 하지만 상사들의 코드 중 최근에 작성된 코드일수록 DRF ViewSet이 빈번히 등장하는 것을 보며 언제 ViewSet을 사용하는 것이 좋은 것일까 라는 의문이 생겼다.DRF 적응기 + 언제 ViewSet을 도입해야 하는가에 대한 판단력 기르기"DRF의 Tutorial 을 1회 따라하고 난 지금, 단순히 이론으로만 알고 있던 'ViewSet의 장점'을 직접 (반half)실전을 통해 체감해보고 싶다는 생각을 하게 되었다. 기존 코드 (삽입)즐겨찾기 등록(삽입)사용자마다..
-
[DRF] Serializer 기본Backend/Django 2025. 2. 16. 15:01
https://www.youtube.com/watch?v=SBnUs18rvUw직렬화: Web server 와 사용자 사이에서 주고 받는 data 를 사용하기 편하도록 '직렬의 형태'로 표현하는 것. 여기서 '직렬의 형태' 란 json 이나 dict (OrderedDict, ReturnDict...) 처럼 한 줄로 주르륵 표현할 수 있는 형태를 의미함.ex)Students={[ { 'name': 'Tom', 'age': 14, 'blood_type': 'B', 'height': 180, 'weight': 75, 'contact': '010-.......' }, { 'name': 'Julie', ..
-
[QuerySet] Django 의 DB 접근법 (2): Eager Loading (부제: DB 최적화 전략)Backend/Django 2025. 1. 5. 23:47
작성 계기'Django 의 DB 접근법' 이란 제목의 글을 작성하게 된 핵심 계기는 바로 아래의 동영상 강의이다.Django ORM (QuerySet)구조와 원리 그리고 최적화전략 - 김성렬 - PyCon Korea 2020위 영상을 보고 Django 의 DB 접근 방식을 처음으로 접하게 되었고 새로 얻게 된 지식을 완벽히 흡수하고 싶었다. 이를 위해 영상을 다시 나만의 글로 작성하는 방식을 채택하게 되었다.본문Eager Loading 즉시 평가DB data 를 사용하는 code 실행과 동시에 SQL 문이 실행되어 원하는 객체를 바로 메모리에 로드하는 방식. Django 의 QuerySet 은 Eager Loading 을 지원하는 `select_related()` 와 `prefetch_re..
-
[QuerySet] Django 의 DB 접근법 (1): Lazy loadingBackend/Django 2024. 11. 10. 23:19
Django 공부를 위해 Youtube 를 뒤지다가 아래의 영상을 발견하게 되었다.Django ORM (QuerySet)구조와 원리 그리고 최적화전략 - 김성렬 - PyCon Korea 2020영상은 Django 의 ORM 은 성능 효율을 높이기 기본적으로 DB 접근 횟수를 줄이는 Lazy loading 을 사용한다로 시작한다. 아직 '성능' 이 중요한 줄은 알지만 향상시키는 방법은 덜 익숙한 나에게 흥미로운 도입부였다. 그렇게 해당 영상을 시작으로 QuerySet 의 동작 원리를 파고들게 되었다.Lazy Loading 지연 평가QuerySet 객체 생성(선언)을 했더라도 SQL 문(=Query)이 실제로 실행되는 시점은 해당 객체가 실사용되는 때(='평가' 라고도 한다.)이다.QuerySet..
-
filter() - fields loopkups(**kwargs), Q objects(**args)Backend/Django 2023. 12. 3. 17:12
Clone Coding을 하다가 생각없이 사용 중이던 filter() 함수의 사용법을 좀 더 깊게 파보고자 공식 문서를 살펴 보았다. filter() https://docs.djangoproject.com/en/4.2/ref/models/querysets/#filter QuerySet의 Member method 로 lookup parameter를 충족하는 객체들만 모아 새로운 QuerySet 을 생성하여 반환한다. 즉 DB에서 특정 조건(lookup parameter)들로 조회하여 나온 결과를 다시 Model Instance로 생성하여 QuerySet에 담아 반환한다고 볼 수 있다. 조건을 지정하는 방식으로는 field lookups(kwargs에 대입) 와Q object(args에 대입) 가 있다. 여..
-
[Django] 배프의 오지랖 파이썬 웹프로그래밍Book 2023. 8. 14. 23:42
배프의 오지랖 파이썬 웹프로그래밍 배프의 오지랖 파이썬 웹프로그래밍 - 예스24기초부터 실전 웹 서비스까지 다 담았다!현직 개발자이자 IT강사인 배프의 강의와 실무를 통해 쌓은 노하우를 한 단계식 알려드립니다. 현 웹 프로그래밍 시장은 다양한 기술을 활용하여 얼마나www.yes24.com Django 2번째 책아직 2장까지만 읽은 상태이지만 '점프 투 장고'와 확실히 차이가 느껴지는 책. 내용면에서는 '점프 투 장고'보다 깊이가 있지만 그만큼 이해 난이도가 살짝 높다. 우연이었지만 '점프 투 장고' 를 읽고 이 책을 읽게 된 것이 나름 적절한 순서였다고 느껴졌다. 2장까지는 이론 위주의 설명이고 3장 부터는 실습 위주의 내용으로 구성되어 있다.밀리의 서재에서 서비스 중이라 편하게 모니터로 보면서 실습할 ..
-
[Django][완독] 점프 투 장고 - WikiDocsBook 2023. 8. 14. 23:20
점프 투 장고 - Wikidocs 점프 투 장고 **점프 투 장고 종이 책 출간 !! (2020.12)** * [책 구입 안내](https://wikidocs.net/105844) 점프 투 장고는 파이보라는 … wikidocs.net Django를 처음으로 배운 책. 어려운 내용은 최소화하여 Django 입문 용으로 괜찮았다고 생각한다. 다만 그만큼 Django를 깊이있게 배우기엔 한계가 있다. 실습 내용을 진행하면서도 Code는 이해하지만 Django 내부적인 동작 방식이나 흐름 등은 알 수 없었다. (원래 Django를 사용할 때 그런 것인지 내가 아직 입문자라 잘 모르는 것인지는 구별 할 수 없었지만!) 또 필자이신 박응용님이 운영하는 파이보 사이트에서 책을 읽다 모르는 부분을 질문할 수도 있다. ..