1. 아키텍쳐(Architecture)

  • 건축 분야에서 유래된 용어이다
  • 요구 사항을 만족하는 건축물을 만들기 위한 청사진과 같다
  • 컴퓨터 시스템에서의 아키텍처는 어떠한 시스템을 구축하는데 있어 해당 시스템의 비지니스적 요구 사항을 만족하는 전체 시스템 구조를 정의하는 것이다
  • 전체 시스템 구조를 상호간에 쉽게 이해할 수 있도록 일반적으로 이미지나 도형 등을 많이 사용한다
  • 아케텍쳐는 최대한 심플하고 간결해야 한다

2. 시스템 아키텍쳐(System Architecture)

  • 하드웨어와 소프트웨어를 모두 포함하는 어떤 시스템의 전체적인 구성을 큰그림으로 표현한 것이다
  • 해당 시스템이 어떤 하드웨어로 구성되고, 어떤 소프트웨어를 사용하는지를 대략적으로 알 수 있도록 한다
  • 시스템 구성 요소들 간의 상호작용과 시스템의 동작 원리 등을 시스템 아키텍처 안에 표현하면 이해하기가 쉽다

3. 소프트웨어 아키텍쳐(Software Architecture)

  • 하드웨어를 제외한 모든 소프트웨어의 구성을 큰 그림으로 표현한 것이다
  • Java 플랫폼 아키텍쳐가 대표적이다
  • Java의 기술지원, 기능 등을 그림을 통해 알 수 있다

  • Spring Framework 모듈 아키텍쳐를 보면 지원하는 모듈을 확인할 수 있다.
    - 모듈은 여러가지 기능들을 목적에 맞게 그룹화하여 묶어 놓은 것을 말한다
    - Spring에서 모듈은 Java의 패키지 단위로 묶여 있고, 패키지 안에는 클래스들이 포함되어 있다
    - 모듈은 재사용이 가능하도록 라이브러리 형태로 제공된다

 

4. 계층형 아키텍쳐(N-Tier)

 1) API 계층(API Layer)

  • 클라이언트의 요청을 받아들이는 계층이다
  • 표현 계층(Presentation Layer)이라고도 하지만 REST API를 제공하는 애플리케이션의 경우 API 계층이라고 표현한다

 2) 서비스 계층(Service Layer)

  • API 계층에서 전달 받은 요청을 업무 도메인의 요구 사항에 맞게 비즈니스적으로 처리하는 계층이다
  • 애플리케이션의 핵심 로직이 포함되어 있으며, 애플리케이션에 있어 핵심이 되는 계층이다

도메인(Domain)
 -
 애플리케이션 개발에서 흔하게 사용하는 도메인이란 용어는 주로 비즈니스적인 어떤 업무 영역과 관련이다
 - 애플리케이션 개발에서 필요한 업무 로직에 대한 지식을 도메인 지식(Domain Knowledge)이라고 한다

 - 도메인 지식이 많을수록 서비스 계층에서 비즈니스 로직으로 구현해야 하는 것들을 퀄리티가 높게 표현할 수 있다

 

 3) 데이터 엑세스 계층(Data Access Layer)

  • 비즈니스 계층에서 처리된 데이터를 데이터베이스 등의 데이터 저장소에 저장하기 위한 계층이다

 

※ 참조 링크

▶ Spring Framework : https://docs.spring.io/spring-framework/docs/5.0.0.M5/spring-framework-reference/html/overview.html

 

2. Introduction to the Spring Framework

The Spring Framework is a Java platform that provides comprehensive infrastructure support for developing Java applications. Spring handles the infrastructure so you can focus on your application. Spring enables you to build applications from "plain old Ja

docs.spring.io

 

'Spring Framework' 카테고리의 다른 글

Spring Framwork - PSA(Portable Service Abstraction)  (0) 2022.06.22
Spring Framework - AOP  (0) 2022.06.22
Spring Framework - DI - Spring Container  (0) 2022.06.19
Spring Framework - IoC / DI - 기초  (0) 2022.06.17
Spring Framework 특징  (0) 2022.06.15

1. URL(Uniform Resource Locator)

  • 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타낸다
  • URL은 scheme, hosts, url-path로 구분할 수 있다
  • scheme은 통신 방식(프로토콜)을 결정하며, 일반적인 웹 브라우저에서는 http(s)를 사용한다
  • hosts는 웹 서버의 이름이나 도메인, IP를 사용하며 주소를 나타낸다
  • url-path는 웹 서버에서 지정한 루트 디렉토리부터 시작하여 웹 페이지, 이미지, 동영상 등이 위치한 경로와 파일명을 나타낸다
  • 브라우저로 파일을 찾아야 할 경우 'file://localhost/파일위치 디렉토리 주소' 를 사용하여 찾을 수 있다

 

