안녕하세요~
그동안 어떻게 지내셨나요?? 근 한 달 만이네요
전 부산, 제주도, 일산 등 여러 곳에서의 힐링을 하다가 왔답니다.
그중 6일간 제주도에 있었는데 좋은 곳이 많더라고요
나중에 혹시 제주도 여행 계획이 있으시다면 숙소, 먹거리는 추천해드릴게요~
물론 중간중간 프로그램상의 변화도 있었답니다.
프로그램에 대해서 얘기를 해볼까요~
처음으로, 저번 포스팅에서 말씀드렸다시피 어떤 아이디어와 어떤 기술을 이용해 개발했는지 말씀드리려고 합니다.
저는 스푼라디오 웹 버전을 사용해보고 크롤링을 이용하면 매니저 프로그램을 개발할 수 있겠다고 생각하여 진행했습니다.
그래서 제가 이용한 것은 파이썬에서의 웹 크롤링입니다.
Python 3.7 버전에서 Selenium을 이용했습니다.
BeautifulSoup와 Selenium 중에 고민했지만 저는 Selenium이 더 사용하기 괜찮았습니다.
1] 채팅 인식
매니저 프로그램 개발 간 가장 많이 신경을 쓴 부분은 채팅을 얼마나 어떻게 읽을 것인가였습니다.
어떻게 하면 채팅을 누락하지 않고 읽어오는가에 중점을 맞췄습니다.
1. 가장 마지막 채팅 1개를 읽어서 처리
→ PC 및 네트워크에 따라 누락되는 채팅 발생
2. (총 채팅의 개수) - (지금까지 읽은 채팅 개수) 만큼 마지막 채팅을 읽어서 처리
→ 총 채팅이 100개 이상 됨에도 불구하고 최대 99개까지만 인식
3. 가장 마지막 채팅 5개를 읽어서 처리
→ PC 및 네트워크에 따라 성능의 차이가 발생하지만, 현재까지는 채팅 누락이 발생하지 않음
4. 읽은 채팅은 flag를 추가하여 flag가 없는 채팅을 읽어서 처리
→ 읽은 채팅에 flag를 추가하는 방법 탐색 및 진행 중
현재 3번의 방식으로 채팅을 읽어오고 있습니다.
2] 특수문자 처리
두 번째로 시간이 많이 소요된 부분은 특수문자 처리입니다.
스푼에서는 생전 처음 보는 희한한 특수문자가 많이 사용되고 있습니다.
아마 모든 방송플랫폼 중 가장 많은 특수문자가 사용되고 있을 거예요
(제 닉네임만 해도 글자 사이사이 처음 보는 특수문자가 있죠....)
비슷한 프로그램을 개발 예정이신 분들은 이 부분을 많이 신경 쓰셔야 할 것 같습니다.
3] 다중 쓰레드
다음은 쓰레드인데요
저는 1개의 쓰레드를 생성하여 채팅을 읽어 들여 전역 큐에 넣는 역할을 하고
메인 쓰레드에서는 전역 큐에 들어 있는 내용을 처리하여 채팅을 입력하게 하였습니다.
파이썬에서 쓰레드 생성 및 관리를 쉽게 할 수 있으니 잘 찾아보시면 될 것 같습니다.
추가로 말씀드릴 것은 프로그램 배포에 관한 내용입니다.
스푼라디오 매니저 프로그램에 관심이 있는 분들이 좀 있는 것 같아 다시 말씀드리려고 합니다.
2019/09/24 - [Spoon] - [ 배포 받는 방법 ] 스푼 라디오 매니저 프로그램 개발 - (7)
작성해서 보내주시면 간단한 판단 후에 며칠 내로 프로그램 배포해드립니다.
다음 포스팅은 추가된 기능과 사용법 설명글을 작성할 예정이에요~
다들 더운 날씨 조심하시고 나중에 봐요~
'Spoon > 스푼 매니저 프로그램' 카테고리의 다른 글
[ 변경 사항 ] 스푼 라디오 매니저 프로그램 개발 - (6) (0) | 2019.09.23 |
---|---|
[ QnA ] 스푼 라디오 매니저 프로그램 개발 - (5) (0) | 2019.09.04 |
[ 사용법 및 주의사항 ] 스푼 라디오 매니저 프로그램 개발 - (3) (0) | 2019.06.13 |
[ 배포 시작 ] 스푼 라디오 매니저 프로그램 개발 - (2) (0) | 2019.06.10 |