CS 27

HTTP vs HTTPS

🌐 HTTP (HyperText Transfer Protocol)🔎 정의HTTP(HyperText Transfer Protocol)는 웹에서 클라이언트(주로 브라우저)와 서버 간에 데이터를 주고받기 위한 통신 프로토콜(통신 규약)입니다. 즉, 사용자가 웹사이트에 접속할 때 어떤 데이터를 요청하고 응답받을지 정해주는 일종의 약속이라고 보시면 됩니다. 🔎 작동 방식 클라이언트(사용자 브라우저)가 서버에 요청(Request)을 보냅니다.서버는 요청에 대한 응답(Response)을 보내고, 웹페이지나 데이터가 사용자에게 표시됩니다.대표적인 HTTP 요청 메서드GET : 데이터를 조회할 때 사용POST : 데이터를 생성/전송할 때 사용PUT, DELETE : 수정/삭제 요청 시 사용🔎 특징텍스트 기반 프로..

CS/CS 2025.04.15

웹(Web)이란?

웹(Web)웹(Web)은 World Wide Web(WWW)의 줄임말로, 인터넷 위에 구축된 정보 공유 시스템입니다. 우리가 흔히 말하는 웹사이트, 웹페이지, 웹브라우저 등이 모두 이 시스템에 포함됩니다. 매일 사용하는 유튜브, 블로그, 네이버, 구글 등 이 모든 것들의 기반이 바로 웹(Web)입니다.웹 vs 인터넷웹은 인터넷 위에서 돌아가는 하나의 서비스이고, 일반적으로 웹브라우저로 보는 웹페이지는 웹의 일부일 뿐입니다.항목인터넷 (Internet)웹 (Web)정의전 세계 컴퓨터가 연결된 네트워크 인프라인터넷 위에서 동작하는 서비스 중 하나역할데이터를 주고받을 수 있는 도로망그 위에서 동작하는 자동차(정보, 문서, 서비스) 역할예시이메일, FTP, 온라인 게임, IoT 등웹사이트, 블로그, 유튜브, 검..

CS/CS 2025.04.14

AI 챗봇 핵심 기술 : 벡터, LLM, RAG

벡터(Vector)벡터는 텍스트(문장이나 단어 등)를 숫자로 표현한 것입니다. 자연어는 기계가 그대로 이해하기 어렵기 때문에, 숫자의 나열로 바꾸어 수학적으로 다룰 수 있게 만드는 과정이 필요합니다. 예를 들어,👉 "고양이"라는 단어를 [0.12, -0.34, 0.91, ...] 같은 숫자 배열로 표현합니다. ✔️ 왜 중요한가요?벡터로 표현된 문장이나 단어는 의미적으로 가까운 것끼리 유사한 숫자 배열을 가집니다.즉, 비슷한 의미의 문장을 비교하거나, 관련 있는 정보를 찾을 때 매우 유용합니다. ✔️ 어디에 사용되나요?사용자의 질문을 벡터로 변환한 뒤,미리 벡터로 저장해둔 문서들과 비교해서,가장 관련 있는 정보를 찾아주는 데 사용됩니다.LLM (Large Language Model)LLM은 ‘대규모 언어..

CS/Chat Bot 2025.04.10

인바운드(Inbound), 아웃바운드(Outbound)

인바운드(Inbound), 아웃바운드(Outbound)네트워크에서 인바운드(Inbound)와 아웃바운드(Outbound)는 트래픽의 흐름을 설명하는 개념이다.특히 방화벽(Firewall)이나 AWS 보안 그룹(Security Group)에서 네트워크 보안 설정을 할 때 꼭 알아야 하는 기본 개념이다. 더보기💡 방화벽(Firewall)네트워크에서 트래픽을 허용하거나 차단하는 보안 시스템 인바운드 트래픽 (Inbound Traffic)외부에서 내 서버(EC2, DB 등)로 들어오는 트래픽즉, 내 서버가 요청을 받는 경우에 해당🔎 예제서비스프로토콜포트설명SSH (원격 접속)TCP22내 PC → EC2 접속HTTP (웹사이트)TCP80웹 브라우저 → 웹 서버 접속HTTPS (보안 웹)TCP443웹 브라우저 ..

CS/CS 2025.04.07

사설 IP (Private IP)

