일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- django ORM
- 알고리즘 연습
- PYTHON
- java
- Baekjoon
- web
- 알고리즘
- AWS
- Algorithm
- js
- API
- 장고
- 파이썬
- 알고리즘 풀이
- HTML
- django rest framework
- CSS
- Git
- 백준
- c++
- javascript
- DRF
- 알고리즘 문제
- 파이썬 알고리즘
- Django
- MAC
- es6
- react
- form
- django widget
- Today
- Total
목록web (8)
수학과의 좌충우돌 프로그래밍
gRPC란 gRPC는 구글에서 개발한 어디서나 실행할 수 있는 오픈소스 고성능 RPC 프레임워크입니다. RPC는 Remote Procedure Call의 줄임말로 원격 프로시저 호출이라고 합니다. 이는 별도의 원격제어를 위한 코딩없이 다른 주소공간에서 함수나 프로시저를 실행할 수 있게 해주는 프로세스간 통신 기술입니다. 특히 MSA 구조에서 각각의 서버가 다른 언어와 프레임워크로 개발되었을 경우에도 RPC는 문제 없이 서버간의 통신이 가능해집니다. 또한 기존의 REST 방식의 경우에는, 표준이 없어 파라미터의 응답이 명시적이지 않았을 뿐 아니라 JSON 형태의 데이터를 Serialization하는 비용이 발생한다는 단점이 있었습니다. RPC는 이러한 문제점까지 해결하며 사용이 많아지고 있습니다. Stub..
REST란 REST는 Representational State Transfer의 약자로 자원을 정의하고 자원에 대한 주소를 지정하는 방법 중 하나입니다. URI를 통해 자원을 명시하고 HTTP method를 통해서 동작을 정의합니다. 자세한 설계 방법은 아래에서 살펴봅시다. REST의 특징 동일한 인터페이스 HTTP 표준만 따른다면, 언어와 플랫폼에 종속되지 않습니다. 안드로이드, IOS, 웹에 종속되지 않습니다. Stateless 서버에서 상태정보를 따로 저장하고 관리하지 않습니다. 이로 인해 서버의 구현이 단순해집니다. Cacheable HTTP의 인프라를 그대로 사용할 수 있기 때문에 HTTP가 가진 캐시 기능을 사용할 수 있습니다. Self-descriptiveness (자체 표현 구조) REST..
GraphQL이란 GraphQL 는 Graph Query Language로 facebook에서 개발한 쿼리 언어입니다. GraphQL 은 기존의 REST API의 단점들을 보안하기 위해 나온 통신 규약으로 REST API와 많이 비교됩니다. REST API의 어떠한 문제점들을 보안하는지 알아봅시다. REST API의 한계 REST API는 간단한 서비스에는 문제가 없지만 서비스와 복잡해질수록 Over-Fetching 과 Under-Fetching 문제가 발생할 수 있습니다. 또한 여러 환경에 맞춰 API를 제공해야하는 것도 쉽지 않은 일입니다. 따라서 각 환경에 맞추다보니 비슷한 역할을 하지만 Endpoint가 다른 API가 많이 개발됩니다. Over-Fetching Over-Fetching은 클라이언트..
저번 포스팅에 이어 이번엔 인증하는 두 번째 방법, JWT에 대해서 알아보겠습니다. [WEB] Authentication (1) 세션과 쿠키 [WEB] Authentication (1) 세션과 쿠키 Authentication 우선 Authentication 이 뭔지부터 알아봅시다. 여러분이 어떤 서비스를 이용할 때, 아이디와 비밀번호를 입력하고 로그인을 한 경험이 있으실 겁니다. 이것이 바로 여러분이 서버로 부터 ssungkang.tistory.com JWT 란 JWT란 Json Web Token의 줄임말로 json 형태의 token입니다. JWT을 만들기 위해서는 header, payload, verify signature 총 3가지가 필요합니다. 그리고 3개를 . 으로 조합하여 아래와 같은 형태로 만..
클라이언트와 서버가 요청과 응답을 주고 받을 때 서버는 응답의 결과가 어떨지 알려줘야 합니다. 결과의 내용을 response body에 상세하게 적어줄 수도 있지만 다양하게 발생하는 에러에 이를 다 적는 것은 적지 않은 시간이 소요될 뿐 아니라 다양한 서버 개발자가 함께 작업하다보면 메세지의 포멧이 다양해져 클라이언트와의 소통에 문제가 생길 수 있습니다. 그렇기 때문에 세자리 숫자로 결과가 어떨지에 대한 표준 약속을 정하고 이를 HTTP 상태코드 라고 합니다. 상태코드의 첫번째 자리는 1~5가 위치하며 이를 통해 크게 범주를 나눌 수 있습니다. 1 : 정보응답 요청을 받았으며 프로세스를 계속 진행합니다. 2 : 성공 요청을 성공적으로 받았습니다. 3 : 리다이렉션 요청을 완료하기 위해 추가 작업이 필요합..
백앤드 개발을 하다보면 API의 endpoint를 어떻게 설계할지에 대한 고민을 계속 하게 됩니다. 저 역시 그런 생각을 하다가 GET method를 통해 데이터를 넘길 경우에 Path Variable와 Query Parameter 중 뭐가 더 적합한가에 대한 의구심을 품게 되었고 이를 찾아보고 정리하게 되었습니다. 각각에 대해 알아보며 어느 상황에 쓰는게 적합할지 생각해봅시다. Path Variable Path Variable 는 이름에서도 알 수 있듯이 경로를 변수로서 사용합니다. 게시물이 존재하며 각각의 게시물을 볼 수 있는 경우를 생각해봅시다. 각각의 게시물을 보기 위해서는 게시물의 id를 서버에 넘겨줘야 합니다. 이를 Path Variable 를 사용하면 다음과 같이 나타냅니다. /post/6 ..
SPA 란? SPA 란 Single Page Application의 약자로 말 그래도 해석해보면 페이지가 한 개인 어플리케이션이라는 뜻입니다. 여기서 페이지가 하나라는 의미가 무슨 의미일까요? SPA 가 등장하기 전 웹 어플리케이션은 여러 페이지로 구성하였습니다. 쉽게 말해 로그인 페이지, 회원가입 페이지, 글 작성 페이지 등이 있고 사용자가 새로운 페이지에 대한 요청을 보내면 서버로부터 리소스를 전달받아서 이를 렌더링하는 방식으로 동작하였습니다. 하지만 시간이 지나 웹에서 점점 더 많은 정보를 제공하게 되었을 뿐만 아니라 스마트폰의 보급으로 컴퓨팅 파워가 낮은 모바일 기기를 통한 웹 어플리케이션접속도 빠르게 증가하였습니다. 이는 속도 저하로 귀결되었습니다. 그래서 렌더링 하는 역할을 서버에게 넘기지 않..
SEO란? SEO란 search engine optimization 의 줄임말로서 검색 엔진 최적화 라고 합니다. 말그대로 웹페이지 검색 엔진이 자료를 수집하고 순위를 매기는 방식에 맞게 웹페이지를 최적화하여 검색 결과의 상위에 나타날 수 있도록 하는 작업입니다. 아무래도 상위에 있을수록 방문 트래픽이 증가하기 때문에 효과적인 인터넷 마케팅이라고 할 수 있습니다. 하지만 각 검색 엔진들은 웹페이지에 순위를 메기는 방식이 다르기 때문에 어느 검색엔진에 최적화 할지 고르는 것 역시 중요합니다. 가장 큰 검색 엔진인 구글과 한국에서 가장 큰 검색 엔진 네이버에 대해서 어떻게 다른지 간략하게 알아보도록 하겠습니다. 구글과 네이버의 검색엔진 구글이 콘텐츠를 평가 할 때의 가장 큰 평가기준을 EAT 라고 합니다. ..