Week 00, 01 개발일지
로그인 기능
swift-shame-3ee.notion.site
- 로그인 기능
- 비밀번호 데이터 DB에 저장시 해시 함수를 통한 암호화 필수
- 기본적으로는 HTTP의 Stateless와 Connectionless 특징 떄문에 로그인 유지가 안됨
- 로그인 유지를 위해 세션이나 JWT를 활용해야한다.
- JWT을 활용한 인증 시스템
- 클라이언트가 서버에 인증하면 서버는 JWT(JSON Web Token)을 클라이언트에 발급
- 클라이언트는 서버에 인가가 필요한 서비스를 요청할 떄 발급 받은 토큰을 같이 보낸다(AJAX의 헤더에 포함)
- 서버는 토큰의 유효기간이나 발급자 등을 확인해서 유효한 토큰이라면 서비스를 제공한다.
- 토큰이 유효하지 않다면 서버에서 거부한다.
- 서버는 여러가지 방법으로 클라이언트의 JWT를 리프레쉬해준다. (리프레쉬 토큰 활용 등)
- 토큰을 클라이언트가 저장하기 때문에 서버의 부담이 적어서 대규모 확장성에 유리한 방식
- Brute Force → Back Traking → DFS → Reculsion
- Permutation
- Reculsion
- N-Queen
- Back Traking, DFS, Reculsion
- 새로운 퀸을 둘 수 있는 자리인지 체크
- 퀸을 두기 전에 이전에 두었던 퀸과 비교해서 체크하는 방법
- 퀸을 둔 후에 그 퀸이 갈 수 있는 곳을 지워버리고 퀸을 두기 전에 체크하는 방법
- 외판원 순회
- Back Traking, DFS, Reculsion
- 모든 도시 순회 → 어느 도시에서 출발하든지 상관없음 → 첫번째 도시 출발 고정
- Permutation
- 얕은 복사, 깊은 복사
- 변경이 가능한지에 따라 mutable, immutable 객체로 나뉨
- immutable 객체의 값이 같은 경우 변수에 상관없이 동일한 곳 참조
- mutable 객체의 경우 모든 객체를 각각 생성해서 참조
- 얕은 복사
- mutable 객체를 =, 슬라이싱 등으로 복사한 경우
- 참조를 복사 → 같은 곳을 가리킴
- 한쪽에서의 변경이 다른 쪽에 영향을 미침
- 깊은 복사
- mutable 객체를 copy.deepcopy로 복사한 경우
- 완전 새롭게 복사 → 독립적
- [python] 파이썬 mutable, immutable 객체에 관해서 (tistory.com)
- [python] 파이썬 얕은복사, 깊은복사 (copy, deepcopy, [:], =) 총 정리 (tistory.com)
- 변경이 가능한지에 따라 mutable, immutable 객체로 나뉨
'SW정글 > 알고리즘' 카테고리의 다른 글
[SW정글] Week 04 개발일지 (0) | 2023.01.30 |
---|---|
[SW정글] Week 03 개발일지 (1) | 2023.01.30 |
[SW정글] Week 02 개발일지 (0) | 2023.01.30 |