사설 IP(Private IP)사설 IP(Private IP)는 인터넷이 아닌 내부 네트워크에서만 사용되는 IP 주소이다.즉, 외부 인터넷에서는 직접 접근할 수 없는 IP 주소이다.💡 IP(Internet Protocol)란?IP(Internet Protocol, 인터넷 프로토콜)은 인터넷에서 장치(컴퓨터, 서버, 스마트폰 등)가 서로 데이터를 주고받을 때 사용하는 주소 체계이다. 즉, 각 기기가 네트워크에서 자신을 식별할 수 있도록 부여된 고유한 주소이다.🌍 IP 주소의 종류IP 주소는 크게 두 가지로 나뉜다. 1️⃣ IPv4 (Internet Protocol version 4)현재 가장 널리 사용되는 IP 주소 체계32비트(4바이트)로 구성 → 최대 43억 개의 주소 가능형식 : 4개의 숫자(0~..

CS/CS 2025.04.06

서버(Server)란?

서버(Server)란?💡 기본 개념서버(Server)는 클라이언트(Client)의 요청을 받아 서비스를 제공하는 컴퓨터 또는 소프트웨어이다.즉, 사용자가 요청하면, 서버는 데이터를 처리하고 결과를 반환하는 역할을 한다. 🔎 예시로 이해하기 1️⃣ 일반적인 컴퓨터(PC)와 서버 비교우리가 사용하는 일반 PC(노트북, 데스크탑)는 주로 개인 작업(게임, 문서 작성 등) 을 위해 사용된다.반면, 서버는 여러 사용자가 접속해서 사용할 수 있도록 항상 켜져 있는 컴퓨터이다.2️⃣ 서버가 하는 역할 예시 🛒 온라인 쇼핑몰(쿠팡, 네이버 쇼핑 등)사용자가 "아이폰 15 검색"을 입력 (클라이언트 요청)서버가 데이터베이스에서 아이폰 15 정보를 가져옴 (서버 응답)사용자에게 아이폰 15 제품 목록을 보여줌🎬 유..

CS/CS 2025.04.05

컴파일 타임(Compile Time) VS 런 타임(Run Time)

컴파일 타임(Compile Time)✅ 설명컴파일 타임은 소스 코드가 실행되기 전에 컴파일러가 코드를 분석하고 기계어(바이너리 코드)로 변환하는 과정에서 발생하는 시간입니다. 💡 특징코드 변환 과정 : 사람이 작성한 고수준 언어(ex. C, Java)를 컴퓨터가 이해할 수 있는 저수준 언어(기계어)로 변환문법 검사 : 컴파일러가 구문 오류(Syntax Error)를 확인하고, 코드에 오류가 있으면 컴파일이 실패최적화 : 컴파일러가 실행 속도를 높이기 위해 코드 최적화를 수행컴파일 타임 에러 : 문법 오류, 자료형 오류, 선언되지 않은 변수 사용 등의 오류가 발생 가능🔎 예제public class CompileTimeErrorExample { public static void main(String..

CS/CS 2025.03.26

PUT vs PATCH

PUT1️⃣ PUT은 “전체 리소스를 갱신”하는 것이 원칙  • PUT은 리소스를 전체 교체(Overwrite)하는 개념입니다. • 기존 데이터와 변경할 데이터를 합치는 것이 아니라, 새로운 데이터로 완전히 대체합니다. • 따라서, 누락된 필드는 기본값이 되거나 제거될 수도 있음 📌 예제PUT /users/1 HTTP/1.1Content-Type: application/json{ "name": "Alice", "age": 25}✔ 기존 userId=1의 데이터가 "name": "Alice", "age": 25로 완전히 덮어씌워짐✔ 만약 기존에 email 필드가 있었다면? → 사라질 수도 있음 💡 따라서 PUT을 사용할 때는 모든 필드를 클라이언트에서 보내야 함PATCH2️⃣ PATCH는 일..

CS/REST API 2025.03.17

PATCH API

HTTP 메서드 PATCHPATCH API는 리소스의 일부만 수정할 때 사용하는 HTTP 메서드입니다.즉, 전체 데이터를 업데이트하는 PUT과 달리, 변경할 필드만 전송하여 수정하는 방식입니다.특징💡 null 체크를 하지 않으면 수정하지 않으려던 필드도 null로 변경될 수 있다. ex. 데이터// 현재 DB에 저장된 모임 정보class ClassEntity { name = "코딩 스터디"; description = "자바 공부하는 모임";}// PATCH 요청으로 description만 수정하고 싶을 때{ "description": "스프링 공부하는 모임"} ex. null 체크 Xpublic void updateInfo(String name, String description) { ..

CS/REST API 2025.03.14