web is 뭔들

50
Web is 뭔뭔 - 뭔뭔뭔뭔 뭔뭔 -

Upload: han-sung-kim

Post on 12-Apr-2017

5 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Web is 뭔들

Web is 뭔들- 플랫폼의 역습 -

Page 2: Web is 뭔들

자기 소개 ZeroPage 24 기 정회원 , 25 기 회장

컴퓨터공학부 11 학번

심신 안정을 위해서 4 학년 휴학 중 ( 준 프로 꿀빨러 )

현재 , 브릴리언트 앤 컴퍼니에서 근무 중

내년 (17 년 ) 에 강해져서 돌아올 예정

Page 3: Web is 뭔들

Web?

WWW – World Wide Web 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간

인터넷 != 웹 컴퓨터 간의 정보를 주고 받는 네트워크 = 인터넷 인터넷 상의 정보를 보여주는 시스템 = 웹

Page 4: Web is 뭔들

Web?

웹인터넷

Page 5: Web is 뭔들
Page 6: Web is 뭔들

인터넷

컴퓨터 간에 정보를 주고 받는 네트워크

다른 플랫폼 간에 정보를 주고 받을 수 있나 ? 내 컴퓨터에서는 보이는데… .. PC 로 접속해주세요 크롬이 지원되지 않습니다 모바일 페이지로 이동합니다 기타 발암… . 인터넷 익스플로어

Internet Explorer

Page 7: Web is 뭔들

컴퓨터가 윈 10 인데

애플 앱스토어를

보고 싶어요 ㅜㅜ

안돼 안 보여줘

돌아가

유감

Page 8: Web is 뭔들

통신 프로토콜 ( 규약 ) 컴퓨터나 원거리 통신 장비 사이에서

메시지를 주고 받는 체계

대표 기관 : ISO, IEEE

예시 : HTTP, HTTPS, FTP, SSH, SSL 등등

Page 9: Web is 뭔들

통신 프로토콜 ( 예시 )

http://naver.com

접속HTTP Request

HTTP Response

Page 10: Web is 뭔들

OSI 7 계층

물리 계층데이터 링크 계층

네트워크 계층전송 계층세션 계층표현 계층응용 계층

물리 계층데이터 링크 계층

네트워크 계층전송 계층세션 계층표현 계층응용 계층

Page 11: Web is 뭔들

OSI 7 계층

물리 계층

데이터 링크 계층

네트워크 계층

전송 계층

세션 계층

표현 계층

응용 계층

프로그램

논리적인 통신

물리적인 통신

Page 12: Web is 뭔들

간단한 용어 설명 ? IP 주소 (Internet Protocol)

컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호

Ex) 165.194.1.1

MAC 주소 (Media Access Control Address) 네트워크에 사용되는 장비에 존재하는 고유 번호 Ex) AB:CD:EF:00:11:22

Page 13: Web is 뭔들

네트워크 구조

IP – 2M - B

IP – 3M - C

IP – 5M - F

IP – 4M - D

IP – 1M - A

IP – 7M - G

IP – 6M - E

IP – 8M – J

Com1

Com2

Com3

Com5

Com6

Com4

라우터 컴

Page 14: Web is 뭔들

OSI 7 계층탕 !

난 IP 가 A 인데IP 가 B 인 녀석한테석양 배달 좀

라우터 : OK

석양 배달이요 !

라우터 : OK

IP 가 B 인 녀석이석양이란 걸 주는데 ?

오버워치

Page 15: Web is 뭔들

세션 계층

표현 계층

응용 계층HTML 문서

인터넷 익스플로어Internet Explorer

Page 16: Web is 뭔들

플랫폼 vs 프레임워크 vs 라이브러리 플랫폼 : 어플리케이션을 동작시킬 때 기반이 되는 OS 와 그 밖의 환경 , 설정

J2EE (Java 2 Platform for enterprise Edition) – 5 부터 Java EE 5 윈도우 7, 8, 10….

프레임 워크 : 일반적인 기능을 가진 코드를 유저가 선택적으로 덮어쓰거나 특화한 것 스프링 Flask

