본문 바로가기

분류 전체보기

(17)
[Django] 구글로 이메일 보내기 오늘은 Django 프레임워크에서 이메일을 보내는 방법에 대해 알아보겠습니다! 구글 이메일을 통해 이메일을 보낼 예정이고, 받는 이메일은 다양한 플랫폼으로 가능합니다! 시작할게요 :) ▶ 발신할 이메일 설정(구글) GMAIL_ID & GMAIL_PASSWORD 는 my_settings.py 에 입력한 내 아이디 비밀번호와 연결! ★ 중요! 개인정보 정보가 공유되지 않도록 my_settings.py 는 .ignore 파일에 추가하도록 한다! [settings.py] # 발신할 이메일 EMAIL_HOST_USER = GMAIL_ID # 메일을 호스트하는 서버 EMAIL_HOST = "smtp.gmail.com" # gmail과 통신하는 포트 EMAIL_PORT = 587 # TLS 보안 방법 EMAIL_US..
[HTTP] 쿠키 / 세션 / 웹스토리지 / 캐쉬 /프록시 1. 쿠키(cookie) 웹 브라우저가 웹사이트에서 보내온 정보를 저장할 수 있도록 하는 조그마한 파일 4KB까지 저장공간을 이용할 수 있음, 클라이언트의 브라우저 메모리 혹은 하드디스크에 저장 임의로 수정 및 삭제가 가능하므로, 사용자의 편의를 위하되 지워지거나 가로채이더라도 문제 없는 정보를 저장할 때 사용 쿠키 값을 웹브라우저에 설정하면 접속 할 때 마다 설정되었던 쿠키값을 서버에 전송하여, 사용자의 상태를 유지하고, 식별할 수 있다. ex) 로그인창의 아이디 자동완성 기능 or 공지메세지 오늘 보지 않기 기능 or 로그인을 안한 상태로 장바구니 담기 기능 2. 세션(session) 웹 서버가 http 통신상에서 필요한 데이터를 저장, 서버에 저장되기 때문에 쿠키와 달리 사용자 정보가 노출되지 않음..
[인증] 로그인 / 인증 / 암호화 / bcrypt 인증(Authentication) ▶ 인증이란? 사용자의 신원을 확인하는 절차 로그인을 하여 아이디와 비번을 확인하는 절차 ▶ 인증 절차 1) 사용자 가입 절차를 진행해서 사용자의 아이디와 비밀번호를 생성 2) 아이디와 암호화한 비밀번호를 데이터베이스에 저장 3) 로그인할 때 본인의 아이디와 비밀번호를 입력 4) 입력한 비밀번호를 암호화한 후, 암호화되어 DB에 저장된 값과 비교하여 일치하면 로그인 성공 5) 백엔드 API 서버는 access token을 프론트엔드 혹은 클라이언트에게 전송 6) 프론트엔드는 access token을 첨부해서 request를 서버에 전송 엑세스 토큰 알아보기(JWT 토큰) ▶ 왜 사용자의 비밀번호를 암호화해서 저장해야 하는가? 1) 외부의 해킹 공격에 의해 데이터베이스가 ..
[HTTP] HTTP란? / request & response / method / status code 1. HTTP(HyperText Transfer Protocol)란? ▶ 정의 서버와 클라이언트 사이에 데이터를 주고 받기 위한 통신 규약 웹 상에서 네트워크를 통해 서버 사이에 통신할 때 어떠한 형식으로 서로 통신하자고 규정해놓은 "통신 형식", "통신 구조" 서버와 클라이언트가 html,css 등의 컨텐츠를 서로 주고 받으려면 공통으로 약속된 메세지가 필요 바로 그 메세지가 http 이고, http 는 Request와 Response 를 위한 메세지로 구분되어 있음. * 페이지에서 개발자 도구 - network 탭에 들어가면 웹 브라우져와 서버가 통신하는 것을 확인 할 수 있다! ▶ 특징 1) 요청과 응답 : http는 기본적으로 요청고 응답의 구조로 되어 있다. 클라이언트가 먼저 http 요청을 서..
[Wecode] 밀리의서재 <내일채움공책> 회고록 1. 팀원 소개 ▶ Front-end : 강연옥, 주철진, 조성환 → https://github.com/wecode-bootcamp-korea/24-2nd-TomorrowsNotebook-frontend ▶ Back-end : 박지원, 이무현, 신우주 → https://github.com/jiwon5304/24-2nd-TomorrowsNotebook-backendbackend 2. 프로젝트 기간 ▶ 2021.09.13일(월) ~ 2021.10.01(금) 3. 사용 기술 스택 ▶ Front-end : HTML, SCSS, JS, React, Styled-component ▶ Back-end : Python, Django, MySQL 4. 주요 구현 기능 ▶ 기능별 구분 소셜로그인 기능 구현(데코레이터 함수..
[Wecode] 라코스테 <Lafesta> 회고록 1. 팀원 소개 ▶ Front-end : 이송현, 정도영, 최파란별 → https://github.com/wecode-bootcamp-korea/24-1st-LaFesta-frontend ▶ Back-end : 박지원, 주종민, 하예준 → https://github.com/wecode-bootcamp-korea/24-1st-LaFesta-backend 2. 프로젝트 기간 ▶ 2021.08.30(월) ~ 2021.09.10(금) 3. 사용 기술 스택 ▶ Front-end : HTML, SCSS, JS, React ▶ Back-end : Python, Django, MySQL 4. 주요 구현 기능 ▶ 기능별 구분 로그인 , 회원가입 기능 구현 제품 상세 페이지 제품 전체 리스트 페이지(가격 & 타입 & 색 ..
[Django] 유닛테스트 다양한 취업공고들을 보니까, test 에 대해서 언급한 기업들이 많더라구요 그래서 test에 대하여, 그 중 Unit test에 대해 자세히 알아보도록 할게요! 시작하겠습니다 :) ▶ Manual Test * 사람이 직접 실행하는 테스트 * 누구나 직관적으로 큰 계획 없이 테스트 실행가능 * 실행속도 ↓ & 인력소모 ↑ & 불안정성 ↑ & 비용 ↑ ★ 그래서 test 자동화가 중요!! 테스트가 반복적으로 자주 실행될 수 있도록! 빠지는 부분이 없이 실행 될 수 있도록! ▶ 시스템 테스트 방법 3가지 1. UI(User Interface) test / End-To-End test * 사용자가 실제로 시스템을 사용하는 방식과 가장 동일하게 테스트 * 프론트엔드와 백엔드까지 모든 시스템을 실행시키고 연결해야 ..
[인가] access token / JWT / 데코레이터 / 토큰 만료 시간 인증(Authentication) 알아보기 인가(Authorization) ▶ 인가란? 사용자가 서버에 로그인 하면 해당 사용자가 맞는지 확인하는 과정 JWT(JSON Web Token) ▶ JWT(JSON Web Token) http는 stateless한 특징(과거의 통신상태를 저장하지 않음)이 있어서, headers에 토큰을 보내서 확인. 그 토큰을 생성하는 방법 중 가장 널리 이용되는 방법이 JWT 이다. ▶ JWT 구조 "eyJ0eXAiOiJKVLCJiOiJIUzI1NiJ9.eyJpZCI6MmV4cCTYzNTE1MTc0Nn0.vjvArYldV2OX7jnVBqpx_EQCr4WsY4GOXqIg" 1) Header : 토큰의 타입과 해시알고리즘 정보가 들어간다. 헤더의 내용은 BASE64URL 방식으로..