프로그래밍 공부21 JWT를 이용한 로그인/회원가입 구현시 발생한 오류 JWT를 이용해서 로그인/회원가입을 구현하고 Postman으로 테스트를 진행하던 중 500에러가 발생했다. 바로 인테리제이의 로그를 확인해보니 에러 메시지는 다음과 같았다. 에러 메시지를 확인해보면 해당 암호화 알고리즘을 적용하기 위한 secret-key의 길이가 충분하지 않다는 의미라는 것을 확인할 수 있었고, 그래서 appication.yml에서 설정해준 secret-key의 길이를 충분히 길게 설정해주고, 다시 테스트를 진행하였다. 결과는 위 이미지와 같이 성공적으로 200 상태코드가 출력되었고, Header에 accessToken과 refreshToken도 정상적으로 응답해주는 것을 확인할 수 있었다. 프로그래밍 공부/Trouble Shooting 2022. 9. 28. [Python] 정렬 함수에 대해서 # 1 평소처럼 알고리즘 문제를 풀고 나서 내 풀이와 다른 사람의 풀이를 비교하는 중에 내 풀이보다 짧고 단순해 보이는 풀이를 발견해 내 풀이 맞게 코드를 수정했지만 결괏값이 일치하지 않았다. 그래서 전체 코드를 하나씩 비교해보니 내 풀이와 정렬하는 부분에서 다르다는 것을 확인했고, 이 차이는 아래와 같다. 나는 위의 1번 방법으로 정렬했지만, 다른 풀이는 2번 방법으로 정렬을 해주었다. 이렇게 서로 다른 방법으로 정렬을 했을 때의 결과는 아래의 이미지와 같은데, 보다시피 정렬의 결과가 다르게 나온다. 이 결과를 보고 파이썬의 문법을 다시 떠올려보니 내가 적용했던 첫 번째 방법은 인덱스 0번 원소를 기준으로 오름차순 정렬을 하고, 동일한 원소의 값이 존재하면 인덱스 1번 원소를 기준으로 또 정렬을 해주는.. 프로그래밍 공부/Python 2022. 8. 27. [Python] 합집합, 교집합, 차집합, 대칭 차집합 1) 합집합 2) 교집합 3) 차집합 4) 대칭 차집합 Reference) https://docs.python.org/ko/3.8/library/stdtypes.html#set-types-set-frozenset 프로그래밍 공부/Python 2022. 5. 29. [Python] deque의 rotate() deque 의 rotate(n=1) deque의 원소를 오른쪽으로 돌린다. n이 음수이면 왼쪽으로 돌린다. deque가 비어 있지 않을 때 오른쪽으로 한 단계 회전하는 것은 왼쪽 d.appendleft(d.pop())과 같고, 왼쪽으로 한 단계 회전하는 것은 왼쪽 d.append(d.popleft()와 같다. Example) Reference) https://docs.python.org/3/library/collections.html#collections.deque.copy 프로그래밍 공부/Python 2022. 5. 17. [Spring Boot] Devtools 사용하기 1. Dependency에 Devtools를 추가 2. Advanced Setting을 설정 Settings -> Advanced Settings -> Compiler 안에 체크박스를 체크 3. Build project automatically 체크 Settings -> Build, Execution, Deployment -> Compiler -> Build project automatically 체크박스를 체크 4. Run/Debug Configurations 설정 'Edit Configurations...'을 클릭하면 나오는 설정 창에서 아래 이미지의 박스에 해당 하는 부분을 'Do nothing'에서 'Update resouces'로 변경 Reference ) https://docs.spring.i.. 프로그래밍 공부/Spring 2022. 5. 15. [SQL] Sakila Sample Database 다운로드 및 준비하기 참고) 필자의 OS는 windows 10입니다. 1. 아래의 주소로 접속하여 예제 데이터베이스에서 샤키라 데이터 베이스 파일을 내려받는다. ( https://dev.mysql.com/doc/index-other.html ) 2. 다운받은 Zip 파일을 적절한 폴더에 압축을 푼다. (ex. C:\Temp\sakila-db) 3. CMD창으로 MySQL 실행후 접속한다. 4. SOURCE C:/Temp/sakila-db/sakila-data.sql; 을 입력하고 [Enter]를 누른다. 5. SOURCE C:/Temp/sakila-db/sakila-schema.sql; 을 입력하고 [Enter]를 누른다. 6. 다음 명령문을 실행하여 샘플 데이터베이스가 올바르게 설치되었는지 확인한다. 아래의 이미지와 유사하.. 프로그래밍 공부/SQL 2022. 3. 6. 드라이브 파티션을 나누기 및 Gradle 빌드 오류 C 드라이브(500GB) 하나를 이용해서 노트북을 사용하다가 개발 관련된 프로그램이나 프로젝트는 별도의 드라이브에 나눠서 관리하면 좋을 것 같아 생각에 기존 C 드라이브의 100GB를 나눠 D 드라이브를 생성했다. 드라이브 파티션을 나누는 것은 윈도우를 재 설치할 때는 많이 해봤지만 작동 중인 노트북의 파티션을 나누는 것은 처음이라서 구글링을 통해 이 부분을 해결했다. 그리고 오늘 인프런의 강의를 수강하다가 인텔리제이에서 Gradle 빌드가 계속 실패하는 에러가 발생했다. 구글링을 통해 Gradle의 버전때문에 발생한 문제일지도 모른다는 포스팅을 보고 해당 부분을 수정하였지만 해당 에러를 해결할 수 없었다. 빌드 에러 발생시 인텔리제이의 로그의 스크린샷을 찍지 못했지만 에러의 내용은 1. Spring I.. 프로그래밍 공부/Trouble Shooting 2021. 11. 30. [Python] tuple을 원소로 가지는 리스트의 정렬 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 위의 문제는 x좌표를 기준으로 오름차순으로 정렬하고, x좌표가 같은 경우 y좌표를 기준으로 오름차순으로 정렬하여 결괏값을 출력하는 문제이다. 문제에서 요구하는 방법대로 구현하기 위해 파이썬의 내장함수와 key 속성을 이용하여 문제를 해결했다. 하지만 패캠의 강의를 들으며 미쳐 알지 못했던 부분을 알게 되었다. 그 내용은 다음과 같다. 파이썬의 .. 프로그래밍 공부/Python 2021. 10. 22. [Python] 리스트 복사 vs 리스트 변수 복사 파이썬의 변수는 C++의 '값'보다 '참조'에 가깝다. 이 말의 뜻을 다음의 예시를 통해 확인해보자. 위의 코드는 1, 2, 3을 원소로 가지는 리스트 a_list를 생성하고, b_list에 a_list를 대입했다. 그리고 append() 함수를 사용해 b_list에 4, 5, 6의 값을 추가하고, print() 함수를 사용해 a_list와 b_list를 출력했다. 두 리스트 중 b_list에만 원소를 추가했는데 a_list의 값도 4, 5, 6이 들어가 있는 것을 확인할 수 있다. 코드가 이렇게 동작한 이유는 대입 연산자를 사용해서 b_list에 a_list를 대입할 때 리스트의 값이 아닌 객체의 주소값을 대입했기 때문이다. a_list가 참조하고 있는 객체의 주소를 b_list에 대입해서 같은 객체를.. 프로그래밍 공부/Python 2021. 8. 22. [Python] casefold()와 lower() - lower() : 모든 문자가 소문자인 문자열을 반환한다. - casefold() : 모든 문자가 소문자인 문자열을 반환한다. 이 메서드는 lower() 메서드와 유사하지만 유니코드가 아닌 문자열도 변환해 준다. 참고 문헌) https://www.w3schools.com/python/ref_string_casefold.asp https://www.w3schools.com/python/ref_string_lower.asp 프로그래밍 공부/Python 2021. 8. 17. 이전 1 2 3 다음