본문 바로가기

전체 글

(87)
1장 문제 R3 한명의 개발자가 애플리케이션의 클라이언트와 서버 부분을 모두 다 작성한다면, 각 엔드포인트간 통신에 있어서 자신이 독자적으로 정한 프로토콜으로 통신하면 되지만, 실제적으로는 다양한 클라이언트와 다양한 서버를 다양한 개발자가 개발하게 된다. 이때, 프로토콜에 대한 표준이 존재하지 않으면 서로 간의 통신을 하기 위한 코드를 작성할 수가 없다(할 순 있지만, 개발자끼리 그때마다 프로토콜을 만들어주어야 한다) R4 가정 접속 기술 1. DSL 2. 케이블 인터넷 접속 3. FTTH 4. 위성 링크 기업 접속 기술 1. 이더넷(LAN 기술 중 가장 널리 사용되는 접속 기술) 2. 와이파이 장거리 무선 접속 기술 1. 3G 2. LTE R12 회선 교환 네트워크의 장점 (패킷 교환 네트워크와 비교하여) - 통..
백준 5639 이진검색트리 파이썬 https://www.acmicpc.net/problem/5639 문제 풀이 [사용한 개념] [재귀 코드 방식] 1. 재귀 함수의 실제 동작 2. 다음으로 넘어가기 3. 재귀 함수의 실제 동작 여기서, 재귀 함수의 실제 동작은 1번에 있을 수도 있고 3번에 있을 수도 있고, 둘 다 있을 수 있다. 1번에 있다면, 이전 상태에서 현재 상태로 왔을때 동작하는 부분이라고 생각하면 된다. 3번에 있다면, 현재 상태에서 다음 상태로 넘어갔다가, 돌아왔을 때 동작하는 부분이라고 생각하면 된다. [트리] 이진 검색 트리는, 왼쪽 child < 부모 노드 < 오른쪽 child 로 이루어진 트리를 의미한다. [종합 설명] 이진 검색 트리를, 전위순회 한 결과가 주어진다. 이진 검색 트리의 특성을 이용하면, 우리는 전위순..
2.7 소켓 프로그래밍 : 네트워크 애플리케이션 생성 2.7.0 개요 일반적인 네트워크 애플리케이션은, 클라이언트 프로그램 - 서버 프로그램으로 구성된다 프로그램 수행하면, 클라이언트 프로세스 - 서버 프로세스 생성된다. 두 프로세스 간 통신은, 두 프로세스가 "소켓으로부터 읽고, 쓰는 것"을 통해 서로 통신한다. 따라서, 개발자의 임무는 클라이언트와 서버 프로그램 모두에 대해 코드를 작성하는 것이다. 개발자는, 클라이언트-서버 애플리케이션을 구현하는 코드를 작성하게 된다. 이때 할 일은, 다음과 같다. 1. 해당 애플리케이션이 TCP, UDP 중 무엇을 이용할 지를 결정하는 것이다. - 따라서, TCP, UDP 두가지로 애플리케이션을 구현할 수 있다. 2. 프로토콜을 구현할 때, 해당 프로토콜과 연관된 잘 알려진 포트 번호를 사용해야한다. - 역으로, 독..