분류 전체보기 102

TIL_Django REST Framework, Cookie&Session와 Token의 차이점

로그인 인증 기능을 구현할 때 cookie, session, token에 대한 용어들이 등장한다. 전에 cookie와 session에 대한 내용을 정리한 적이 있는데, 이번에 token이 새로 등장하면서 개념들이 다시 헷갈리기 시작했다. 그래서 이들의 개념을 확실히 하기 위해 cookie, session, token에 대한 내용을 정리해 보았다. 웹사이트를 이용할 때 사용되는 HTTP(Hypertext Transfer Protocol)은 'stateless'라는 특징을 갖는다. stateless라는 것은 client에서 server로 요청이 갈 때마다 모두 독립적인 요청으로 다루어진다는 것이다. 따라서, server로 요청을 할 때마다 내가 누구인지를 매번 알려주어야 한다. server에게 내가 누구인지..

TIL_Dango Rest Framework(DRF)를 사용하는 이유

저번주까지는 Django의 VMT(View-Model-Template) model을 사용해서 웹페이지를 만들었다. 이번에는 Django Rest Framework(DRF)를 사용해서 웹페이지를 만드는 것을 배우고 있는데, 왜 VMT model을 놔두고 DRF를 사용하는 것일까? DRF가 가지고 있는 특징은 어떤 것이 있는지 찾아보았다. VMT model의 경우 Model => View =======( HTML 을 template 언어로 응답(render))=======> Template 기본 Django에서는 일반적으로 View에서 HTML 형태로 응답(render)한다. View에서는 database와 상호 작용하여 필요한 data를 가져오고, 이 data를 template에 전달한다. template..

TIL_Django REST Framework(DRF)

오늘부터 Django 심화과정 공부를 시작했다. 지금가지는 Django에서 MVT(Model-View-Template) model로 웹페이지를 만들었다면, 이제부터는 Django REST Framework라는 library를 이용해서 웹페이지를 제작할 예정이다. Django Rest Framework(DRF)이란? Django 안에서 RESTful API server를 쉽게 구축할 수 있도록 도와주는 open source library이다. RESTful API가 무엇일까? RESTful 하다는 것을 회사 채용 공고에서 자주 보았던 것 같은데, 이게 무슨 뜻인지 확실히 알기 위해서 우선 REST가 무엇인지 알아보았다. REST(Representational State Transfer)이란? Softwar..

WIL_여섯 번째 주

Facts Django team project를 제출하고 발표 시간을 가졌다. 우리 팀의 project 주제는 insta와 twitter를 섞어 놓은 것과 비슷한 간단한 일상 공유 서비스였다. Django 기초 프로젝트였기 때문에 기본적인 회원가입, 로그인, 로그아웃, CRUD를 활용한 feed와 comment 작성을 큰 틀로 하고 팔로우와 정렬 기능, 좋아요 등과 같은 추가적인 기능들을 넣었다. 코드는 github을 통해 공유하고 채팅과 화면 공유 등을 이용하여 팀원들과 의사소통을 나누었다. 프로젝트는 성공적으로 잘 마무리 되었다. Feelings 처음에 Django 기초 강의를 들었을 때 파일의 종류가 다양하고 홍길동처럼 이곳저곳을 돌아다녀야 했기 때문에 조금 헷갈리는 느낌이 있었다. 그런데 이번 팀..

TIL_Django Project, Default Password Validators

Django team project 중 내가 구현한 부분은 회원가입, 로그인, 로그아웃, 특정한 user의 feed만 모아보는 page이다. 이 중 회원가입 시에 password의 조건을 확인해 주는 기능을 django에서 어떻게 하는지 찾아보니 이런 기능을 'password validation'라고 하는 것을 알았다. Django는 기본적으로 settings.py에서 password validation 기능을 제공해 주고 있다. # settings.py AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contr..

TIL_Django Project, Absolute Path와 Relative Path

