응용 SW 기초 기술 활용

김성수·2022년 11월 14일
0

1. 네트워크

IP : Internet Protocol 의 약자로, 인터넷을 사용하기 위해 지켜야 할 규칙이나 약속

IP Address : 인터넷에서 컴퓨터끼리 서로를 식별하는 논리적인 주소

네트워크에서 데이터를 보내려면 패킷(Packet ~= Package)에 저장하고,
패킷의 보내는 주소, 받는 주소를 IP로 작성하여 인터넷에 보내면 원하는 곳으로 전송된다

IPv4 : 32비트의 주소체계로 이루어졌으며, 과거에 등장한 방식이고, 주소 개수가 부족하다
IPv6 : ※ 중요 (128비트)의 주소체계로 이루어졌고, 비교적 최근에 등장한 방식이다. 주소가 전혀 부족하지 않다.

IPv4는 보통 .을 기준으로 구분하여 4개의 정수로 구성되어있다.
각각의 정수는 8비트이다. 이를 Octet이라고 부르기도 한다.

    192.168.1.100
    

IP의 각 옥텟은 0 ~ 255의 범위를 가진다. 2^8개 만큼 범위를 가진다. 1옥텟은 8비트이다
IP주소는 4개의 옥텟이 결합하여 하나의 주소를 구성한다. IPv4는 32비트의 주소이다.

브로드캐스팅 (broadcasting)은 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식을 의미한다.

유니캐스트 (unicast) 전송이란 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 트래픽 또는 메시지를 전송하는 방식을 말한다.

멀티캐스트 (multicast)란 한 번의 송신으로 메시지나 정보를 목표한 여러 컴퓨터에 동시에 전송하는 것을 말한다.

도메인 네임 시스템 (DNS)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 특정 컴퓨터의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호로 변환해 준다.


  • 인캡슐레이션, Encapsulation : 데이터를 네트워크로 보내기 위해 규칙에 대한 헤더를 추가하는 과정

  • 디캡슐레이션, Decapsulation :전송받은 패킷을 원래 형태로 만들기 위해 헤더를 검사하고, 패킷의 캡슐화를 해제하는 과정


