wanna be dev 🧑‍💻

Cool 하고 Sick한 개발자가 되고 싶은 uzun입니다

A.K.A. Kick-snare, hyjhyj0901, h_uz99 solvedac-logo

전체 글 169

📡 [Network] 전송층에서의 UDP 통신 (Connectionless transport)

본 포스팅은 을 참고하여 작성되었습니다. Ch03 Transport Layer 3. 연결없는 전송 UDP : Connectionless transport: UDP UDP : User Datagram Protocol UDP는 군더더기 없고 기본 핵심만 있는 프로토콜이다. 최선을 다하지만 데이터의 손상, 손실의 가능성 존재를 보장하지 않는다 비연결성 (connectionless) UDP 전송자, 수신자 끼리 핸드셰이킹이 없음 각 UDP 세그먼트는 각각 독립적으로 다뤄진다 왜 UDP인가? 연결을 맺지않음으로 RTT 지연이 존재하지 않는다 (빠르다) 전송자, 수신자 간의 연결 상태가 없..

📡 [Network] 전송층 - 다중화와 역다중화 (Multiplexing & Demultiplexing)

본 포스팅은 을 참고하여 작성되었습니다. Ch03 Transport Layer 2. 다중화와 역다중화 : Multiplexing & demultiplexing 서버가 클라이언트에 메세지를 보낼 때 transport, network 헤더를 추가하여 보낸다 그렇다면 여러 클라이언트가 서버에 데이터를 보내면 어떻게 구별할 수 있을까? ➡️ 전송층 헤더에 포함된 포트 번호로 구별! 다중화 & 역다중화 역다중화 (demultiplexing) 전송층 세그먼트의 데이터를 올바른 소켓으로 전달하는 작업 다중화 (multiplexing) 출발지 호스트에서 소켓으로부터 데이터를 모음 이에 대한 세..

📡 [Network] 전송층(Transport Layer)에 대해서 (개요)

본 포스팅은 을 참고하여 작성되었습니다. Ch03 Transport Layer 1. 전송층 서비스 : Transport-layer services 전송층 (transport layer)은 각기 다른 호스트에서 동작하는 어플리케이션 프로세스간의 논리적 통신을 제공한다. 논리적 통신은 어플리케이션의 관점에서 보면 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보이게 된다. 실제로 호스트는 수많은 라우터와 링크를 통해 연결되어 지구상의 다른 지역에 있을 수 있다. 전송층 vs 네트워크층: 서비스와 프로토콜 네트워크층과 전송층을 비교해보자. 네트워크층 : 호스트 간의 논리적 소통 ..

간단한 클라이언트-서버 소켓 채팅 💬 프로그램 만들어보기 (with 파이썬🐍)

