안녕하세요. IT 엘도라도 에 오신 것을 환영합니다.
글을 쓰는 것은 귀찮지만 다시 찾아보는 것은 더 귀찮습니다.
완전한 나만의 것으로 만들기 위해 지식을 차곡차곡 저장해 보아요.   포스팅 둘러보기 ▼

전체 글 (168)

[Django] REST framework - ④ Authentication & Permissions

본 포스팅은 아래 링크의 내용을 나름대로 정리한 글이다. https://www.django-rest-framework.org/tutorial/4-authentication-and-permissions/ 4 - Authentication and permissions - Django REST framework Currently our API doesn't have any restrictions on who can edit or delete code snippets. We'd like to have some more advanced behavior in order to make sure that: Code snippets are always associated with a creator. Only authen..

장고 (Django) 2020.06.27

[Django] REST framework - ③ Class-based Views

본 포스팅은 아래 링크의 내용을 나름대로 정리한 글이다. https://www.django-rest-framework.org/tutorial/3-class-based-views/ 3 - Class based views - Django REST framework We can also write our API views using class-based views, rather than function based views. As we'll see this is a powerful pattern that allows us to reuse common functionality, and helps us keep our code DRY. We'll start by rewriting the root view as a..

장고 (Django) 2020.06.27

[Django] REST framework - ② Requests and Responses

본 포스팅은 아래 링크의 내용을 나름대로 정리한 글이다. https://www.django-rest-framework.org/tutorial/2-requests-and-responses/ 2 - Requests and responses - Django REST framework From this point we're going to really start covering the core of REST framework. Let's introduce a couple of essential building blocks. REST framework introduces a Request object that extends the regular HttpRequest, and provides more flexibl..

장고 (Django) 2020.06.26

[Django] REST framework - ① Serialization

본 포스팅은 아래 링크의 내용을 나름대로 정리한 글이다. https://www.django-rest-framework.org/tutorial/1-serialization/ 1 - Serialization - Django REST framework This tutorial will cover creating a simple pastebin code highlighting Web API. Along the way it will introduce the various components that make up REST framework, and give you a comprehensive understanding of how everything fits together. The tutorial is f www..

장고 (Django) 2020.06.26

[Django] REST API, Django REST framework (DRF)

1. REST API REST(REpresentational State Transfer) API란, HTTP 프로토콜을 통해 요청할 수 있는 API를 만들 때 프로그래머들이 널리 사용하는 형식 중 하나이다. 즉, REST API는 HTTP 기반 API의 한 형식을 의미할 뿐, 특정 기술이나 언어에 의존하는 개념이 아니다. HTTP 프로토콜을 통해 요청을 전송하기 위해서는 크게 두 가지가 필요하다. 하나는 요청하고자 하는 자원을 나타내는 URI(Uniform Resource Identifier), 나머지 하나는 그 자원을 대상으로 수행하고자 하는 동작을 나타내는 메소드(Method)이다. HTTP 요청의 대표적인 메소드로는 GET, POST, PUT, PATCH, DELETE 등이 있으며, 각각은 데이터의..

장고 (Django) 2020.06.26

[Web] PRG (Post-Redirect-Get) 패턴

1. PRG (Post-Redirect-Get) 패턴이란? PRG(Post-Redirect-Get) 패턴은 웹 개발 시에 권장되는 디자인 패턴 중 하나로, HTTP POST 요청에 대한 응답이 또 다른 URL로의 GET 요청을 위한 리다이렉트(응답 코드가 3XX)여야 한다는 것을 의미한다. 즉, 일반적인 HTTP GET 요청처럼 HTTP POST 요청에 대한 응답이 어떠한 페이지를 직접 반환하는 것은 권장되지 않는 위험한 방식이라는 것이다. 2. PRG 패턴의 필요성 PRG 패턴을 사용하지 않는다면, 대표적으로 다음과 같은 두 가지의 문제점이 발생할 수 있다. 첫째, 새로고침으로 인해 동일한 HTTP POST 요청이 중복으로 발생하여 의도치 않은 결과를 낳을 수 있다. 만약 HTTP POST 요청에 대한..

[Database] 인덱스 (Index), B-Tree

