문서들을 작성하고 연결하면서 문서들 간의 연관 관계를 시각적으로 확인 가능.
default.mp4
실시간으로 다른 사용자들과 동시 편집 및 협업 가능.
default.mp4
개별 워크 스페이스에 다른 사용자들을 초대해서 함께 이용 가능.
Octodocs 팀은 핵심 기능인 에디터와 노드 캔버스의 실시간 편집을 위해 CRDT 라이브러리인 YJS와 SocketIO를 어떻게 활용 했을까요? 🔗 링크 준비 중
YDoc과 소켓을 사용하면서도 RESTful 방식으로 일부 상태를 관리하던 구조를, YDoc 중심의 단일 truth source와 소켓 기반 단방향 흐름으로 단순화했습니다. 그 결과 모든 상태가 YDoc을 통해 일관성 있게 관리되며, 클라이언트와 서버 간 데이터 흐름도 간소화되었습니다. 중복 관리와 데이터 충돌을 줄이기 위한 이런 data flow 변화의 핵심은 무엇이었을까요? 🔗 링크 준비 중
Octodocs 팀은 기존 프로젝트 구조의 문제점을 어떻게 파악했고, 어떤 방법으로 개선을 했을까요? 🔗 링크 준비 중
노트 카드를 드래그 할 때, 그 위치를 DB에 저장하기 위해 너무 많은 쿼리가 발생하는 문제가 있었습니다. 이를 위해 쿼리를 최적화해야할 필요성이 생겼는데 이를 어떻게 해결할 수 있었을까요? 🔗 링크 준비 중
실시간 문서 동시 편집에서 발생하는 굉장히 많은 변경 사항을 모두 데이터베이스에 저장하기에는 데이터베이스 부하가 너무 많이 발생했고, Octodocs 팀은 redis를 도입하기로 결정했습니다. 저희는 왜 redis를 도입하기로 결정했고 또 redis를 어떻게 활용했을까요? 🔗 링크
Octodocs 팀은 사용자 경험 향상은 물론, 일관된 코드 품질 유지와 개발자 친화적인 쾌적한 개발 환경 조성을 위해 많은 노력을 기울였습니다. 멀티 레포에서 모노레포로의 전환, GitHub Actions를 활용한 CI/CD 구축, Docker와 Docker Compose의 도입까지—우리는 어떤 변화를 거쳤을까요? 🔗 링크 준비 중
J032_김동준 | J075_김현준 | J097_민서진 | J162_유성민 | J248_진예원 |
---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
INFJ | INFJ | INTP | INFP | ISTJ |
FE |
BE |
BE |
BE |
FE |