PGR21.com
- PGR21 관련 질문 / 의견 / 건의 / 버그 제보 글을 올려주세요.
- 운영진에게 직접 쪽지를 보내시는 것 보다 빠르게 답변을 받으실 수 있습니다.
Date 2015/04/10 23:36:29
Name Toby
Subject [기타] 불판개선 건의
랜덤여신님께 드리고 싶은 건의입니다.

현재의 피지알에서는 불판게시판이 나름의 역할을 계속 하고 있고, 그 덕분에 많은 유저들이 즐겁게 대화를 나누고 있습니다.

하지만 스포츠나 방송 불판에서는 시청과 동시에 불판을 사용하는 것이 불편했고,
그런 불편을 조금이나마 해소하고자 현재의 불판창을 만들어 운용하고 있는데요.
불판창이 UI만 조금 수정했을뿐, 게시판을 새로고침하는 방식이다 보니 사용성면에서는 아쉬운 부분이 있습니다.

게다가 최근 언젠가부터는 무슨 이유인지는 알 수 없으나 JS로 구성되는 계층 댓글의 구성속도가 많이 느려져서 더 그런 불편이 커진 것 같습니다.
(이건 불판개선 건의와 별개로 수정 필요한 부분인 것 같습니다.)

랜덤여신님이 만우절 이벤트 때 채팅방을 만드셨던걸 보면 웹소켓을 통한 실시간 처리 개발능력은 갖고 계신 것 같은데요.
어떤 방식이 좋을지는 모르겠으나, 불판에 웹소켓을 활용하여 실시간 소통이 더해지면 좋겠다는 의견을 드려봅니다.
저도 하고 싶었지만, 저는 관련 개발능력이 부족해서 하지 못했었거든요.

회원들이 게시판 기반의 현재 불판시스템에 큰 아쉬움을 갖고 있는 것 같지는 않습니다.
불판이 식은 후에도 나왔던 이야기들을 편하게 몰아 볼 수 있는 피지알의 불판 시스템이 포털사이트의 중계페이지와는 다른 매력포인트를 갖는 지점이라고 생각합니다.
하지만, 스포츠나 예능프로그램 등 방송을 보며 실시간으로 사용되는 불판의 경우 자동새로고침의 딜레이 시간이 없이 채팅방과 같은 실시간 소통이 되면 더 좋겠다는 생각을 많이 했습니다.

말을 꺼냈으니 조금 구체적인 구상을 말씀드려보겠습니다.
불판의 게시물을 작성 할 때 일반 불판으로 작성할지, 실시간 불판으로 작성할지 선택하게 할 수 있을 것 같습니다.
실시간 불판으로 작성하는 경우, 불판창과 유사한 팝업형태로 로그인한 회원들만 사용 가능한 초성체 금지 웹소켓 채팅방을 띄워 사용하도록요.
그리고 가능하다면 채팅방의 내용들은 기록으로 남겨두어서 채팅창에서 나눈 대화 기록을 열람 할 수 있도록 하면 좋을 것 같네요.
실시간 불판의 경우는 댓글란이 없고 대신 채팅로그가 남는거지요.
채팅방은 대화가 길어질테니 페이징으로 처리 되면 좋을 것 같습니다.
도배 방지차원에서 작성글 전송은 적절한 제한 시간(3~5초쯤?)이내의 재전송을 막고, 적절한 글자 수(5~7자쯤?) 이상만 등록되도록 제한하면 좋을 것 같구요.

이렇게 되면 사실상 채팅로그가 남는 채팅방의 기능이 신설되는 것이니 부작용을 우려 할 수도 있을 것 같습니다.
하지만 문제가 된다면 '실시간 불판은 방송 게시글에서만 허용'하는 식의 규정으로 사용을 제한 한다면 우려하는 부작용은 없을 것 같네요.

제가 웹소켓을 다뤄본적이 없다보니 기술적인 허들이 있는지는 잘 모르는채로 의견을 드렸습니다.
한 번 해볼만한 작업이라고 생각되시면 기억해두셨다가 시도해봐주시면 좋을 것 같습니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
랜덤여신
15/04/11 00:26
수정 아이콘
1.