IP                     : 192.168.112.x (내 컴퓨터를 식별하는 주소)
Subnetmask       : 255.255.255.0 (내 IP에서 어디까지가 대역을 나타내는지 알려주는 기준)
Gateway            : 192.168.112.1 (내 컴퓨터가 외부로 데이터를 전송할때 통과하는 관문)
DNS Server        : 168.126.63.1 (글자 도메인 주소를 숫자 IP주소로 변환하는 전화번호부

C:> ipconfig
C:> ipconfig /all

TCP 0 ~ 65535번 포트
UDP 0 ~ 65535번 포트

포트 하나당 하나의 프로그램이 상주할 수 있다.

0 ~ 1023 사이의 포트는 잘 알려진 포트(Well-known port), 공용으로 사용하는 포트이다.

TCP        20       ftp-data
TCP        21       ftp
TCP        22       ssh
TCP        23       telnet
TCP        80       http
TCP/UDP 53       domain name system



랜섬웨어는 사용자의 컴퓨터를 장악하거나 데이터를 암호화한 다음 정상적인 작동을 위한 대가로 금품을 요구하는 유형의 컴퓨터 바이러스

  • RIP (Routing Information Protocol v2)
  • EIGRP (Enhanced Interior Gateway Routing Protocol)
  • OSPF (Open Shortest Path First)
  • BGP (Border Gateway Protocol)

네트워크 확인 기초 명령어

  • ping 대상의 IP or DomainName
    대상과 통신이 가능한 상태인지 확인한다.
    기본 ping 명령어는 포트를 지정하여 확인할 수는 없다.
    ping이 안된다고 해서, 대상 컴퓨터가 off 되어 있다고 확신 할 수는 없다.

  • tracert
    리눅스에서는 traceroute, 대상을 지정하여 대상과 통신하는 경로를 추적하여 출력한다
    방화벽에 의해서 통신이 되지 않는 구간은 ***로 표시된다.

  • netstat
    현재 컴퓨터에서 관리중인 네트워크 포트의 상태를 확인한다.
    포트번호, 프로세스 번호, 프로세스 상태 등을 확인할 수 있다.

  • ipconfig
    리눅스에서는 ifconfig, 현재 컴퓨터의 기본 네트워크 설정을 출력한다.

  • nslookup
    도메인 주소 <-> IP 주소 변환을 처리하는 DNS서버를 요청하여 처리된 결과를 알려준다.


2. 미들웨어

미들웨어는 컴퓨터 제작 회사가 사용자의 특정한 요구대로 만들어 제공하는 프로그램으로, 운영 체제와 응용 소프트웨어의 중간에서 조정과 중개의 역할을 수행하는 소프트웨어이다.

1. 통합 인증 (Single sign-on)

통합 인증은 한 번의 인증 과정으로 여러 컴퓨터 상의 자원을 이용 가능하게 하는 인증 기능이다. 싱글 사인온, 단일 계정 로그인, 단일 인증이라고 한다.

2. 웹 서버 (Web Server)

HTTP 요청을 받아 Static contents를 제공하는 서버, 프로그램
  • HTTP 프로토콜을 기반으로 하여 클라이언트의 요청을 서비스하는 기능을 담당

(Ex. Apache Server, Nignx, ...)

기능 1: 정적인 컨텐츠 제공

WAS를 거치지 않고, 바로 요청한 컨텐츠를 제공할 수 있다.
기능 2: 동적인 컨텐츠 제공을 위한 요청 전달

요청을 WAS에 보내고, WAS가 처리한 결과를 클라이언트에게 전달한다.

3. 웹 어플리케이션 서버 (Web Application Server)

다양한 서버 내 알고리즘, 비즈니스 로직, DB 조회 등 클라이언트 요청에 따라 동적인 컨텐츠를 제공하는 서버, 프로그램

3. 데이터베이스

  • HTTP 프로토콜을 기반으로 하여 클라이언트의 요청에 따라 구현된 비즈니스 로직을 통해 동적으로 만들어진 컨텐츠를 반환

(Ex. Tomcat, JBoss, Jeus, ...)

  • 데이터베이스 접속 기능, 여러 개의 트랜잭션 관리 등 수행

1. DB와 DBMS의 차이

💾데이터베이스(Database, DB)란?
데이터베이스를 한 마디로 정의하면 ‘데이터의 집합’이라고 할 수 있습니다.

데이터베이스에는 일상생활 대부분의 정보가 저장되고 관리됩니다. 오늘 보내거나 받은 카카오톡 메시지, 인스타그램에 등록한 사진, 버스/지하철에서 찍은 교통카드, 카페에서 구매한 아이스 아메리카노 등의 정보가 모두 데이터베이스에 기록됩니다.

💾DBMS란?

데이터베이스를 ‘데이터의 집합’이라고 정의한다면, 이런 데이터베이스를 관리하고 운영하는 소프트웨어를 DBMS(Database Management System)라고 합니다. 다양한 데이터가 저장되어 있는 데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야 합니다.

2. SQL 구문

DDL : Data Definition Language 데이터 정의어

데이터 정의어란? 데이터베이스를 정의하는 언어이며, 데이터를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을 하는 언어이다.

  • create : 데이터베이스, 테이블등을 생성
  • alter : 테이블을 수정
  • drop : 데이터베이스, 테이블을 삭제
  • truncate : 테이블을 초기화


DML : Data Manipulation Language 데이터 조작어

데이터 조작어란? 정의된 데이터베이스에 입력된 레코드를 조회하거나 수정하거나 삭제하는 등의 역할을 하는 언어.

  • select : 데이터 조회
  • insert : 데이터 삽입
  • update : 데이터 수정
  • delete : 데이터 삭제

※데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는데 사용하는 언어
※데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공



DCL : Data Control Language 데이터 제어어

DCL(Data Control Language)
데이터베이스에 접근하거나 객체에 권한을 주는등의 역할을 하는 언어

  • grant : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 부여
  • revoke : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈, 회수
  • commit : 트랜잭션의 작업을 저장
  • rollback : 트랜잭션의 작업을 취소, 원래대로 복구
    profile
    다들 잘하는데 나만 못해?

    0개의 댓글