SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
1/451/45
통합 토렌트 관리체계
Developed by 송병하, 신우
2/45
소개
3/45
소개 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가
3/45
토렌트 통합 관리 체계란?
• 토렌트 : P2P(peer-to-peer) 파일 전송 프로토콜을 활용한 응용 소프트웨어
• 토렌트 통합 관리 체계 : 여러 사용자로부터 토렌트 프로그램을
WEB GUI를 통해 사용하고, 사용자의 접근 영역을 제한하여 안전한
홈네트워크 자원을 사용하는 것
4/45
개발동기
5/45
소개 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가
5/45
개발동기
1) 홈네트워크 환경
휴대용 장치, 컴퓨터, TV, 서버 등 대다수의 장치들이 하나의 망 내에 존재
2) 자료의 중복
- 리눅스의 배포판, 유틸리티 제작사들의 일부가 네트워크의 트래픽 감소를 위해
토렌트로 배포하는 경우가 잦음. 영상 자료 중 공개된 강연자료 등도 다수 존재
- 하지만 콜드데이터에 가까운 이런 자료들은 장치내에 보관하기가 애매
6/45
소개 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가
6/45
개발동기
3) 전세계 망의 많은 자료들이 토렌트라는 허공의 데이터로 시드(공유자)와 이어져
있다.
4) 전통적인 클라이언트 서버 방식의 장점과 P2P 방식의 장점이 결합 되어있다.
- 클라이언트는 필요한 것만 서버에 요청
- 서버가 모든 자료를 보관하는 것이 아닌 각 Peer들 간에 자료 공유로 부하 감소
7/45
소개 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가
7/45
개발동기
하지만 이런 장점에도 불구하고, 서버에서 작업하는것은
대다수 비전공자들이 사용하기에 매우 어려움
-> 사용하기 편한 웹 GUI를 만들자!
8/45
시스템 환경
9/45
소개 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가
9/45
시스템 환경 (개발환경)
사용된 언어 JSP(HTML, CSS, JS, JAVA)
IDE(및 편집기)
웹: Sublime Text, Eclipse
서버: Eclipse
SDK, 라이브러리
JDK 1.8
jquery.js // 효율적인 js사용
spin.js // 스피너 활용
json-simple.jar // JAVA에서 JSON 활용
10/45
소개 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가
10/45
시스템 환경 (운영환경)
서버 OS CentOS 6.9 (kernel 4.14.2)
WS
(Web Server)
Nginx 1.13.7 Compiled
WAS
(Web App Server)
Tomcat 7.0.82 Compiled
DBMS MySQL Community 10.1.18 Compiled
11/45
시스템 구조
12/45
개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가
12/45
소개
시스템 구조
• REST(Representational State Transfer) 구조 모방
index.jsp
sub_DOWNLOAD.jsp
sub_LOG.jsp
sub_SEARCH.jsp
login.jsp
signup.jsp
IndexInterface
LoginInterface
RegisterInterface
Downloader
RssParser
Transaction
Linux Shell
MySQL DB
JSP Side
Interface Side
Backend Side
Server Shell Side
13/45
시스템 동작과정 및 사용 화면
14/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
14/45
시스템 구조소개
시스템 동작과정 및 사용 화면
• 로그인
ID & PWD입력
Login Interfacelogin.jsp Transaction ID & PWD 체크
로그인 기록 등록
처리코드 리턴
처리 코드 전달로그인처리index.jsp로 이동
JSP Side
Interface Side
Backend Side
Server Shell Side
15/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
15/45
시스템 구조소개
시스템 동작과정 및 사용 화면
• 로그인
데스크탑 환경 모바일 환경
16/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
16/45
시스템 구조소개
시스템 동작과정 및 사용 화면
• 회원가입
form 입력
Register
Interface
register.jsp Transaction 중복체크
가입처리
처리코드 리턴
처리 코드 전달회원가입처리 안내login.jsp로 이동
JSP Side
Interface Side
Backend Side
Server Shell Side
17/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
17/45
시스템 구조소개
시스템 동작과정 및 사용 화면
• 회원가입
18/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
18/45
시스템 구조소개
시스템 동작과정 및 사용 화면
• 검색
검색어 입력
Index Interfaceindex.jsp
토렌트 트래커
검색 요청
검색결과
Parsing
JSON 가공 후
리턴
JSON 객체 전달
JSON 데이터
HTML로 표현
JSP Side
Interface Side
Backend Side
Server Shell Side
19/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
19/45
시스템 구조소개
시스템 동작과정 및 사용 화면
• 검색
20/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
20/45
시스템 구조소개
시스템 동작과정 및 사용 화면
• 다운로드
다운받을
결과 선택
Index Interfaceindex.jsp
torrent
다운로드 요청
torrent
다운로드 등록
처리코드 리턴처리 코드 전달응답 처리
JSP Side
Interface Side
Backend Side
Server Shell Side
21/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
21/45
시스템 구조소개
시스템 동작과정 및 사용 화면
• 다운로드
22/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
22/45
시스템 구조소개
시스템 동작과정 및 사용 화면
• 다운로드 토렌트 삭제
삭제할
토렌트 선택
Index Interfaceindex.jsp
torrent
삭제 요청
torrent
삭제
처리코드 리턴처리 코드 전달응답 처리
JSP Side
Interface Side
Backend Side
Server Shell Side
23/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
23/45
시스템 구조소개
시스템 동작과정 및 사용 화면
• 다운로드 토렌트 삭제
24/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
24/45
시스템 구조소개
시스템 동작과정 및 사용 화면
• 로그 확인
Index Interfaceindex.jsp
사용자의
다운로드 기록 요청
LOG 검색
DB 데이터 파싱처리 코드 전달응답 처리
JSP Side
Interface Side
Backend Side
Server Shell Side
JSON 가공 후
리턴
25/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
25/45
시스템 구조소개
시스템 동작과정 및 사용 화면
• 로그 확인
26/45
시연화면
27/45
결론 및 장단점, 보완사항
28/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
28/45
시스템 구조소개
결론 및 특이점, 보완사항
• 프로젝트를 진행하면서 잘했던 점
1) 문서화
2) 프론트엔드
3) 프론트 – 백 사이의 인터페이스
4) 백엔드
29/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
29/45
시스템 구조소개
결론 및 특이점, 보완사항
• 1) 문서화
• REST API 처럼
프론트와 백을 나누어 개발
• 확실한 명세로 실제 구현전에
오류없이 각 파트를 구현
30/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
30/45
시스템 구조소개
결론 및 특이점, 보완사항
• 2) 프론트엔드
브라우저(IE, FireFox, Chrome) 모바일 등 크로스 브라우징 및 반응형 웹 구현
ajax를 통한 SPA 지향, spinner의 위치, 유효한 검색어 처리 등 깔끔한 UI와 더불어 UX 고려
• 3) 엔드포인트 연결
복잡한 백엔드 함수를 이해할 필요없이, 프론트 엔드의 디자인 및 배치에 상관없이
명세한 내용에 맞게 데이터를 전송 + 간단한 호출 >> Interface 클래스 별도 배치
• 4) 백엔드
SQL Injection 방지, CORS나 XSS등의 프론트 보안 무력 공격에 방지하기위해 검색에 대한 유효
세션 구현(UUID, GUID) / 로그인 실패기록 저장으로 서버 보안 분석 방안 대비 / DB풀사용
31/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
31/45
시스템 구조소개
결론 및 특이점, 보완사항
• 보완사항
- 유효한 검색 세션에 대한 주기적인 정리
작업 필요 (프로시저)
-> 현재는 DB에 무작정 쌓이는 상태
• - fail2ban등 실제로 해당 공격자 IP들에 대해
차단하는 기능 추가
32/45
개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가
32/45
시스템 구조소개
결론 및 장단점, 보완사항
QnA
감사합니다