계층 댓글의 구성 속도에 대해서는 인지하고 있고, 문제가 무엇인지도 알 것 같습니다. UI reflow가 자주 일어나는 게 문제인데요. 원래 웹 브라우저에서 엘리멘트의 위치가 변경되는 일은 가급적 없어야 합니다. 그런데 현재 계층 댓글 구조에서는 댓글 엘리멘트가 위에서 아래 순서로 붙지 않고, 댓글이 작성된 시각 순서로 붙더군요. 이러면 렌더링할 때 댓글을 하나씩 붙여 나갈 때마다 그 댓글 아래에 있는 댓글들의 위치가 이동하므로 reflow가 엄청나게 자주 일어나고, 당연히 렌더링 성능에 좋지 않습니다. 그래서 현재 PGR21 게시판은 댓글이 300개만 넘어가도 위태위태하죠.

이걸 해결하는 것은 비교적 간단합니다. 데이터베이스에서 읽은 댓글을 바로 표시하지 말고, 삽입될 위치를 미리 계산해서 배열에 계층 댓글 구조를 만들어 두고, 순차적으로 추가하면 됩니다.

이 일을 안 하고 있는 이유는... 현 게시판이 너무 좋아지면 제가 새 게시판을 개발할 동인이 떨어질 것 같아서요. ㅠㅠ 그런데 지금 새 게시판 개발도 중단된 상태죠. 원래 파이선으로 만들려다가 러스트 때문에 파이선에 대한 애착이 떨어져서 진퇴양난 중이거든요.

그래서 그냥 댓글 성능 개선 정도는 조만간 해버릴까 생각 중입니다. 사실 저도 지속적으로 이것 때문에 짜증을 겪고 있거든요.

2.

실시간 불판의 경우 작년부터 제 관심사였고 계획도 몇 가지 있습니다. 예를 들어 '댓글'처럼 보이게 할 것인가, 아니면 '채팅'처럼 보이게 할 것인가죠.

댓글처럼 보인다면 일단 메시지들 사이에 계층이 있어야 하고, 새로 쓰는 메시지가 항상 맨 아래에 붙는 게 아니라 (이미 스크롤이 올라간) 윗쪽에 붙을 수도 있다는 말이 됩니다. 실시간성과는 약간 맞지 않을 수도 있다고 생각합니다. 그런데 완전히 채팅으로 가면 지금의 약간 정제된 느낌의 불판 댓글이 가벼워지지 않을까 걱정이기도 합니다. 물론 이 정제된 느낌이 불필요하다면 그냥 채팅 방식으로 가는 게 옳겠죠. 또는 절충안으로 '엔터를 포함할 수 있는 채팅', 즉 엔터 쳤을 때 채팅이 바로 나가는 게 아니라 현행 쪽지 시스템처럼 텍스트 상자에 내용이 쌓이고, 추가적으로 버튼을 눌렀을 때 메시지가 가서 붙는, 단 계층은 없는 시스템을 생각해 본 적이 있습니다.

이러한 시나리오들 모두 웹 소켓 자체로 인한 기술적 허들은 동일합니다. 그냥 사용자 인터페이스(와 그로 인한 문화)가 달라질 뿐이죠. 제가 결단력이 부족해서 이 부분은 회원(및 운영진)들이 논의해 보았으면 좋겠다고 생각합니다.
15/04/11 11:40
수정 아이콘
답변 감사합니다.
제 의견을 읽어주시고 상세히 답변을 주신 것으로 충분히 만족합니다.

1번 부분은 말씀하신대로 JS를 통해 UI를 재구성 하는 것이 본질적인 문제입니다.
이전에는 신경을 쓰지 않아도 될 정도로 속도에 문제가 없었기 때문에, 브라우저가 레이아웃을 재계산하는 부담이 그리 크지 않았던 것 같다고 생각하고 있습니다.
하지만 최근 어떤 변화로 인해 그 부담이 늘어났고 그 결과 느려진 것 같습니다. 그래서 그 원인을 찾을 수 있다면 해결도 가능하지 않을까 싶어 말씀드려봤습니다.

