자신의 생각을 글로 적어보아요.
공감 가는 글을 읽고 블로거 주인과 소통하고 싶나요?
나의 생각을 공유해 나뭇잎을 모으고 댓글뿐만 아니라 화상채팅으로 소통할 수 있습니다.
자신만의 이야기로 소통할 수 있는 블로그 PAPER

| 사용 기술 | 핵심 기술을 선택한 이유 및 근거 | |
|---|---|---|
| 데이터베이스 | MySQL, Redis | 블로그 플랫폼 특성상 유저 대 유저 관계, 게시글 대 유저 등 많은 관계 설정들이 필요했기 때문에 대표적인 RDMS인 MySQL을 선택, 일회성 데이터(인증번호) 및 API요청이 많은 데이터를 캐시에 저장해 응답 속도 향상을 위해 Redis를 선택 |
| 화상채팅 | WebRTC, socket.io | WebRTC는 HTML5에 내장된 API지원으로 최신브라우저에서 재생가능하고 대표적인 화상채팅 기술이어서 선택, peer간의 초기 연결 및 room을 통한 실시간 채팅기능 구현을 위해 WebSocket보다 유연한 socket.io를 선택 |
| 웹 서버 | Nginx | 채팅 기능으로 동시 접속자가 많을 경우 Event-Driven을 이용해 적은 자원으로 높은 성능을 낼 수 있고, CORS의 쉬운 설정, SSL 연동, 무중단 배포, 서버확장 용이함 때문에 NGINX를 선택 |
| 클라이언트 측 데이터 관리 | Reqct-Query | store에 전역에서 사용하지 않는 서버 데이터가 쌓이는 게 비효율적이라고 판단하여 React-Query로 서버로 부터 받은 데이터를 관리하였습니다. |
| 추가로 React-Query를 사용할 시 코드가 단순화 되고, option을 사용한다면 다양한 기능들을 간단히 추가시킬 수 있기에 다른 기술이 아닌 React-Query를 사용하게 됐습니다. |