본문 바로가기

CS

(8)
TCP/IP OSI 3계층과 4계층3계층 (Network Layer) : IP가 활용되는 부분, 경로와 목적지를 찾아주는 Routing을 담당4계층 (Transport Layer)송신자와 수신자의 논리적 연결을 담당하는 부분으로 신뢰성있는 연결을 유지에 기여TCP(Transmission Control Protocol)와 UDP가 대표적 TCP/IP (TCP + IP)IP가 패킷들의 관계를 이해하지 못하고 그저 목적지를 제대로 찾아가는 것에 중점을 둔다면 TCP는 통신하고자 하느 양쪽 단말(Endpoint)이 통신할 준비가 되었는지, 데이터가 제대로 전송되었는지, 데이터가 가는 도중 변질되지는 않았는지, 수신자가 얼마나 받았고 빠진 부분은 없는지 등을 점검합니다. 이런 정보는 TCP Header에 담겨 있으며 SYN,..
HTTP Request와 Response HTTP (HyperText Transfer Protocol)웹에서 클라이언트와 서버 간의 데이터 통신을 위한 프로토콜HTTP는 요청(request)과 응답(response) 모델을 기반으로 작동하며, 클라이언트(보통 웹 브라우저)가 서버에 요청을 보내면 서버는 적절한 응답을 반환 HTTP Request (요청)클라이언트가 서버에 특정 작업을 수행하도록 요청하는 메시지 요청 라인(Request Line)메서드(Method): 요청의 종류GET: 리소스 요청 (데이터를 서버로부터 가져옴)POST: 데이터 제출 (데이터를 서버에 전송하여 처리 요청)PUT: 리소스 전체 업데이트DELETE: 리소스 삭제PATCH: 리소스 부분 업데이트HEAD: GET과 동일하지만 응답 본문을 제외하고 헤더만 요청URL: 요청..
DBMS, SQL, 트랜잭션 DBMS (Database Management System)데이터를 저장, 관리, 검색 및 조작하는 소프트웨어 시스템으로, 데이터베이스의 생성과 유지 관리를 책임짐DBMS는 데이터의 일관성과 무결성을 유지하며, 다수의 사용자와 애플리케이션이 동시에 데이터에 접근할 수 있도록 조정 DBMS의 주요 개념데이터베이스: 관련 데이터를 구조적으로 저장한 집합테이블: 데이터베이스의 기본 저장 단위로, 행(개별 데이터 항목)과 열(데이터의 속성)로 구성스키마(Schema): 데이터베이스의 구조를 정의하는 메타데이터. 테이블, 열, 제약 조건, 관계 등을 나타냄쿼리(Query): 데이터베이스에 대해 수행되는 명령어 또는 요청으로, 데이터를 검색하거나 조작 DBMS의 기능데이터 정의: 테이블과 관계를 정의하고 데이터베이..
Git에 대한 모든 것 버전관리 시스템(Version Control System)파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 불러올 수 있는 시스템 VCS의 종류로컬 버전관리 (Local VCS) : 간단히 데이터베이스를 사용해서 파일의 변경 정보를 관리하는 시스템RCS(Revision control system)중앙집중식 버전관리 (CVCS) : 서버가 별도로 있고 클라이언트가 중앙 서버에서 파일을 받아서 사용하는 방식CVS, Subversion, Perforce분산 버전관리 시스템 (DVCS)단순히 파일의 마지막 스냅샷을 Checkout 하지 않고 저장소를 히스토리와 더불어 전부 복제서버에 문제가 생기면 이 복제물로 다시 작업을 시작할 수 있고 클라이언트 중에서 아무거나 골라도 서버를 복원 가능많은 ..
URL URL(Uniform Resource Locator) URL의 구조 scheme://userinfo@host:port/path?query#fragment schemehttp, https, ftp, malto, fileURL이 사용되는 프로토콜파일 URL의 경우에는 file을 사용파일 URL의 구조 : file://host>/path>userinfo사용자 이름과 비밀번호 포함요즘은 보안상의 이유로 사용하지 않음hostwww.example.com, 192.168.1.1자원을 호스팅하는 서버의 도메인 이름 또는 IP 주소도메인 이름은 사람이 읽을 수 있는 형태의 주소이고, IP 주소는 네트워크 상에서 실제 자원을 찾기 위한 주소port호스트에서 사용되는 네트워크 포트 번호생략할 경우, 프로토콜의 기본 포트 사..
[객체지향 프로그래밍] 객체지향 클래스와 오브젝트, 인스턴스정의클래스 (Class): 객체를 정의하기 위한 설계도나 틀클래스는 객체의 상태(속성)와 동작(메소드)을 정의예를 들어, Car 클래스는 자동차의 속성(예: 색상, 모델)과 동작(예: 가속, 제동)을 포함함오브젝트 (Object): 객체는 클래스로부터 생성된 구체적인 실체클래스가 설계도라면 객체는 그 설계도로부터 만들어진 실제 제품예를 들어, Car 클래스의 객체는 특정 색상과 모델을 가진 실제 자동차이다.인스턴스 (Instance): 인스턴스는 객체와 동일한 의미로 사용되며, 특정 클래스의 실제 예시Car 클래스의 인스턴스는 특정한 속성 값을 가진 자동차 객체를 의미 상속과 다형성상속 (Inheritance)정의: 상속은 기존 클래스(부모 클래스)의 속성과 메소드를 새로운 클..
[컴파일러] 파싱(parsing) 컴파일러컴파일러는 소스 코드를 기계어 또는 중간 언어로 변환하는 프로그램이 과정에서 여러 단계를 거치는데 각 단계마다 특정한 역할과 책임을 갖고 있음토크나이저(Tokenizer)렉서(Lexer)파서(Parser) 1. 토크나이저 (Tokenizer)입력된 소스코드를 읽고, 이를 의미 있는 기본 단위인 토큰으로 분리하는 역할토큰에는 키워드, 식별자, 연산자, 구분자, 리터럴 등이 포함됨 문자열 분리 : 소스 코드를 공백, 주석, 특수 기호 등을 기준으로 나누어 토큰으로 분리토큰 식별 : 분리된 문자열을 키워드, 식별자, 리터럴, 연산자 등으로 식별위치 정보 제공 : 각 토큰의 위치정보(행, 열)를 제공하여 에러 메시지나 디버깅에 도움을 줌 2. 렉서 (Lexer)토크나이저가 생성한 토큰을 받아, 구문 분석..
[Linux] SSH SSH (Secure Shell)정의네트워크를 통해 다른 컴퓨터에 안전하게 접속하고 데이터를 전송하기 위한 프로토콜 및 애플리케이션 SSH의 주요 특징보안SSH는 암호화된 통신 채널을 설정하여 데이터의 기밀성과 무결성을 보장데이터가 네트워크를 통해 전송될 때, 암호화된 방식으로 전송인증SSH는 클라이언트와 서버 간의 안전한 인증을 수행사용자는 SSH 키 페어(공개 키와 개인 키)를 생성하여 서버에 등록하고 이를 통해 인증을 수행프로토콜TCP/IP 네트워크를 기반일반적으로 22번 포트를 사용하여 서비스를 제공명령어 및 사용SSH 클라이언트 애플리케이션을 사용하여 원격 서버에 접속하고, 명령을 실행하거나 파일 전송 가능주요 명령어는 ssh, scp, sftp SSH를 통해 로컬 컴퓨터에서 가상환경으로 접속S..