Java

SPRING

[SPRING + JPA + SECURITY] 너무 다른 2종류의 회원을 어떻게 설계할까?

0. 개요 안녕하세요! 오늘은 SpringSecurity, JPA 환경에서 서로 다른 2종류의 회원을 설계하면서 느꼈던 고민들에 대해서 작성해보려고 합니다. 이 글을 작성하는 이유는 '내가 이렇게 구현했으니 참고하세요!' 보다는 '다른 사람들은 이런 상황에서 어떻게 구현할까?' 가 궁금해서에요. 제가 어떠한 이유로 이렇게 구현했는지 설명해 드리고, 여러분이라면 어떤 식으로 구현할지 의견을 들어보고 싶습니다. 제가 의도한 대로 구현하긴 했지만, 이게 최선이라는 확신도 들지 않고 다른 사람이라면 어떻게 이 문제를 풀었을까? 라는 궁금증이 풀리질 않아서 이 글을 쓰게 되었네요. 시작하기에 앞서, 2가지의 양해드리는 부분이 있습니다. 첫 번째로는 글을 작성하기에 제 프로젝트의 코드들은 이미 구현이 끝난 코드들이..

JAVA

자바의 Record로 DTO를 만들어보자 - 2

1. 다시 글을 쓴 이유 안녕하세요. 오늘은 Record에 대해서 다시 한번 작성해보려고 합니다. 생각보다 Record를 보려고 찾아주시는 분들이 많더라구요. 그래서 제가 직접 프로젝트에 도입해서 적극적으로 사용하면서 느낀 편리한 점들과 처음 사용하는 분들이 자주 하는 실수, 또 더불어서 동료들이 Record를 사용하면서 느꼈던 것 들에 대해서 공유해볼까 합니다. 아래의 작성할 코드에 대해서는, 코드 스니펫 가독성이 별로 안좋은 것 같아서 코드들은 사진으로 첨부하겠습니다. 바로 시작해 보겠습니다! 2. 개인적인 소감 새로운 프로젝트를 진행하면서, 제가 적극적으로 영업해서 모든 dto를 record로 구성해 보았습니다. 아직 진행중인 프로젝트인데도, 벌써 46개의 record가 만들어졌네요. 이전 글에서도..

JAVA

Stream API의 map에 대해서 코드로 이해해보자

안녕하세요. 오늘은 Java의 Stream API 메소드 중에서, map에 대해서 알아보겠습니다. 0. 추천 독자 이 글은 특히 Stream API에 대해서 어느정도는 알고 있지만, 활용이 쉽지 않으신 분 혹은 Stream에 대해서 사용하면서 익히고 싶은 분이 읽으시면 특히 좋을 것 같습니다. 1. 학습목표 당연하게도 Stream API의 map에 대해서 공부하는게 목적입니다. 그런데 왜 하필 map이냐고요? 왜냐하면, 사실 제가 Stream 사용에 있어서 가장 이해가 안 되고 어려웠던 부분이 map이었습니다. map을 잘못 이해하고 사용하려다 보니 저의 Stream을 활용한 코드는 빨간 줄이 항상 가득했었어요. 그래서 많이 쓰는 Stream 코드를 아예 외워서 사용했었습니다. 이대로는 안 되겠다 싶어서..

JAVA

[JAVA] Garbage Collection (GC)에 대해 알아보자

안녕하세요. 오늘은 자바의 Garbage Collection에 대해서 알아보겠습니다. 1. 학습 목표 학습 목표는 당연히 Garbage Collection(이하 GC)에 대해서 공부하는 것이지만, 개인적으로 다른 목표도 있습니다. 그것은 '그래서, 왜 GC에 대해서 자세히 공부해야 하는데?' 에요. GC의 기본적인 개념은 '할당된 메모리 영역 중 더 이상 사용하지 않는 영역에 대해서 할당을 해제하는 것'이라고 할 수 있습니다. 사실 자바를 사용한다면 사용자가 GC를 직접적으로 호출하지 않고, 오히려 이는 권장되지 않는 행동이에요. JVM이 자체적으로 판단하여 최적의 타이밍에 GC를 수행하기 때문입니다. 그렇다면 개발자가 관여할 수 있는 부분이 없거나 적다는 것인데, 저는 이런 의문을 가졌어요. GC가 어..

SPRING

[SPRING + JPA + Thymeleaf] 게시판에 해시태그 기능을 구현해보자

들어가기 앞서.. 본 게시물의 내용이 좋은 구현, 성능임을 보장하지 않습니다. 제가 공부했던 기록을 남기기 위한 목적으로 글을 작성합니다. 안녕하세요. 오늘은 게시물에 해시태그 기능을 구현해 본 내용을 작성해보려고 합니다. 앞에서도 언급했지만, 개인적으로 공부하면서 작성한 내용이라 잘못된 점이 있을 수도 있어요. 너그러이 이해해 주시고 댓글로 피드백 주시면 고쳐보겠습니다. 바로 시작해 보겠습니다. 1. 어떤 방식으로 구현할 것인가? 이전에 프로젝트를 진행하면서 처음부터 Optimal 한 구현 방식을 생각하다 보니 아예 구현조차 하지 못한 적이 있습니다. 사실 공부하는 입장에서 최적의 방법이 무엇인지 알기도 어려울뿐더러, 상황에 따라서 달라질 수 있는 것인데도 말이죠. 이때를 기점으로, 저는 구현하기 전에..

JAVA

자바의 Record로 DTO를 만들어보자

최근에 유튜브를 보다가 흥미로운 영상을 보게 되었습니다. DTO를 자바의 record라는 것을 이용해서 구현하는 영상이었는데요, DTO를 많이 만드는 저에게는 매우 흥미로운 영상이었습니다. (저는 모든 요청과 응답이 원하는 데이터가 다르기 때문에 각각 DTO를 만들어야 한다고 생각해서 이런 식으로 구현합니다) 기존에 진행했던 프로젝트가 record를 지원하는 자바 17이기도 하고, 알아두면 앞으로도 종종 쓸 일이 있을 것 같아서 기존 프로젝트에 적용해 보기로 했어요. 우선 Record가 뭔지 알아보겠습니다. 제가 공부할 때 자주 이용하는 Baeldung이라는 사이트에서는 다음과 같이 설명하고 있어요. Passing immutable data between objects is one of the most ..

s7won
'Java' 태그의 글 목록