Weitere ähnliche Inhalte

Was ist angesagt?

02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
Opennaru, inc.
 

Was ist angesagt? (12)

[오픈소스컨설팅]클라우드자동화 및 운영효율화방안
[오픈소스컨설팅]클라우드자동화 및 운영효율화방안[오픈소스컨설팅]클라우드자동화 및 운영효율화방안
[오픈소스컨설팅]클라우드자동화 및 운영효율화방안
 
Eclipse rcp - first week
Eclipse rcp - first weekEclipse rcp - first week
Eclipse rcp - first week
 
[오픈소스컨설팅]오픈소스메일시스템
[오픈소스컨설팅]오픈소스메일시스템[오픈소스컨설팅]오픈소스메일시스템
[오픈소스컨설팅]오픈소스메일시스템
 
Tomcat monitoring using_javamelody
Tomcat monitoring using_javamelodyTomcat monitoring using_javamelody
Tomcat monitoring using_javamelody
 
IBM Rational Test Workbench 소개 ( IT SYSTEM TEST TOOL)
IBM  Rational Test Workbench  소개 ( IT SYSTEM TEST TOOL)IBM  Rational Test Workbench  소개 ( IT SYSTEM TEST TOOL)
IBM Rational Test Workbench 소개 ( IT SYSTEM TEST TOOL)
 
bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포
 
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
 
JBoss EAP on Azure
JBoss EAP on Azure JBoss EAP on Azure
JBoss EAP on Azure
 
[오픈소스컨설팅]JBoss EAP 6 Deep Dive(Compare with WebLogic)
[오픈소스컨설팅]JBoss EAP 6 Deep Dive(Compare with WebLogic)[오픈소스컨설팅]JBoss EAP 6 Deep Dive(Compare with WebLogic)
[오픈소스컨설팅]JBoss EAP 6 Deep Dive(Compare with WebLogic)
 
개발 방식을 바꾸는 15가지 기술
개발 방식을 바꾸는 15가지 기술개발 방식을 바꾸는 15가지 기술
개발 방식을 바꾸는 15가지 기술
 
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
 
[오픈소스컨설팅]애플리케이션 빌드 및_배포가이드_v1.0_20140211
[오픈소스컨설팅]애플리케이션 빌드 및_배포가이드_v1.0_20140211[오픈소스컨설팅]애플리케이션 빌드 및_배포가이드_v1.0_20140211
[오픈소스컨설팅]애플리케이션 빌드 및_배포가이드_v1.0_20140211
 

Ähnlich wie 171220 웹프로그래밍 web app 토렌트 관리체계

Build Team Foundation Architecture
Build Team Foundation ArchitectureBuild Team Foundation Architecture
Build Team Foundation Architecture
준일 엄
 
유닉스 리눅스 마이그레이션_이호성_v1.0
유닉스 리눅스 마이그레이션_이호성_v1.0유닉스 리눅스 마이그레이션_이호성_v1.0
유닉스 리눅스 마이그레이션_이호성_v1.0
sprdd
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oce
uEngine Solutions
 

Ähnlich wie 171220 웹프로그래밍 web app 토렌트 관리체계 (20)

01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재
 
