Genie의 Java 개발 공부와 일지를 기록하는 아카이브 공간 전체 글218 (25.10.01) Reactor 기반의 비동기 처리 로직 회사에서 코드를 보면서 어러 서버의 통신으로 개발이 진행되면서,TPS 와 연동하는데 있어서 Java의 Reactor 기반으 작성된 코드를 보고 활용할 필요가 있었다.낯설 수 있는 Reactor에 대해서 사용 방법과 구조를 나름대로 정리해보고 찾아보면서 기록하고자 했다. ReactorProject ReactorJVM 기반 비동기/논블로킹 프로그래밍을 위한 리액티브 라이브러리대표 타입들을 통해서 비동기 처리 로직을 구현Reactive Streams 표준(Publisher, Subscriber, Subscription) 구현체 중 하나scheduler와 함께 연산자와 사용해 활용할 수 있음.subscribeOn(scheduler) → 구독 시점 및 업스트림 실행 컨텍스트 지정.publishOn(schedul.. 2025. 10. 1. (25.09.25) MyBatis Mapper 구문 절 확인해보기 직장에서 업무를 진행하면서, JPA 를 활용하지 않고, 다양한 안정된 복잡한 쿼리를 DB에 보내기 위해MyBatis를 적극적으로 활용하고 있다. SQLD도 취득을 하고, 쿼리 작성 연습도 꾸준히 하고 있음에, 그대로 쿼리를 String으로 그대로 쓰려고 했지만, MyBatis에서는 OGNL을 따르면서, 미리 짠 쿼리를 다시 MyBatis에서 사용할 수 있도록 하는데에 꽤 리소스를 잡아먹었다. 이에 가장 많이 사용 되는 조건 문과 많이 사용하는 구문을 토대로,MyBatis 매퍼를 간단하게 분석하고 기록해서 잊지 않도록 하려고 한다.DB에서 특정 성별(gender) 별, 생성/업데이트 날짜 구간별, 나이 구간별 사용자 리스트를 구하는 MyBatis SQL Mapper(Altibase 환경)요청 예시 (→ U.. 2025. 9. 25. (25.09.02) Java Spring 의 스케쥴러 @scheduled의 shedlock 최근 모 회사의 Platform Backend Engineer로 8월 11일 부터 개발자로 시작하게 되었다.Java Spring 기반의 백엔드 서비스 Platform의 개발을 담당하면서, 서버단에서의 자동화를 위한 Scheduler가 존재하고,대용량 DB 처리를 위해 미들웨어 또는 DB단에서가 아닌 Scheduler단에서 동시성을 제어할 수 있도록 shedlock 을 걸어줘야 했다. 분산 인스턴스에 적합한 Scheduler 대상으로 하는 shedlock 이기 때문에 이에 대해서 간단하게 찾아보면서 예시도 스스로 작성하면서 기록을 하고자 했다. ShedLockDB 등 분산 환경에서 @Scheduled 즉, Scheduler 등의 스케쥴 작업이 동시에 중복 실행되지 않도록 / 분산 DB 에서 중복해서 각.. 2025. 9. 2. (25.08.18) SFU 기반의 그룹통화/방송 연결 2025.08.11 - [Develop Study/Architecture] - (25.08.11) WebRTC기반의 P2P 통화 연결 (25.08.11) WebRTC기반의 P2P 통화 연결최근 취업을 하게 되어,회사의 솔루션 및 서비스를 분석하고자 한다. 항상 Backend 단에서의 API 및 WebSocket 기반의 내 메시지의 교환을 구성했지만, 이와 다르게 SDK 를 기준으로 시그널링만의 역할andrew75313.tistory.com 이전은 1:1 방식의 P2P 통화연결을 볼 수 있었다.똑같이 UDP 프로토콜위에서 중앙서버를 중심으로 미디어 및 텍스트를 SDK 에서 SFU 방식으로 같은 방에 있는 사람들에게 전달해주는 역할을 하고 있다. P2P 방식의 STUN 의 서로의 아이피를 알고 스트리밍을 구.. 2025. 8. 18. (25.08.11) WebRTC기반의 P2P 통화 연결 최근 취업을 하게 되어,회사의 솔루션 및 서비스를 분석하고자 한다. 항상 Backend 단에서의 API 및 WebSocket 기반의 내 메시지의 교환을 구성했지만, 이와 다르게 SDK 를 기준으로 시그널링만의 역할만 서버가 담당하고, 스트리밍을 UDP로 미디어를 스트리밍 = 영상통화를 할 수 있도록 하는 서비스를 샘플 코드를 기반으로 분석하고자 했다.https://docs.knowledgetalk.co.kr/sample/p2p P2P통화 연결 | KnowledgepointSAMPLEP2P통화 연결 설명 중앙 미디어 서버없이 종단 간 직접 연결하여, 연결을 하고 싶은 사용자에게 발신자의 영상을 보낼 수 있습니다. 단, NAT/방화벽 환경의 사용자가 외부망과의 통신을 위해docs.knowledgetalk.c.. 2025. 8. 12. (25.07.22) 다중 RECURSIVE 와 Hierarchy SQL 만들기 최근들어 CTE를 활용해서 다양한 SQL 구문을 테스트 하는 중인데, 이에 관련해서,HashMap과 List를 통해서 구현해서 활용할 수 있지만,SQL에서 이런 계층 구조를 활용해서 데이터를 가공, 조회하는데 RECURSIVE 만으로 힘들다고 생각했다. 하지만, JOIN 을 통해서 루트를 모두 기록한 테이블을 만들어 이를 활용할 수 있다고 생각했고,이를 테스트 구현 연습을 해보고자 했다. (LeetCode 문제활용) Employees table :+----------------+---------+| Column Name | Type |+----------------+---------+| employee_id | int || employee_name | varchar || mana.. 2025. 7. 22. (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. 이전 1 2 3 4 ··· 32 다음