Yorkie 는 애플리케이션에 협업 기능을 쉽게 구현할 수 있게 해주는 서비스이다.
Figma 처럼 여러명이 접속해서 함께 디자인하거나, 문서를 편집하는 기능을 구현하고 싶을 때, yorkie에서 제공하는 기능을 사용하면 쉽게 만들 수 있다.
오픈소스로 누구나 yorkie프로젝트에 기여할 수 있다. 많관부.
yorkie server는 go언어로 되어있다.
vscode를 사용한다면, vscode에서 go 디버깅하는 법 참고해주세요 :)
main func 이 있는 main package 에서 디버깅을 실행한다.
초록색 삼각화살표 클릭한 후, debug를 선택한다.
yorkie는 cobra 프레임워크를 사용해서 go cli 를 지원하고 있는데,
처음 디버깅 실행해보면 bin/yorkie 가 실행되고 아래와 같이 프로그램이 종료된다.
yorkie server를 실행해서 디버깅을 하고 싶다면, bin/yorkie server
처럼 서버를 실행해야 한다.
렌치🔧 아이콘 클릭해 config를 변경할 수 있다.
program arguments 에 server를 추가하자.
이제 다시 디버깅 실행해보면, yorkie 서버가 실행되고 디버깅을 할 수 있다.
yorkie-js-sdk 실행해서 브라우저를 띄워 yorkie 서버에 연결한 후,
콘솔창 메뉴 옆에 있는 화살표들로 차근차근 함수를 따라가보자.
테스트코드도 마찬가지로 초록화살표를 눌러 디버깅을 실행할 수 있다.
yorkie 통합테스트에서는 etcd를 사용하기 때문에, docker etcd 가 실행되어 있어야 한다. 그냥 실행하면 아래와 같은 오류 발생한다. (mongo는 연결했는데 etcd를 안 열었다)
2023-02-09T16:44:55.024+0900 INFO default MongoDB connected, URI: mongodb://localhost:27017, DB: test-yorkie-meta-1675928690
2023/02/09 16:45:00 connect to etcd: context deadline exceeded
contributing.md 에 테스트코드 실행하는 법 나와있다.
docker-compose -f docker/docker-compose.yml up --build -d
make test