SlideShare une entreprise Scribd logo
1  sur  35
HungryOsori
웹 크롤링 기반 Push 서비스
한양대학교 오픈소스동아리
http://github.com/hyosori/HungryOsori
웹 크롤러
• https://ko.wikipedia.org/wiki/웹_크롤러
헝그리오소리 2016년 1학기 최종발표 2
웹 크롤러
헝그리오소리 2016년 1학기 최종발표 3
웹 크롤러
헝그리오소리 2016년 1학기 최종발표 4
구조
헝그리오소리 2016년 1학기 최종발표 5
스마트폰
API Server
사용자 정보
크롤러 구독 정보
웹 크롤러
Push Server
실행 결과
크롤러
구독 목록
가입
로그인
구독
Push 알림
팀원 소개 - 오픈소스동아리
안드로이드
고건주
김규민
iOS
정용은
김민섭
API-Server
김선우
박준형
Push-Server
조희원
박선하
원준호
헝그리오소리 2016년 1학기 최종발표 6
HungryOsori
• 웹 크롤링 기반 Push 서비스
• 기간 : 2016년 4월 ~ 2016년 9월(5개월)
• 인원 : 9명
• 언어 : Python, Java, Swift2
• 개발 환경 : Git, PyCharm, XCode, AndroidStudio
헝그리오소리 2016년 1학기 최종발표 7
오픈소스
• 서비스 관련 소스코드 공개
• Github를 통한 새로운 크롤러 추가
헝그리오소리 2016년 1학기 최종발표 8
오픈소스
• 새로운 크롤러
• Standard Output
• settings.json
• 참고 : https://github.com/HyOsori/Osori-WebCrawler
헝그리오소리 2016년 1학기 최종발표 9
소스 관리
• Team
• https://github.com/orgs/HyOsori/teams/hungryosori
헝그리오소리 2016년 1학기 최종발표 10
소스 관리
• Repo
헝그리오소리 2016년 1학기 최종발표 11
소스 관리
• Repo
• HungryOsori : https://github.com/HyOsori/HungryOsori
• Osori-WebCrawler : https://github.com/HyOsori/Osori-WebCrawler
• HungryOsori-iOS : https://github.com/HyOsori/HungryOsori-iOS
• HungryOsori-Android : https://github.com/HyOsori/HungryOsori-Android
• HungryOsori-Server : https://github.com/HyOsori/HungryOsori-Server
• HungryOsori-PushServer : https://github.com/HyOsori/HungryOsori-PushServer
• HungryOsori-TestServer : https://github.com/HyOsori/HungryOsori-TestServer
헝그리오소리 2016년 1학기 최종발표 12
작업 관리
• 트렐로 - https://trello.com/b/rJxOsjde/hungryosori
헝그리오소리 2016년 1학기 최종발표 13
Android
헝그리오소리 2016년 1학기 최종발표 14
Android
헝그리오소리 2016년 1학기 최종발표 15
• 구독 페이지
• 구독/전체 탭 밀어서 전환 가능
• 뷰 페이저에는 서버에서 받은 크롤러 표시
• 왼쪽 측면을 손가락으로 밀면 설정 창
Android
헝그리오소리 2016년 1학기 최종발표 16
• Push
• 구글 FireBase Cloud Messaging 사용
• 로그인 할 때 서버로 토큰을 보냄
• 토큰을 이용하여 푸시 메시지를 보냄
• 해결 해야 할 부분 존재
Android
• 오픈소스
• Scalable Layout
• new layout that helps you keep a consistent UI across any screen size and
any layout size.
• Universal Image Loader
• provide a powerful, flexible and highly customizable instrument for image
loading, caching and displaying.
헝그리오소리 2016년 1학기 최종발표 17
iOS
헝그리오소리 2016년 1학기 최종발표 18
Login View Register View 전체리스트 구독한 리스트
iOS
• 시연
• 가입
• 로그인
• 구독
• 비밀번호 변경
• 비밀번호 찾기
헝그리오소리 2016년 1학기 최종발표 19
iOS
• 오픈소스
• Alamofire
• HTTP networking library written in Swift.
헝그리오소리 2016년 1학기 최종발표 20
Server
• API 서버의 기능
• Application의 회원 가입 기능을 통한 회원 정보의 저장
• 전체 크롤러 목록 관리
• 회원 정보를 통한 각 회원 별 구독중인 크롤러를 관리
• Push server에게 크롤러 별 구독자 목록 제공
헝그리오소리 2016년 1학기 최종발표 21
Server
헝그리오소리 2016년 1학기 최종발표 22
• API 서버 동작
PUSH 서버
API 서버
어플리케이션
- 유저 정보
- 크롤러 목록 정보
- 유저 별 크롤러 관리
- 유저별 구독 크롤러 정보
- 유저의 push token
Server
• 오픈소스
• Django
• 파이썬으로 작성된 오픈소스 웹 애플리케이션 프레임워크
• Django REST framework
• REST API 작성을 편리하게 할 수 있도록 해주는 프레임워크
헝그리오소리 2016년 1학기 최종발표 23
Push Server
• 웹 크롤러를 실행하고, 변동사항을 확인하여 푸시 메시지 발송
• Push는 Firebase Cloud Message 서비스로 구현
• Firebase Push Alram 구현
• push 서버에서 크롤러의 변화를 감지
• api 서버에 그 크롤러 정보를 구독하는 어플의 토큰을 요청
• 요청한 토큰값과 그 크롤러의 정보를 받아 구글 firebase메세지
• Push Message 발송
헝그리오소리 2016년 1학기 최종발표 24
Push Server
헝그리오소리 2016년 1학기 최종발표 25
공부한 것
헝그리오소리 2016년 1학기 최종발표 26
모임
• 프로젝트 소모임 2016년 5월 9일
헝그리오소리 2016년 1학기 최종발표 27
모임
• 웹크롤러 만들기 5월 16일
헝그리오소리 2016년 1학기 최종발표 28
모임
• 안드로이드 5월 23일
헝그리오소리 2016년 1학기 최종발표 29
모임
• 안드로이드 5월 30일
헝그리오소리 2016년 1학기 최종발표 30
모임
• 개발 8월 25일
헝그리오소리 2016년 1학기 최종발표 31
모임
• 개발 9월 19일
헝그리오소리 2016년 1학기 최종발표 32
모임
• 개발 9월 20일 AM 05:15
헝그리오소리 2016년 1학기 최종발표 33
남은 작업
• 구독 조건 기능
• 크롤러 추가
• UI/UX 개선
• 계정 e-mail 인증
• DB교체 등
헝그리오소리 2016년 1학기 최종발표 34
끝
Q&A
감사합니다
헝그리오소리 2016년 1학기 최종발표 35

