MMyoneeinmyonee.hashnode.dev·Jun 15, 2025 · 4 min read실시간 스트리밍에서 락 없이 Race Condition을 다루는 법race condition을 피하고 싶었어 웹서비스를 하다 보면 race condition을 피하기 어려운 경우가 많다. 이를 해결하기 위해 공용 자원에 대한 접근을 제한하거나 락(lock)을 걸기도 하지만, 이 방식은 이 글을 읽는 여러분도 알다시피 서버 성능에 큰 영향을 준다. 그래서 많은 서비스들이 캐시나 메시지 큐 등 다양한 설계를 도입해 이를 보완한다. 스트리밍 서비스 같은 실시간 시스템에서도 race condition은 당연히 발생한...01
MMyoneeinmyonee.hashnode.dev·May 10, 2025 · 4 min readUi 공통 모듈...을 만들게 됐어요우당탕탕 프론트 일기 1탄… 현재 서비스중인 프로그램엔 모바일 클라이언트와 윈도우 클라이언트가 각각 존재한다. 근데 두 클라이언트가 별도로 개발돼있어서 디자인 작업을 두 번 해야 하는 번거로움이 있어 이번에 일부 기능을 합치기로 했다. 채팅 기능인데, 덕분에 기존 채팅관련 소스를 파악하는 중이라 재밌고 신기해하는 중. 채팅 기능을 첨 접해봐가지구…헷 모듈 내부에 큰 기능이 있는 건 아니고 정말 UI만 지원하는 거라 역할을 분리해서 생각하는 게 ...00
MMyoneeinmyonee.hashnode.dev·Sep 22, 2024 · 5 min readWebRTC 개요1. Fetching // getUserMedia() const localStream = await getUserMedia({vide: true, audio : true}); // RTCPeerConnection 생성 const peerConnection = new RTCPeerConnection(iceConfig); // addTrack() 미디어 스트림 추가 localStream.getTracks().forEach(track => { ...00
MMyoneeinmyonee.hashnode.dev·Sep 10, 2024 · 1 min readNode가 뭔데!Node.js JavaScript는 원래 브라우저에서만 실행 된다! Node.js는? JavaScript를 서버 측에서도 실행할 수 있게 해주는 런타임 환경 V8 엔진 기반 ◼︎ 런타임 환경?: 소프트웨어가 실행되는 동안 필요한 모든 자원과 서비스를 제공하는 환경 ◼︎ V8 엔진?: Google에서 개발한 오픈 소스 JavaScript 엔진코드를 기계어로 직접 컴파일, C++로 작성00
MMyoneeinmyonee.hashnode.dev·Aug 10, 2024 · 2 min readProxy와 AnnotationProxy 역할 어노테이션은 기능을 활성화하거나 설정, 프록시는 실제로 그 기능을 구현하는 역할 어노테이션이 적용된 메서드나 클래스에 대해 추가로직을 삽입하거나, 메서드 호출을 가로채 특정 기능을 수행 동작 방식 JDK 동적 프록시 인터페이스 기반 : 인터페이스를 구현하는 프록시 객체를 생성 InvocationHandler 인터페이스를 구현하여 메서드 호출을 가로챔 인터페이스가 없는 클래스는 적용 불가능 CGLIB 프록시 클래스 ...00