전체 글

개발 공부 기록. https://github.com/junseoparkk
📙 CS/📙 Network

[Network] 암호 알고리즘

1️⃣ 암호 알고리즘 (Encryption Algorithm) 1) 개념 데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기술이다. 즉 평문(plain text)을 특정 키를 사용해 쉽게 해독할 수 없는 암호문(crypto text)으로, 혹은 그 반대로 변환하는 것을 말한다. 기밀성 (Confidentiality) : 인가된 사용자에 대해서만 자원 접근이 가능해야 한다는 특성 무결성 (Integrity) : 인가된 사용자에 대해서만 자원 수정이 가능하며, 전송 중인 정보는 수정되지 않아야 한다는 특성 가용성 (Availability) : 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능해야 한다는 특성 2) 종류 2️⃣ 양방향 방식 1) 대칭키 ..

📙 CS/📙 Network

[Network] TCP/IP 흐름 제어, 혼잡 제어

1️⃣ 흐름 제어 (Flow Control) 1) 개념 흐름 제어는 송신 측과 수신 측의 데이터 처리 속도의 차이를 해결하기 위한 방법이다. TCP의 특징중 하나는 패킷 교환 방식의 네트워크에서 패킷들의 안전한 전송을 보장해준다는 것이다. 그러나 패킷을 전송할 때 네트워크 상황에 따라 패킷의 도착 순서가 바뀌거나 유실될 수가 있다. 따라서 TCP는 패킷 번호를 통해 신뢰성 있는 데이터를 전송하고, 순서를 보장한다. 이를 위해선 수신 측에서 데이터 과부하를 송신 측에 통보하는 '피드백 메커니즘'이 필요하다. 패킷을 한 번에 하나씩 송수신하는 것보단 여러 패킷을 한 번에 송수신한 뒤 확인 응답 신호를 전송하는 것이 효율적이기 때문에 흐름 제어를 통해 이동하는 패킷의 양을 조절한다. 수신 측에서 한 번에 받..

📙 CS/📙 Network

[Network] UDP

1️⃣ UDP (User Datagram Protocol) UDP(User Datagram Protocol)는 전송 계층의 프로토콜로, 데이터그램을 사용하여 데이터를 전송하는 비연결형 프로토콜이다. 특히 비디오 재생 또는 DNS 조회 같이 시간에 민감한 전송에 주로 사용된다. 2️⃣ UDP 특징 비연결형 : UDP는 연결을 설정하지 않고 데이터를 전송하기 때문에 신뢰성이나 흐름 제어를 보장하지 않는다. 빠른 속도 : 연결 설정과 흐름 제어 기능이 없기 때문에 전송 속도가 TCP보다 빠를 수 있다. 신뢰성 부족 : 데이터 전송 중 전송 순서가 바뀌거나 데이터 손실이 일어날 수 있다. 통신 방식 : 1:1 or 1:N or N:N 통신이 가능하다. 비상태정보 : 연결 정보나 상태 정보를 저장하지 않는다. 송..

📗 Back-end/📗 Servlet & JSP

[Servlet] HTTP 요청 데이터 및 3가지 조회 방법

HTTP 요청 데이터 지난 번엔 'HttpServletRequest' 객체에 대해 공부하면서 HTTP 메시지의 시작 줄, 헤더 등 기본 정보를 조회하는 방법을 알아봤다. 만약 HTTP 메시지와 해당 객체에 대한 내용이 궁금하다면 아래 글들을 참고하면 되겠다. https://jnsodevelop.tistory.com/40 [Network] HTTP Message HTTP Message 'HTTP Message' 는 서버와 클라이언트 간 데이터가 교환되는 방식이다. 메시지 타입엔 두 가지가 있다. 요청 (Request) : 클라이언트가 서버로 데이터를 전달하여 필요한 동작을 요청한다. 응 jnsodevelop.tistory.com https://jnsodevelop.tistory.com/72 [Servlet..

