[데이터 통신] 9장 - TCP 프로토콜
·
Major/Computer Network
#쉽게 배우는 데이터 통신과 컴퓨터 네트워크 책을 기반으로 작성하였습니다. 01 전송 계층의 기능 - 전송 계층은 데이터 링크계층과 유사함 - 데이터 링크 계층은 물리적(컴퓨터나 라우터)으로 1:1 연결된 호스트 사이의 전송 > 중개기능 필요없음 - 전송 계층은 논리적(네트워크)으로 1:1 연결된 호스트 사이의 전송 > 중개기능으로 전송 * 네트워크 자체를 잠재적 기억장치라고 표현하기도 함 1. 전송 계층의 주요 기능 1) 흐름 제어 - 수신 호스트가 슬라이딩 프로토콜의 윈도우 하단 값을 조정 > 송신 프로세스가 보낼 수 있는 패킷의 한계를 지정함 2) 오류 제어 - 데이터 변형과 데이터 분실을 재전송에 의한 오류 제어 기능에 의해 복구한다. 3) 분할과 병합 - 분할 : 데이터를 전송하기 전에 적합한 ..
[쉽게 배우는 데이터 통신과 컴퓨터 네트워크] 12장-연습문제
·
Major/Computer Network
01 ① AF_UNIX ② AF_INET 해설 : 한 호스트 내부에서 실행되는 프로세스 사이의 통신은 유닉스주소체계(AF_UNIX), 서로 다른 호스트의 프로세스 사이의 통신은 인터넷주소체계(AF_INEF) 02 ① sockaddr_in ② sin_family ③ sin_addr ④ sin_port * 영어 이름을 해석하면 이해하기 쉽다. sockaddr_in = socket address internet > 소켓 주소 인터넷 sin = socket internet 03 ① struct sockaddr * 해설 : 공통 주소체계인 sockaddr 구조체로 형 변환하여 문법의 통일성을 유지한다. 04 ① SOCK_STREAM ② SOCK_DGRAM 해설 : SOCK_STREAM은 TCP(연결형)서비스를 제..
[Lisp] Tic-Tac-Toe 게임 실습(2)
·
Major/Lisp
- 전에 있던 함수에서 컴퓨터가 더 똑똑하게 play하는 함수를 만든다. [Lisp] Tic-Tac-Toe 게임 실습(1) (tistory.com) 1. squeeze-play와 two-on-one 상황 1) squeeze란 양 대각선에 상대말이 있고 내 말이 중간에 있는 상황을 이야기한다. 여기서 x가 이기 위해서는 대각선에 두면 안되고 변에 둬야한다. 2) two-on-on 상황은 대각선에서 연속으로 o(or x)가 두 개 있고 나머지에 x말이 있는 상황을 말한다. 여기서 x가 이기기 위해서는 변에두면 안되고 대각선에 둬야한다. 2. 함수 * 전역변수 선언 (defvar *Corners* '(1 3 7 9)) (defvar *Sides* '(2 4 6 8)) 1) block-squeeze-play (..
[Lisp] Chapter 13 Arrays(배열)*
·
Major/Lisp
1. 배열 만들기 ;; array 만들기 #() ;; (make-array n(크기) :initial-element n(n으로 초기화)) ;; (make-array 3 :initial-element 1) => (1 1 1) ;; 인덱스 접근 : aref ;; (aref myarray 0) ;; (setf 배열이름 '#(a b c)) 8 ;; > (aref "Cocktail" 7) => #\l ;; > (type-of #\l) => CHARACTER ;; > (setf drink "Cocktail") => "Cocktail" ;; > (setf (aref drink 1) #\a) => #\a ;; > drink => "Cacktail" ;; hash table(해시 테이블) ;; > (setf h (mak..
[Lisp] Chapter 12 구조체(Structures)
·
Major/Lisp
1. Types - type & type-of : 어떤 데이터 타입인지 - (typep '변수 '데이터타입) = t/nil - (type-of '변수) = 데이터 타입리턴 - (typep #'list 'funtion) 함수는 #' 붙여줘야함 2. Structures - Structures: 내가 정의한 데이터타입 - DEFSTRUCT: 새로운 데이터 타입 정의 (defstruct starship (captain nil) (name nil) (speed 0) (condition ‘green) (shields ‘down)) (setf s1 (make-starship)) //구조체 선언 (starship-captain) //구조체안 변수 접근 - 응용 (defun alert (x) ;; causing a st..
[Lisp] Tic-Tac-Toe 게임 실습(1)
·
Major/Lisp
1. Tic-Tac-Toe 게임이란? - 위와 같은 3*3 보드가 있을 때, O와 X가 차례대로 두면서 O나 X가 가로/세로/대각선으로 연속 3개를 두면 이기는 게임이다. (자세한 설명은 : 틱택토 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)) 2. 구현 1) 전역변수/ 상수 선언 (defconstant One 1) (defconstant TheOther 10) (defvar *Opponent* One) (defvar *Computer* TheOther) 2) makeBoard : 보드를 만드는 함수 (defun makeBoard () (list ‘Board 0 0 0 0 0 0 0 0 0)) 3) convert-to-letter : one을 0로, the other을 x로 바꾸는 함..
[Lisp] Chapter 10 Assignment
·
Major/Lisp
1. Updating a variable (defvar *total-glasses* 0) (defun sell (n) "전역 변수 사용" (setf *total-glasses* (+ *total-glasses* n)) (format t "~&Total ~S glasses." *total-glasses*)) - total-glasses 라는 전역변수를 선언하고, sell이라는 함수로 전역 변수의 값을 바꿔준다. - 변수의 값을 변경시키는 방법은 보통 3가지가 있다. ⓐ (setf NumVar (+ NumVar 5)) ⓑ (incf NumVar 5) ⓒ (decf NumVar) 2. Destructive Operations 1) Destructive Operations는 값을 변경 시켜주는 오퍼레이션이다. ..
[자료 구조] 최단 경로 - 다익스트라(Dijkstra) 알고리즘 개념 및 구현 *
·
Major/Data Structure
1. 최단 경로 - 최단 경로 문제는 정점 i와 j를 연결하는 경로 중에서 간선들의 가중치 합이 최소가 되는 경로를 찾는 문제이다. - 최단 경로를 찾는 대표적인 알고리즘으로 다익스트라, 플로이드 워셜, 벨만포드가 있다. 2. 최단 경로 알고리즘 1) 다익스트라(Dijkstra) ① 개념 : 하나의 시작 정점으로부터 모든 다른 정점까지의 최단 경로를 찾는 알고리즘이다. ※ 조건 : 음수 가중치와 음수 사이클은 없다고 가정한다. ② 동작 과정 - 시작점으로부터 가장 가까운 정점을 방문 - 방문한 정점에서 인접한 정점들에 대해 거리를 갱신 위와 같은 그래프가 있을 때, v0을 시작노드라고 하면 아래와 같이 거리가 갱신된다. v0 v1 v2 v3 v4 v5 0 50 10 INF 45 INF 그다음 노드를 v2..
[자료 구조] 최소 신장 트리(MST) 개념 및 구현(Kruscal, Prim)
·
Major/Data Structure
1. 최소 신장 트리 - 연결된 그래프 G(V.E)의 신장 트리란, 그래프 내의 모든 정점을 포함하는 트리다. - 이 트리는 모든 정점들이 연결되어 있어야 하고, 사이클이 없어야 한다. - 에지에 가중치가 주어진 그래프 G에서 G의 신장 트리 중에 에지 가중치 합이 최소가 되는 신장 트리를 최소 신장트리라고 한다. 2. 최소 신장 트리 알고리즘 1) 크루스칼(Kruskal)의 알고리즘 - 크루스칼의 알고리즘은 탐욕적인(greedy method) 방법을 이용한다. - 탐욕적인 방법이란 선택할 때마다 그 순간 가장 좋다고 생각 되는 것을 선택함으로써 최종적인 해답에 도달하는 방법 👉 알고리즘 - 가중치가 최소인 간선을 추가해가며 트리를 만들어 간다. - 만약에 간선을 추가해서 사이클이 만들어 진다면 그 간선..