ODDN
×
close
ODDN
분류 전체보기
(172)
개발
(48)
알고리즘
(121)
일상
(3)
HOME
Github
LinkedIn
ProseMirror 가이드 톹아보기
이전 글에서는 동시 편집을 지원하기 위한 프로토콜인 WebRTC와 WebSocket에 대해서 차이와 동작 방식을 짧게나마 알아봤다. 이번에는 WYSIWYG 리치 텍스트 에디터를 만들기 위한 도구와 개념들을 제공하는 ProseMirror를 알아보려고 한다. ProseMirror Guide ProseMirror Guidestrong "strong text with " em "emphasis"prosemirror.net ProseMirror는 현재 사내에서 사용하고 있는 협업 툴인 Jira에서도 텍스트 에디터로 사용되고 있다. 또한 예전부터 관심 있는 동시편집에 있어서 ProseMirror가 매우 좋은 성능을 발휘하고 있다고 알고 있어서 ProseMirror를 이 기회에 분석해야 겠다고 생각해 가이드 문서를..
2025. 3. 31.
개발
WebRTC 와 WebSocket의 차이 알아보기
요즘 회사에서 새로운 웹 에디터를 개발하려고 준비중이다.관련 기술을 학습해야하는 시간이 왔는데 웹 에디터에 동시 편집을 지원하기 위한 대표적인 프로토콜 방법인WebRTC와 WebSocket에 대해서 장/단점을 비교하고 동작방식에 대해서 알아보려고 한다. WebRTC (Web Real-Time Communication)란?WebRTC(Web Real-Time Communication)는 브라우저 간(P2P) 직접 실시간 데이터 통신을 가능하게 하는 기술주로 오디오/비디오 스트리밍, 실시간 파일 전송 등에 사용기본 개념: P2P 연결을 통해 클라이언트끼리 직접 데이터를 교환함.특징:낮은 지연시간 (Low Latency) → 서버를 거치지 않고 직접 통신오디오/비디오 스트리밍 지원 → 실시간 화상 채팅, 라이..
2025. 3. 28.
개발
크로미움 브라우저에서 p 내부 span을 삭제할 때 span이 날아간다면 ?
오랜만에 사내에서 제품으로 관리하고 있는 웹 에디터 유지보수 이슈를 진행하면서 겪은 일을 공유해보자 한다. 문제아래와 같은 HTML을 사용자는 웹 에디터에서 편집하고자 한다.안녕하세요요즘 날씨가 많이 덥네요건강관리 잘 하세요~ 이 HTML은 아래와 같이 사용자에게 보일 것이다.만약 사용자가 빈 span 태그에 캐럿( 마우스를 클릭하면 깜빡이는 것 )을 위치한 채삭제(backspace/delete)를 눌렀다면 사용자가 기대하는 경험은 무엇일까 ?사용자는 빈 문단이 삭제되면서 아래에 있는 문단이 한 줄 올라오는 것을 기대할 것이다.하지만 여기서 사용자가 delete 키를 눌러 뒤의 문단을 계속적으로 삭제할 경우 어떻게 될까? 현재 Edge 브라우저 기준 about:blank에서 body에 contentedi..
2024. 8. 17.
개발
Zustand에 대해서 알아보기
개요요즘 관심있게 살펴보는 부분이 리액트의 상태관리인데 예전부터 공부해보고 싶다고 생각했던 Zustand를 공부할 일이 생겨서 공부 + 정리를 하고자 한다. Zustand란 ?- 간소화된 Flux 원칙을 사용하고 작고 빠르게 확장 가능한 barebone 상태 관리 솔루션barebone의 뜻더보기더보기- Zustand란 독일어로 state룰 뜻한다- Zustand는 Jotai 및 React 스프링 개발자가 구축한 빠르고 확장 가능한 상태 관리 솔루션 Zustand의 특징- 상용구(boilerplate) 코드 감소- Zustand는 상태 값이 변경될 때만 구성 요소를 렌더링한다- 상태 관리는 중앙 집중식이며 단순하게 정의된 작업을 통해 업데이트된다- Hooks를 사용하여 상태를 사용한다- 컨텍스트 제공을 필..
2024. 7. 26.
개발
Docker 시작하기
개요이전 글에서 자바스크립트로 개발된 프로젝트를 리액트 환경으로 지원될 수 있도록 진행한 프로젝트를 끝 마쳤다고 했다. 이번에는 리액트 환경도 지원을 하면서 도커 환경에서도 실행해야 하는 임무를 맡게 되었다..도커의 ㄷ과 docker의 d을 모르는 나에겐 걱정스럽기만한 임무여서 스프린트 일정을 짜는 것 자체가 너무 어려웠다. 뭘 알아야 스프린트 일정을 짜겠는데 모르겠어서 옆 팀의 백엔드 개발자 분들의 바짓가랑이를 붙잡고 물어봤고 겨우 계획을 세웠다. 도와주신 분들에게 감사.. 압도적 감사다.도커(docker)란 ?도커의 개요도커란 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다.도커는 소프트웨어 컨테이너라는 표준화된 유닛으로 패키징 하며, 이 컨테이너에는 라이브러리, 시스템..
2024. 7. 8.
개발
NPM에 라이브러리 배포하기
개요이 글은 자바스크립트로 개발된 프로젝트를 리액트 환경으로 지원하기 위한 끝 맺음 같은 글이다.프로젝트를 수행하기 위해 공부해 온 내용은 아래와 같다.더보기2024.05.02 - [개발/Bundle] - [Webpack] Webpack 이해하기 - Concepts [Webpack] Webpack 이해하기 - Concepts아래 문서는 webpack의 가이드 문서를 참고하여 작성됨을 알려드립니다. Webpack ?webpack은 모던 JavaScript 애플리케이션을 위한 정적 모듈 번들러 입니다. webpack이 애플리케이션을 처리할 때, 내부chairking-95.tistory.com2024.05.09 - [개발/Bundle] - [Babel] Loader 사용하기 😎 [Babel] Loader 사..
2024. 7. 5.
개발
navigate_before
1
2
3
4
···
29
navigate_next
티스토리툴바
ODDN
구독하기