서론
최근 자기 계발의 중요성이 부각되면서, 연령과 직업을 불문하고 ‘공부’는 삶의 중요한 요소로 자리 잡고 있다. 특히 디지털 기술의 발달과 SNS의 보편화는 개인의 학습 방식에도 큰 영향을 미치고 있으며, 학습 동기 부여를 위한 새로운 문화적 트렌드를 형성하고 있다. 대표적인 사례로는 ‘공스타그램’과 ‘Study With Me’ 콘텐츠가 있다. 공스타그램은 공부(공부)와 인스타그램(Instagram)의 합성어로, 개인이 하루 동안 공부한 양이나 내용을 스톱워치, 타이머 등으로 측정하고, 그 결과를 사진이나 캡처 이미지로 SNS에 공유하는 행위이다. 이를 통해 사용자들은 서로의 학습 진도를 확인하고, 응원 및 피드백을 주고받으며 학습에 대한 동기와 책임감을 고취시킨다.
또한 유튜브(YouTube)를 중심으로 유행하는 ‘Study With Me’ 콘텐츠는 수 시간 동안의 실제 공부 모습을 촬영하여 공유하거나, 실시간 스트리밍을 통해 타인과 함께 공부하는 것처럼 느낄 수 있는 환경을 제공한다. 영상은 짧게는 1시간, 길게는 12시간 이상에 이르며, 배경에는 도서관 소음, 타이핑 소리 등 현실적인 환경음이 포함되어 집중력을 높이는 데 도움을 준다. 많은 사용자들은 이러한 콘텐츠를 통해 혼자 공부할 때의 외로움과 무기력을 극복하고, ‘함께 공부하는 누군가가 있다’는 심리적 안정감을 느낀다고 말한다. 이는 단순한 트렌드를 넘어, 학습자들의 몰입도와 지속적인 학습 습관 형성에 긍정적인 영향을 미치는 사회적 현상으로 분석될 수 있다.
코로나19 팬데믹 이후 교육 환경은 급격히 변화했으며, 그 중심에는 비대면 온라인 수업 체계가 있다. 이는 단순히 강의 전달 방식의 변화에 그치지 않고, 사람들이 지식을 습득하고 상호작용하는 방식 전반에 걸쳐 전환점을 제공하였다. 이러한 변화는 시험 준비나 자격증 학습 방식에도 영향을 주어, 기존의 오프라인 기반 스터디 모임에서 벗어나 ** 화상 채팅 프로그램을 활용한 ‘캠 스터디’**가 하나의 새로운 학습 문화로 자리 잡게 되었다. 사용자는 Zoom, Google Meet, Discord 등 다양한 플랫폼을 이용해 실시간으로 서로의 공부 모습을 공유하며, ‘공적 공간 속의 사적 공부’라는 새로운 형태의 집단 학습 문화를 만들어가고 있다(Stewart & Steele, 2013; Sakib et al., 2024).
본 연구에서는 이러한 시대적 흐름과 학습 방식의 디지털 전환을 반영하여, 사용자가 자신의 공부 시간을 효율적으로 측정하고 일정을 체계적으로 관리할 수 있는 웹 기반 학습 관리 플랫폼을 설계·개발하였다. 본 시스템은 단순한 시간 측정 기능을 넘어서, 사용자의 지속적인 학습을 유도하기 위한 랭킹 시스템과, 실시간 또는 비동기적 참여가 가능한 그룹 스터디 기능을 포함하고 있다. 이를 통해 사용자는 혼자 공부하는 환경에서도 경쟁심과 협업의식을 바탕으로 학습 효율을 극대화할 수 있다. 이러한 기능은 인공지능 기반 학습 도우미 기술이나, 시간표 및 과제 관리를 지원하는 현대적 웹 애플리케이션 사례들과도 연결된다(García Yáñez & García Yáñez, 2024; Sajja et al., 2023; Wang et al., 2025).
더불어 본 시스템은 커뮤니티 기능의 일환으로 게시판 기능을 제공하여, 사용자 간에 학습 팁, 자격증 정보, 시험 후기, 공부 고민 등 다양한 정보를 자유롭게 교환할 수 있는 장을 마련하였다. 이러한 정보 공유는 단순한 커뮤니케이션을 넘어, 사용자 간의 지식 네트워크를 형성하고, 상호 학습(Mutual Learning)을 유도하는 중요한 기반이 될 수 있다.
최근 자기 계발 및 평생 학습에 대한 사회적 관심이 급증함에 따라, 이와 같은 플랫폼은 많은 사람들이 공부에 더 몰입하고, 스스로의 성장을 즐기도록 돕는 유용한 수단이 될 수 있다. 단순한 공부 관리 도구를 넘어, 학습 동기화, 커뮤니티 구축, 디지털 기반 자율 학습 환경 조성이라는 측면에서 본 시스템의 활용 가능성은 매우 크다고 할 수 있다(Goel, 2020).
관련 연구
1. WebRTC
WebRTC(Web Real-Time Communication)는 웹 브라우저나 모바일 애플리케이션 환경에서 별도의 플러그인 설치 없이 실시간 통신을 가능하게 해주는 오픈 소스 API로, 현재 다양한 분야에서 활발하게 활용되고 있다[5]. 이 기술은 구글(Google)에서 처음 개발되어 공개되었으며, 이 후 W3C(World Wide Web Consortium)와 IETF(Internet Engineering Task Force)에 의해 표준화가 진행되었다. WebRTC의 가장 큰 장점은 브라우저 간 직접적인 피어 투피어(Peer-to-Peer, P2P) 연결을 지원함으로써, 중간 서버를 거치지 않고 오디오, 비디오 및 기타 데이터를 지연 없이 효율적으로 주고받을 수 있다는 점이다. 이러한 구조는 통신 속도의 향상뿐 아니라 서버 부하의 감소, 개인정보 보호 측면에서도 높은 이점을 제공한다.
WebRTC는 기본적으로 세 가지 핵심 API로 구성되어 있다:
getUserMedia() - 사용자의 카메라 및 마이크 접근을 허용하여 오디오 및 비디오 스트림을 획득한다.
RTCPeerConnection - 두 사용자 간의 실시간 미디어 스트림 교환을 처리하며, 네트워크 연결을 설정하고 유지한다.
RTCDataChannel - 텍스트나 바이너리 형식의 데이터를 실시간으로 교환할 수 있게 해주는 데이터 통신 채널이다.
이러한 기능은 단순한 화상회의를 넘어, 교육, 의료, 게임, 원격 근무 등 다양한 실시간 상호작용이 요구되는 분야에서 널리 활용되고 있다.
특히 본 연구에서는 WebRTC의 음성통화 및 화상통화 기능을 활용하여, 온라인 기반 그룹 스터디 환경을 구성하고자 하였다. 그룹 스터디는 학습 동기 부여와 몰입도 향상에 효과적이라는 것이 여러 선행연구를 통해 입증된 바 있으며, 이를 비대면 환경에서도 구현하고자 하는 시도가 늘어나고 있다. WebRTC 기반의 커뮤니케이션 기능은 참가자들이 서로의 공부하는 모습을 실시간으로 관찰하거나, 마이크를 통해 간단한 대화를 나눌 수 있도록 하여, 실제 스터디룸에 함께 있는 것과 유사한 경험을 제공한다. 이는 학습자가 혼자 공부할 때보다 더 높은 집중력과 지속력을 유지할 수 있도록 도와준다.
또한, WebRTC는 낮은 지연 시간(Low Latency)과 높은 품질(Quality)의 미디어 전송이 가능하여, 장시간 학습 환경에서도 안정적인 통신을 보장한다. 다양한 디바이스와 브라우저 간 호환성이 뛰어나, 사용자는 PC, 태블릿, 스마트폰 등 어떤 장치에서도 동일한 기능을 경험할 수 있다. 특히 코로나19 팬데믹 이후 비대면 커뮤니케이션이 학습 및 협업의 핵심 수단으로 부상하면서, WebRTC의 중요성은 더욱 부각되고 있다.
결과적으로, 본 시스템에서 도입한 WebRTC 기반의 그룹 스터디 기능은 단순한 기술적 구현을 넘어, 사용자 간의 실시간 상호작용을 극대화하고, 혼자서도 함께 공부하는 것 같은 몰입감을 제공함으로써 자율 학습의 지속성과 효율성을 높이는 데 기여할 수 있다. 이는 향후 웹 기반 학습 플랫폼에서 실시간 커뮤니케이션 기술이 필수 요소로 자리 잡을 가능성을 보여주는 사례라 할 수 있다.
2. 채팅 기능
본 시스템에서 구현한 채팅 기능은 WebSocket과 STOMP(Simple Text Oriented Messaging Protocol)를 기반으로 설계되었다. 이 조합은 웹 환경에서 실시간 양방향 메시징을 안정적으로 제공할 수 있도록 해주며, 특히 그룹 스터디와 같은 학습 커뮤니티 내에서 사용자 간의 신속하고 원활한 커뮤니케이션을 가능하게 한다.
WebSocket은 HTML5 표준에 포함된 컴퓨터 통신 프로토콜로, 하나의 TCP 연결을 통해 전이중(Full-duplex) 통신 채널을 제공한다. 이는 기존의 HTTP 프로토콜의 단방향 통신 구조를 보완하고자 개발된 기술로, 초기 접속은 HTTP 프로토콜을 기반으로 Handshake 과정을 거친 후, 이후의 데이터 통신은 별도의 WebSocket 프로토콜을 통해 진행된다. 이러한 구조는 기존 웹 인프라와의 높은 호환성을 유지하면서도, 지속적이고 지연이 적은 데이터 송수신을 가능하게 한다.
WebSocket은 HTTP와 달리 클라이언트와 서버 간 지속적인 연결을 유지하며, 서버가 클라이언트에게 능동적으로 데이터를 Push할 수 있다. 일반적인 AJAX Polling 방식에서는 일정 주기로 서버에 요청을 보내야 하지만, WebSocket은 별도의 요청 없이도 서버로부터 실시간 데이터를 수신할 수 있으므로 네트워크 효율성과 응답성이 크게 향상된다. 또한, WebSocket은 일반 HTTP와 동일한 80번 포트를 사용하므로, 방화벽이나 프록시 설정에 제한 없이 다양한 네트워크 환경에서 적용할 수 있는 실용적인 장점을 지닌다.
이러한 기술적 특성 덕분에 WebSocket은 실시간 채팅, 게임, 주식 트레이딩, IoT 기기 통신 등 지속적이고 즉각적인 상호작용이 필요한 서비스 분야에서 널리 활용되고 있으며, 본 시스템 역시 이러한 장점을 적극 활용하였다.
*STOMP(Simple Text Oriented Messaging Protocol)**는 WebSocket 위에서 동작하는 경량 메시징 프로토콜로, 클라이언트와 서버 간의 메시지 전송을 명확한 구조로 처리할 수 있도록 해준다. STOMP는 텍스트 기반의 간단한 포맷을 사용하여 구현이 용이하며, pub/sub(Publish/Subscribe) 패턴을 기반으로 설계되어 있어 다양한 메시지 흐름을 효율적으로 처리할 수 있다.
기본적으로 클라이언트는 특정 토픽(Topic)에 **구독(subscribe)**을 하고, 서버는 해당 토픽에 **발행(publish)** 된 메시지를 관련된 모든 구독자에게 실시간으로 전송한다. 이 구조는 실시간 다자간 커뮤니케이션에 매우 적합하며, 복잡한 상태 관리 없이도 안정적인 메시지 브로드캐스팅을 가능하게 한다. 또한, STOMP는 전송되는 메시지의 형식, 유형, 헤더 정보 등을 명확히 정의할 수 있는 메커니즘을 제공함으로써, 메시지 처리의 표준화와 유지보수의 용이성을 함께 보장한다.
본 연구에서 구축한 채팅 기능은 WebSocket의 전이중 통신 능력과 STOMP의 구조화된 메시징 처리 방식의 장점을 결합하여, 실시간성이 뛰어나고 안정적인 채팅 시스템을 제공한다. 사용자는 그룹 스터디 내에서 자유롭게 메시지를 주고받으며, 학습 관련 정보 공유, 응원, 질문 응답 등 다양한 상호작용을 빠르게 수행할 수 있다. 특히, 채팅 메시지는 페이지 새로 고침 없이 실시간으로 반영되며, 백엔드에서는 메시지 수신 및 전송 과정을 간결하게 처리할 수 있어 시스템의 확장성 또한 높다.
이러한 WebSocket-STOMP 조합은 단순한 일대일 채팅을 넘어서, 다자간 그룹 채팅, 비공개 채널, 실시간 알림 시스템 등 다양한 기능으로 확장 가능하다. 또한 메시지 전송 지연 시간이 거의 없어, 사용자에게 즉각적인 반응과 피드백을 제공할 수 있는 점에서, 실시간 커뮤니케이션이 중요한 학습 플랫폼에서 매우 적합한 기술 스택이라 할 수 있다.
시스템 설계 및 구현
본 시스템을 구현하기 위해 Spring Boot를 사용하고, IDE는 IntelliJ, DB는 Mysql과 JPA, 프론트엔드는 html, css, javaScript를 활용했다.
본 연구의 시스템 구성도는 Figure 1과 같다.
Figure 1에서 보는 바와 같이 본 논문의 시스템은 스톱워치, 그룹스터디, 통계, 랭킹, 게시판, 채팅 총 6가지로 구성되어 있다.
Figure 2에서 보는 바와 같이 MVC 패턴을 활용한다. MVC란 Model-View-Controller의 약자로 애플리케이션을 세 가지 역할로 구분한 개발 방법론이다. 사용자가 Controller를 조작하면 Controller는 Model을 통해 데이터를 가져오고 그 데이터를 바탕으로 View를 통해 시각적 표현을 제어하여 사용자에게 전달하게 된다. MVC 패턴을 사용하면 비즈니스 로직과 UI 로직을 분리하여 유지 보수를 독립적으로 수행 가능하고, Model과 View가 다른 컴포넌트들에 종속되지 않아 애플리케이션의 확장성, 유연성에 유리하다.
대부분 정보를 추가하거나 바로 나타내는 부분은 AJAX를 사용하여 처리한다. AJAX(Asynchronous Javascript And XML)는 자바스크립트를 통해서 서버에 데이터를 비동기 방식으로 요청하는 것이다. 비동기 방식은 웹페이지를 리로드 하지 않고 데이터를 불러오는 방식이다. 따라서 WEB 화면에서 무언가 부르거나 데이터를 조회하고 싶을 경우, 페이지 전체를 새로고침하지 않는 부분들은 AJAX를 사용한다고 볼 수 있다.
사용자와 데이터베이스 서버의 데이터를 공유하기 위하여 REST(Representational State Transfer) 서비스 방식을 사용한다. 주요 기능의 REST API는 Figure 3과 같다.
1. 스톱워치
5. 통계
결론
본 논문에서는 자기 주도적 학습을 실천하고자 하는 사용자들을 위한 웹 기반 학습 관리 플랫폼을 개발하였다. 해당 시스템은 공부 시간을 실시간으로 측정하고, 이를 통계화하여 시각적으로 제공함으로써 사용자가 스스로의 학습 습관을 분석하고 체계적으로 관리할 수 있도록 지원한다. 또한, 그룹 스터디 기능을 통해 비대면 환경에서도 사용자 간의 상호작용과 협업이 가능하도록 하였으며, 랭킹 시스템을 도입함으로써 사용자의 경쟁 심리를 자극하고 학습 지속력을 높이는 데 기여하고자 하였다. 이 외에도, 사용자 간 정보 교류가 이루어질 수 있도록 게시판 기능을 추가하여, 단순한 시간 측정 도구를 넘어 학습 커뮤니티로서의 기능 또한 포함하였다.
최근 사회 전반에서 자기 계발에 대한 관심이 증대되고 있으며, 이에 따라 독서, 자격증 취득, 시험 준비 등 다양한 형태의 학습이 활발하게 이루어지고 있다. 본 시스템은 이러한 흐름 속에서 사용자 개개인이 자신의 학습 활동을 보다 효과적으로 관리하고, 타인과의 간접적인 연결을 통해 지속적인 동기를 부여받을 수 있는 환경을 제공함으로써 실질적인 도움을 줄 수 있으리라 기대된다.
개발 초기에는 다양한 기능을 구현하고자 하는 의욕이 컸으나, 혼자서 기획과 프론트엔드, 백엔드 개발을 모두 병행해야 했기 때문에 시간적, 기술적 제약으로 인해 전체적인 범위를 축소할 수밖에 없었다. 이에 따라 핵심 기능에 집중하여 최소한의 기능을 완성도 있게 구현하는 것을 우선 목표로 삼았으며, 이를 통해 사용자 친화적이고 실용적인 플랫폼을 구현하고자 하였다. 프로젝트 진행 과정에서는 익숙하지 않은 기술 스택을 도입하면서 시행착오도 많았지만, 그만큼 새로운 도전과 학습을 통해 많은 것을 얻을 수 있었다는 점에서 큰 의미가 있었다.
향후에는 해당 시스템을 기반으로 기능적 완성도를 높이는 것은 물론, 인공지능 및 영상 처리 기술을 활용하여 ‘캠 인식’을 통한 학습 집중도 분석, 사용자 맞춤형 학습 피드백, 그리고 보다 정교한 통계 시각화 기능 등을 추가하는 것을 목표로 하고 있다. 또한, 클라우드 환경(AWS)을 활용한 배포 및 운영을 통해 실제 사용자들에게 서비스를 제공할 수 있는 수준까지 시스템을 발전시키고자 한다. 더 많은 사람들이 본 플랫폼을 활용해 자신의 학습을 체계적으로 관리하고, 더 나은 자기 계발의 길로 나아갈 수 있기를 기대한다.


PDF Links
PubReader
ePub Link
Full text via DOI
Download Citation
Print