피지알이 여전히 형싱관리 시스템을 사용하고 있지 않다면 그걸 추적하는 것도 쉽지 않을테고, 문제가 되는 부분을 찾았다 하더라도 분석해서 해결책을 찾는 것은 쉽지 않으시겠지요. 랜덤여신님이 작성한 코드도 아니니까요.
근데 기존 DB를 마이그레이션 하는 것도 쉽지 않은 일이라 새 게시판으로 넘어가는게 짬내어서 할 수 있는 정도의 일인가 하는 생각이 들기도 합니다.
랜덤여신
15/04/11 12:52
수정 아이콘
혹시 '최근'이 어느 정도인지 기억나십니까? 마지막 수정 날짜가 그 즈음인 파일들을 검색해 보면 뭔가 나올지도 모르겠군요.
15/04/11 15:42
수정 아이콘
3/29 이전입니다.
제가 증상을 최초 목격했던 때가 25일에서 29일 사이 쯤이었을 것 같습니다.

https://pgr21.net../?b=23&n=4019&c=11525
이 댓글을 작성했기 때문에 기억하고 있습니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜
4107 [기타] 운영논의 게시판 신설을 재차 건의 드립니다. [8] Toby 15/04/27
4106 [기타] CCL과 펌글 [2] 15/04/27
4100 [기타] 질문 게시판에 대해서 문의드립니다. [3] 커피소년 15/04/24
4099 [기타] 간단한 유희 개념의 설문조사 시스템이 가능한가요? 배고픕니다 15/04/24
4098 [기타] 등급 조정 부탁드립니다! [2] 깡디드 15/04/24
4096 [기타] '일베충' 표현에 대한 운영진의 판단을 여쭙습니다. [5] jjohny=쿠마 15/04/19
4094 [기타] 표현이 선을 넘은거 같은데 의아해서 질문합니다. [2] 임시닉네임 15/04/17
4093 [기타] 규정 정리 작업은 대체 언제 시작되는 것인가요? [1] The xian 15/04/16
4090 [기타] 글 잠긴 이유가 궁금하네요 [4] 최종병기캐리어 15/04/14
4088 [기타] 피지알도 댓글 접는 기능 만들 수 있나요? [2] 오즈s 15/04/14
4087 [기타] 답변이 없어서 다시 올립니다.. 병크라는 단어는 제제대상인가요? [11] 발롱도르 15/04/14
4086 [기타] [버그제보]이 회원님께 이러지 마시져 [3] 리듬파워근성 15/04/13
4085 [기타] 이 글은 왜 삭제된건가요? [3] 곰슬기 15/04/13
4079 [기타] 야구게시판 만들어주세영 [2] 리듬파워근성 15/04/12
4076 [기타] 안녕하세요, 가입을했는데 글쓰기가 안되네요. [1] 말근육 15/04/11
4075 [기타] 전혀 답하지 않는, 운영진의 이중적 벌점 복구 기준에 대한 세번째 답변 요구. [22] Bergy10 15/04/11
4074 [기타] 불판개선 건의 [4] Toby 15/04/10
4071 [기타] 스마트폰으로 피지알 접근시 정체불명의 파일이 강제적으로 다운받아집니다. [3] lamdaCDM 15/04/10
4066 [기타] 연재글 작성 시 사전에 운영진과 합의가 필요한가요? [1] 드라카 15/04/08
4063 [기타] 병크라는 단어가 벌점대상인가요? 발롱도르 15/04/08
4060 [기타] 34분과 석달 이틀. 여전히 답변을 하지 않는 운영진의 벌점 복구에 대한 이중기준. [2] Bergy10 15/04/07
4059 [기타] 네번째 씹혔군요. 요즘 운영진 추세는 회원들에게 답변 안하는겁니까? Bergy10 15/04/07
4058 [기타] 인증 메일을 실수로 삭제했습니다. [2] 코난오브라이언 15/04/06
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로