-
Django ORM defer 기능
시작하기 전에 안녕하세요 똑똑한 개발자에서 백엔드 개발을 하고 있는 jujun입니다. django orm 은 디폴트로 해당 모델의 모든 컬럼을 불러옵니다. only 기능을 사용한다면 필요한 항목만 불러올 수 있게 됩니다. 이번 포스트에서는 only()와 반대(?)인 defer()기능은 명시된 컬럼을 빼고 모든 컬럼을 가져옵니다. 이는 불필요한 데이터를 불러오지 않게하여 컴퓨터 자원을 보다 효율적으로 사용할수 있습니다. 하지만 잘못 사용하면 lazy lading 에 의해 불필요한 쿼리를 발생시킵니다. 자세히 알아보겠습니다. . 본론 예제코드 저번 블로그와 같이 아래와 같은 모델이 있습니다. # api.raw.models class...
jujun's profile imagejujun
2021-08-26 14:35
-
Django ORM only 기능
시작하기 전에 안녕하세요 똑똑한 개발자에서 백엔드 개발을 하고 있는 jujun입니다. django orm 은 디폴트로 해당 모델의 모든 컬럼을 불러옵니다. 하지만 only 기능을 사용한다면 필요한 항목만 불러올 수 있게 됩니다. 이는 불필요한 데이터를 불러오지 않게하여 컴퓨터 자원을 보다 효율적으로 사용할수 있습니다. 하지만 잘못 사용하면 lazy lading 에 의해 불필요한 쿼리를 발생시킵니다. 자세히 알아보겠습니다. . 본론 예제코드 아래와 같은 모델이 있습니다. # api.raw.models class Party(models.Model): country = models.ForeignKey("raw.Country", verbose_name="국가", on_delete=models.SET_NULL ,null=True) owner = models.ForeignKey("user.User", verbose_name="소유자", on_delete=models.SET_NULL ,null=True)...
jujun's profile imagejujun
2021-07-27 10:35
-
Django Session 알아보기
시작하기 전에 안녕하세요 똑똑한 개발자에서 백엔드 개발을 하고 있는 jujun입니다. 오늘은 Django 의 세션에 대해 알아보려합니다. 세션에 대해 막연하게만 알고 있어서 이번 기회에 보다 깊이 이해해 보려고 합니다. . 본론 Session? a session is a temporary and interactive information interchange between two or more communicating devices, or between a computer and user (see login session). An established communication session may involve more than one message in each direction. A session is typically stateful, meaning that...
jujun's profile imagejujun
2021-06-16 10:35
-
하둡에 대해서
하둡에 대해서 안녕하세요 똑똑한 개발자에서 백엔드 개발을 하고 있는 김준성입니다. 동료의 추천으로 토스의 기술 컨퍼런스 slash21 을 접하여 내용을 들여다 보았습니다. link 토스의 백엔드는 어떻게 구성되어 있는 지에 대한 이야기였습니다. 떨리는 마음으로 이야기를 듣기 시작했는데 전혀 이해가 되지 않았습니다. 심지어 아는 단어도 하나 없었습니다. 으엥 그래서 해당 내용을 공부해 보았습니다. . . 본론 hadoop 하둡은 Java로 개발된 오픈소스 분산 클러스터 파일시스템입니다. 컴퓨터를 스케일링하는 과정에서 한대의 컴퓨터의 성능을 높일 수 있습니다. 한편으로는 여러대의 컴퓨터를 연결시켜 성능을...
jujun's profile imagejujun
2021-05-28 10:35
-
SerializerMethodField() 사용의 쿼리 최적화
SerializerMethodField() 사용의 쿼리 최적화 안녕하세요 똑똑한 개발자에서 백엔드 개발을 하고 있는 jujun입니다. SerializerMethodField는 원하는 key value를 만들 수 있게 도와주지만 잘못 사용하면 N+1 문제를 발생시킵니다. . . 본론 예제 모델 Profile 모델과 Essay 모델이있고 Essay는 Profile을 참조하고 있습니다. # profile/models.py class Profile(models.Model): username = models.CharField("제목", max_length=50) # essay/Essay.py class Essay(models.Model): title = models.CharField("제목", max_length=50) profile = models.ForeignKey(Profile, verbose_name='작성자', on_delete=models.CASCADE) . . ###정방향 참조 모든 essay의 내용과 작성자 정보를 담은 json을 반환하고자 합니다. 해당 뷰는 모든...
jujun's profile imagejujun
2021-04-28 10:35