학교 과제로 간단한 소켓 통신 채팅 프로그램 만들기가 나왔는데 한김에 포스팅하도록 하겠다. 파이썬으로 초간단 소켓 채팅 프로그램 구현 1. 과제 목표 소켓을 사용하여 서버-클라이언트 간 채팅 프로그램 제작 파이썬을 이용하여 서버와 클라이언트를 구현 TCP로 통신하여 연결이 유지 되도록 함 2. 클라이언트 구현 코드 from socket import * print('--- Socket TCP communication client ---') serverName = '127.0.0.1' serverPort = int(input('enter the server port number : ')) clientSocket = socket(AF_INET, SOCK_STREAM) clientSocket.connect((s..

📡 [Network] 어플리케이션층 - Socket 소켓 프로그래밍 (UDP, TCP)

본 포스팅은 을 참고하여 작성되었습니다. Ch02 Application Layer 7. Socket Programming Socket 소켓 프로그래밍 목표 : 클라이언트의 소켓 프로그램을 만들어 볼 것임 Socket : UDP UDP 소켓 통신 클라이언트와 서버간의 연결(handshaking)이 존재하지 않는다 전송자는 IP주소, 포트 번호를 패킷에 붙여서 보낸다 송신자는 패킷에서 전송자의 IP주소와 포트번호를 추출한다. 서버와 클라이언트가 UDP 소켓 통신을 하는 예시 프로세스 (파이썬) UDP 클라이언트의 파이썬 코드 ‘hostname’ 의 12000 포트로 소켓 열기 mes..

📡 [Network] 어플리케이션층 - 비디오 스트리밍 (비디오 인코딩 CBR, VBR, DASH 프로토콜)

본 포스팅은 을 참고하여 작성되었습니다. Ch02 Application Layer 6. Video Streaming : 비디오 스트리밍과 콘텐츠 분배 네트워크 비디오 스트리밍 비디오 스트리밍은 인터넷 대역폭의 주요 소비자 youtube, netflix, amazon prime 등은 ISP 트래픽의 80% 차지 (2020) 1백만 유저? 이종성 (heterogeneity) ➡️ 분산, 어플리케이션 레벨의 인프라 VIDEO 비디오 비디오는 일련의 디지털 이미지들이 고정된 속도로 나열되는 것 디지털 이미지는? ➡️ 미세한 픽셀들의 배열 - 비트로 표현됨 이미지 인코딩 : 모든 색상 등..

📡 [Network] 어플리케이션층 - DNS 도메인 네임 시스템 (DNS의 구성, 반복쿼리, 재귀쿼리, DNS 캐싱, DNS 레코드)

본 포스팅은 을 참고하여 작성되었습니다. Ch02 Application Layer 4. DNS : The Internet’s Directory Service DNS : 도메인 네임 시스템 분산 데이터베이스 호스트 네임 (e.g. www.naver.com)을 IP 주소(e.g. 121.32.34.9)로 변환 DNS의 동작 어떤 호스트가 HTTP request 메시지를 웹 서버 www.naver.com/index.html 로 보내려 할 때 ➡️ naver 웹 서버 호스트의 IP가 필요 1. 호스트는 DNS application의 client를 실행 2. 브라우저는 URL로부터 호스트..

[programmers][level 3] 불량 사용자 - 64064 (C++)

[level 3] 불량 사용자 - 64064 문제 링크 성능 요약 메모리: 3.57 MB, 시간: 0.01 ms 구분 코딩테스트 연습 > 2019 카카오 개발자 겨울 인턴십 채점결과 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 사용자라는 이름으로 목록을 만들어서 당첨 처리 시 제외하도록 이벤트 당첨자 담당자인 "프로도" 에게 전달하려고 합니다. 이 때 개인정보 보호을 위해 사용자 아이디 중 일부 문자를 '*' 문자로 가려서 전달했습니다. 가리고자 하는 문자 하나에 '*' 문자 하나를 사용하였고 아이디 당 최..

[BOJ][Gold IV] 이중 우선순위 큐 - 7662번 (C++)

[Gold IV] 이중 우선순위 큐 - 7662 문제 링크 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 성능 요약 메모리: 57008 KB, 시간: 2320 ms 분류 자료 구조(data_structures), 우선순위 큐(priority_queue), 트리를 사용한 집합과 맵(tree_set) 문제 설명 이중 우선순위 큐(dual priority queue)는 전형적인 우선순위 큐처럼 데이터를 삽입, 삭제할 수 있는 자료 구조이다. 전형적인 큐와의 차이점은 데이터를 삭제할 때 연산(operation)..

Problem Solving/BOJ 2022.10.02

📡 [Network] 어플리케이션층 - 인터넷 메일(E-mail) (SMTP 프로토콜)

본 포스팅은 을 참고하여 작성되었습니다. Ch02 Application Layer 3. Electronic Mail in the Internet 인터넷 전자메일 (이메일) 3가지 주요 구성요소 사용자 에이전트 메일을 읽음 ex) Outlook, Gmail 등 메일 서버 특정 회사에서 구축한 서버 (naver, google등) 호스팅 업체들 사이에 메세지를 교환 mailbox : 사용자별 수신 메세지 보관 message queue : 보낼 메세지들이 잠시 대기하고 있는 곳 SMTP : 간단한 메일 전송 프로토콜 RFC5321에 정의된 대로 자세하게 알아보기 TCP 프로토콜을 사용 ..

728x90