Contenu connexe

Plus de Osori Hanyang

161004 웹 크롤러
161004 웹 크롤러161004 웹 크롤러
161004 웹 크롤러Osori Hanyang
 
프로젝트 초안 발표 - OpenCV (한양대 오픈소스동아리)
프로젝트 초안 발표 - OpenCV  (한양대 오픈소스동아리)프로젝트 초안 발표 - OpenCV  (한양대 오픈소스동아리)
프로젝트 초안 발표 - OpenCV (한양대 오픈소스동아리)Osori Hanyang
 
스터디 초안 발표 - 알고리즘 (한양대 오픈소스동아리)
스터디 초안 발표 - 알고리즘  (한양대 오픈소스동아리)스터디 초안 발표 - 알고리즘  (한양대 오픈소스동아리)
스터디 초안 발표 - 알고리즘 (한양대 오픈소스동아리)Osori Hanyang
 
프로젝트 초안 발표 - Battle AI (한양대 오픈소스동아리)
프로젝트 초안 발표 - Battle AI  (한양대 오픈소스동아리)프로젝트 초안 발표 - Battle AI  (한양대 오픈소스동아리)
프로젝트 초안 발표 - Battle AI (한양대 오픈소스동아리)Osori Hanyang
 
프로젝트 기획서 발표 - 웹크롤링 (한양대 오픈소스동아리)
프로젝트 기획서 발표 - 웹크롤링 (한양대 오픈소스동아리)프로젝트 기획서 발표 - 웹크롤링 (한양대 오픈소스동아리)
프로젝트 기획서 발표 - 웹크롤링 (한양대 오픈소스동아리)Osori Hanyang
 

Plus de Osori Hanyang (10)

161004 hySON
161004 hySON161004 hySON
161004 hySON
 
161004 웹 크롤러
161004 웹 크롤러161004 웹 크롤러
161004 웹 크롤러
 
161004 open ts
161004 open ts161004 open ts
161004 open ts
 
161004 MuseScore
161004 MuseScore161004 MuseScore
161004 MuseScore
 
161004 battle ai
161004 battle ai161004 battle ai
161004 battle ai
 
161004 gsoc
161004 gsoc161004 gsoc
161004 gsoc
 
프로젝트 초안 발표 - OpenCV (한양대 오픈소스동아리)
프로젝트 초안 발표 - OpenCV  (한양대 오픈소스동아리)프로젝트 초안 발표 - OpenCV  (한양대 오픈소스동아리)
프로젝트 초안 발표 - OpenCV (한양대 오픈소스동아리)
 
스터디 초안 발표 - 알고리즘 (한양대 오픈소스동아리)
스터디 초안 발표 - 알고리즘  (한양대 오픈소스동아리)스터디 초안 발표 - 알고리즘  (한양대 오픈소스동아리)
스터디 초안 발표 - 알고리즘 (한양대 오픈소스동아리)
 
프로젝트 초안 발표 - Battle AI (한양대 오픈소스동아리)
프로젝트 초안 발표 - Battle AI  (한양대 오픈소스동아리)프로젝트 초안 발표 - Battle AI  (한양대 오픈소스동아리)
프로젝트 초안 발표 - Battle AI (한양대 오픈소스동아리)
 
프로젝트 기획서 발표 - 웹크롤링 (한양대 오픈소스동아리)
프로젝트 기획서 발표 - 웹크롤링 (한양대 오픈소스동아리)프로젝트 기획서 발표 - 웹크롤링 (한양대 오픈소스동아리)
프로젝트 기획서 발표 - 웹크롤링 (한양대 오픈소스동아리)
 

HungryOsori 2016년 1학기 최종 발표