크래프톤정글/프로젝트: 정글 다이어리 8

크래프톤정글 0주차 6; 로그아웃 기능 구현, nav바 유저 로그인 상태 동적 반영

서버에서 토큰이 유효한지 검증하기 왜? 로그인한 회원만 서비스하는 페이지를 볼 수 있게 하기 위함 로그인하지 않은 경우 로그인/회원가입 페이지만 볼 수 있고, 나머지 페이지를 볼 수 없어야 함 어떻게 로그인한 회원에게만 토큰을 주고, 페이지마다 방문자가 만료되지 않은 토큰, 유효한 토큰을 가지고 있는지 검증 서버에서 토큰 검증 함수 정의 토큰이 주어지면 토큰을 디코드함(jwt.decode()) 이 부분 자세히 이해 필요 토큰이 만료된 경우, 유효하지 않은 경우(자체 jwt가 제공하는 함수 이용jwt.ExpiredSignatureError, jwt.InvalidTokenError) 에러메시지 토큰이 만료되지도 않고 유효한 경우 토큰을 디코드한 값을 돌려줌(유저 아이디와 만료기간이 담겨 있음) 메인 페이지(..

크래프톤정글 0주차 5; bulma, Jinja2 템플릿 적용, 회원가입+로그인 기능 완성

bulma 사용하기 출처: https://bulma.io/documentation/overview/start/ https://medium.com/@im_37456/bulma-vs-tailwind-79da998c1d7a 왜? 장점: Bulma는 Mobile-First 기준으로 Responsive 구조를 짜기 좋게 나왔다고 함 확실히 Bootstrap보다는 편리한 클래스 활용 부트 스트랩보다는 클래스명이 좀 더 Human Readable했다. Bulma는 마치 부트스트랩 6.0 과 같은 느낌으로 멋진 테마를 쓰기 쉽게 제공 부트스트랩과 달리 자바스크립트를 사용 안하기에 더 속도가 좋다고 함(요것은 기존 우리가 사용한 CSS 프레임워크에 대한 것) 단점: Bulma는 Hover, Focus등 Pseudo Se..

크래프톤정글 0주차 4; 쿠키의 개념과 제이쿼리로 쿠키 사용하기

쿠키란? 출처: https://policies.google.com/technologies/cookies?hl=ko 무엇? 왜? 어떻게? 제이쿼리 쿠키 사용법 출처: https://nowonbun.tistory.com/634#:~:text=쿠키 설정은 브라우저와,값을 등록하게 됩니다. 무엇? 왜? 어떻게? 제이쿼리에서 쿠키는 평범한 플러그인이 아니므로 cdn을 추가해주어야 사용 가능! 로그인 성공 후 '/login'이라는, 로그인 페이지와는 다른 api로 이동해야 하는데, 이때 method를 설정해주지 않으므로 그냥 접근할 수 있음. method가 있는 API를 연결하면 method 관련 에러가 남.

크래프톤정글 0주차 3; JWT 로그인 구현 코드 이해

JWT 로그인 구현하기 (Flask, JavaScript) 출처: https://firstboos.tistory.com/entry/Python-JWT-토큰-생성-및-검증 출처: https://velog.io/@ex0831/JWT로-회원가입-로그인-기능-구현하기-JavaScript https://llshl.tistory.com/28 출처: https://velog.io/@jybin96/TIL-JWT-인증-방식으로-로그인-구현하기-Flask 무엇? (출처 자료) 이 그림이 아주 자세함. 가입할 때도 비번을 해쉬로 저장해야 함! 왜? 어떻게?

크래프톤정글 0주차 2; JWT 방식 로그인과 세션 방식 로그인 이해

JWT의 개념 및 세션 로그인과 비교 출처: https://llshl.tistory.com/26 무엇? JWT (Jason Web Token) json 객체를 사용해 정보를 전달하는 인증 방식 서버에 토큰(내가 나임을 보여줄 수 있는 증표같은 것)을 저장하지 않고, 클라이언트의 쿠키(내 컴퓨터)에 저장하는 것 왜? JWT는 가벼우면서 안정적 세션 방식과 달리 모든 세션을 서버에 저장할 필요 없음 어떻게? 세션 로그인 클라이언트 → 서버로 로그인 요청 서버는 로그인 정보 확인 후 세션 생성 & 세션아이디를 보내줌 → 클라이언트의 쿠키, 서버 두 곳에 동시에 세션 아이디 저장 이후 클라이언트는 세션 아이디를 쿠키에 담아서 함께 요청 클라이언트가 3에서 보낸 쿠키 속 세션 아이디를 확인하여 서버가 로그인한 사..

크래프톤정글 0주차 1; jinja2 서버사이드 렌더링

jinja2 서버사이드 렌더링 출처: https://woonys.tistory.com/entry/정글사관학교-1일차-TIL-Jinja2-서버-사이드-렌더링SSR-Git-branch-로그인-쿠키세션 https://velog.io/@hyemco/TIL-jinja2-렌더링-하기SSR https://velog.io/@kyunghwan1207/Flask-JWT를-이용한-인증기능-구현 무엇? 파이썬 Flask 패키지에 내장된 패키지 중 하나로 Flask에서는 렌더링을 위해 jinja2라는 템플릿 엔진을 사용 용어 설명 템플릿 동적 파트(변수)를 포함하고 있는 파일 렌더링 템플릿의 동적 파트(변수)를 입력 값으로 바꿔 최종 응답값을 return하는 과정 왜? Jinja2는 HTML을 파이썬 코드로 제어한다는 점에서 ..

크래프톤정글 0주차 intro; 미니프로젝트 1차 발표 피드백

피드백 Q 다른 팀에 비해 기능이 많아보임. 기한 내에 완성할 수 있겠는가? → 제일 중요한 것은 버그 없이 돌아가는 것. (안정성) 무척이나 강조하심. "이렇게 하려고 했는데 여기까지 밖에 못했습니다"를 보고 싶지 않다고 하심. Q 오늘의 메모 여러가지면 스크롤 방식으로 할 것인지 어떻게 할 것인지 A 스크롤 방식으로 할 생각이라고 말함 이거 중요한 건가? 왜 물어보셨을까 → 계획대로 스크롤 방식으로 구현 Q 왜 아이디를 이메일이 아니라 이름으로 했는지 A 정글내에서만 쓸 거라면 특별히 비교적 복잡한 아이디로 할 필요가 없을 듯 해서 Q 비밀번호 찾기 기능은 없어도 될 듯하니 빼는 게 어떨까 나머지 핵심 기능을 완성도 있게 구현하는게 우선이라는 의도로 말씀하신 듯 함 Q 메인 페이지에서 페이지로 넘어가..

크래프톤정글 0주차 intro; 미니 프로젝트 안내

기획서 작성 클라이언트 서버 렌더링이 우리가 입학시험 등에서 했던 것 → 진자2 서버사이드 렌더링은 파이썬 기반, 플라스크 연동 쉬움 로그인 기능은 시간 되면 sns 로그인, 안되면 간략하게라도 넣을 것 기능은 간략해도 완성도있게 (버그 없게!) jwt 인증 방식 로그인 사용하기 발표 후 코치단 3명이서 qna