TIL) N + 1의 문제

쿼리셋은 기본적으로 Lazy Lodaing 방식을 선택한다.하지만, SQL로 한꺼번에 많은 데이터를 가져오고 싶은 때가 있을 것이다.이러한 방식을 ORM에서 Eager Loading(즉시 로딩)이라고 부른다.쿼리셋에서는 Eager Loading을 지원하기 위해 sele

2022년 10월 4일
·
0개의 댓글
·

TIL) select_related & prefetch_related

select_related 셀렉트할 객체가 역참조하는 single object('one-to-one' or 'many-to-one')이거나, 또는 정참조 foreign key일 때에 사용한다. select_related는 각각의 lookup마다 SQL의 JOIN을

2022년 10월 3일
·
0개의 댓글
·
post-thumbnail

TIL) Cookie & Session

웹 환경에서 사용자와 시스템 사이에 데이터를 교환하기 위해서 HTTP 방식을 이용한다. HTTP통신은 요청과 응답에 의해 동작한다. 가장 큰 특징은 Stateless인데, 과거의 통신에 대한 내용을 알지 못한다는 의미이다. 따라서 매 통신 때 마다 필요한 모든 정보를

2022년 9월 21일
·
0개의 댓글
·

TIL) SaaS, PaaS, IaaS

SaaS는 Software as a Service의 약어로, 인프라나 플랫폼(OS)뿐만 아니라, 앱 까지 제공하는 서비스이다. 예를 들어 SNS나 블로그 서비스 등과 같은 것을 의미한다.편리하지만 자유도가 낮은 편.바로 사용할 수 있기 때문에 작업량이 적다.특별한 지식

2022년 9월 19일
·
0개의 댓글
·

TIL) SQL

SQL이란, Structured Query Language(구조적 쿼리 언어)의 약자이며, 데이터베이스 액세스 및 조작을 위한 표준 언어이다.SQL을 사용하면, RDBMS(관계형 데이터베이스)에서 데이터를 저장, 수정, 삭제 및 조회가 가능하다.RDBMS에는 두 가지의

2022년 9월 15일
·
0개의 댓글
·

TIL) Python Class Method

class는 '부류'라는 의미를 지니고 있다. '부류'의 사전적 정의는라고 한다.즉, 공통점이 많은 것들을 가리켜 '동일한 부류'라고 하는 것이다.예를 들어, 카페에 갔다고 치자. 메뉴판에 있는 메뉴들은 거의 '음료'에 해당하는 '마실 것'이 메인일 것이다. '아메리카

2022년 9월 4일
·
0개의 댓글
·

TIL) RESTful API

API란, 'Application Programming Interface'의 줄임말로, 컴퓨터나 컴퓨터 프로그램 사이의 연결이다. 일종의 소프트웨어 인터페이스이며, 다른 종류의 소프트웨어에 서비스를 제공한다.쉽게 말해, API는 프로그램들이 서로 상호작용하는 것을 도와

2022년 8월 17일
·
0개의 댓글
·

TIL) Unit test - mocking

자체 서버만을 이용하는 것이 아닌, 데이터베이스 또는 외부의 API에 의존하여 코드를 테스트 해야하는 일이 생기는데, (나는 이번 개인 프로젝트에서 소셜로그인(kakao) API에 대한 unit test를 작성할 때에 이 상황을 겪었다.) 그 외부에 의존하는 부분을 임

2022년 8월 1일
·
0개의 댓글
·

TIL) 터미널에서 port kill 하기

터미널에서 runserver를 하고 여러 작업을 하던 중, 갑자기 터미널에서 업데이트 알림창이 떴다. 무의식 중에 업데이트를 눌러 진행하고 보니, 다시 python manage.py runserver 명령어를 쳤을 때,이렇게 뜨는 것을 확인했다.주목해야할 것은 가장 아

2022년 7월 12일
·
0개의 댓글
·

TIL) Enum

Enum이란? 열거형(Enumeration)은 고유한 상숫값에 연결된 기호 이름의 집합이다. 대표적으로 boolean이 그 예이다. 쉽게 말해 False값에 0, True값에 1이 부여된 것과 같은 것이다. 으로 모듈(라이브러리)을 먼저 import 해 온 후에 En

