만든 사람
안녕하세요, 2P입니다. 이 서비스는 다음의 목적을 갖고 제작되었습니다.
- 내가 필요로 해서 (극장에 같이 나온 아이돌이 궁금해서)
- Node.js 와 Express, MongoDB 공부를 위해
광고를 붙여서 ster.world 도메인 값을 벌려고
- 극장 소스 - cggekijo 블로그
- 번역본 소스1 - shunei 님 블로그
- 번역본 소스2 - 디시인사이드 아이돌 마스터 갤러리 카토리카톨릭 님
- 번역본 소스3 - 디시인사이드 아이돌 마스터 갤러리 설탕설탕 님
원본 공유와 번역 감사합니다. 기타 문의는 idolm@ster.world로 문의주세요.
만일 후원을 하고 싶으시면 제 비트코인 지갑 12inCjDYd2kY276ehBCseFdLzfWfQhtj1Z
으로 후원해주세요.
기술 스택
크롤러
Python, bash
백엔드 - API 서버
Node.js + Express + MongoDB
프론트엔드
HTML + CSS + Vanilla Js. nginx 로 서빙
Change log
- mongodb, api server를 docker 로 감쌈. docker-compose로 관리. 이제야 관련 코드 git 으로 관리
- 인증서 만료 문제. 갱신은 됐는데 웹서버 재시작에 문제가 있었나 봄.
- 서버 응답 gzip 압축으로 응답 크기 70% 감소 (1294화 기준 8.4KB -> 2.5KB).
- '자체 번역 보기'를 여러 번 누르면 생기는 버그 수정.
- 와이드 극장에 srcset 적용. 디스플레이의 pixel 밀도가 높을 경우, 선명한 이미지가 제공된다. 절약 옵션 고민 중.
- wide 극장 자동 추가 스크립트 버그 수정 (등장인물을 일반 극장에 추가하고 있었음). 1화부터 66화까지 잘못 추가되었던 등장인물 수정.
- 자체 번역과 남의 번역 동시에 제공하기 위한 패치. 발견된 IE11 버그 수정.
- 자체 번역 제공. 에디터는 여기서
- 와이드 극장 목록 페이지네이션 적용.
- 와이드 극장에서 다음화 이전화 버그 수정. 와이드 극장 목록 자동 업데이트 적용.
- 밀리시타 4컷 만화에 쓰이던 자체 번역 시스템을 수정하여 적용 일반 신데렐라 걸즈 극장 목록에서 와이드 극장이 섞여 나오던 버그 수정.
- 한국 극장 검색 결과에서 링크 잘못된 버그 수정. 신데렐라 걸즈 극장 와이드 목록에 추가. 와이드 극장 검색되게 추가. 일반 극장이 안 나오던 버그 수정. 캐싱으로 인한 버그 수정.
- 자동 갱신 스크립트를 수정하면서 번역 이미지 다운로드 스크립트에 영향을 미친 것을 확인 후 수정. 밀리시타 4컷 만화 검색기 가오픈
- 자동 갱신 스크립트가 원본 극장 이미지를 원본 극장 소스로 저장하고 있었습니다. 현재 전부 제 서버의 이미지로 돌려놨습니다. (어차피 트래픽 뺏어가지도 못 하는 서비스니까 ㅠㅠ 넘어갑시다)
- 극장 정보 자동 갱신 스크립트 버그 수정.
- 5분마다 자동으로 극장 정보 갱신. 네이버 NMT 서비스 이용. python (watch gekijou blog) -> shell script (download image) -> javascript (insert to db). 한데마스 극장 다음화 이전화 버그 수정.
- 요청에 query를 넣어 원하는 것만 골라와서 용량을 크게 줄임 (평균 50% 이상 줄임). 이를 위해 pick-recursively를 만들고 배포.
- 검색 후 모바일에서 키보드 내려가게 (모바일인지 따지기).
- 404 등 서버 응답 추가. 클라이언트가 에러 응답도 처리. 메인화면에 쿼리 처리 추가. 검색 공유 링크 발급 추가.
- 총 극장 개수 성능 개선.
- 이미지 다운로드 스크립트화 (폰으로 업데이트 가능).
- 코멘트 버그 수정 (undefined 라니)
- 코멘트 기능 추가 (제목 설명이나 연관된 극장을 쓸 때 사용하려고)
- 검색하는 부분을 form tag로 구성하여 사용성을 높힘.
- 잘못된 요청을 하고 로딩 뉴제네가 사라지도록. 상대경로를 절대경로로 변경. 한국 신데마스 극장 서비스 (해나야 주니야 유진아!). 버그 수정.
- page가 ''일 때 생기는 버그 발견 후 조치.
- 모바일 광고에 position: fixed; 적용 (누..눌러주세요...)
- 최신화 보기 버그 수정.
- 관리자 콘솔 구현 (이제 엑셀 안녕). 최신화 보기 지원.
- 번역물 보여주기. 옵션 설정 페이지 만듬.
- 신고하기 페이지 만듬. 번역물 다운.
- 극장 보는 곳에서는 광고 제외. 이전화 다음화 구현.
- 클릭몬 광고 붙임. GA 붙임. 아이돌-극장 관계 전부 정리. 디자인 적용.
- 아이돌 일러스트 추가. 320화까지 정리. 애드센스 탈락.
- 도움말, 만든 사람 페이지 작성.
- 로직 전부 express로 옮김. 160화까지 정리. nginx로 배포.
- 엑셀에 데이터 형식 정리. parser 작성. json을 mongo db에. express로 작성. 극장 사진 크롤링. 아이돌 정보 추가. 극장 정보 추가.
- 프론트엔드에 검색기능 구현
- 프론트엔드만으로 검색 기능 빼고 구현
Server downtime log
- API 서버 이상 (- 2021.04.15). 모니터링 대책 마련.
- 서버 사망 (- 2021.02.01).
- 어느 시점부터 너무 많아서 기록하기 귀찮아졌습니다.
- 서버 다운 (13:49 ~ 13:50).
- 서버 다운.
- 서버 다운.
- 서버 다운 (1:49 ~ 9:44).
- 서버 다운 (10:09 ~ 10:21).
- 서버 다운 (14:19 ~ 14:26).
- 서버 다운 (16:01 ~ 16:16).
- 서버 다운 (15:28 ~ 15:33).
- 서버 다운 (15:01 ~ 16:48).
- 서버 다운 (12:48 ~ 13:48).
- 서버 다운 (0:01 ~ 0:06).
last updated at .