[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅
 
05. it정보화전략-어플리케이션 프레임워크
05. it정보화전략-어플리케이션 프레임워크05. it정보화전략-어플리케이션 프레임워크
05. it정보화전략-어플리케이션 프레임워크
 
Build Team Foundation Architecture
Build Team Foundation ArchitectureBuild Team Foundation Architecture
Build Team Foundation Architecture
 
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
 
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_s
 
JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링
JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링
JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
 
RHQ를 활용한 Legacy system 모니터링
RHQ를 활용한 Legacy system 모니터링RHQ를 활용한 Legacy system 모니터링
RHQ를 활용한 Legacy system 모니터링
 
마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관
마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관
마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관
 
유닉스 리눅스 마이그레이션_이호성_v1.0
유닉스 리눅스 마이그레이션_이호성_v1.0유닉스 리눅스 마이그레이션_이호성_v1.0
유닉스 리눅스 마이그레이션_이호성_v1.0
 
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
 
Oracle Application Performance Monitoring Cloud Service 소개
Oracle Application Performance Monitoring Cloud Service 소개Oracle Application Performance Monitoring Cloud Service 소개
Oracle Application Performance Monitoring Cloud Service 소개
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oce
 
Infra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and TerraformInfra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and Terraform
 

Mehr von 우진 신

Mehr von 우진 신 (15)

Image processing - Histogram Equalization
Image processing - Histogram EqualizationImage processing - Histogram Equalization
Image processing - Histogram Equalization
 
비교논문 분석 - 디지털 IoT 도어락 DDiT
비교논문 분석 - 디지털 IoT 도어락 DDiT비교논문 분석 - 디지털 IoT 도어락 DDiT
비교논문 분석 - 디지털 IoT 도어락 DDiT
 
INSTAGRatio 소개영상 (instagram 서드파티 어플리케이션)
INSTAGRatio 소개영상 (instagram 서드파티 어플리케이션)INSTAGRatio 소개영상 (instagram 서드파티 어플리케이션)
INSTAGRatio 소개영상 (instagram 서드파티 어플리케이션)
 
Windows API Programming Project Report
Windows API Programming Project ReportWindows API Programming Project Report
Windows API Programming Project Report
 
Mlp logical input pattern classfication report doc
Mlp logical input pattern classfication report docMlp logical input pattern classfication report doc
Mlp logical input pattern classfication report doc
 
주차관리 시스템 프로토타입 제안서
주차관리 시스템 프로토타입 제안서주차관리 시스템 프로토타입 제안서
주차관리 시스템 프로토타입 제안서
 
유비쿼터스 IoT 도어락 프로토타입 발표자료
유비쿼터스 IoT 도어락 프로토타입 발표자료유비쿼터스 IoT 도어락 프로토타입 발표자료
유비쿼터스 IoT 도어락 프로토타입 발표자료
 
유비쿼터스 Gps원리 발표자료
유비쿼터스 Gps원리 발표자료유비쿼터스 Gps원리 발표자료
유비쿼터스 Gps원리 발표자료
 
데이터베이스(상) 수업 요구분석 및 모델링 발표자료
데이터베이스(상) 수업 요구분석 및 모델링 발표자료데이터베이스(상) 수업 요구분석 및 모델링 발표자료
데이터베이스(상) 수업 요구분석 및 모델링 발표자료
 
데이터베이스(상) 수업 요구분석 및 Er d 변형 2차 발표자료
데이터베이스(상) 수업 요구분석 및 Er d 변형 2차 발표자료데이터베이스(상) 수업 요구분석 및 Er d 변형 2차 발표자료
데이터베이스(상) 수업 요구분석 및 Er d 변형 2차 발표자료
 
데이터베이스(상) 수업 요구분석 및 Er d 변형 1차 발표자료
데이터베이스(상) 수업 요구분석 및 Er d 변형 1차 발표자료데이터베이스(상) 수업 요구분석 및 Er d 변형 1차 발표자료
데이터베이스(상) 수업 요구분석 및 Er d 변형 1차 발표자료
 
데이터베이스(상) 12년도 da설계 공모대전 풀이
데이터베이스(상) 12년도 da설계 공모대전 풀이데이터베이스(상) 12년도 da설계 공모대전 풀이
데이터베이스(상) 12년도 da설계 공모대전 풀이
 
사물인터넷을 활용한 디지털 도어락 DDiT 비교논문 발표자료 1차
사물인터넷을 활용한 디지털 도어락  DDiT 비교논문 발표자료 1차사물인터넷을 활용한 디지털 도어락  DDiT 비교논문 발표자료 1차
사물인터넷을 활용한 디지털 도어락 DDiT 비교논문 발표자료 1차
 
171105 웹프로그래밍 static web 몰빵 발표자료
171105 웹프로그래밍 static web 몰빵 발표자료171105 웹프로그래밍 static web 몰빵 발표자료
171105 웹프로그래밍 static web 몰빵 발표자료
 
C# 재무관리 프로그램(주제고정) 발표자료
C# 재무관리 프로그램(주제고정) 발표자료C# 재무관리 프로그램(주제고정) 발표자료
C# 재무관리 프로그램(주제고정) 발표자료
 

Kürzlich hochgeladen

Kürzlich hochgeladen (8)

JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 

171220 웹프로그래밍 web app 토렌트 관리체계

  • 3. 3/45 소개 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가 3/45 토렌트 통합 관리 체계란? • 토렌트 : P2P(peer-to-peer) 파일 전송 프로토콜을 활용한 응용 소프트웨어 • 토렌트 통합 관리 체계 : 여러 사용자로부터 토렌트 프로그램을 WEB GUI를 통해 사용하고, 사용자의 접근 영역을 제한하여 안전한 홈네트워크 자원을 사용하는 것
  • 5. 5/45 소개 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가 5/45 개발동기 1) 홈네트워크 환경 휴대용 장치, 컴퓨터, TV, 서버 등 대다수의 장치들이 하나의 망 내에 존재 2) 자료의 중복 - 리눅스의 배포판, 유틸리티 제작사들의 일부가 네트워크의 트래픽 감소를 위해 토렌트로 배포하는 경우가 잦음. 영상 자료 중 공개된 강연자료 등도 다수 존재 - 하지만 콜드데이터에 가까운 이런 자료들은 장치내에 보관하기가 애매
  • 6. 6/45 소개 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가 6/45 개발동기 3) 전세계 망의 많은 자료들이 토렌트라는 허공의 데이터로 시드(공유자)와 이어져 있다. 4) 전통적인 클라이언트 서버 방식의 장점과 P2P 방식의 장점이 결합 되어있다. - 클라이언트는 필요한 것만 서버에 요청 - 서버가 모든 자료를 보관하는 것이 아닌 각 Peer들 간에 자료 공유로 부하 감소
  • 7. 7/45 소개 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가 7/45 개발동기 하지만 이런 장점에도 불구하고, 서버에서 작업하는것은 대다수 비전공자들이 사용하기에 매우 어려움 -> 사용하기 편한 웹 GUI를 만들자!
  • 9. 9/45 소개 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가 9/45 시스템 환경 (개발환경) 사용된 언어 JSP(HTML, CSS, JS, JAVA) IDE(및 편집기) 웹: Sublime Text, Eclipse 서버: Eclipse SDK, 라이브러리 JDK 1.8 jquery.js // 효율적인 js사용 spin.js // 스피너 활용 json-simple.jar // JAVA에서 JSON 활용
  • 10. 10/45 소개 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가 10/45 시스템 환경 (운영환경) 서버 OS CentOS 6.9 (kernel 4.14.2) WS (Web Server) Nginx 1.13.7 Compiled WAS (Web App Server) Tomcat 7.0.82 Compiled DBMS MySQL Community 10.1.18 Compiled
  • 12. 12/45 개발동기 시스템 환경 시스템 구조 시스템 동작과정 시연 결론, 평가 12/45 소개 시스템 구조 • REST(Representational State Transfer) 구조 모방 index.jsp sub_DOWNLOAD.jsp sub_LOG.jsp sub_SEARCH.jsp login.jsp signup.jsp IndexInterface LoginInterface RegisterInterface Downloader RssParser Transaction Linux Shell MySQL DB JSP Side Interface Side Backend Side Server Shell Side
  • 14. 14/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 14/45 시스템 구조소개 시스템 동작과정 및 사용 화면 • 로그인 ID & PWD입력 Login Interfacelogin.jsp Transaction ID & PWD 체크 로그인 기록 등록 처리코드 리턴 처리 코드 전달로그인처리index.jsp로 이동 JSP Side Interface Side Backend Side Server Shell Side
  • 15. 15/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 15/45 시스템 구조소개 시스템 동작과정 및 사용 화면 • 로그인 데스크탑 환경 모바일 환경
  • 16. 16/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 16/45 시스템 구조소개 시스템 동작과정 및 사용 화면 • 회원가입 form 입력 Register Interface register.jsp Transaction 중복체크 가입처리 처리코드 리턴 처리 코드 전달회원가입처리 안내login.jsp로 이동 JSP Side Interface Side Backend Side Server Shell Side
  • 17. 17/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 17/45 시스템 구조소개 시스템 동작과정 및 사용 화면 • 회원가입
  • 18. 18/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 18/45 시스템 구조소개 시스템 동작과정 및 사용 화면 • 검색 검색어 입력 Index Interfaceindex.jsp 토렌트 트래커 검색 요청 검색결과 Parsing JSON 가공 후 리턴 JSON 객체 전달 JSON 데이터 HTML로 표현 JSP Side Interface Side Backend Side Server Shell Side
  • 19. 19/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 19/45 시스템 구조소개 시스템 동작과정 및 사용 화면 • 검색
  • 20. 20/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 20/45 시스템 구조소개 시스템 동작과정 및 사용 화면 • 다운로드 다운받을 결과 선택 Index Interfaceindex.jsp torrent 다운로드 요청 torrent 다운로드 등록 처리코드 리턴처리 코드 전달응답 처리 JSP Side Interface Side Backend Side Server Shell Side
  • 21. 21/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 21/45 시스템 구조소개 시스템 동작과정 및 사용 화면 • 다운로드
  • 22. 22/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 22/45 시스템 구조소개 시스템 동작과정 및 사용 화면 • 다운로드 토렌트 삭제 삭제할 토렌트 선택 Index Interfaceindex.jsp torrent 삭제 요청 torrent 삭제 처리코드 리턴처리 코드 전달응답 처리 JSP Side Interface Side Backend Side Server Shell Side
  • 23. 23/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 23/45 시스템 구조소개 시스템 동작과정 및 사용 화면 • 다운로드 토렌트 삭제
  • 24. 24/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 24/45 시스템 구조소개 시스템 동작과정 및 사용 화면 • 로그 확인 Index Interfaceindex.jsp 사용자의 다운로드 기록 요청 LOG 검색 DB 데이터 파싱처리 코드 전달응답 처리 JSP Side Interface Side Backend Side Server Shell Side JSON 가공 후 리턴
  • 25. 25/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 25/45 시스템 구조소개 시스템 동작과정 및 사용 화면 • 로그 확인
  • 28. 28/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 28/45 시스템 구조소개 결론 및 특이점, 보완사항 • 프로젝트를 진행하면서 잘했던 점 1) 문서화 2) 프론트엔드 3) 프론트 – 백 사이의 인터페이스 4) 백엔드
  • 29. 29/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 29/45 시스템 구조소개 결론 및 특이점, 보완사항 • 1) 문서화 • REST API 처럼 프론트와 백을 나누어 개발 • 확실한 명세로 실제 구현전에 오류없이 각 파트를 구현
  • 30. 30/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 30/45 시스템 구조소개 결론 및 특이점, 보완사항 • 2) 프론트엔드 브라우저(IE, FireFox, Chrome) 모바일 등 크로스 브라우징 및 반응형 웹 구현 ajax를 통한 SPA 지향, spinner의 위치, 유효한 검색어 처리 등 깔끔한 UI와 더불어 UX 고려 • 3) 엔드포인트 연결 복잡한 백엔드 함수를 이해할 필요없이, 프론트 엔드의 디자인 및 배치에 상관없이 명세한 내용에 맞게 데이터를 전송 + 간단한 호출 >> Interface 클래스 별도 배치 • 4) 백엔드 SQL Injection 방지, CORS나 XSS등의 프론트 보안 무력 공격에 방지하기위해 검색에 대한 유효 세션 구현(UUID, GUID) / 로그인 실패기록 저장으로 서버 보안 분석 방안 대비 / DB풀사용
  • 31. 31/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 31/45 시스템 구조소개 결론 및 특이점, 보완사항 • 보완사항 - 유효한 검색 세션에 대한 주기적인 정리 작업 필요 (프로시저) -> 현재는 DB에 무작정 쌓이는 상태 • - fail2ban등 실제로 해당 공격자 IP들에 대해 차단하는 기능 추가
  • 32. 32/45 개발동기 시스템 환경 시스템 동작과정 시연 결론, 평가 32/45 시스템 구조소개 결론 및 장단점, 보완사항 QnA 감사합니다