1. PDU (Protocol Data Unit)이란? 네트워크의 계층과 계층 사이에 데이터가 전달될 때 한 덩어리의 단위를 PDU라고 합니다. PDU는 헤더와 페이로드로 구성되어 있고, 계층마다 부르는 명칭이 다릅니다. (1) 헤더 (Header) 각 계층마다 필요한 정보 및 기능이 담겨있습니다. 제어 관련 정보들이 포함되어 있습니다. (송신) 상위 계층에서 전달된 PDU에 자신의 계층에서 만든 헤더를 추가해서 하위 계층으로 전달합니다. (수신) 각 층에서 생성한 헤더 정보는 각 층에서 해결합니다. (2) 페이로드 (Payload) 송신 측에서 보내고자 하는 실제 데이터를 의미합니다. 택배를 예로 들면 박스, 송장, 포장지 등은 페이로드에 속하지 않고, 받기로 한 택배물이 페이로드라고 생각하면 됩니다.
1. 네트워크 프로토콜이란?다른 장치들끼리 데이터를 주고받기 위해 설정된 공통된 인터페이스를 말합니다.쉽게 생각해 보면 장치와 장치 사이에 데이터 통신을 해야 하는데, 미리 정해놓은 어떤 규약(약속)에 따라서 통신을 하게 됩니다. 이때 이 규약(약속)을 네트워크 프로토콜이라고 합니다. 2. 프로토콜의 표준화가 필요한 이유?모든 송신자와 모든 수신자가 표준화된 프로토콜을 지키기만 한다면 서로 통신이 가능하도록 해줍니다.하지만 프로토콜이 표준화되어 있지 않다면, 특정 송신자는 자신의 프로토콜과 일치한 특정 수신자에게만 데이터를 송신할 수 있게 됩니다. 3. 프로토콜의 종류많이 들어본 프로토콜 위주로 정리해보면 TCP, IP, UDP, HTTP 등이 있습니다. 여기서 마지막에 붙은 'P'가 Protoc..
1. 중첩 루프 조인 (NLJ, Nested Loop Join)중첩 for 문과 같은 원리로 조건에 맞는 조인을 하는 방법을 말합니다.Index에 의한 Random Access 비용이 많이 증가하기 때문에 대용량 데이터를 다루기에는 적절하지 않습니다. 중첩 루프 조인의 작동# CS 전공지식 노트 226 pagefor each row in t1 matching reference key { for each row in t2 matching reference key { if row satisfies join conditions, send to client }}위에 있는 코드는 중첩 루프 조인을 사용하여 t1 테이블과 t2 테이블을 조인하는 의사 코드입니다.t1 테이블에서 행을 한 번에 ..
백준 문제를 IDE로 풀고 있었는데, 사소한 오타로 계속 시간을 허비하게 되어서 인텔리제이 설정을 하면서 기록해 두려고 이 글을 작성합니다. 발생했던 휴먼에러는 i와 j를 구분하지 못했던 것. i와 j 밑에 밑줄이 그어지니깐 구분을 못하겠어서 불편해 죽겠다. 이건 아마도 Material Dark 테마를 설정하고 있는 사람만 해당될 문제라고 생각된다. 위 사진처럼 확대하면 구분할 수 있을거 같지만 작은 글씨로 보면 i와 j 밑에 밑줄이 있으면 구분을 못하겠다. j를 써야 할 자리에 자꾸 i를 쓴다던가 하는 오류를 줄이기 위해서 밑줄을 없애버리자. 설정하기 설정창을 열기 위해서 command + , 을 눌러 준다. 검색창에 "color scheme" 검색 Langauge Defaults -> Identifi..
1. 관계형 데이터베이스 (RDBMS) 행과 열로 구성된 표 형식 데이터를 저장하는 데이터베이스입니다. SQL이라는 언어를 써서 조작할 수 있습니다. 관계형 데이터베이스의 종류에는 MySQL, Oracle, PostgreSQL, MSSQL 등이 있습니다. 관계형 데이터베이스는 표준 SQL을 지키기는 하지만 각 제품에서 특화시킨 SQL을 사용합니다. (1) MySQL 세계에서 가장 많이 사용되고 있는 오픈소스 관계형 데이터베이스입니다. MySQL의 최고 장점은 오픈소스이기 때문에 무료라는 것입니다. 문자열 비교에 있어서 대소문자를 구분하지 않습니다. BINARY 설정 등을 이용하면 추가 설정이 가능합니다. nested loop join만을 제공한다는 단점이 있습니다. MySQL 8.0.18 릴리스 버전 이..
지난 3주 차 회고를 작성한 지 벌써 6주가 흘러 9주 차 회고를 쓰게 되었습니다. 준비할 건 많고, 하루는 부족하고... 하루하루가 정말 빠르게 지나가는 것 같습니다. 👋🏻 Java 실시간 강의 종료 9주 차에 회고를 쓰게 된 이유는 Java 실시간 강의가 끝났기 때문입니다. 사실 여러 부트캠프를 보면 Java를 엄청 빠르게 끝내는 부트캠프들이 많은데, 제가 듣고 있는 과정에서는 화요일, 목요일에 Java 실시간 강의를 진행했었습니다. 언어를 너무 오랫동안 하는 거 아닌가에 대한 의문도 있었지만, 강사님이 Java의 상당히 깊은 부분까지 고려하면서 강의를 진행해 주셔서 저는 오히려 좋았던 거 같습니다. 어설프게 알고 있었던 부분들을 확실히 짚고 넘어가는 시간이 됐었습니다. 🥈 백준 실버 달성 이미 골드..