라이브러리 : 클래스나 서브루틴의 모임 . 대상 플랫폼에서 바로 실행됨 안드로이드 plot 라이브러리 ( 그래프 ) 스프링의 restTemplate 라이브러리 ( 통신 )

Page 17: Web is 뭔들

플랫폼의 역습 ? 웹은 플랫폼에 영향이 없는 거 아닌가요 ?

완전 독립 X 웹 표준을 준수합시다 !!

Page 18: Web is 뭔들

웹 표준 웹을 서술하고 정의하는

공식 표준이나 다른 기술 규격을 가리키는 일반적인 용어

정부도 안 지키는데 굳이 실습에서 지킬 필요는… .

Page 19: Web is 뭔들

CRUD C : Create

R : ReadU : UpdateD : Delete

대부분의 웹 페이지는 CRUD 로 이루어짐 HTTP 에서의 CRUD

C : POST methodR : GET methodU : PUT methodD : DELETE method

Page 20: Web is 뭔들

실습 내용 클라우드 서비스 (PaaS) 중

1 년 간 무료인 AWS( 아마존 웹 서비스 ) 에 프레임워크인 스프링 ( 웹 서버 ) 를 올려서회원관리를 하는 API 서버를 만들어 보자 !

+ 사이트까지도… .?

Page 21: Web is 뭔들

실습을 위한 Tool 리스트 JDK 7 설치 – tomcat7 을 사용하기 때문에… .

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

STS(Spring Tool Suite) 설치 – 이클립스기반 스프링 개발 툴https://spring.io/tools/sts/all

Apache maven 설치 – 라이브러리 관리 및 빌드 툴https://maven.apache.org/download.cgi

Page 22: Web is 뭔들

실습을 위한 Tool 리스트 STS 와 Maven 은 압축파일을 해제만 하면 됨 폴더를 하나 생성해서 둘을 같은 폴더에 넣어주는게 좋음 파일질라 설치 (FTP 용 )

https://filezilla-project.org/download.php?type=client

Mysql Workbench 설치 (DB)https://www.mysql.com/products/workbench/

Putty, Puttygen (SSH, 키생성 )http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Page 23: Web is 뭔들

AWS클라우드

RDB

Page 24: Web is 뭔들

AWS

Apache(Web Server)

Tomcat(WAS – Web Aplication

Server)+ Java 7 EE

Spring(Rest API Server)

DB(My SQL)

Page 25: Web is 뭔들

웹 서버 vs WAS 웹 서버 ( 아파치 )

SW : 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고 요청에 대한 문서 (HTML) 를 반환하는 프로그램

HW : 그럼 프로그램을 실행하는 컴퓨터

WAS( 톰캣 ) HTTP 를 통해 사용자 컴퓨터나 장치에 Aplication 을 수행해주는 미들웨어 즉 , 동적인 역할을 담당한다 .

Page 26: Web is 뭔들

서버 설치 ( 인스턴스 생성 ) Instances – Launch Instance 클릭

Page 27: Web is 뭔들

서버 설치 ( 인스턴스 생성 ) 취향에 따라 고르세요 ( 무료로… .)

전 우분투로 ㅎㅎ 서버 타입은 역시 무료로 ㅎㅎ

Page 28: Web is 뭔들

서버 설치 ( 인스턴스 생성 ) Pem 파일 저장

( 잃어버리면 나중에 서버 비용이 와장창… )

Puttygen 으로 .ppk 파일 생성 실제 사례

http://blog.naver.com/PostView.nhn?blogId=kykkyn2&logNo=220706681302

Page 29: Web is 뭔들

서버 설치 ( 인스턴스 접근 ) Aws 에서 생성한 instance 에서

public DNS 입력 Instance 생성할 때 다운받은

.ppk 등록 로그인시 기본 계정은 ubuntu

Page 30: Web is 뭔들

서버 설치 ( 인스턴스 접근 ) 접속이 되었다면 성공 !

실패하면 .ppk 파일이 맞는지 public DNS 가 맞는지확인 !

