1. 전 포스팅 요약
우리는 한국디지털미디어고등학교의 익명사진공유 서비스 "디미몬스터"를 개발하였다.
디미몬스터는 학교 학생이라면, 누구나 사진을 자유롭게 업로드 할 수 있고 좋아요를 눌러 반응할 수 있다.
디미몬스터는 지금 https://dimi.monster에 배포되어 있다.
2. 배포 결과
디미몬스터 유저 Document 정보
현재 디미몬스터는 125명의 학생들이 사용하고 있으며, 일주일에 10건 정도의 업로드가 이루어지고 있다.
디미몬스터는 학생들의 즐거움을 위해 만들어진 서비스이며, 앞으로도 학생들의 즐거움을 위해 더욱 발전해 나갈 것이다.
사실상, 업로드에 필터링 기능이 없어, 학교의 규정을 위반하는 사진이 업로드 되는 경우가 있을 것을로 예상했으나, 현재까지는 그러한 사례가 없었다.
3. 느낀점
"디미몬스터" 프로젝트는 한국디지털미디어고등학교 학생들을 위해 매우 의미 있는 서비스라고 생각합니다.
학생들이 자유롭게 사진을 공유하고 서로의 작품에 반응할 수 있는 공간을 제공함으로써, 커뮤니티의 활기를 불어넣고 있습니다.
현재 125명의 학생들이 사용하고 있으며, 일주일에 약 10건의 업로드로 많은 활동량을 보여주고 있지는 않지만, 학생들의 즐거움을 위한 서비스로서 그 가치를 충분히 발휘되고 있다고 생각합니다.
특히, 사진 업로드에 대한 필터링 기능이 없지만 아직까지 규정을 위반하는 사진이 업로드되지 않았다는 점에서 학생들의 책임감이 정말 뛰어나다고 생각합니다.
앞으로도 이러한 긍정적인 분위기가 지속되기를 바라며, 디미몬스터가 더 많은 학생들에게 즐거움을 줄 수 있도록 계속 발전하기를 기대합니다.
또한 디미몬스터 개발 과정에서 사용한 MongoDB에 대해서도 느낀점을 적어보겠습니다.
장점
- 유연한 스키마: MongoDB는 스키마가 고정되어 있지 않아, 데이터 구조가 자주 변경되는 애플리케이션에 적합합니다. 디미몬스터처럼 새로 개발하는 프로젝트에 유용하다는 것을 느꼈습니다.
확장성: MongoDB는 수평 확장이 용이합니다. 데이터의 양이 늘어나더라도 여러 서버에 분산하여 저장할 수 있어, 대용량 데이터를 효율적으로 처리할 수 있습니다. - 빠른 읽기/쓰기 속도: MongoDB는 대용량 데이터를 처리하는데 있어 빠른 읽기와 쓰기 속도를 제공합니다. 이는 이미지 업로드와 같은 대용량 데이터를 다루는 디미몬스터에 적합하다는 것을 느꼈습니다.
단점
- 트랜잭션 지원 부족: MongoDB는 전통적인 RDBMS에 비해 트랜잭션 지원이 약합니다. 복잡한 트랜잭션 처리가 필요한 경우, 사용에 제약이 있어 불편한 점이 있었습니다.
- 데이터 중복: 스키마가 유연한 만큼, 데이터 중복이 발생할 수 있습니다. 이는 데이터 일관성 문제를 초래할 수 있으며, 이를 방지하기 위해 추가적인 작업이 필요했었습니다.
- 기존과 다른 쿼리 방식: MongoDB는 SQL과 다른 쿼리 방식을 사용하기 때문에, 처음에는 익숙하지 않았습니다. 이를 익히는데 시간이 필요했었습니다.
4. 마치며
디미몬스터 프로젝트를 통해 MongoDB와 같은 NoSQL 데이터베이스를 사용해보는 경험을 할 수 있었으며, 이를 통해 RDBMS와 다른 특징을 경험해볼 수 있었습니다.
앞으로도 다양한 기술을 경험해보며, 더 나은 서비스를 제공할 수 있는 개발자가 되기 위해 노력하겠습니다.
감사합니다.