Project/AInfo 4

[WebSocket] WebSocket 이란? (Django Channels)

WebSocket우리가 REST, RESTful 하면서 들어본 HTTP 프로토콜처럼 웹소켓도 프로토콜의 한 종류이다.웹소켓은 HTTP 프로토콜을 기반으로 하는 양방향 통신 프로토콜 인데일반적인 HTTP 프로토콜은 한번 요청이 오면 서버에서 처리하고 응답을 하면 일련의 과정이 끝난것이다.하지만 웹소켓은 한번의 핸드셰이크(초기요청) 이후 통신이 계속 유지되며더보기핸드셰이크란? Handshake (HTTP Upgrade)클라이언트와 서버 간의 연결을 초기화 하는 과정우리가 익히 알고있는 POST, GET 처럼 OPTION 이라는 메서드로 HTTP 요청을 보낸다이때 헤더에 Upgrade: websocket과 Connection: Upgrade를 포함하며 HTTP연결을 웹소켓으로 업그레이드 하겠다는 의도를 전한다..

Project/AInfo 2025.03.14

[Celery] Celery 란?

Celery 란?공식 문서에선 Asynchronous Task Queue 라고 정의함즉 백그라운드에서 실행할 작업을 큐에 넣고, 비동기적으로 실행하는 분산 시스템이다. 주요특징비동기 작업 처리: 시간이 오래 걸리는 작업을 백그라운드에서 실행분산 처리: 여러 워커(worker)를 실행해서 작업 부하를 분산확장성: 여러 개의 작업을 동시에 처리 가능재시도 기능: 실패한 작업을 자동으로 다시 실행 가능 웹서버에선 오래 걸리는 작업을 동기적으로 실행하면 사용자가 오래 기달려야 한다.그래서 Celery 를 사용해 오래걸리는 작업을 백그라운드에서 실행시켜 빠른 응답속도와 높은 성능을 유지하는 것이다더보기백그라운드란?사용자가 직접 상호작용하지 않는 상태에서 실행되는 작업을 의미반대로 사용자가 직접 상호작용하는 작업은..

Project/AInfo 2025.03.06

[SMTP] 메일기능 활용

메일기능을 활용한 본인인증 및 비밀번호 재설정 이제 SMTP 가 무엇인지는 알았으니 이걸 이용해 여러 기능들을 구현할 차례이다 우선 메일기능을 활용해 여러 사이트에 있는 이메일 본인인증 기능을 구현 할 생각이다처음써보는 기능이라 당황했을테지만 어느사이트를 이용하든 이메일관련한 본인인증은 자주 사용되며 그만큼 레퍼런스가 많아 편하게 구현할 수 있을 것이라 생각할 것이다. 또한 Django 는 설계철학에 맞게 이메일을통한 본인인증 혹은 비밀번호 재설정이 자주쓰이는 기능이란걸 알고있어미리 로직을 구성해둬서 사용할 수 있게 해준다.Django의 기본 이메일 인증 및 비밀번호 재설정 기능1. 비밀번호 재설정 기능 (Password Reset)Django의 django.contrib.auth 앱에서는 아래와 같은..

Project/AInfo 2025.03.03

[SMTP] SMTP 란?

SMTP 가 뭔데?SMTP : Simple Mail Transfer Protocol이메일을 송신할때 사용하는 인터넷 표준 프로토콜 이다.이메일을 보낼때 서버 간의 통신을 담당하며,메일 클라이언트 -> 메일 서버로 전송하는 역할을 한다.항상 모든 용어는 그 어원을 이해해야 한다.Simple 한 Mail 을 Transfer 할때 사용하는 ProtocolSMTP 라는 용어자체를 우리프로젝트에서 처음 접하면본인인증을 할때 필요한 특수한 기능인가?이메일 관련 기능들을 모아둔 라이브러리 인가?이런 생각을 할텐데 SMT "P"이것도 프로토콜의 한 종류이다메일이란 기술이 처음 발명되던 시대에 메일을 주고, 받고 하기위해선서로 통신이 필요하단건 다들 아실거고통신할 때 이런식으로 해라!라고 만들어둔 규칙이라는 것이다.  ..

Project/AInfo 2025.03.02