가끔 이미지 파일을 variable에 저장한다던가 이미지 파일을 불러와서 client에 보여준다거나 할 때 그 이미지 파일의 경로를 컴퓨터에 알려줘야 할 때가 있다. 파일의 경로를 알려줄 때 두 가지 경로가 있는데 오늘은 이 두 경로에 대한 것을 정리해 보았다. Absolute Path(절대경로) 나의 현재 위치가 어디에 있던 absolute path를 알면 이 파일의 위치를 알 수가 있다. 이름 그대로 절대적으로 변하지 않는 경로이다. 주소처럼 root directory로 시작해서 파일 전체의 이름을 포함한다. Relative Path(상대경로) 현재 작업 directory를 기준으로 file 또는 folder의 위치를 나타내는 방법이다. Absolute path로 표현했을 때 path가 길어지는 것을..

TIL_Visual Studio Code 저장 시 자동 formatting이 에러가 날 때

여태까지 아무 이상 없이 잘 쓰던 코드 저장 시 html file들을 자동으로 formatting 해주던 기능이 갑자기 에러가 났다. 코드를 저장할 때 자동으로 코드의 적절한 indentation을 해주던 기능이었는데, 무엇 때문인지 갑자기 이상하게 formatting이 되었다. 그러면서 html 파일들에 전에는 없었던 빨간줄이 잔뜩 생겼다. 마침 매니저님께서 해결 방법 가이드를 주셔서 아래와 같은 방법으로 했더니 문제가 해결되었다. Ctrl + < 를 이용해 settings로 들어간다. 검색에 'format'을 친다. 'Format On Save'에 체크를 해제하여 기능을 꺼준다. 다행이도 Ctrl + s를 이용해 코드를 저장해도 이제는 html file에 자동 formatting이 일어나지 않아 에러..

TIL_Django Project: email 인증이란

어제 팀원 중 한 명이 개인적인 문제로 더이상 캠프를 할 수 없게 되어 그 팀원의 부분을 내가 맡아서 하게 되었다. 회원 가입 기능 구현 부분이다. 기본적으로 username, nickname, email, password, profile photo로 회원 가입을 하고, 로그인과 로그아웃 기능도 포함된다. 수업 시간에 배웠던 내용이라서 위의 세 가지 페이지 기능 구현은 금방 할 수 있었다. 만약 시간이 된다면 이메일 인증을 포함하자고 팀원들과 기획할 때 얘기가 나왔었는데, 구현을 해볼까 하고 생각을 해보니 갑자기 이런 의문이 들었다. '이메일 인증이 왜 필요한거지?' 구현을 하기에 앞서서 이메일 인증의 필요성에 대한 조사를 좀 해보았다. Email 인증이란? 요즘 많은 사이트에서 회원가입을 할 때 이메일..

TIL_Django Project에서 회원 가입 페이지

Django에서 회원 가입 페이지를 만들 때에는 일반적인 object 생성과는 다르게 적용시켜 주어야 한다. 비밀번호를 저장할 때 hashing이 되어 저장되도록 해야 보안에 안전하게 DB에 저장할 수가 있다. 따라서 회원 가입 페이지를 만들 때, 비밀 번호를 저장하거나 나중에 변경할 때 모두 특별한 method를 이용하여 코드를 작성해야 한다. 회원 가입 정보 생성 시, from django.contrib.auth.models import User user = User.objects.create_user('apple', 'apple@gamil.com', 'applepassword') #creste_user method 사용하여 회원 정보 save 회원 password 바꿀 때, from django.c..

WIL_다섯 번째 주

다섯 번째 주도 마무리 되었다. Facts Django 기초 강의를 듣고 강의 내용을 바탕으로 개인 과제를 제출했다. 금요일 부터 새로운 팀 프로젝트를 시작했다. Django는 기본적으로 models.py, urls.py, views.py로 돌아가고 settings.py에 앱 등록과 필요할 때 directory의 root를 잘 입력해야 한다. CRUD와 회원 가입 기능을 어떻게 만드는지 배웠다. Feelings Django는 여러 종류의 파일들로 구성되어 있고, 이 파일들을 요리조리 넘나들며 코드를 작성해야 하기 때문에 처음에는 좀 복잡한 느낌이 있었다. 그래서 CRUD와 회원가입 기능 구현이 자연스러울 때까지 복습을 하기로 마음먹었다. 복습을 하고 잘 모르겠는 부분들은 구글링을 통해 공부를 하면서 몇 ..

LIST