본문 바로가기

Java 웹 개발

21.08.13 - 웹 개발 입문 3일차

021.OSI 7 Layer

- 1계층 : 물리계층 101010111000001111

            허브 : 분배기

            리피터 : 증폭기

- 2계층 : 데이터 링크 계층

            MAC ADDRESS

            L2 스위치 : 기기 또는 근거리 네트워크 연결

            브리지 : 기기 또는 근거리 네트워크 연결

- 3계층 : 네트워크 계층

            IP ADDRESS

            L3 스위치 : 원거리 네트워크 연결

            라우터 : 원거리 네트워크 연결

            네트워크, 전송 알고리즘 등장

            ex) 네비게이션 길찾기 알고리즘

- 4계층 : 전송 계층

            TCP/UDP/포트(Port)/.../

            L4 스위치 : 로드밸런싱 기능

- 5, 6, 7계층 - 프로그래머 영역

            

 

022.광대역 네트워크 알고리즘

1. 패킷 스위칭

  - 정의 : 데이터를 패킷(packet) 단위로 쪼개서 전송하는 방식

  - 종류 : X.25, 프레임릴레이, ATM

-  X.25

  - 정의 : 광역 통신망에서 사용하는 패킷 교환 프로토콜. OSI 7 LAYER의 1~3계층을 담당

 

- 프레임 릴레이

  - 정의 : 광역통신망(WAN) 내 단말 지점 간의 비용-효율적인 데이터의 전송을 위해 고안된 방법

- 프레임 릴레이 특징 및 X.25와의 비교

  - 프레임이라 불리는 가변 길이 단위에 데이터를 넣고 재전송과 같은 필요한 오류 정정 기능은 단말 지점에 맡긴다.

  - X.25가 고정된 대역폭을 갖는 반면, 프레임릴레이는 사용자의 요청에 따라 유연한 대역폭을 할당한다.

  - 망의 성능 향상을 위해 에러 제어 기능과 흐름 제어 기능을 단순화시켰다.

  - X.25가 OSI 7계층 중 1~3계층까지를 담당하는 반면, 프레임릴레이는 1~2계층만을 담당한다.

  - 전용선을 사용하는 것보다 가격이 저렴하며 기술적으로는 X.25에 비해 우위에 있다.

- ATM

  - 정의 : 회선교환의 실시간성 및 패킷교환의 유연성을 통합시킨 연결지향적 패킷교환 복합기술, 비동기 전송모드

 

2. 서킷 스위칭

   - 정의 : 하나의 회선을 할당받아 데이터를 주고받는 방식, 전용선 개념

   - 종류 : PSTN, ISDN, B-Channel, CSD, HSCSD, GSM, X.21

 

3. 라우팅 알고리즘

   - 정의 : 데이터를 목적지까지 전송하기 위한 최적의 경로를 산출하는 법칙

   - 종류 : 거리-벡터 알고리즘, 링크 상태 알고리즘

 

 

023.개발 경 구축하기

1. 운영체제 선택

2. 개발도구 선택

    - 정적 방식

       - 컴파일 방식

       - 장점 : 번역하면서 오류 발견 가능, 미리 필요한 것들을 계산, 실행시간이 줄어듦

       - 단점 : 준비 시간이 오래 걸림, 오류가 있으면 번역이 안됨

    - 동적 방식

       - 인터프리터 방식

       - 장점 : 준비 시간이 빠름, 오류가 있어도 오류 전까지 번역함

       - 단점 : 오류 추적이 어려움, 실행 시간이 오래 걸림, 계산 불가 

   

    - 언어의 유형

       - 절차형 : 작성 순서에 의한 실행,  C언어

       - 객체 지향 : 객체(Object)를 중심으로 한 언어 구조, C++, Java

       - 관점 지향 : 객체 + 관점(Aspect)을 중심으로 한 언어 구조, Spring

 

3. 개발환경 인프라 구성

    - On-Premise 방식 : 외부 인터넷망이 차단된 상태에서 개발환경을 구축하는 방식, 장비를 구매하여 직접 환경 구축

    - Cloud(클라우드) 방식 :  아마존, 구글 등 클라우드 공급 서비스 회사들의 서비스를 임대하여 개발환경을 구축

    - Hybrid 방식 : On-Premise 와 Cloud를 혼용

 

 

024. Github 설명 및 이클립스 설치

 

Git에서 사용하는 용어들

   - Repository : 파일 / 폴더의 저장 공간. 파일이 변경 이력 별로 구분되어 저장됨.

   - 원격 저장소(Remote Repository) : 원격 서버에서 관리되며 여러 사람이 공유하기 위한 저장소

   - 로컬 저장소(Local Repository) : 내 PC에서 관리하는 개인 전용 저장소

   - 브랜치(Branch) : 저장소 내에서 다른 작업에 영향을 받지 않는 독립된 작업 단위 저장소

   - main branch : 저장소에 기본으로 생성되는 저장소. 일반적으로 최종 통합 결과를 저장하기 위해 사용

   - 인덱스(Index) : 저장소에 저장하기 위해 추가하는 파일들이 저장되는 공간

   - 커밋(Commit) : 로컬 저장소에 파일이나 폴더의 변경 사항을 기록하는 작업

   

이클립스 설치

    - Eclipse IDE for Enterprise Java Developers는 자바 웹 개발을 위한 IDE로 순수 자바를 포함한다

 

025. 이클립스 설정 및 샘플 코드 작성

이클립스 환경설정

- Window 메뉴 클릭 -> Preferences 항목 클릭 -> 검색창에 encoding 입력 ->

   General - Workspace 속성 클릭 -> Text file Encoding을 UTF-8로 변경

자바 버전 설정

- Window 메뉴 선택 -> Preferences 항목 클릭 -> 검색창에 jdk 입력 -> Installed JREs 클릭

   -> 기존 버전 삭제 -> 자바 Jre로 등록할 버전 경로 등록

 

환경 설정 완료 후 프로젝트 생성

- File -> New -> Java Project 클릭

 

- Project name : HelloWorld -> 자바 버전 변경 -> Finish 클릭

 

 

- src 마우스 우클릭 -> New -> Class 클릭

 

- Name : HelloWorld 입력 -> Finish 클릭

- 파일이 생성되면 샘플 코드를 작성을 한다.

 

- Run 메뉴의 Run을 누르거나 단축기 Ctrl+F11을 눌러 실행한다.

- 다음 글자가 출력되면 성공이다.

 

 

 026.이클립스 Github 연동

- 이클립스를 Git 모드로 변경

- Clone a git Repository 메뉴 선택

- 원격 저장소의 주소 입력

- 사용자 정보 입력 -> Next 클릭 -> Next 클릭-> Finish 클릭

 

- HelloWorld 우클릭 -> Team 클릭 -> Share Project... 클릭

- Repository: 경로 등록한곳 선택 - > Finish 클릭

 

- HelloWorld 우클릭 -> Team -> Commit 선택

 

- 파일을 선택하여 Commit 또는 Commit & Push

   - Commit : 로컬 저장소에만 저장

   - Commit & Push : 로컬 저장소와 원격 저장소에 저장

 

 

027. EGit 프로젝트 생성 및 삭제

- 생성 및 삭제 완료

 

028. Github Gist 사용법
029. Gitbook 사용법
030. 다른 PC에서의 Github 연동 및 기존 내용 불러오기