일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 스파르타코딩클럽
- HTML
- mysql
- .decode('utf-8')
- MS949
- 에러해결법
- 자바스프링
- 프로그래머스
- 인프런
- 스프링시큐리티
- java
- 알고리즘
- 자바
- 인텔리제이
- JSESSIONID
- 객체지향
- API
- 김영한
- jwt
- PUT과 PATCH
- unmappable character for encoding MS949
- TIL
- 항해99
- 엔터키 이벤트
- WIL
- java.sql.SQLException
- ServerSelectionTimeoutError
- Code
- org.h2.jdbc.JdbcSQLSyntaxErrorException
- 독서
- Today
- Total
고을마을 : 나의 코딩 이야기
항해99 7기 1일차 TIL[Python .decode('utf-8') 문제] 본문
2022년 5월 9일
새로운 꿈을 찾아 첫 발걸음을 뗀 오늘.
오늘은 항해99에 승선한 날이다.
항해99 1주차에는 웹개발미니프로젝트를 진행한다.
팀원들과 논의 끝에 책 리뷰 싸이트를 만들게 됐다.
내가 담당하게 될 기능은 로그인과 회원가입기능이다.
항해99에 시작하기 앞서서 수강했던 웹개발 종합반에선 로그인, 회원가입 기능을 다루지 않았기에 새로운 것에 도전해 보고 싶었다.
수많은 시행착오를 예상하고 있었지만
초반 와이어프레임을 만들때부터 Figma라는 큰 산이 기다리고 있었고
github를 다루는 것도 익숙치 않아 실수를 하게 됐다.
이는 추후 WIL에 다루도록 하고 로그인 기능을 코딩하며 겪었던 문제에 대해서 다루고자 한다.
.decode('utf-8') 문제
로그인 하면서 토큰을 클라이언트에게 넘겨줄때 .decode('utf-8')까지 작성해서 넘겨주었다.
.decode('utf-8) 까지 넘겨주면서 로그인 버튼을 눌러도 메인화면으로 넘어가지 않는 현상이 발생했다.
코딩하면서 겪는 첫 오류라 멘붕에 빠졌지만 구글링으로 해결!
if result is not None:
payload = {
'id2': id_receive,
'exp': datetime.utcnow() + timedelta(seconds=60 * 60 * 24)
}
token = jwt.encode(payload, SECRET_KEY,algorithm='HS256')
return jsonify({'result': 'success', 'token': token})
# 찾지 못하면,
else:
return jsonify({'result': 'fail', 'msg': '아이디/비밀번호가 일치하지 않습니다.'})
위와 같이 .decode('utf-8')을 지워주면 해결할수있는 문제였다.
패키지 pyjwt 2.0.0 이전 버전에서는 jwt.encode()함수의 리턴값이 '바이트 문자열'이라는 자료형이었기 때문에 뒤에 .decode('utf-8')를 붙여 일반 문자열로 바꿔주었다.
그러나 2.0.0 버전부터는 이 함수의 리턴값이 일반 문자열이 되었고 여기에 또 .decode('utf-8')를 붙여주게 되면 에러가 나타나게 된다는 걸 알게된 오늘!
오늘은 팀원들과 주제를 정하고, 와이어 프레임 구현, API설계, 깃허브 조율 등으로 많은 강의를 수강하지는 못했다. 내일부터는 오전부터 강의를 수강하면서 로그인기능을 완성시켜봐야겠다.
월요일부터 목요일까지의 웹개발미니프로젝트 개발.
많은 것을 얻어갈 수 있었으면...
2일차도 화이팅하자!
'항해99 7기 > TIL(Today I Learned)' 카테고리의 다른 글
항해99 7기 6일차 TIL[JAVA 프로그래머스 알고리즘] (0) | 2022.05.14 |
---|---|
항해99 7기 5일차 TIL[JAVA 프로그래머스 알고리즘] (0) | 2022.05.13 |
항해99 7기 4일차 TIL[미니프로젝트 배포] (0) | 2022.05.12 |
항해99 7기 3일차 TIL[Enter로 로그인-Enter키 이벤트, 1일 1로그 100일 완성 it지식] (0) | 2022.05.11 |
항해99 7기 2일차 TIL[ServerSelectionTimeoutError, 브렌치의 지하철 노선화;;;] (0) | 2022.05.11 |