본문 바로가기
TIL & WIL

[TIL] #91. 231213

by mmm- 2023. 12. 13.

어제 목표 & 오늘 완료한 한 일 

  • 알고리즘 문제
  • 자바 종합 문법 복습 (3주차)
  • 스프링 기초 개인과제 해설 강의
  • 스프링 심화 과제 (테스트 코드 작성)
  • JPA 심화 강의듣기
  • 플러스 주차 복습 과제
  • CS 공부 (운영체제)


내일 목표

  • 알고리즘 문제
  • 자바 종합 문법 복습 (3주차)
  • 스프링 기초 개인과제 해설 강의
  • 스프링 심화 과제 (테스트 코드 작성)
  • JPA 심화 강의듣
  • 플러스 주차 복습 과제
  • CS 공부 (운영체제)

 

 

발생한 오류와 해결 방법

1️⃣. JPA 강의를 들으면서 작성한 코드에서

String createSql = "CREATE TABLE ACCOUNT (id SERIAL PRIMARY KEY, username varchar(255), password varchar(255))";

SERIAL을 인식하지 못하고 빨간줄이 있어 봤더니

Unable to resolve object type 'SERIAL'

이와 같은 에러가 발생하였다. build.gradle, 작성한 코드 등 아무리 살펴봐도 문제가 없는데 인텔리제이를 껐다 다시 켜도 문제가 해결되지 않았다. 그런데 그냥 실행을 시켰을 때 문제없이 실행되는 것을 확인할 수 있었다. 에러가 있는데도 불구하고 실행시켰을 때 정상적으로 동작하는 이유에 대해서는 찾지 못했다..

 

2️⃣. SignatureAlgorithm, Keys 등에서

Cannot resolve symbol

에러가 발생했는데 그 이유는 jwt에 대한 설정을 해주지 않았기 때문이었다. build.gradle에서 설정을 해주니 에러가 해결되는 것을 볼 수 있었다.

 

 

느낀점 & 배운 것

평소에는 주석문은 메서드를 설명하는 정도로만 적는 편이데, 오늘은 그 외의 부분에도 주석문을 꼼꼼하게 작성하려고 해봤다. 어노테이션 등에도 그에 대한 주석을 달아주니 여러 블로그 글, 공식 문서 등 이것저것 찾아보고 정리하느라 시간이 좀 걸리긴했지만, 코드를 분석하면서 정리도 되고 잘 몰랐던 것도 알게 되는 것 같아서 좋았다.

 

오늘은 jwtUtil의 일부를 정리하였고, 그 과정에서 Keys 클래스에 대해 찾아보게 되었는데 Keys는 키를 안전하게 생성하기 위한 유틸리티 클래스라고 한다. 유틸리티 클래스는 주로 정적 메서드로만 이루어진 클래스를 말하며, 선언부에 final이 붙어 상속을 통해 확장되는 것을 방지하고 재사용성을 높인다. 그래서 아래의 사진을 보면 Keys의 선언부에 final 이 붙어있는 것을 볼 수 있다.

우리가 자주 사용하는 유틸리티 클래스로는 Math, Date, System 등이 있다. 

'TIL & WIL' 카테고리의 다른 글

[TIL] #93. 231215  (0) 2023.12.15
[TIL] #92. 231214  (0) 2023.12.14
[TIL] #90. 231212  (0) 2023.12.12
[TIL] #89. 231211  (0) 2023.12.11
[WIL] #13. 231204~231210  (0) 2023.12.11