2-1) 네트워크
2-2) 운영체제
2-3) 데이터베이스
2-4) 자료구조
IP주소
란 네트워크에 연겱된 각 컴퓨터를 구분하는 고유한 주소를 뜻한다.
4바이트
로 이루어져 있으며, 사람이 알아보기 쉽게 1바이트씩 10진수로 나타낸 총 10진수 4개의 숫자로 구성되어 있다.
컴퓨터가 증가됨에 따라 현재는IPv6
로16바이트
로 확장한 주소체계까지 생겼다.
먼저,
Domain Name
은IP주소를 문자열로 변환
한 것이다.
-> 전화번호부에 010-xxxx-xxxx를 외우기 힘드니 "홍길동"으로 저장한 것과 같은 과정이다.
DNS
는 Domain Name Service로도메인과 IP주소의 매핑 정보를 가지고 있는 시스템
이다.
DNS의 동작 방식
은 아래와 같다.1) 사용자가 웹 브라우저 url입력창에 도메인을 입력한다.
2) 웹 브라우저는 입력받은 도메인에 해당되는 IP주소를 DNS 서버에 물어본다.
3) DNS 서버는 도메인에 해당하는 IP주소를 반환한다.
4) 웹 브라우저는 IP주소를 받아서 해당 IP주소의 컴퓨터에 접속한다.
프로토콜
은 컴퓨터 네트워크 사이에서 컴퓨터 간에 쉽게 통신할 수 있도록 정해놓은 규칙과 절차를 말한다.
백엔드와 크게 연관된 프로토콜은HTTP, HTTPS, TCP, IP
등이 있다.
HTTP는 클라이언트와 서버 사이에서 데이터를 주고받기 위해 사용하는 프로토콜이다.
구성요소로는시작 행 / 헤더 / 빈 행 / 본문
으로 이루어져있다.
시작 행
: 요청 혹은 응답과 관련된 주요정보
-> 요청 시작 행 : HTTP 메서드 / 요청 URI / HTTP 버전 정보
-> 응답 시작 행 : HTTP 버전 정보 / 상태 코드 / 상태 메세지헤더
: 요청 혹은 응답과 관련된 부가정보빈 행
: 헤더의 끝을 표시하기 위해 사용하는 빈 행본문
: 통신을 통해 실제로 주고받는 데이터 (생략가능)
-> 요청 본문 : 요청 시 전달한 데이터
-> 응답 본문 : 응답으로 보내는 데이터
HTTPS
은 HTTP에서SSL
또는TLS
와 같은 암호화 프로토콜을 사용하여보안 요소가 강화된 HTTP 프로토콜
이다.
HTTPS를 사용함으로서,데이터의 무결성
과인증
이 보장된다.
운영체제는 사용자가 컴퓨터를 쉽게 다룰 수 있도록 사용자와 컴퓨터 사이에서 인터페이스를 제공하고,
컴퓨터의 시스템 자원을 효율적으로 관리 및 분배하는 역할을 담당한다.
대표 운영체제
: Window / MacOS / Linux 등
주요 기능
: 프로세스 관리 / 메모라 관리 / 파일 시스템 관리 / 네트워크 관리 이다.
보조 기억장치인
디스크에 적재
되어 있는 일련의 코드덩어리을프로그램
이라고 표현하며,
해당 프로그램을 실행시켜메모리에 올라와, cpu를 점유하고 있는 프로그램
을프로세스
라고 표현한다.즉, 평소에는 프로그램 상태로 있다가 메모리에 올리는 순간 프로세스라고 표현한다.
프로세스의 메모리 구조
는 크게 4가지 영역으로코드 영역
/데이터 영역
/힙 영역
/스택 영역
으로 구성되어 있다.
프로세스는 어떠한 영역도, 다른 프로세스와공유하지 않는다
.
스레드
는 프로세스 내에서 작업하는여러개의 실행 단위
라고 할 수 있다.
따라서스레드의 메모리 구조
는스택 영역
을 제외한모든 영역을 함께 공유
한다.
스레드는 앞서 말했듯 프로세스 내에서 작업하는 여러개의 단위이다.
따라서 스레드는스택 영역
을 제외한모든 영역을 함께 공유
한다.이러한 여러개의 스레드가 동시에 활동하는 방식을
멀티 스레드
라고 표현하며,
자원을 공유하기 때문에동기화
처리 문제는 반드시 해결해야한다.
데이터베이스를 설계하면서 중 여러 엔티티와 관계를 추출하는 과정에서 여러 이상 현상이 발생할 수 있다.
삽입 이상 : 새로운 데이터를 삽입할 때 불필요한 데이터가 함께 삽입되는 현상.
ex) 한 테이블에 담겨있는 회원정보 , 주문정보 -> 신규 회원이 가입되었을 때 하지도 않은 주문 정보까지 삽입됨
갱신 이상 : 중복된 데이터 값 중 일부 값만 변경함으로써 데이터가 불일치 되는 현상.
ex) 논현역의 행정 명칭이 신논현역으로 바뀌었는데, 테이블의 일부 주소만 신논현으로 바뀜
삭제 이상 : 특정 데이터를 삭제할 때 다른 데이터까지 삭제되는 현상.
ex) 한 테이블에 담겨있는 회원정보, 주문정보 -> 회원이 주문 내역만 취소(삭제)했는데 회원 정보까지 삭제됨
위와 같은 이상 현상들을 막기 위해선 다양한 정규화를 수행해야된다.
제 1정규화
/제 2정규화
/제 3정규화
/BCNF
/제 4정규화
/제 5정규화
순으로 이루어진다.
트랜잭션
이란 하나의 기능을 수행하기 위해서 순차적으로 진행되는하나의 단위 혹은 연산
을 의미한다.
일반적으로, 데이터베이스의 데이터를 조작할 때 트랜잭션 단위로 묶어 수행한다.트랜잭션에서는 크게
커밋
과롤백
이라는 2가지 키워드가 존재한다.
일련의 단위가 성공하면 순차적으로 커밋을 수행하여 작업을 완료시키고
만일, 수행중 오류가 발생하면 롤백시켜 커밋 내역을 초기화시킨다.
자료구조
: 데이터를 어떠한 단위, 형식으로 저장하는가? -> 다양한 저장 방식
알고리즘
: 다양한 자료구조를 활용하여 어떻게 문제를 해결 할 것인가? -> 문제를 해결하는 과정프로그램은 어떠한 자료구조를 쓰는가에 따라 성능이 크게 좌지우지 된다.
어떤 자료구조를 쓰는지 결정하는 것과 문제를 해결해나가는 과정을 알고리즘 이라고 할 수 있다.