Page 31: Web is 뭔들

서버 설치 Putty 에서 IP 에 Public DNS 로 접속해서 아래 내용 설치

(Public IP 도 미리 기억해두면 좋음 )

sudo apt-get update && sudo apt-get upgrade sudo apt-get install openjdk-7-jdk //Java 7 EE 설치

sudo apt-get install apache2// 아파치 2 설치

sudo apt-get install tomcat7 // 톰캣 7 설치

Page 32: Web is 뭔들

서버 설치 Security Groups 에서

inbound rules 추가(port open)

ICMP 는 ping 하기 위해서( 죽었나 살았나 )

Page 33: Web is 뭔들

서버 설치 ( 확인 ) 브라우저로 Public ip 접근하면 기본 화면이 보인다 예시 (tomcat, apache)

Page 34: Web is 뭔들

DB 생성 AWS – RDS 사용

Page 35: Web is 뭔들

DB 생성 Inbound rules 에 DB port 도 추가 !

Page 36: Web is 뭔들

DB 접근

Page 37: Web is 뭔들

User Table 생성 RDS 에서 instance 생성시 만든 test DB 사용

test 더블클릭 !!!( 해당 DB 를 사용하겠다 )

SELECT * FROM user; INSERT INTO user(email, password) VALUES(?, ?);DELETE FROM user WHERE id=?

Page 38: Web is 뭔들

서버

동작 과정 ( 단순 요청 )

아파치톰캣

HTTP Request( 메인 화면을 보여줘 )

HTTP Response( 메인 .html)

Page 39: Web is 뭔들

서버

동작 과정 ( 동적인 요청 )

아파치톰캣

HTTP Request( 가입 요청 )

HTTP Response( 어서오세요 . 호갱

님 )

쟤 가입시켜줘

ㅇㅇ 완료

Page 40: Web is 뭔들

개발환경 세팅 실습 예제 코드

https://github.com/kimhs327/devilscamp_spring

Page 41: Web is 뭔들

개발환경 세팅 STS 에 Maven setting 적용

Page 42: Web is 뭔들

로컬에서 실행 로컬에서 실행할 경우 public ip 대신 localhost 로 입력

Page 43: Web is 뭔들

Tomcat 에서 spring server 실행 프로젝트를 war 파일로 export 후 파일 질라를 통해 aws 서버로 이동

Page 44: Web is 뭔들

끝 ? That’s no no GET method 중 /users/{id} 에서

DB 에서 해당되는 id 가 있으면 email 을 return 해주고없으면 status = 404, msg = “parameter error” 를 return 해주자

Page 45: Web is 뭔들

Markup Language 문서나 데이터의 구조를 명기하는 언어의 한 가지 EX) HTML, JSON, XML

정보를 전달하는데 효율적인 방법 !

Page 46: Web is 뭔들

HTML 웹 페이지를 위한 마크업 언어 구조적인 문서를 만들 수 있다 .

Page 47: Web is 뭔들

JSON 속성 , 값 쌍으로 이루어진 정보를 전달하기 위해 사용 자바스크립트로 파생되었지만 언어 독립형 포맷= 즉 , 언어에 상관없이 사용할 수 있다 !

Page 48: Web is 뭔들

Parsing & Parser 말 그대로 , 구문 분석 마크업 언어를 분석하기 위한 방법 EX)

XML, HTML : <> 로 구별한다JSON : {}, [] 로 구별한다

Page 49: Web is 뭔들

웹 is 뭔들 ! 플랫폼에 영향력이 적다 ! 플랫폼의 춘추전국시대인 요즘 , 웹은 아주 중요하다 요즘 VR 도 별도의 플레이어없이 웹사이트를 통해서 볼 수 있다 ! 즉 , 가능성이 무궁무진하다 . 프론트보다 백엔드 (WAS) 가 중요하다 . 인터넷이 없어지지 않는 한 일자리는 계속 유지될 것이다 .

그러니 웹하세요 ㅎㅎ

Page 50: Web is 뭔들

감사합니다 피곤해서 질문은 받지 않습니다