개발 라이프(355)
-
Weekly I Learned 5주차
[기간] - 10월 17일 ~ 10월 22일 [Weekly I Learned ( 5주차 후기)] - JWT 로 인한 정신적 충격을 뒤로 하고 처음으로 개인이 하는 것이 팀끼리 뭉쳐서 프로젝트를 진행해봤었던 한 주였다. 아무래도 스스로가 실력이 부족한 걸 잘 알고있기 때문에 팀원분들에게 민폐가 되진 않을까 걱정도 많이 되었었다. 하지만, 나도 어느정도 발전은 있었는지 나름 수월하게 코딩을 했던 것 같았다. 빠르게 팀 과제를 완료한만큼 시간이 남았기에 개인적인 공부를 할 수 있어서 한시름 덜었던 한 주였다. 아무튼 이번 주도 핵심적인 키워드를 중심으로 배웠던 내용들을 정리해보겠다. CORS - CORS는 다른 Origin으로 요청을 보내기 위해 지켜야 하는 정책으로, 원래대로라면 SOP에 의해 막히게 될 요..
2022.10.23 -
[에러] Illegal base64url character: ' '
[Reason] - 토큰 정보를 해제하여 그 속에 들어있는 유저의 정보를 가져오려고 하는 와중에 발생한 에러이다. Authorization 이라는 헤더명을 가진 request의 Access토큰값을 tokenprovider의 validateToken 메소드를 활용하여 분해하고, 분해할 수 없으면 리턴값을 반환하고, 할 수 있으면 그대로 분해되어 출력된 유저 정보들을 활용할 계획이었다. 동작을 수행해보니 Illegal base64url character: ' ' 에러가 발생했다. 이 말인 즉슨, 토큰값을 분해할 때 Base64 형식으로 decode 된 secret key 를 사용하여 토큰을 분해하게 되는데, 이 Base64 형식은 ' '(공백) 을 인식할 수 없다는 것이다. 나는 AccessToken 을 넣..
2022.10.19 -
[에러] Refused to apply style from 'http://localhost:8080/css/styles.css' because its MIME type ('application/json') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
[Reason] - 개인 프로젝트를 진행 중에 부트스트랩 템플릿을 적용하는 과정에서 발생한 에러이다. 위의 사진과 같이 css 가 적용되지 않는다고 나온 에러이다. 하지만 코드를 아무리 확인해봐도 경로도 완벽하게 설정되어있었다. 몇 시간을 원인을 찾은 결과, 지금 나의 개인 프로젝트에는 Spring Security 가 적용이 되어있어서 어떠한 동작을 수행하거나 경로에 접근하려면 권한을 열어주어야 헀는데 해당 경로에 대한 접근 허용을 설정해주지 않아서 생긴 에러였다. WebSecurityConfig 파일의 내용에서 antmatchers 에 해당 경로에 대한 설정이 없다. [Solution] - antMatchers에 해당 경로에 대한 접근을 허용시켜주었더니 완벽하게 적용이 되었다.
2022.10.19 -
Weekly I Learned 4주차
[기간] - 10월 10일 ~ 10월 15일 [Weekly I Learned ( 4주차 후기)] 너무나도 큰 멘붕이였다... JWT라는 spring security 에 대한 학습내용을 구현하고자 하는 주차였는데, 갑자기 많아져버린 코드량과 학습량 떄문에 이해도 완전히 되지 않았고, 그 상태에서 시험을 치루니, 좋은 결과는 꿈도 꿀 수 없었다.. 그래서 이번 주의 WIL 은 평소처럼 매일마다 배웠던 것들을 일기형식으로 작성하는 것이 아닌 이번 주차를 관통하는 핵심 키워드 몇가지를 추려서 작성하고자 한다. 1. ORM Object Relational Mapping(객체-관계-매핑)의 약자이다. 객체와 데이터베이스의 관계를 매핑해주는 도구이다. 프로그래밍 언어의 객체와 관계형 데이터베이스의 데이터를 자동으로 ..
2022.10.17 -
[IntelliJ] 디버깅 모드 사용법
- 동작 내용을 파악하기 위한 디버깅 방법 1. 동작내용을 파악하려고 하는 함수 밑에 줄의 Line 번호 있는 곳을 클릭 ⇒ 브레이크 포인트 (디버깅할 위치) 설정 2. 브레이크 포인트 빨간 동그라미에서 마우스 오른쪽 버튼 클릭 Thread 클릭 Make Default 클릭 3. 스프링 기동 시 꼭 디버깅 모드 선택 4. 포스트맨을 통해 api 호출 (나는 api를 호출하여 그 동작을 디버깅하기 위해 포스트맨을 통해 확인해보았다.) 5. 브레이크 포인트 부분에서 디버깅 가능한지 확인 포스트맨을 실행시켜 동작된 디버깅 내용을 확인해본다. 6. "Step Over" 를 클릭해서 줄 이동을 하면서 DB 테이블 변경내용 확인 "Step Over" 파일 DB 테이블 변경내용 확인 나는 DB에 대한 내용 변경사항을..
2022.10.08 -
[에러] There was an unexpected error (type=Internal Server Error, status=500).401 Unauthorized: [no body]
[Reason] - 카카오 로그인 기능 구현하던 도중 body 값이 없다고 나오는 에러가 발생했다. 알고보니 카카오 로그인 기능을 구현하기 위해 카카오 디벨로퍼에서 받은 클라이언트 키값이 틀린 값으로 들어가 있어 바디가 생성되지 않았던 것이다. [Solution] - 키 값을 정상적으로 기입해주었더니 정상적으로 실행되었다.
2022.10.08