■ 도메인(Domain)이란

: 인터넷에 연결된 장치들이 서로 식별되기 위해 IP라는 고유번호를 갖게된다.

  이 IP는 사람들이 기억하기 어렵기 때문에 IP에 이름을 부여해서 사용하는 것이 도메인이다.

  

 

 

 

 

■ 각 도메인은 .(comma)를 통해 구분되고, 도메인의 단계(level)이 나뉜다.

 

 

 

'Programming, IT 관련 > IT 용어, 상식' 카테고리의 다른 글

변수, 메소드명 표기법  (0) 2021.05.08
Compiler 언어와 Interpreter 언어  (0) 2021.05.08
URI, URL, URN  (0) 2021.04.26
폭포수 모델( Waterfall Model )  (0) 2021.04.26
DOM ( Document Object Model )  (0) 2021.04.24

- 혼용되기도 하는 URI, URL부터 URN까지 개념을 정리한다.

 

1) URI ( Uniform Resource Identifier ) 

 

- URI는 URL, URN을 아우르는 개념이다.

  인터넷의 상에 존재하는 웹사이트 내에 특정 웹페이지 등 리소스에 접근하는 방법으로,

  서로 다른 리소스를 구분하여 접근하기 위한 식별자(identifier)를 사용하는 개념이 URI 이다.

 

2) URL ( Uniform Resource Locator )

 

- URI의 한 방식인 URL은, 리소스들을 주소(adress)라는 위치로 구분한다. 

  만약, 기존의 URL을 통해 존재하던 리소스를 다른 주소로 변경한다면, 해당 리소스는

  그 주소와 더 이상 무관해진다.

 

3) URN ( Uniform Resource Name )

 

- URL의 한계를 극복하기 위해 나온 방식으로, 리소스의 주소가 아닌, 리소스 자체의 이름을 통해

  접근하는 방식이다.

 폭포수 모델이란?

: 순차적인 소프트웨어 개발 프로세스(소프트웨어를 만들기 위한 프로세스)로, 개발의 흐름이 폭포수처럼,

 

"계획 > 분석 > 설계 > 개발 > 테스트 > 유지보수"의 단계로 진행되는 것.

 어떤 단계에서 문제가 발생 시, 해당 단계로 돌아가는식(피드백 단계)으로 운영된다.

 

 

1) 계획

- 범위, 일정, 원가 등 필요 자원에 대한 계획을 수립하는 단계.

 

 

2) 분석

- 사용자 요구사항 및 주어진 문제를 분석하고 이해하는 단계.

 

 

3) 설계

- 시스템 구조, UI , DB 등을 설계하는 단계.

 

 

4) 개발

- 프로그램을 코딩하면서 간이테스트를 진행하는 단계.

 

 

5) 테스트

- 통합, 시스템, 인수테스트를 진행하는 단계.

 

 

5-1) 통합(Integration) 테스트

- 단위 테스트를 우선 실행하여, 각각 모듈이 잘 작동된다면 이 모듈들을 연동하는 테스트.

 

5-2) 시스템 테스트

- 통합한 모듈들이 요구사항에 맞게 작동하는지를 판단하고 작동시간, 처리능력, 부하, 복구 등의 비기능적인 요소들도    점검.

5-3) 인수 테스트

- 실제 운영 환경에서 사용될 준비가 되었는지 최종적으로 확인하는 테스팅 단계.

 

 

6) 유지보수

- 운영 중 발생하는 여러 변경사항에 대한 대응을 하는 단계.

 

 

 

■ 폭포수 모델의 장/단점

 

- 장점

: 적용 사례가 풍부하고 전체 과정의 이해가 쉽다.

 

- 단점

: 프로세스별 병행작업이 안 되며, 고객의 요구사항 분석에 대한 마치고 개발 단계에 들어가므로, 요구사항을 상세하게 반영하기 어렵다.

 

■ 폭포수 모델을 적용하기 알맞은 프로젝트

 

- 고객의 요구사항이 단순하고, 변경될 여지가 적은 프로젝트

- 규모와 난이도가 낮은 프로젝트

- 산출물의 결과가 명확한 프로젝트

- 참여하는 개발자가 경험한적 있는 프로젝트

 

 

'Programming, IT 관련 > IT 용어, 상식' 카테고리의 다른 글

도메인  (0) 2021.04.26
URI, URL, URN  (0) 2021.04.26
DOM ( Document Object Model )  (0) 2021.04.24
AWS(Amazon Web Services)에서 파생된 개념 정의  (0) 2021.04.21
MVC ( Model View Controller )  (0) 2021.04.19

 

- OSI 7계층(layer)란? 

: OSI ( ( Open System Interconnection Reference Model )는 국제표준화기구(ISO)에서 개발한,

 네트워크 프로토콜 디자인과 통신을 계층으로 나누어서 정의한 것.

 

 

: 두 사용자가 통신을 한다고 가정했을 때, 발신자로부터 7layer(응용 계층) > 1layer(물리계층)을 거쳐,

  수신자는 물리계층부터 응용계층까지 도달하여 통신이 이루어지게 된다.

 

 

 

1) 물리계층 ( Physical layer )

 

- 데이터는 0과 1의 비트열, 즉 On, Off의 전기적 신호 상태로 이루어짐.

- 전기적, 기계적 특성인 회로를 통해, 데이터를 전송하는 endcoding( 아날로그 신호화 ), decoding( 디지털 신호화 )하는

  작업만을 수행.

 

 

 

 

2) 데이터링크 계층 ( Data-Link layer )

 

- 물리 계층에서 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할.

- L3(네트워크 계층)에서 받은Data_Link layer에서 캡슐화한 데이터의 배열을 프레임(Frame)이라고 한다.

 

- 흐름 제어(Flow control)

: 송신자와 수신자 간의 데이터처리 속도를 위한 제어.

 

- 에러 제어(Error control)

: 프레이밍(Framing) 과정에서 데이터의 에러를 검출.

 

 

3) 네트워크 계층 ( Network layer )

 

- 목적지까지 데이터를 보내는 라우팅 기능 수행.

- IP Adress는 네트워크 계층의 헤더에 들어있다.

- 데이터 단위는 패킷(Packet)이라고 합니다.

 

4) 전송 계층 ( Transport layer )

 

- 데이터 전송을 위해서 Port 번호를 사용.

- 대표적인 프로토콜로는 TCP와 UDP가 있다.

- 데이터 단위는 세그먼트(Segment)

 

5) 세션 계층 ( Session layer )

 

- 세션 계층은 응용 프로세스가 통신을 관리하기 위한 방법을 정의.

- 세션을 만들고 없애는 역할.

 

6) 표현 계층 ( Presentation layer )

 

- 데이터를 어떻게 표현할 지 정하는 역할 (확장자)

- 송신자에서 온 데이터를 해석하기 위한 응용계층 데이터 부호화, 변화.

- 수신자에서 데이터의 압축을 풀수 있는 방식으로 된 데이터 압축.

- 데이터의 암호화와 복호화.

 

 

 

7) 응용 계층 ( Application layer )

 

- 응용 프로세스와 직접 관계하여 응용 서비스를 수행.

 

 

 

 

'Programming, IT 관련 > OSI 7 Layer' 카테고리의 다른 글

OSI 7 Layer 관련 용어 정리  (0) 2021.05.08

- 문서 객체 모델( Document Object Model )

: XML이나 HTML의 노드 트리 구조에 접근하기 위한 인터페이스

 

 

 

'Programming, IT 관련 > IT 용어, 상식' 카테고리의 다른 글

URI, URL, URN  (0) 2021.04.26
폭포수 모델( Waterfall Model )  (0) 2021.04.26
AWS(Amazon Web Services)에서 파생된 개념 정의  (0) 2021.04.21
MVC ( Model View Controller )  (0) 2021.04.19
HTTP와 HTTPS  (0) 2021.04.19

AWS(Amazon Web Services)에 관한 영상(www.youtube.com/watch?v=OpoVuwxGRDI) 내용에 대한 개념 정리

 

 

1) 클라우드( Cloud )란?

- Cloud = Cloud computing service

- 인터넷을 통해 액세스할 수 있는 서버와 이러한 서버에서 작동하는 소프트웨어와 데이터베이스

 

- 물리적으로 1대인 컴퓨터를 가상의 공간으로 쪼개어, 여러 대의 기능을 하는 것.

  (컴퓨터의 물리적 자원을 필요에 따라 분할해서 사용할 수 있다)

 

- 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요 시 바로 제공(on-demand availability)하는 것

 

- 해당 서비스를 제공하는 업체에서 필요에 따라 늘어나는 자원을 늘리거나 줄여줄 수 있다.

 

 

 

2) 온프레미스(On-premise)란?

 

 

 

 - 소프트웨어 등 솔루션을 클라우드 같이 원격 환경이 아닌 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식

 

3) 서비스 범위에 따른 명칭

 

- 하드웨어의 자원만을 제공하는 Iaas(Infrastructure As A Service)

 

- 하드웨어를 포함한 가상서버를 제공하는 Paas(Platform As A Service)

 

- 하드웨어, 가상서버, 소프트웨어까지 제공하는 Saas(Software As A Service)

'Programming, IT 관련 > IT 용어, 상식' 카테고리의 다른 글

폭포수 모델( Waterfall Model )  (0) 2021.04.26
DOM ( Document Object Model )  (0) 2021.04.24
MVC ( Model View Controller )  (0) 2021.04.19
HTTP와 HTTPS  (0) 2021.04.19
쿠키, 세션, 캐시  (0) 2021.04.18

 

 

- MVC ( Model View Controller ) 패턴이란?

: 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러가 데이터와 비즈니스 로직 사이의 상호동작을 관리하는 소프트웨어 공학 패턴

 

1) 모델 ( Model )

: 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이와 같은 통보를 통해서 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가·제거·수정할 수 있다.

즉, 데이터베이스에 담긴 정보에 대한 CRUD를 하고, 변경점이 있을 시, view와 controller에 통보한다.

 

2) 뷰 ( View )

: 사용자가 볼 데이터를 생성하기 위해 model로부터 정보를 얻어온다.

 HTML, CSS, javascript를 다룬다.

 

3) 컨트롤러 ( Controller ) 

: Model과 view의 변경점을 각각에게 통보하는 다리 역할을 한다.

 

- 비즈니스 로직에 대한 처리 문제

 : 데이터를 직접적으로 DB에 저장하는 코드는 model에 넣고, 사용자가 입력한 데이터의 형식이 올바른지 정도에

 대한 검사는 controller에서 하는 것이 바람직하다. 

예) 글자 수의 제한은 controller , 양식에 맞게 받은 데이터에 대한 처리는 model 에서.

 

 

 

'Programming, IT 관련 > IT 용어, 상식' 카테고리의 다른 글

폭포수 모델( Waterfall Model )  (0) 2021.04.26
DOM ( Document Object Model )  (0) 2021.04.24
AWS(Amazon Web Services)에서 파생된 개념 정의  (0) 2021.04.21
HTTP와 HTTPS  (0) 2021.04.19
쿠키, 세션, 캐시  (0) 2021.04.18

 

 

- HTTPS는 HTTP보다 Secure

 

: 안전(secure)하다는 것은, 사용자가 해당 사이트에 입력한 정보를 제3자가 볼 수 없다는 것과

 해당 사이트가 신뢰할만한 사이트라는 것을 의미.

 

 

1) 어떻게하면 입력한 정보가 보안상 안전할까?

: 기존의 대칭키만 사용하는 방식은 어떤 정보를 암호화, 복호화하는 것이 대칭키 하나를 통해 동시에 가능하다.

 만약 이 대칭키를 누군가 가로챈다면, 해당 유저의 정보가 복호화를 통해 노출되는 것이다.

 HTTPS는 비대칭키 방식을 사용하는데, 암호화만 가능한 공개키를 모든 유저에게 제공하고, 복호화만 가능한

 개인키를 해당 웹사이트가 보관하는 것이다. 그러므로, 유저의 정보는 서버 보안 수준의 보안성을 갖게 된다.

 

2) 신뢰할만한 사이트라는 걸 어떻게 알까?

: 민간 CA(Certificate Authority) 기업이 보장한다. 

  클라이언트의 브라우저는 접속한 웹사이트로부터 인증서를 응답받게 되는데, 브라우저는 CA 정보를 통해

  해당 인증서를 검증한다.

  이 인증서는 CA에서 개인키로 암호화한 상태이고, 브라우저에 저장된 CA의 공개키를 통해 복호화하여 

  확인한다. 만약, 복호화가 되지 않는다면, 해당 사이트에 대한 경고가 나타나게 된다.

  

- 비대칭키의 실질적 활용

 

   실제로 모든 데이터를 주고 받을 때 비대칭키 방식을 사용하는 것은 컴퓨터의 연산에 무리가 있다.

   그래서 대칭키 방식을 사용하고, 이 대칭키를 브라우저와 서버가 공유할 때, 비대칭키 방식을 사용한다.

 

 

+ Recent posts