2. URI(Uniform Resource Identifier)

  • URL의 기본 요소인 scheme, hosts, url-path에 query, bookmark를 추가한다
  • query는 웹 서버에 보내는 추가적인 질문이다
  • http://www.google.com:80/search?q=Java 를 브라우저의 검색창에 입력하면, 구글에서 Java를 검색한 결과가 나타난다
  • 브라우저의 검색창을 클릭하면 나타나는 주소가 URI이다
  • URI는 URL을 포함하는 상위개념으로 URL은 URI와 같을 수 있지만, URI는 URL과 같을 수 없다

http://www.google.com:80/search?q=Java 구분

file://
http://
https://
scheme 통신 프로토콜
127.0.0.1
www.google.com
hosts 파일이 위피한 웹 서버, 도메인, IP
:80
:443
:3000
port 웹 서버에 접속하기 위한 통로
/search
/user/username/Desktop
url-path 웹 서버의 루트 디렉토리로부터 파일까지 경로
q=Java quary 웹 서버에 전달하는 추가 질문

 

3. IP(Internet Protocol)

  • 인터넷상에서 사용하는 주소체계를 의미한다
  • 인터넷에 연결된 모든 PC는 IP 주소체계를 따라 네 개의 숫자 그룹으로 구분된다
  • 네 덩이의 숫자로 구분된 IP 주소체계를 IPv4라고 한다
  • IPv4(Internet Protocol version 4)는 IP 주소체계의 네 번째 버전을 나타낸다
  • IPv4의 각각의 숫자그룹은 0부터 255까지 사용 가능하다
  • 4개의 숫자그룹을 사용하면  2^(32)인 약 43억 개의 IP 주소를 가질 수 있다
더보기
▶ 터미널에서 'nslookup + 도메인주소' 명령어를 사용하여 도메인의 IP 주소를 확인할 수 있다

C:\Users\user>nslookup coding-mid-life.tistory.com

서버:    cns3.bora.net
Address:  203.248.252.2

권한 없는 응답:
이름:    wildcard-tistory-fz0x1pwf.kgslb.com
Address:  211.231.99.250
Aliases:  coding-mid-life.tistory.com
  • 용도가 정해져 있는 IP 주소도 있다
localhost

127.0.0.1
현재 사용 중인 로컬 PC의 주소
0.0.0.0

255.255.255.255
broadcast address로 로컬 네트워크에 접속된 모든 장치와 소통하는 주소이다

서버에서 접근 가능 IP 주소를 broadcast address 로 지정하면, 모든 기기에서 서버에 접근할 수 있다
  • 개인용 컴퓨터의 보급이 증가하여  IPv4의 주소가 고갈 단계에 도달하여 IPv6를 공식화 하였다
  •  IPv6은 128비트 주소를 사용하여 이론적으로 2^(128) 개 주소를 가질 수 있다
  • IPv6 주소는 각각 콜론으로 구분된 4개의 16진수로 구성된 8개의 그룹으로 표시된다
더보기

2001:0db8:0000:0000:0000:8a2e:0370:7334

단축 표현하여 2001:db8::8a2e:370:7334 로도 사용한다

 

4. PORT

  • IP 주소가 접속할 수 있는 통로를 의미한다
  • 포트 번호는 0~ 65,535 까지 사용할 수 있다
  • 0 ~ 1024번 까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해져 있다
  • 알아두어야 할 포트 번호

 

5. 도메인(Domain)

  • IP 주소에 특정한 이름을 부여한 것을 도메인이라 한다
  • 도메인은 일정 기간동안 대여하여 사용한다

 

6. DNS(Domain Name System)

  • 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템이다
  • 네트워크에는 DNS서버가 별도로 존재한다
  • 브라우저에 요청된 도메인을 검색하여 웹서버로 전달하여 주고 통신을 연결해 준다

7. 크롬(Chrome) 브라우저 에러 유형

  • Chrome 브라우저를 사용하다 보면 웹페이지를 제공하는 서버와 Chrome 브라우저가 소통하는 단계, 또는 기기와 네트워크의 연결, Chrome 브라우저가 해석할 수 없는 데이터를 전송받은 경우 에러가 발생한다
  • 에러 메시지를 만나면, 다음과 같은 문제가 발생할 수 있다

     - 웹페이지에 연결할 수 없습니다.

     - 웹페이지가 열리지 않습니다.

     - HTTPS가 적용된 웹페이지가 열리지 않습니다.

     - 사진이 로드되지 않습니다.

     - 새 탭이 로드되지 않습니다.

 

8. Chrome Network Tap 활용 방법

https://www.youtube.com/watch?v=e1gAyQuIFQo&t=482s 

 

 

※ 참조

https://en.wikipedia.org/wiki/IPv6

 

IPv6 - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Version 6 of the Internet Protocol Parts of this article (those related to RFC 8200 and RFC 8201) need to be updated. Please help update this article to reflect recent events or newly

en.wikipedia.org

 

'Network' 카테고리의 다른 글

네트워크 - REST API  (0) 2022.08.16
네트워크 - HTTP  (0) 2022.06.08
네트워크 - 클라이언트(Client)  (0) 2022.06.07

+ Recent posts