본문 바로가기

전체 글89

2022-10-27 TIL 요즘 장고의 drf(django rest framework)를 공부하면서 느낀건데, 나는 보통 개발을 할 때 모르는 것이 있으면 무작정 구글에 들어가서 한글로 검색을 하는 스타일이다. 하지만 장고나 drf 등 이런 개발 툴들은 모두 공식 홈페이지가 있고 친절하게 공식 문서도 전부 작성되어있다... 지금까지 공식 답안지를 두고 너무 인터넷에 있는 난잡한 정보들만 보고 개발을 해왔던 것 같다... 그래서 장고를 공부하거나 개발할 때 유용한 공식 홈페이지들을 모아보았다. https://www.djangoproject.com/ The web framework for perfectionists with deadlines | Django Django The web framework for perfectionists.. 2022. 10. 28.
2022-10-26 TIL (로그인 인증의 종류, JWT 알아보기) 로그인 인증의 종류에는 크게 두 가지 종류가 있다. 1. 세션 인증 기본적으로 브라우저에서 사용자가 인증(Authentication)을 수행하면 서버에서는 사용자의 정보를 저장하고, 그 응답으로 JSESSIONID 라는 키를 이용해 클라이언트(사용자) 브라우저의 쿠키에 세션의 정보를 저장하게 됩니다. 이후 클라이언트는 브라우저 쿠키에 저장된 JSESSIONID 로 저장된 세션 정보를 이용해 **인가(Authrization)**된 정보에 접근할 수 있게 됩니다. 2. 토큰 인증 토큰인증 방식은 사용자가 인증을 수행하면 서버에서는 토큰을 생성한 뒤에 저장하지 않고(stateless) 토큰값을 사용자의 브라우저에게 응답합니다. 이 토큰 값을 사용자가 인가된 사용자만 사용할 수 있는 서비스를 요청할 때 함께 보.. 2022. 10. 27.
2022-10-25 TIL (장고 시리얼라이저란 serializer) REST API를 제공하는 장고 애플리케이션은 API를 요청한 애플리케이션과 JSON 데이터를 주고받을 수 있어야 한다. 이를 위해서는 DB 인스턴스를 JSON 데이터로 시리얼라이즈 하거나, 반대로 JSON 데이터를 DB 인스턴스로 디시리얼라이즈 할 수 있어야 한다. 이러한 목적으로 DRF가 제공하는 클래스가 바로 Serializer이며(장고의 Form 클래스와 유사), 이를 상속하여 특정 모델에 대응하는 시리얼라이저를 정의하게 된다. 이러한 시리얼라이저를 이용하면 DB 인스턴스를 JSON 데이터로 표현할 수 있고, JSON 데이터를 바탕으로 DB 인스턴스를 생성하거나 수정할 수 있다. 출처 : https://it-eldorado.tistory.com/70 [Django] REST framework - .. 2022. 10. 25.
2022-10-23 TIL (HTTP Status Code, HTTP 상태 코드) HTTP Status Code 란? 현재 HTTP 프로토콜의 통신 상태를 나타내주는 코드번호인데 인터넷을 써본 거의 모든 사람이라면 404 error를 본 적이 있을것이다. 이런 코드가 404 뿐만이 아니라, 1xx 번대부터 5xx 번대까지 아주 많이 있는데, 그 중에서 중요한 몇 가지만 살펴보도록 하겠다. 1xx 요청이 수신되어 처리중. 거의 사용되지 않음 2xx 요청 정상 처리 200 - OK 201 created - Header에 Location을 추가해서 새로운 리소스의 URI를 알려줄 수 있다. 202 Accepted - 요청은 접수했다. 204 No Content - sava 버튼을 눌러서 저장만 하고 화면 변화가 필요없을때 사용 보통 200이랑 201만 쓴다고 한다. 3xx 추가 행동 필요 .. 2022. 10. 24.
8주차 WIL (장고 비밀번호 유효성 검사) 보통 웹 사이트에 가입을 하려 할 때, 보통은 비밀번호가 숫자, 영어, 특수문자 포함 8자 이상으로 제한되어 있는 경우가 많다. 이번 프로젝트를 하며 이 코드가 재미있었어서 한번 올려본다. from django.shortcuts import render, redirect import re if password != password2: return render(request, 'signup.html', {'error': '패스워드를 확인 해 주세요!'}) elif (len(password) < 8 ): return render(request, 'signup.html', {'error': '패스워드는 8자 이상이어야 합니다!'}) elif re.search('[a-zA-z]+', password)is Non.. 2022. 10. 24.
B1팀 머신러닝 프로젝트 KPT 2022. 10. 21.