2024/04/16 5

Session을 사용한 로그인 구현

세션(Session) 일정 시간동안 같은 사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술 쿠키는 사용자의 정보를 사용자 컴퓨터 메모리에 저장하지만 세션은 서버측에 저장 세션을 사용한 로그인 구현 개념 로그인 성공 시 세션을 하나 생성 이 세션의 Key 값은 UUID(중복되지 않는 랜덤값, 예측 불가)로 설정 Value 값에 사용자 정보 넣음 생성한 세션을 서버측 세션 저장소에 보관 세션의 Key값(UUID)을 쿠키를 통해 사용자에게 전달 사용자는 로그인 성공 이후 다른 요청을 할 때마다 이 쿠키를 서버에 같이 보내줌 서버 측에서 사용자에게 쿠키를 통해 UUID 값을 받는다면 전달받은 UUID를 Key 값으로 갖는 세션을 서버측 세션 저장소에서 검색 세션 저장소에..

backend/springboot 2024.04.16

99클럽 코테 스터디 16일차 TIL - 프로그래머스 신고 결과 받기

#include using namespace std; vector solution(vector id_list, vector report, int k) { vector answer; map reportList; map reportUser; set temp; for(string id : id_list){ reportList.insert(pair(id, temp)); reportUser.insert(pair(id, 0)); } for(string s: report){ stringstream ss(s); string x, y; ss >> x >>y; set name = reportList.at(x); name.insert(y); reportList.erase(x); reportList.insert(pair(x,..

Cookie를 사용한 로그인 구현

쿠키(Cookie) 사용자가 웹사이트 접속시 사용자의 개인 장치에 다운로드되고 브라우저에 저장되는 작은 텍스트 파일 웹사이트는 이 쿠키를 사용해 사용자의 장치 인식하고 일부 데이터 저장하기도 함 쿠키를 사용한 로그인 개념 쿠키를 사용하여 로그인 구현 기능 가능 로그인 성공 시 서버가 쿠키에 사용자 정보 넣어줌 클라이언트 측에서는 다음 요청을 할 때마다 이 쿠키를 서버에 같이 보내줌 서버에서는 이 쿠키를 확인해 로그인했는지와 유저 정보, 권한 등 확인 가능 쿠키 생성 방법 new Cookie() 메서드 통해 쿠키 생성 쿠키 생성 시 Key, Value 값 넣어줄 수 있음 Cookie cookie = new Cookie("userId", String.valueOf(user.getId())); 방금 만든 쿠키..

backend/springboot 2024.04.16

로그인 구현 방법 세팅

로그인 예제 기능 정리 1. 회원가입 loginId, password, passwordCheck, nickname 입력 loginId, nickname 중복 회원가입 불가 password와 passwordCheck가 다르면 회원가입 불가 Thymeleaf Validation을 사용하여 에러 메세지 출력 (Field Error) 회원가입 성공 시 권한은 USER로 설정 2. 로그인 loginId나 password가 틀리면 로그인 불가 Thymleaf Validation을 사용하여 에러 메세지 출력 (Global Error) 3. 로그아웃 4. 유저 정보 출력(인증) 로그인한 유저의 loginId, nickname, role(권한) 출력 로그인하지 않은 유저가 접근 시 로그인 페이지로 이동 5. 관리자 페이..

backend/springboot 2024.04.16

DFS

DFS (Depth First Search) 다차원 배열에서 각 칸을 방문할 때 깊이를 우선으로 방문하는 알고리즘 1. 시작하는 칸을 스택에 넣고 방문했다는 표시 남김 2. 스택에서 원소를 꺼내어 그 칸과 상하좌우로 인접한 칸에 대해 3번 진행 3. 해당 칸을 이전에 방문했다면 아무것도 하지 않고, 처음 방문했다면 방문했다는 표시를 남기고 해당 칸을 스택에 삽입 4. 스택이 빌 때 까지 2번 반복 칸이 N개일 때 시간복잡도 : O(N) - 모든 칸이 스택에 1번씩 들어가므로 (0,0) pop (1,0) pop --- 반복 --- #include using namespace std; #define X first #define Y second // pair에서 first, second를 줄여서 쓰기 위해서 ..

algorithm/정리 2024.04.16