본문 바로가기

Develop Study157

(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.
(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=1756652399&allow_ip=&allow_referer=&signature=c%2F7jecPaT160ZSqhaKQVNSq%2BG8g%3D 2025. 6. 19.
(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.