1. 서론 인덱스(Index), 즉 색인이라는 말을 책에서 본 경험이 있을 것이다. 원하는 내용을 쉽게 찾을 수 있도록 책 뒤편에 마련해둔 테이블이 바로 그것이다. 여기에는 책에 서술되어 있는 내용들의 주요 키워드들이 사전 순서로 나열되어 있고, 각각의 키워드에 대하여 해당 내용이 서술되어 있는 페이지의 번호가 적혀 있다. 이를 통해 우리는 원하는 내용이 서술되어 있는 페이지로 단번에 찾아갈 수 있다. 데이터베이스에서의 인덱스도 개념적으로는 이것과 완전히 동일하다. 인덱스는 테이블의 레코드 개수가 많을 때도 효율적으로 검색을 수행할 수 있도록 도와주는 일종의 테이블이다. 이제 본격적으로 인덱스에 대해 한 번 알아보자. ▼ 일반적인 책의 인덱스 2. 인덱스의 개념 데이터베이스의 인덱스(Index)란 관계형..

[Database] 트랜잭션 (Transaction)

이런 상황을 상상해 보자. 친구에게 돈을 보내기 위해 ATM기를 찾아간 것이다. 카드를 넣고, 친구의 계좌번호를 누르고, 송금할 금액을 입력하였다. 그런데 송금이 되던 도중 갑자기 ATM기의 화면이 꺼져버렸다. 내 돈이 빠져나갔는지 확인하기 위해서 핸드폰을 보니 출금 알림이 와있었다. 이때 드는 생각은 무엇일까? 필자라면, "혹시 내 통장에서만 돈이 빠져나가고 친구에겐 송금이 안 됐으면 어떡하지?"라고 생각하면서 불안해할 것 같다. 하지만 아주 잘 갖춰진 은행의 데이터베이스 시스템은 그러한 현상을 웬만해서는 용납하지 않는다. 바로 트랜잭션(Transaction)이라는 것 때문이다. 이에 대해 한 번 알아보자. 1. 트랜잭션의 개념 트랜잭션(Transaction)이란 데이터베이스를 대상으로 수행하는 일련의..

[바이트열 인코딩] Base64

이번 포스팅에서는 바이트열을 문자열로 인코딩하는 방식에 대해 알아본다. 문자열을 바이트열로 인코딩하는 방식(ex. ASCII, ANSI, UTF-8 등)이 아니므로 방향성에 주의하자. 바이트열 인코딩 방식에는 여러 종류가 존재하지만, 대표적으로 Base64만 소개한다. 1. Base64 개념 Base64는 바이트열을 문자 코드에 영향받지 않는 64개의 ASCII 문자들로만 이뤄진 문자열로 인코딩하는 방식을 말한다. 화면에 출력 가능한 ASCII 문자가 128개가 되지 않기 때문에, ASCII 문자로 표현할 수 있는 최대 진법은 64진법이다. 임의의 바이트열을 64개의 문자들만 이용해서 표현하기 때문에 64진법이라고 하는 것이며, 이러한 이유로 Base64라는 이름이 붙게 되었다. 참고로, Base64도 ..

[문자열 인코딩] ASCII, ANSI, UTF-8, UTF-16 등

이번 포스팅에서는 문자열을 바이트열로 인코딩하는 방식에 대해 알아볼 것이다. 바이트열을 문자열로 인코딩하는 방식(ex. Base 64)이 아니므로 방향성에 주의하자. 문자열 인코딩 방식에는 여러 종류가 존재하지만, 몇 가지 대표적인 인코딩 방식만을 소개한다. 1. ASCII (American Standard Code for Information Interchange) 흔히들 아스키 코드라고 부르는 것으로, 최초의 문자열 인코딩 방식이다. 7bit로 하나의 문자를 표현하기 때문에, 총 128개의 문자를 표현할 수 있다. 이름에서 나타나 있듯이 영어를 위한 인코딩 방식이기 때문에 일본어, 중국어, 한국어와 같이 다른 언어의 문자들은 표현할 수 없다. 이러한 단점을 보완하기 위해 등장한 문자열 인코딩 방식이 ..