항해99 개발일지

실시간 텍스트 편집 기능

변기원 2022. 5. 2. 05:00

처음 시작할때 팀원분들한테 무조건 할 수 있습니다! 시간이 필요할 뿐이지 시간과 노력이 들어가면 무조건 할 수 있습니다! 했었는데

솔직히 많이 부담이 됐었다

무조건 할 수 있겠지만 진짜 3주안에 할수있을까..? 

실전프로젝트가 시작된 이후 약 10일간 몰입끝에 지도api부터 시작해서 파이어베이스를 이용한 실시간 기능까지 구현했다.

오늘 텍스트 기능까지 구현하고 나니 아 3주안에 할 수 있겠다 하는 확신이 들었다.

input태그에 onChange이벤트를 걸어서 텍스트가 바뀔때마다 realtime database에 update시키고 동시에 다시 데이터를 받아와서 

input태그에 value로 넣어주었다. 

이게되네..?

근데 여러 브라우저에서 테스트를 하다보니 뭔가 자꾸 제대로 동작하지 않고

됐다가 안됐다가 좀 이상하다. 

노션이나 구글docs가 어떻게 텍스트를 동시편집하도록 구현했는지 좀 더 공부하고 

방법을 바꿔봐야 할 것 같다.

 

추가.

동시성제어, 트랜잭션에 대한 이야기를 들었다. 아마 이 부분도 고려를 해서 뭔가 수정되어야 하지 않을까 싶다.

파이어베이스에서 제공하는 트랜잭션 데이터저장기능을 이용해서 업그레이드를 했다. 다른 사람과 동시편집이 들어가는 경우

가장 나중에 진입한 사람의 초기값을 상태로 받아서 변화된 값을 리턴한다.