Closed Quirax closed 2 hours ago
사람의 창작 본능은 때로는 자신이 상상하는 특성을 가지는 캐릭터를 만드는 형태로 나타납니다. 이렇게 만든 캐릭터를 '자작 캐릭터', 줄여서 '자캐'라고 합니다.이 자캐를 만든 사람을 '오너'라고 부릅니다.
각 오너들이 자신이 만든 자캐를 가지고 일종의 커뮤니티 활동을 하는 것을 '자캐 커뮤니티'라고 합니다. 일반적으로 '커뮤'라고 줄여 부릅니다. 커뮤에서 활동하는 것을 '러닝'이라고 하고, 활동하는 오너들을 '러너'라고 합니다. 또 이 커뮤를 운영하는 사람들을 '총괄진', 줄여서 '괄진'이라고 합니다. 커뮤는 일반적으로 기간제로 운영되며, 개장일 이전 '가개장'을 시작으로 개장 이후 종료하는 '엔딩'까지 이어지며, 이후 오너들끼리 뒷풀이 즉 '애프터'를 합니다.
커뮤니티가 형성되려면 이용자들이 모일 플랫폼이 필요합니다. 그 중 자캐 커뮤니티에 사용하는 플랫폼으로 '밴드'가 많이 사용됩니다. 밴드는 네이버 사에서 개발 및 운영하는 SNS로, 모임을 구성하고 운영하기 위해 각계각층에서 사용하는 온라인 플랫폼입니다. 이 외에도 X(구 트위터)나 마스토돈과 같은 다른 SNS에서도 커뮤가 운영됩니다.
한편, 커뮤 내 오너들의 취향 기타 편향성으로 인하여 특정 자캐들만 우대받거나 반대로 홀대받는 경우도 존재합니다. 이러한 불평등한 대우를 '편파'라고 합니다. 편파로 인하여 특정한 자캐들만 주목받게 되므로 그에 비해 홀대받는 자캐들의 오너들이 이탈하거나 활동이 저조해지는 문제가 발생할 수 있습니다. 이에 일반적으로 커뮤에서는 편파를 금지하고 단속합니다. 경우에 따라서 커뮤가 조기에 엔딩을 맞이하는 경우도 발생합니다.
일반적으로 게시물별 조회수나 댓글 수, 표정 수를 비롯한 반응 수를 기준으로 하여, 특정 자캐들의 글에만 반응이 많거나 반대로 적은 경우에 편파가 있다고 판단합니다. 그러나 모든 게시물을 사람이 일일이 읽고 판단하여 결정해야 합니다. 이는 단속하는 사람의 경험에 의존해야 하므로, 정말로 편파가 있는지에 관한 논란을 야기할 우려가 있습니다. 또한 단속하는 사람의 피로감을 유발하여 커뮤 운영에 지장을 줄 우려가 있습니다.
이러한 이유로, 밴커에서의 편파 탐지를 위한 보다 전문화된 도구가 필요하게 되었습니다.
"밴드를 위한 자캐 커뮤니티 편파 탐색기"는 이러한 요구에 충족하기 위하여, 커뮤에 게시된 모든 게시물과 댓글을 분석하고 통계하여 표시함으로써, 현재 편파가 발생하고 있는지, 또 어느 자캐에 대하여 얼마나 발생하고 있는지 확인할 수 있도록 합니다.
이로써 편파를 객관적인 데이터로 효율적으로 확인할 수 있습니다. 이는 편파를 탐지하는 일반적인 능률을 향상시키고, 편파 탐지의 방식을 표준화하며, 총괄진의 운영 난이도를 낮춤으로써, 안정적인 커뮤 운영에 이바지할 것으로 기대합니다.
애플리케이션의 경우 웹 사이트나 설치형 프로그램 형태로 개발하는 것이 일반적입니다. 그러나 2024년 11월 20일 기준, 밴드 측에서 제공하는 Open API가 분석을 수행하는 데에 다음과 같은 한계가 존재합니다.
한편 Extension으로 개발하는 경우, 아래에 서술한 바와 같이 밴드 페이지 내에서 별도의 스크립트를 실행할 수 있습니다. 이러면, 밴드에 로그인한 사용자의 권한으로 밴드에서 사용하는 내부 API를 호출할 수 있습니다. 그러면 다음과 같은 장점이 있습니다.
목표 및 현황
❎️ 작업이 시작되지 않았으며, 당분간 계획 없음 🗑 폐기된 목표 🗓 작업이 시작되지 않았으나, 계획에는 포함됨 🛠 작업이 시작되었음 ✅️ 작업이 완료되었음
✅️ 페이지 간 통신 ✅️ 팝업-Content Script 간 통신 ✅️ 팝업-Service Worker 간 통신 ✅️ CS-Inject Script 간 통신 ✅️ 밴드 정보, 게시물 및 댓글 목록 수집 ✅️ Band API에 접근 ✅️ 밴드 정보에 접근 ✅️ 게시물 목록에 접근 ✅️ 댓글 목록에 접근 ✅️ Stat 페이지에서 분석 ✅️ 데이터 전달 ✅️ 분석 및 그래프로 표시 ❎️ 설정 ❎️ DevTools
한계
하고 싶은 말
이 크롬 확장이 만들어지는 데에는 아이디어를 제공하고 지속적으로 검증에 참여한 연화의 공로가 있었습니다. 제게는 매우 소중한 동생으로서, 커뮤 운영에 관한 아이디어와 구현 능력, 운영 능력을 고루 갖춘 인재입니다. 캐릭터 디자인이나 일러스트레이션 능력도 갖추고 있습니다. 이 자리를 빌어 존경과 감사를 표합니다. 이 외에도 프로젝트에 직·간접적으로 참여해주신 모든 분들께 감사의 뜻을 전합니다.
필요한 통계의 종류를 비롯하여 기능 제안을 기다리고 있습니다. Issues 탭에서 새 이슈를 만들어주셔서 제안해주시면 감사하겠습니다.
Extension에서는 스크립트 삽입이 가능합니다. 이를 통해 밴드 페이지 내에서 스크립트를 실행하여, 밴드 API를 호출하기 위한 준비 과정을 진행합니다.
원칙적으로 Extension의 팝업 등 다른 페이지와 밴드 페이지는 직접 통신할 수 없습니다. Extension 내에서는 chrome.runtime.sendMessage
API를 이용하여 통신합니다. Extension과 밴드 페이지 간에는 window.postMessage
API를 이용하여 통신합니다.
이러한 통신 구조는 modules/messenger.js에 구현되어 있으며, Extension과 밴드 페이지 간의 통신은 content script에 구현되어 있습니다.
사용자가 밴드 페이지에 있지 않은 경우, 팝업에서 관련된 안내 메시지를 표시합니다.
밴드 페이지에서 팝업을 표시하는 경우, 준비 상태의 화면을 표시합니다. 여기서 현재 밴드 분석하기
버튼을 클릭하면, 밴드 내 모든 게시물과 댓글을 수집합니다. 이 때 밴드 페이지와 통신하여 API를 호출합니다. 수집이 완료되면 local extension storage에 저장한 뒤, Stat 페이지로 넘겨줍니다.
Stat 페이지에서는 전달받은 데이터를 local extension storage로부터 가져온 뒤, 사용자가 선택한 통계 종류에 따라 그래프로 표시합니다.
window
globals in ManifestV3 service worker background scriptChatGPT를 통한 1차 검수 결과 (기준 버전)
작성된 README.md는 전체적으로 잘 구성되어 있으며, 프로젝트의 개요, 동작 원리, 실행 방법, 배경, 한계, 사용된 기술 등을 체계적으로 설명하고 있어 이해하기 쉽습니다. 하지만 몇 가지 개선할 점과 고려사항을 제안할게.
실행 화면
Releases
설치 시 경고 문구
"분석 진행 과정"에서의 설명 부족
한계
"자캐 커뮤니티(커뮤)란?" 섹션
docs/background.md
)로 분리해 필요에 따라 참고하도록 안내.Extension 개발의 동작 원리
docs/technical-details.md
로 옮기는 것도 방법.참고 자료
용어 일관성
표현의 간결화
한계의 '추측' 표현
간략한 개요
실행 화면
실행 방법
기술 세부 사항
한계와 주의 사항
감사의 말
전체적으로 잘 작성된 문서지만, 구조를 단순화하고 추가 자료를 분리하면 사용자 입장에서 더 간결하고 이해하기 쉬워질 거야. 👍
ChatGPT를 통한 2차 검수 결과 (기준 버전)
수정된 문서는 다음 기준에 따라 분석할게.
문서는 전반적으로 잘 작성되었고, 사용자가 쉽게 따라할 수 있도록 구성되었어. 추가로 작은 디테일만 보완하면 완벽할 듯!
readme.md를 작성합니다.
내용 구성