2022년 7월 6일
·
0개의 댓글
·

TIL) Q객체

Q() Q객체는 쿼리문 자체를 객체로 다룰 수 있게 하는 클래스이다. 쿼리 조건문에 연산자를 사용한 조건을 걸어 데이터에 대한 필터링을 해주는 것이라고 보면 된다. '|'는 '또는','or'의 합집합의 의미를 가지는 기호이며, '&'조건은 'and'로, 조건의 교집합

2022년 7월 4일
·
0개의 댓글
·

TIL) List Comprehension

List Comprehension 리스트 컴프리헨션(List Comprehension)은 리스트를 보다 간결하게 만들 수 있는 파이썬의 문법 중 하나이다. 작성한 코드 중의 일부이다. 여기서 Service라는 클래스에 있는 객체들을 모두 불러와서 services라는

2022년 6월 16일
·
0개의 댓글
·

TIL) RESTful API / Path Parameter & Query Parameter

두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스이다.api에서 보내는 리소스를 URI로 표현하고, 해당 리소스에 대한 의도를 HTTP 메소드(GET, POST, PUT, PATCH, DELETE)를 사용하여 나타낸다.함수 혹은 메서드

2022년 6월 13일
·
0개의 댓글
·
post-thumbnail

TIL) Value Error : Invalid Salt

개인 프로젝트를 시작하고 얼마 되지 않아 회원가입/로그인 기능을 막 완성하고 테스트 코드를 작성하는 중에 마주한 에러에 대해 글을 남기려 한다.맨 처음 내가 짰던 테스트 코드이다. 작성을 하고 "python manage.py test users" 명령어로 실행을 시켰더

2022년 6월 9일
·
0개의 댓글
·
post-thumbnail

TIL) 비밀번호 암호화

인증 (Authentication) 인증이란, DB 상에 저장된 유저

2022년 6월 7일
·
0개의 댓글
·

웹 서비스의 역사와 발전

Internet? > - 전 세계의 컴퓨터가 서로 연결되어 정보를 교환할 수 있는 하나의 거대한 컴퓨터 통신망으로, 컴퓨터들이 서로 통신이 가능하게 되는 거대한 네트워크. Web? > - 인터넷 네트워크를 이용하여 통신되는 정보의 집합. 1990년 Tim Berner

2022년 6월 2일
·
0개의 댓글
·

TIL) Status Code

2XX Success > 2xx 번대 상태 코드들은 서버가 클라이언트의 요청 처리했다는 의미이다. 200 Ok 클라이언트의 요청이 서버에 정상적으로 처리됨. 모든 성공에 대한 상태코드를 200으로 줘도 상관은 없다. 그러나 세부적으로 나눠서 적절한 상태코드를 갖게

2022년 5월 31일
·
0개의 댓글
·

TIL) Django C.R.U.D 2

Model 작성하기 여기엔 작성했던 거 복붙! View 작성하기 Create 리소스를 생성할 때, HTTP Method 중, POST 메소드를 사용한다. request의 body에 담아서 client에서 server로 요청한다. View를 작성한 이후에는 클라이언트의

2022년 5월 30일
·
0개의 댓글
·

TIL) HTTP

HTTP (요청/응답) Stateless(무상태 프로토콜) 컴퓨터끼리 어떻게 html 파일을 주고 받을 지에 대한 소통 방식 또는 약속 state+less한 상태 : 과거의 http통신의 결과를 보존하지 않음. stateful한 상태 : 내가 언급한 것들을 저장함.

2022년 5월 28일
·
0개의 댓글
·

TIL) Django C.R.U.D 1

1. Django Workflow client에서 요청이 들어오면, 가장 큰 분기로 urls.py에서 client의 요청이 어떠한 요청인지를 분석한다. 이후에 views.py에서 로직을 실행시키고, models.py에서 DB의 데이터를 어떻게 가져올 것인지를 정한다.

2022년 5월 27일
·
0개의 댓글
·