JJWT 라이브러리 선택 이유 및 간단한 소개 기술의 선택에는 이유가 있어야 한다! jwt.io 홈페이지의 라이브러리 중 java를 지원하는 목록을 살펴봤습니다. jjwt가 가장 많은 암호화 알고리즘과 편의메서드를 제공하는 것으로 확인됩니다. 비슷한 수준의 기능을 제공하는 다른 라이브러리도 있지만, 많은 사람들이 이미 선택하고 사용하여 레퍼런스가 많고 커뮤니티가 형성되어 관리되고 있다는 점도 매력 포인트입니다. RFC 명세를 완전히 충족했고, 100%의 테스트 커버리지를 통해 안정성을 제공한다는 점도 매력적입니다. 추가적으로 명세를 넘어서는 편의 기능도 제공하는데요, 특정 클레임이 반드시 존재해야 한다 라는 조건 등도 설정할 수 있고, Body 압축 기능도 제공합니다. 또한 특정 알고리즘을 이용한 비밀..
드디어 출입증을 받았습니다. 정말 감격이네요..... 🥲 베짱이로 살아온 인생이라 무언가 간절히 원해본 적도 없었고 이렇게 열정 가득한 사람들에 둘러쌓여 지내본 적도 없었습니다. 꿈만 같은 시간들이 절반이나 지나갔다는 생각에 벌써 아쉬운 마음도 듭니다. 여전히 제가 여기에 어울리는 사람인가에 대해서는 많이 부끄럽습니다. 부족함은 넘치고, 그만큼 송구하고 감사합니다.. 제 인생 업적 중 하나로 꼽을만한 우테코, 그리고 2022년이라고 생각합니다. 그래서 출입증 하나로 포스팅 하나 작성해봅니다. 살다보니 이런 일이... 우테코라니.... 빨리 다음주가 왔으면 좋겠습니다. 출입증 태그하고 싶네요.
😃 JWT와 세션, 현재까지의 학습 결과는 세션이 훨씬 매력적이네요! 최근 인증과 인가를 학습하며 JWT와 세션 방식을 대조하며 학습하고 있습니다. 현재까지 학습한 결과는 다음과 같습니다. 세션 방식이 압도적으로 우선 선택되어야 하며, 일부 토큰 방식이 더 적합한 케이스가 있을 가능성을 배제할 수는 없으나 현재까지는 그러한 케이스를 발견하지 못했다. 이렇게 생각하게 된 이유는, 세션의 단점으로 지적되고 있던 부분들이 이미 해소되었다고 생각하기 때문입니다. 전통적으로 꼽는 세션 방식의 가장 큰 단점이 서버 부하, 확장에 막혀있음 이라고 생각하는데요, 이러한 단점들은 이미 해소되었다고 느껴져서 세션의 강력한 장점인 서버의 로그인 유지 통제 용이성을 가져가는 게 나은 것 같습니다. 💾 중립적인 공간에 세션을..
스프링이 제공하는 테스트 관련 기능과 설정 중, 테스트 격리에 관련하여 헷갈리는 부분들을 정리해봤습니다! 학습 결과 요약은 다음과 같습니다! @Sql 애너테이션을 클래스 레벨에 선언하면 매 테스트 메서드 실행 전에 수행된다 @Sql 애너테이션을 메서드 레벨에 선언하면 해당 테스트 메서드 실행 전에 수행된다 클래스 레벨에 선언하고 메서드 레벨에도 선언하면, 메서드 레벨에 선언한 스크립트로 오버라이드 된다. 둘 다 실행하거나 하려면 merge 관련 다른 설정을 찾아봐야할듯. @Transactional 애너테이션을 클래스 레벨에 선언하면 매 테스트 메서드에 트랜잭션을 생성하고, 테스트 수행 후 롤백한다 테스트 메서드에 @Rollback(false) 또는 @Commit을 선언해서 롤백하지 않고 반영해버릴 수도 ..
요약 Optional findById(ID id) : 탐색하다. 탐색 결과가 없을 수 있음. 내부 예외 발생 없음. T getOne(ID id) : 가져오다. 가져오려는 대상이 없을 시, 내부에서 예외 발생. (EntityNotFoundException) getOne은 Deprecated 되었고 대신 getReferenceById 가 권장됨. getReferenceById는 EntityManager#getReference 를 사용하며, 조회된 entity 내부값 접근 전까지 lazy loading처리함. ✨ find vs get 리뷰어의 학습링크 Repository 내 구현되는 메서드 명으로 find 와 get 을 선택함에는 다소 신중함이 필요합니다. 메서드명으로 find를 쓰느냐, get을 쓰느냐에 따..