Sungjun Lee
Sungjun Lee
# 다운로드 시 gif 광고 제외 
# 일부 만화들에서 파싱 실패 발생 ## 상황 사이트 접속은 되나, 만화 다운시 파싱 실패(커넥션 타임아웃) ## Check list - [x] 비번 걸린만화 - 아님 - [x] User-Agent 차단 -...
# 이미지 병합기능 OOM방지 ## AS-IS 모든 이미지를 메모리에 올려서 병합 처리 -> 이미지 개수가 너무 많거나 힙이 적으면 OOM발생 ## TO-BE Rolling 방식으로 이미지를 1개씩 병합 (IO 증가 고려)
# 다운받은 만화 기록용 db 설계 고려 ## DB 종류 * RDBMS / NoSQL 등 별도의 db는 너무 용량 증가 이슈가 큼 * 따라서 HashMap을 Serialize 하여 File로 기록한다. ##...
## HtmlUnit 대신 Selenium 도입 편리하고 강력하나, chromedriver 등 부가파일 필요 및 호환성 고려 요소 잔존
# 비밀번호 걸린 만화인 경우 CAPTCHA 검사까지 추가됨 우회할 방법 찾아볼 것
# ByteBuffer & FileChannel 이용해볼 것 **ByteBuffer.allocateDirect(int size)** 를 이용한 다이렉트 버퍼를 적용하면 BufferedOutputStream 등 보다 훨씬 빠르게 진행 가능 ## 참고 ```` private void useByteBuffer() throws Exception { String...
리눅스의 wget, curl의 경우 HtmlUnit, Jsoup, HttpURLConnection 등을 이용한 자바 방식보다 훨씬 빠르게 다운로드 스트림 가능 시도 정도 해볼 가치 있음
https://github.com/occidere/MMDownloader/blob/88e55a5cd8195ee25bc69250e5223becd7f169c1/src/downloader/Downloader.java#L252
# 인터넷 커넥션 기능을 별도의 클래스로 분리할 것 * 재사용성 및 유지보수 확보