본문 바로가기

전체 글219

(25.07.16) Java Spring Boot 환경에서 CTE 동작 확인 (MyBatis 와 JPA 활용) 2025.05.13 - [Develop Study/Database] - (25.05.13) SQL 재귀 WITH RECURSIVE (25.05.13) SQL 재귀 WITH RECURSIVESQLD 자격증을 공부하면서 습득했던 구문들과 문법들을 나름 다 활용하고 있다고 생각했는데,Java 기반의 알고리즘 프로그래밍에서나 볼 수 있었던 "재귀" 에대해서 SQL구문을 활용을 하는 예제를andrew75313.tistory.com SQL의 서브 쿼리를 간편하게 작성될 수 있도록 CTE(Common Table Expression)를 활용한 쿼리를 공부하고 많이 활용하고자 하고 있다.PostgreSQL 과 MySQL에서 직접 쿼리를 날려서 데이터를 Fetch 해올 때는 정상적으로 작동을 하지만, 이러한 코드를 실제로.. 2025. 7. 16.
(25.06.26) equals() 와 hashCode() 의 contract에 관하여 알고리즘 문제를 풀면서 공부를 하던 중,Java 에서 HashSet같은 Hash 자료구조에서의 객체간 비교를 위해 equals를 override 통해 참조값을 비교하지 않도록 만들었지만,추가로 contract를 살펴서 hashCode() 까지 오버라이드를 해야할 부분을 Java 명세를 읽어보면서 알게 되었다.관련 개념은 쉽지만, 인는 객체의 특성보다는 Java 매뉴얼에 가깝기 때문에 기억을 해야하므로 기록을 하고자한다. class Solution { public int solution(int[] arrows) { // 방향 하드코딩 int[] dx = {0, 1, 1, 1, 0, -1, -1, -1}; int[] dy = {1, 1, 0, -1, -1, -1, .. 2025. 6. 26.
(25.06.19) 다중 서버에서의 Spring WebSocket 키덜트 사용자들이 공통 주제로 자유롭게 대" data-og-host="andr" data-og-host="andrew75313.tistory.com" data-og-source-url="https://andrew75313.tistory.com/236" data-og-url="https://andrew75313.tistory.com/236" data-og-image="https://blog.kakaocdn.net/dna/kKpRH/hyY8ONeZFt/AAAAAAAAAAAAAAAAAAAAAIzpRe5wran8lA14o2gXWekssiG6vpNqCvotEncQ1gGl/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1764514799&allow_ip=&allow_referer=&signature=9b7IwIehAU0Iik%2F8wp3laCwVFPw%3D 2025. 6. 19.
(25.06.09) 전체 대화방 조회용 Pagenation 구현 대화방 Chatroom 전체 조회 Pagenation 구현Controllerpublic class ChatroomController { private final ChatroomService chatroomService; @GetMapping public ResponseEntity getAllChatrooms(@RequestParam(defaultValue = "1") int page) { PageResponseDTO chatrooms = chatroomService.getAllChatrooms(page); return ResponseEntity.status(HttpStatus.OK).body(chatrooms); } ...기존의 Speci.. 2025. 6. 9.
(25.06.05) record 클래스 & DTO 활용 WebSocket 기반의 대화방에서 채팅을 구현하는데 있어서,Subscribe 한 클라이언트들에게 채팅을 보내는데 사용하는 responseDTO 클래스를 record 에 사용하는 것으로 참고자료에서 나타냈다.하지만, DTO에서 사용되는 컴포넌트들을 그대로 축약했다고 생각한 클래스라고 치부하기 보다는좀더 고려를 해야하는 부분이 많아서Java 에 최신으로 등재된 record 클래스에 대해서 설펴보고,중간중간 나의 궁금한 점들을 "주의 사항" 내지는 표로 정리했다. record 클래스boilerplate 코드를 줄이기 위해서 자동으로 필요한 객체들과 여러 필요한 내용을 생성해주는 특수한 불변 데이터 클래스(immutable data class)Java 14 preview 버전, Java 16 정식 버전(sta.. 2025. 6. 5.
(25.06.02) Thymleaf를 통한 회원가입/로그인 FE 구현 키덜트 사용자들이 공통 주제로 자유롭게 대" data-og-host="andr" data-og-host="andrew75313.tistory.com" data-og-source-url="https://andrew75313.tistory.com/236" data-og-url="https://andrew75313.tistory.com/236" data-og-image="https://blog.kakaocdn.net/dna/bjXn0N/hyY0sRjZfl/AAAAAAAAAAAAAAAAAAAAAPpSlISiyMiACfQ-Ncxe4H8sr4-rIzDP42nVbxKz0XYe/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1764514799&allow_ip=&allow_referer=&signature=8Osh%2BMMfcqgT95btpj589ITZ0bo%3D 2025. 6. 3.
(25.05.30) ToyTalk WebSocket을 활용한 Chat 기능 구현 (Spring Boot) • 키덜트 정보를 플랫폼 구애없이 대화방에서 나눌수 있는 특화된 채팅 플랫폼의 니즈• WebSocket 프레임 구현 서비스 구축기획목적">키덜트 사용자들이 공통 주제로 자유롭게 대" data-og-host="andrew75313.tistory.com" data-og-source-url="https://andrew75313.tistory.com/235" data-og-url="https://andrew75313.tistory.com/235" data-og-image="https://blog.kakaocdn.net/dna/dw7okt/hyY1jS9u6R/AAAAAAAAAAAAAAAAAAAAANS4kZfWTK2Onjvshlnsxu_rz2jjXyhwrIjNon5kjeNX/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1764514799&allow_ip=&allow_referer=&signature=EfD71dJOVQw2Y6HlgGuSDdezKtU%3D 2025. 5. 30.