7주차 배운점
[알게 되었지만 더 배울점]
- post맨 테스트를 위한 csrf token 처리방법.
팀원분께 배웠는데, @csrf_exempt로 csrf 인증을 생략하는 방법이 있다.
인터넷에 보면 post맨에서도 csrf토큰을 받아와서 request에 실어주는 방법이 있다.
-함수 파라미터에 타입 힌트의 의의
팀원분께 배웠는데, 함수 파라미터에 타입 힌트를 적을 수 있다.
[이번주 배운점]
장고
<토큰방식은 로그아웃이 없다>
세션방식과는 다르게 별도로 서버에서 로그아웃 처리를 하지 않는다.
세션 방식에서 세션을 지우면서 로그아웃 처리를 하는 것과 다르게,
이미 사용자에 부여된 토큰을 조작하는게 방법이나 동작상 어렵기 때문이다.
보통, 토큰이 만료되는 것으로 로그아웃이 될것을 기대한다.
파이썬 클래스
<강의에서 배운점>
- dir(객체) 어떤 객체가 가진 모든 메소드를 나열한다.
여기서 객체는 모든 타입을 넣을수 있다.
내가 만든 메소드도 볼수 있고 기본 메소드도 볼수있다.
리스트나 문자열 등을 넣어보면 해당 타입에 속한 내장 메소드들이 나온다.
- print(클래스명)으로 한 클래스를 출력해볼수 있다.
이렇게 하면 <class object ~> 이렇게 출력된다.
__str__ 메소드가 작성되어 있다면, 해당 이름이 출력된다.
- 리스트나 문자열 등도 파이썬에 하나의 객체다.
print(list)를 해본다면 class 'list'로 보이는 것을 알수있다.
리스트 등 연산들이 모두 oop였다.
<클래스 변수와 인스턴스 변수>
클래스 내에서 그냥 선언되는 변수와
__init__에 작성되는 변수는 어떻게 다른 것일까.
그동안 쭉 약간의 의문점이 있었지만 그냥 비슷하다고 알고있었다.
하지만 이번에 특강을 들으며 확실히 두 개념을 정리하게 되었다.
클래스 변수와 인스턴스 변수는 확실히 역할이 다르다.
클래스 변수는 인스턴스를 선언하지 않아도 존재하고 있다.
인스턴스를 선언해도 초기화 되지 않고 값을 유지한다.
인스턴스 늘어나도 클래스 변수는 한개로 유지한다.
인스턴스 변수는 인스턴스 별로 그 변수를 갖게 된다.
인스턴스 별로 달라야 하는 대부분 요소들이 그래서 인스턴스 변수로 선언된다.
결론, 각자 목적과 역할이 다르다.
상황에 맞게 알맞은 걸 사용해야 겠다.