전체 글 274

HTTP

📌 HTTP ( HyperText Transfer Protocol ) 텍스트 기반의 통신규악으로 인터넷에서 데이터를 주고받을 수 있는 Transfer Protocol(통신규약)을 의미함. 이렇게 규약을 정해두었기때문에 모든 프로그램이 이 규약에 맞춰 개발해 서로 정보를 교환할 수 있게 되었다. TCP/IP를 이용하며 사용 포트 번호는 기본적으로 80을 사용하며 인터넷기반 서비으로는 HTTP 외에도 Email, FTP, DNS, NEWS 등이 존재한다. 인터넷주소를 지정할때 http://www.~~~ 와 같이 시작하는 것은 www.~~이라는 인터넷주소가 가진 데이터 정보등의 교환을 http의 통신규약대로 처리하라는 것을 의미한다. 또한 HTTP는 애플리케이션 계층의 최상위에 있기때문에, 기본레이어들은 HT..

Backend/Internet 2022.09.17

[프로그래머스/Lv.1] 나머지가 1이 되는 수 찾기

문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 3 ≤ n ≤ 1,000,000 입출력 예 n (입력) result (출력) 10 3 12 11 입출력 예 설명 입출력 예 #1 10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다. 입출력 예 #2 12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다. ⭕ 풀이 class Solution { public int solutio..

3-way handshake & 4-way handshake

📌 TCP 3-way handshake란? TCP/IP프로토콜을 이용해 통신을 하는 응용프로그램이 데이터를 전송하기전 먼저 정확한 전송을 보장하기위해 상대방컴퓨터와 사전에 세션을 수립하는 과정을 뜻한다. 다시말해 연결하고자하는 두 장치간의 논리적 접속을 성립하기위해 사용하는 연결확인 방식으로, 3번의확인과정을 거친다고하여 3-way handshake라고 부른다. 📌 TCP 3-way handshake TCP 3-way handshake는 클라이언트, 서버 양쪽 모두 데이터를 전송할 준비가 되었다는것을 보장하고, 데이터 전달시작전 한쪽이 다른쪽의 준비완료여부를 알 수 있도록 한다. 양쪽 모두 상대편에 대한 초기 순차일련번호를 얻을 수 있도록한다. 3-way handshake 를 간단히 표현한 그림이다. C..

Backend/Internet 2022.09.04

TCP/IP

📌 TCP/IP란 ? 이전 인터넷의 작동원리에서 인터넷이란 정보를 담고있는 각 컴퓨터들을 TCP/IP 라는 통신 프로토콜을 이용해 서로 정보를 주고받도록 한 컴퓨터 네트워크를 뜻한다고 설명했다. 다시말해 TCP/IP란 컴퓨터 통신을 위해 사용되는 프로토콜인것이다. 📌 TCP/IP 인터넷 프로토콜 슈트(Internet Protocol Suite)는 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 사용되는 통신규약(프로토콜)의 모음이다. 인터넷 프로토콜 슈트 중 TCP와 IP가 가장 많이 사용되므로 TCP/IP 프로토콜슈트라고도 부른다. TCP/IP는 패킷 통신방식의 인터넷 프로토콜인 IP와 전송 조절 프로토콜인 TCP로 이루어져있다. IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸순서와 받는순서가 다를..

Backend/Internet 2022.09.04

인터넷의 작동 원리

📌 인터넷이란 ? 정보를 담고있는 각 컴퓨터들을 TCP/IP 라는 통신 프로토콜을 이용해 서로 정보를 주고받도록 한 컴퓨터 네트워크를 뜻한다. 인터넷은 지금에 이르기까지 많은 진화를 해왔지만 작동방식 자체는 크게 변하지 않았으며 인터넷은 다수의 컴퓨터를 연결하고 어떤 일이 있어도 연결상태를 유지할 수 있는 방법을 찾는 방법이다. 📌 인터넷 네트워크의 종류 ( 발전과정 ) 두 대의 컴퓨터가 통신이 필요하다면 다른 컴퓨터와 물리적(이더넷케이블) 혹은 무선(wifi, bluetooth)로 연결되어있어야한다. 이러한 네트워크는 두대의 컴퓨터로 제한되지 않고 원하는 만큼의 컴퓨터를 연결할 수 있다. 하지만 여러대로 늘어갈수록 연결은 매우 복잡해지는데 다수의 컴퓨터를 연결하려면 어떻게 될까? 예를들어 10대의 컴퓨..

Backend/Internet 2022.09.03

JAVA - 삽입정렬(Insertion Sort)

✅ 삽입정렬 ( Insertion Sort ) 삽입정렬은 버블 정렬의 비효율성을 개선하기위한 방법으로 데이터를 하나씩 확인하며, 각 데이터를 적절한 위치에 삽입하는 정렬방식이다. 한 데이터씩 비교해 적절한 위치에 들어가기 이전에, 해당 데이터의 앞에 있는 데이터들은 이미 정렬되었다고 가정하며 그렇게 정렬되어있는 데이터리스트에서 적절한 위치를 찾고 해당위치에 삽입된다. 마찬가지로 데이터외의 추가공간을 필요로 하지않기때문에 '제자리정렬' 이기도 하다. 📌 정렬과정 1. 초기데이터배열이 주어진다. 2. 현재 타겟의 값과 이전위치들의 원소들을 비교한다 ( 첫 타겟은 두번째 원소부터 시작한다 ) 3. 타겟의 값이 이전위치의 원소보다 작다면 위치를 교환한다. 4. 이전위치의 원소가 타겟보다 작을때까지 혹은 더이상 ..

Java 2022.09.01