📙 CS/📙 Network

[Network] 3-way & 4-way handshake (TCP Connection)

1️⃣ TCP (Transmission Control Protocol) TCP (Transmission Control Protocol) 란 전송 제어 프로토콜로, IP와 함께 'TCP/IP'로도 불린다. OSI 7 계층 중 전송 계층과 관련있으며, UDP와 함께 가장 널리 쓰인다. TCP는 연결형 서비스로, 패킷의 순서를 보장하며 신뢰성있는 전송을 위해 연결을 시작할 때와 종료할 때 handshake 과정을 거치게 된다. 즉, 3-way handshake 과정을 통해 연결을 설정하고, 4-way handshake 과정을 통해 안전하게 연결을 해제한다. TCP와 UDP의 개념은 중요하므로 다른 글에서 좀 더 자세히 다뤄보도록 하겠다. 2️⃣ Information 1) Port State Informatio..

📙 CS/📙 Network

[Network] OSI 7 계층 (OSI 7 Layer)

1️⃣ OSI 7 계층 개념 OSI 7 계층(OSI 7 Layer)은 'Open System Interconnection'의 참조 모델로, 1984년 국제 표준화 기구인 ISO에서 발표하였다. 통신 기술의 도입 및 기능 확장의 편의를 위해 프로토콜을 7 계층으로 나눴다. 이렇게 통신 기능을 계층화하여 프로토콜을 규정한 규격을 OSI 모델이라고 한다. 쉽게 말해 우리가 인터넷을 사용하는 등 네트워크간 통신이 발생할 때의 과정을 7계층으로 분류한 것이다. OSI 모델은 프로토콜이 아니라 유연하며 안전하고, 상호 연동이 가능한 네트워크 구조를 설계하고 이해할 수 있다. OSI 7 계층은 말 그대로 각각 특정 기능을 수행하는 서로 다른 7단계의 흐름을 나타낸다. 각 계층은 '헤더(Header)'와 '데이터 단위..

📙 CS/📙 OS

[OS] Synchronous / Asynchronous & Blocking / Non-Blocking

1️⃣ Synchronous(동기) vs Asynchronous(비동기) 1) 개념 우선 '동기'와 'Synchronous'의 어원부터 살펴보자. 한자로는 '同期'로, '같은 시각'이라는 뜻을 가진다. 이를 보면 얼추 이해할 수 있을 것 같지만, 꽤나 헷갈릴 수 있는 개념이기 때문에 영어의 어원도 함께 살펴보자. 우선 그리스어로 'Syn' 은 with, together인 '같이, 함께'의 뜻을 가진다. 다음으로 'chrono'는 '시각'의 뜻을 가진다. 즉, Syn + chrono + us 이 세 단어가 합쳐져 'Synchronous'가 완성된 것이다. 'Asynchronous'는 'Synchronous'에 반대를 나타내는 접두어인 'a'를 붙였다. 다시 말해 동기와 비동기는 반대의 개념이다. 이러한 개..

📗 Back-end/📗 Servlet & JSP

[Servlet] HttpServletRequest

HttpServletRequest 객체를 알아보기 전에 '서블릿(Servlet)' 에 대해 알고 있다면 이해하기 쉬울 것이다. 아래 글을 먼저 읽고 오는 것을 추천한다. https://jnsodevelop.tistory.com/66 [Servlet] 서블릿(Servlet) 1. 서블릿 개념 및 특징 1) 개념 서블릿(Servlet) 이란 자바를 사용하여 웹 페이지를 동적으로 생성할 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 서블릿은 자바 코드 안에 HTML jnsodevelop.tistory.com 1️⃣ HttpServletRequest 개념 클라이언트가 WAS에 요청을 하면 WAS는 'HttpServletRequest', 'HttpServletResponse' 객체를 생성하여 저장..

박갈
미 개발 구역