Skip to content

Conversation

@hyonun321
Copy link
Collaborator

@hyonun321 hyonun321 commented May 31, 2025

📝 변경 사항

  • Nocta = adapter 역할의 추상화계층
  • NoctaDoc = CRDT와 문서 상태 관리 클래스
  • NoctaRealm = 캐럿관리 클래스

🔍 변경 사항 설명

  • 주요 정리 노션
  • 노션에 나와있지만, 주된 목적은 client와 server가 과도한 캐럿관리와 socket이벤트 연결, 최적화등을 최대한 하지않는 것
  • y.js 와 같은 사용성을 지향하되, 간단하게 Nocta 하나만 추가해서 소켓연산,최적화,문서상태동기화,캐럿관리,CRDT연산 등이 일어나는 것이 목표

🙏 질문 사항

  • 맘껏 보십쇼!!

📷 스크린샷 (선택)

  • 테스트 동작
  • 현재는 삽입 삭제 밖에 되지않으며, 중간 삽입도 되지않음
May-31-2025.19-58-11.mp4

✅ 작성자 체크리스트

  • Self-review: 코드가 스스로 검토됨
  • Unit tests 추가 또는 수정
  • 로컬에서 모든 기능이 정상 작동함
  • 린터 및 포맷터로 코드 정리됨
  • 의존성 업데이트 확인
  • 문서 업데이트 또는 주석 추가 (필요 시)

hyonun321 added 9 commits May 31, 2025 21:59
- socket.io 추가
- package 매니저 추가
- client에 @noctaDoc으로 사용하도록 추가
- 기존의 noctaCRDT 클래스 중첩 타입에서 라이브러리로 가져와서 쓰도록 adapter 역할하는 Nocta클래스 선언
- 이를 기준으로 noctaDoc과 noctaRealm 추가
- noctaDoc = CRDT 관련
- noctaRealm = 캐럿관리 동기화 처리
- 추후 소켓 optimizer 와 같은 이벤트 축소 확장 가능
- block,char,id 로 단순화
- linkedlist 불필요한 클래스 삭제 및 nodeid, node 등과같은 명시성 떨어지는 클래스 제거
- 추후 type 관련 추가 가능(소켓같은)
- 추후 type을 통해 명확히 오퍼레이션을 판별하도록 복잡한 insertoperation 타입 사용하지 않도록 리팩토링
- 현재는 nocta에서 진행중이지만, 추후 optimizer나 최적화 과정이 진행 된 다음 해당 파일을 통해 디코딩 처리가 되도록 선언
- 추후 operationLog등을 넣어, broadcast연산일 경우 log가 남도록하여 디버깅을 용이하기 위해 추가
- 현재는 비어있지만, getCaretPosition이나 관련된 windows 접근 함수 저장용
- 병합과정 (클라이언트와 서버의 상태가 다를때) 사용하는 함수 저장용
@hyonun321 hyonun321 self-assigned this May 31, 2025
@hyonun321 hyonun321 changed the base branch from dev to refactor/noctaDoc May 31, 2025 13:46
@hyonun321 hyonun321 requested a review from eora21 June 2, 2025 05:38
Copy link

@eora21 eora21 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

면접 전 시간이 남았길래 잠시 살펴보고 있습니다! 면접 끝나고 더 살펴보도록 할게요..!

@hyonun321 hyonun321 merged commit 3d21f40 into refactor/noctaDoc Jul 5, 2025
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants