//각 용어에 대한 깊은 내용은 따로 다루기로 하고, 흐름과 간략한 의미 파악을 위주로 진행
웹 앱과 네이티브 앱
>네이티브 앱, Native-Application
: 특정 기기에 설치해서 사용하는 애플리케이션
: 실행 환경에 종속적이다.
: 인터넷 환경은 무관하다.
//예시) 폰의 스토어에서 운동 기록 App을 설치. 폰에서만 활용 가능하다
- 네이티브 앱 특징(장점)
: Web-App보다 빠르다.
//인터넷 속도랑 관련 없기 때문(설치한 기기 성능에 의존)
: App이 설치된 기기의 시스템(실행 환경)의 리소스에 접근이 용이함.
//예시) gps, 카메라 등
: 인터넷 없이 사용 가능하다.
//설치만하면 언제든 킬 수 있음.
: Web-App에 비해서 안전하다.
//예시) 모바일의 경우, 앱스토어의 승인을 받아야 함.
- 네이티브 앱 특징(단점)
: 애플리케이션을 설치한 실행 환경에 종속됨.
//예시) 아이폰(Apple iOS)전용 애플리케이션은 아이폰에 설치(네이티브 애플리케이션)하여 쓸 수 있지만, Windows에서는 사용 불가능하다.
: Web-App에 비해 개발비가 더 많이 들어간다.
//예시) 아이폰 용 App을 안드로이드에서 쓸 수 있게 멀티 플랫폼 개발을 추가로 해야함.
: 빠른 업데이트가 힘듬.
//업데이트도 스토어의 승인을 받아야하기 때문
: 앱스토어에 승인 받기가 힘들고 비용이 많이 든다.
//안전한만큼 엄격한 절차를 통해 승인됨.
>웹 앱, Web-Application
: 인터넷 환경에서 웹 브라우저를 이용하는 애플리케이션
: 인터넷이 필수적이다.
: 실행 환경은 무관하다.
- 웹 앱 특징(장점)
: 설치나 다운로드가 필요 없다.
//브라우저를 통해 실행되기 때문
: 업데이트 등의 유지관리가 쉽다.
//따로 승인 절차 없이 인터넷을 통해 편하게 관리
: Native-App보다 만들기가 비교적 쉽다.
: 앱스토어 승인이 필요없다.
- 웹 앱 특징(단점)
: 인터넷이 필수적이다.
//없으면 당연히 사용 불가
: Native-App보다 속도가 느리다
//인터넷 속도에 영향을 받는다.
: 앱스토어와 같은 관리 시스템이 없기 때문에 사용자 접근성이 떨어질 수 있다.
//사용자가 필요한 앱을 찾아서 구해야한다.
: 퀄리티와 보안에 문제가 있을 수 있다.
//따로 관리하는 시스템 체계가 없기 때문
>웹 사이트와 웹 앱의 차이
- 웹 사이트
: 말 그대로 정보를 출력만 하는 웹 페이지를 모아놓은 사이트
: 검색, 댓글 달기 등과 같은 기능이 전혀 없이 그저 정보만 보여주는 정적인 웹 페이지의 모음
- 웹 앱
: 웹 브라우저에서 이용하는 모든 애플리케이션
: 현재 우리가 웹 사이트로 알고 있는 것들은 대부분 웹 애플리케이션이다.
: 정확히는 웹 사이트들이 이제는 당연하게 다양한 웹 애플리케이션을 사용한다.
: 때문에 지금의 웹 사이트는 검색, 댓글 달기 등 사용자와 상호 작용하는 동적인 사이트이다.
//위와 같은 이유로 현재는 웹 사이트와 웹 애플리케이션을 크게 구분하지는 않는다.
네트워크
>LAN, WAN
- LAN, Local Area Network
: 지역 네트워크, 말그대로 근거리 통신망
: 공유기 혹은 스위치를 이요해서 근거리 지역에서 사용하는 네트워크
: 랜선으로 연결하여 사용
//같은 피시방에 가서 친구들끼리 스타로 LAN에서 게임 하던게 LAN을 사용한 예시
- WAN, Wide Area Network
: LAN과 LAN을 이어서 광범위하게 구성된 네트워크
: 실제로 인터넷 선을 매립하여 육로를 통해 연결하거나, 심지어는 해저로 연결하여 나라간에도 이어져있다.
: 위와 같은 서비스를 통신사에서 구축하여 제공하고 우리는 이에 인터넷 비용을 지불하는 것.
>Internet (Internetworking)
: 인터네트워킹(Internetworking)에서 유래된 단어
: 여러 네트워크를 연결하는 방식으로 확장시킨 네트워크
: 하나의 네트워크에 문제가 생겨도 나머지 네트워크는 정상 작동
: 개별 네트워크로 따로 관리하므로 유지 보수가 쉬움
>IP
: Internet Protocol
: TCP/IP 구조에서 컴퓨터를 식별하기 위해 사용되는 주소
: 네트워크 장비에 각각의 IP 주소가 할당된다
//예시) 휴대전화, 서버, 인터넷 라우터 등(자동 설치, 제거 불가능)
: xxx.xxx.xxx.xxx와 같이 .을 기준으로 네 덩이의 숫자로 표현된다.
: 네 덩이의 숫자 IP를 IPv4(IP version 4)라고 한다.
: IPv4로 할당하는데 한계가 와서 현재 IPv6도 있지만, 아직까지는 IPv4로 사용을 많이 한다.
>TCP와 UDP 비교(자세한 내용은 별도)
- TCP, Transmission Control Protocol
: 연결 지향적 프로토콜
: 전송 받을 기기까지 데이터가 전송되는 것이 보장된다.
//누락이 없다, TCP 3-way handshake
: UDP에 비해 상대적으로 속도가 느리다
//신뢰도가 높은 만큼 검사하는 과정 때문에 그렇다
: 데이터의 신뢰성을 요구하는 애플리케이션에서 사용된다.
//예시) 대부분의 웹 HTTP 통신, 파일 전송 등
- UDP, Use Datagram Protocol
: 데이터그램 지향적 프로토콜
: 전송 받을 기기까지 데이터가 전송되는 것이 보장되지 않음
//누락이 있을 수 있다. 하지만 그만큼 효율적이고 빠르기 때문에 사용된다.
: UDP에 비해 상대적으로 속도가 빠르다
//신뢰도가 높은 만큼 검사하는 과정이 없다.
: 실시간 통신, 빠른 속도를 추구하는 애플리케이션에서 사용된다.
//예시) 유튜브 스트리밍(각종 스트리밍도 해당)
>Domain Name과 DNS
- Domain Name
: 기억하기 어려운 IP주소를 대신하는 이름
//비유) 도로명 주소=IP주소, 가게 상호명=도메인 네임
//택시, 똑같이 도착함!
???: 아저씨, (도로명 주소)로 가주세요~
???: 아저씨, (가게 이름)로 가주세요~
//하단 그림 참고, domain부분
//나머지 내용은 따로 공부~
- DNS
: Domain Name System
: 도메인을 검색하면 IP 주소를 찾고, IP주소를 도메인으로 변환해주는 데이터베이스 시스템
'코드스테이츠_국비교육 > [Section2]' 카테고리의 다른 글
30.01_[HTTP] HTTP message_22.10.04 (0) | 2022.10.04 |
---|---|
29.02_[네트워크] 웹 애플리케이션 작동 원리_웹의 흐름_22.09.30 (0) | 2022.09.30 |
28.02_Algorithm with Math_코드 정리_22.09.29 (0) | 2022.09.29 |
28.01_Algorithm with Math_순열/조합_22.09.29 (0) | 2022.09.28 |
27_탐욕 알고리즘, 시뮬레이션 구현 문제 풀이_22.09.28 (0) | 2022.09.28 |