JSON(JavaScrpit Object Notation)은 Javascript 객체 문법으로 구조화된 데이터교환 형식python, javascript, java 등 여러 언어에서 데이터 교환형식으로 쓰이며 객체문법 말고도 단순 배열, 문자열도 표현 가능Javascri
What is XML? XML(Extensible Markup Language)은 마크업 형태를 쓰는 데이터 교환 형식 마크업 형태 마크업(markup)은 태그 등을 이용하여 문서나 데이터의 구조를 나타내는 방법 (속성 부여 가능) 구성 프롤로그 : 버전, 인코딩 루트요소(단 하나만) 하위 요소들 그렇다면 HTML과 XML의 차이는 무엇인가? ...
API(API, Application Programming Interface)는 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층을 의미함exA라는 컴퓨터가 요청을 하고 B라는 컴퓨터가 응답을 한다고 했을 때의 어떻게 통신할 것인지, 어
👉🏻 open-meteo api 링크(https://open-meteo.com/en/docsapi urlhttps://api.open-meteo.com/v1/forecast?latitude=37.566&longitude=126.9784&hourly
파일이 수정되어도 API가 수정되지 않도록 하는 서버를 만들어보자 👉🏻
물리적인 컴퓨터 한 대에 하나의 OS를 깔고 여러 가지 프로그램을 설치하는 방식. 계정을 나눠 여러명의 사용자가 이용할 수 있도록 할 수 있지만 어떤 프로그램을 설치했을 때 다른 앱에 영향을 미침가상 머신을 기반으로 배포하는 것을 말함. 가상 머신이란 컴퓨터의 하드웨어
소프트웨어 개발에서 사용되는 지속적인 통합(Continuous Integration)과 지속적인 배포(Continuous Deployment 또는 Continuous Delivery)를 의미하며, 소프트웨어 개발 프로세스를 자동화하고 개선하여 제품을 향상시키고, 배포
클래스(Class)란 객체(Object)를 만들어 내기 위한 틀이며 만들어 낼 객체의 속성과 메서드의 집합을 담아놓은 것객체(Object)란 클래스로부터 만들어지는 실체, 클래스로 선언된 변수를 객체라 함인스턴스(Instance)란 객체가 메모리에 할당된 상태이며 런타
What is static? 클래스의 인스턴스가 아닌 클래스에 속하며 클래스의 변수, 메서드 등을 공유하는 데 사용됨. 이를 통해 해당 클래스로 만들어지는 객체 사이에서 중복되는 메서드, 속성을 효율적으로 정의할 때 씀 정적 변수 (Static Variables)
오버로딩은 같은 이름을 가진 메서드를 여러 개 가지면서 매개변수의 타입이나 개수를 다르게 하는 기법. 즉, 하나의 클래스 내에서 같은 이름의 메서드가 여러 개 있지만, 각 메서드는 서로 다른 매개변수 목록을 가짐. 오버로딩을 통해 다양한 매개변수를 받아들이는 메서드를
프로그래밍에서의 추상화는 복잡한 데이터, 구조, 시스템 등으로부터 핵심만을 가려내 덜 자세하게 만드는 것 또는 세부사항, 절차 등을 감추고 인터페이스 등을 만드는 것으로 복잡도를 낮추는 방법을 말함어떠한 데이터들의 공통점을 모으고 차이점을 버림.예를들어, 고양이, 강아
디자인패턴이란? 프로그래밍에서 디자인 패턴(Design Pattern)은 소프트웨어 설계 과정에서 자주 발생하는 문제들을 해결하기 위한 재사용 가능한 해결책. 이러한 패턴은 특정 문제를 해결하는 방법을 제시하지만, 완성된 설계나 완성된 코드가 아니라 어떻게 문제를 해
사전적 의미 : 특정 작업을 수행하기 위한 함수나 도구의 모음. 개발자는 필요에 따라 라이브러리의 특정 기능을 호출하여 사용하며, 프로그램의 흐름을 직접 제어함. 라이브러리는 자동차의 부품처럼 생각할 수 있으며, 필요한 부품을 선택하여 사용하면 됨실용적 의미 : 공통으
클래스의 인스턴스가 오직 하나만 생성되도록 보장하고, 그 인스턴스에 대한 전역 접근점을 제공하는 패턴. 즉, 싱글톤 패턴을 사용하면, 해당 클래스의 인스턴스는 애플리케이션 전반에 걸쳐 하나만 존재하게 됨유일한 인스턴스 보장 : 클래스의 인스턴스가 하나만 생성되고, 어디
자바와 JVM의 메모리 관리 > 자바는 관리되는 언어(managed language)로, 자바 가상 머신(JVM) 위에서 실행되며 메모리 관리를 자동으로 수행한다. JVM은 메모리 할당과 가비지 컬렉션(GC)을 담당하여 개발자가 메모리 관레 드는 수고를 덜 수 있게
1. 단순한 메서드 호출 >싱글톤 패턴 생성 여부를 확인하고 싱글톤이 없으면 사로 만들고 있다면 만들어진 인스턴스를 반환함 그러나 이 코드는 메서드의 원자성이 결여되어 있어 멀티스레드 환경에서는 싱글톤 인스턴스를 2개 이상 만들 수 있음 private 키워드를 사
Process Thread
멀티 스레딩은 현대 소프트웨어 개발에서 성능을 향상시키는 핵심 기술이다. 특히, 공유 자원에 대한 접근을 적절히 제어하는 것은 매우 중요한데, 잘못 관리될 경우 데이터 무결성 문제나 예상치 못한 결과가 발생할 수 있다. 귤 포장 공장에서 두 명의 작업자가 동시에 하나의
상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴상위 클래스에서는 객체 생성 방식에 대해 알 필요가 없어져 유연성을 갖게 되며 객체 생성 로직은 하위 클래스에서만 관리 되기 때문에 유
이터레이터(iterator)를 사용하여 컨테이너의 요소들에 접근하는 디자인 패턴. 각기 다른 자료구조들을 똑같은 인터페이스로 순회를 쉽게 할 수 있다는 장점이 있다. 컨테이너란 동일한 요소들을 담아놓는 집합을 말하며 배열, 맵 등이 있다.자바의 Map에서 Iterato
객체 지향 프로그래밍에서 한 객체가 다른 객체의 의존성(즉, 필요로 하는 객체나 서비스)을 외부에서 제공받는 디자인 패턴. 의존성 주입을 사용하면 객체는 자신이 의존하는 객체를 직접 생성하지 않고, 외부로부터 주입받게 된다. 이로써 객체 간의 결합도가 낮아지며, 코드의
알고리즘의 집합을 정의하고 각각을 캡슐화하여 그것들이 상호 교환 가능하게 만드는 것이다.즉, 알고리즘을 사용하는 클라이언트와 독립적으로 알고리즘을 변경할 수 있게 해준다.전략 패턴을 사용하면 특정한 컨텍스트(context)내에서 요구되는 작업을 실행하기 위해 필요한 알
서버 과부하 : 서버에 요청이 너무 많아져서 처리할 수 있는 용량을 초과할 때 발생. 이는 서버응답 시간의 지연, 타임아웃 에러, 또는 완전한 서비스 중단으로 이어질 수 있음데이터베이스 병목현상 : 과도한 요청으로 인해 데이터베이스 쿼리 처리가 지연되거나 중단될 수 있
| 특성 | 스택 메모리 (Stack Memory) | 힙 메모리 (Heap Memory) | |:---------:|:-------------------------:|:----------------------:| | 수명 주기 | 메소드 호출과 함께
ADT(Abstract Data Type, 추상 데이터 타입) 설명 > 정의 : 추상 데이터 타입(ADT)은 데이터와 그 데이터에 대한 연산을 함께 묶어놓은 것 ADT는 데이터가 어떻게 구현되어 있는지에 대한 세부 사항은 숨기고, 데이터에 대한 타입과 해당 타입에
🧐 Spring Framework와 SpringBoot의 차이를 아시나요....?자바에서 가장 많이 사용되는 프레임워크로 의존성 주입(DI, Dependency Injection)과 제어역전(IOC, Inversion Of Control), 관점 지향 프로그래밍(AO
가정 : 비동기로 처리할 수 있는 작업은 5개이고, 총 8개의 작업이 요청됨ThreadPool 관련 주요 설정 설명:Core Pool Size(기본 스레드 수) : 이 값은 ThreadPool이 초기에 생성하는 스레드의 수, 예를들어 Core Pool Size가 5라면
Spring 프레임워크가 등장한 이유? EJB(Enterprise JavaBeans) EJB는 애플리케이션 작성을 쉽게 해준다. (미들웨어보다) EJB는 선언적 프로그래밍 모델 Transactions, 보안, 분산컴퓨팅을 굉장히 쉽게 할 수 있다.
컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하기 위해 사용되는 오픈 소스 시스템주요 기능컨테이너를 파일 형태로 저장한것을 이미지Immutable InfrastructureImmutable 인프라스트럭처는 한 번 구축되면 변경되지 않는 인프라를 의미함, 기존
HashMap은 자바의 java.util 패키지에 포함된 자료구조로, Map 인터페이스를 구현한 클래스HashMap은 키(key) - 값(value) 쌍을 저장하는 데 사용되며, 각 키는 유일(unique)해야 함이 자료구조는 해시 테이블을 사용하여 데이터를 저장하고,
옵저버 패턴이란 주체가 어떤 객체(subject)의 상태 변화를 관찰하다가 상태 변화가 있을 때마다 메서드 등을 통해 옵저버 목록에 있는 옵저버들에게 변화를 알려주는 디자인 패턴 👉🏻 트위터의 메인 로직 그리고 MVC 패턴에도 적용되어 있음
객체가 어떤 대상 객체에 접근하기 전, 그 접근에 대한 흐름을 가로채서 해당 접근을 필터링하거나 수정하는 등의 역할을 하는 계층예시
모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인 패턴모델(Model)은 애플리케이션의 데이터인 DB, 상수, 변수 등을 뜻함뷰에서 데이터를 생성하거나 수정할 때 컨트롤러를 통해 모델이 생성 또는 업데이트 됨예를들어, 사용자가 네모박스
단방향으로 데이터 흐름을 관리하는 디자인 패턴Action : 애플리케이션에서 발생하는 이벤트나 사용자 인터랙션을 나타냄Action 객체는 일반적으로 type 속성과 필요한 데이터를 포함Dispatcher : 모든 Actions를 받아들이고, 해당 Actions를 스토어
알고리즘이나 로직을 클래스 계층으로 캡슐화하여 런타임에 동적으로 교체할 수 있도록 한다.특정 기능을 구현하는 여러 알고리즘을 정의하고 클라이언트가 필요에 따라 이러한 알고리즘을 선택할 수 있게 한다.객체 간의 의존성을 주입하여 코드의 결합도를 나주고 테스트 가능성을 높
프로그래밍에서의 Context는 특정 작업이나 상태, 환경에 대한 정보를 캡슐화하는 것을 의미상태 및 환경 정보 캡슐화 : 특정 작업이나 알고리즘을 수행하는 데 필요한 상태나 환경 정보를 캡슐화하여 전달하거나 관리한다.작업 전환 관리 : 작업이 중된되고 나중에 같은 지
노드(node)와 링크(link)가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미노드 : 서버, 라우터, 스위치 등 네트워크 장치링크(엣지) : 유선 또는 무선과 같은 연결매체(WIFI, LAN)트래픽은 특정 시점에 링크 내의 흐르는 데이터의 양을 말함. 예를들어
컴퓨터 네트워크의 물리적 또는 논리적 배치를 말함네트워크에 연결된 장치들이 어떻게 상호 연결되고 데이터가 어떻게 흐르는지에 대한 구조를 일컫음모든 장치가 단일 중앙 케이블(버스)에 연결데이터는 이 중앙 케이블(버스)을 통해 전송설치와 유지보수가 비교적 저렴하지만, 중앙
트래픽에 의해 데이터 흐름이 제한되는 상황을 말함User(사용자)사용자는 웹 애플리케이션에 접근하기 위해 웹 브라우저를 사용SSL Certification사용자와 웹 서버 간의 통신을 암호화하기 위해 SSL 인증서가 사용이를 통해 데이터의 보안과 무결성을 보장Local
npm install express socket.io브로드 캐스트 예
지리적으로 제한된 영역(가정, 사무실, 학교 등) 내에서 컴퓨터와 장치들을 연결하는 네트워크하나의 논리적 주소인 IP를 기반으로 여러 개의 물리적 주소인 MAC 주소로 구별하는 네트워크NAT(Network Address Translation)를 통한 가정 내 네트워크
네트워크 통신을 위한 프로토콜로 4개의 계층으로 구성되어 있음각 계층은 특정 기능을 수행하며 데이터가 한 계층에서 다음 계층으로 전달될 때 해당 계층의 프로토콜에 따라 처리됨물리적 네트워크를 통해 실제 데이터 전송을 담당데이터 링크 계층과 물리 계층의 기능을 포함프레임
MTU(Maximum Transmission Unit) 네트워크를 통해 전송될 수 있는 최대 패킷 크기 이 크기는 링크 계층에서 정의되며 일반적으로 이더넷에서는 1500 바이트로 설정되어 있음 MTU가 너무 크면 패킷이 네트워크 장비에서 잘려나가서 여러 조각으로 나뉘
응용(Application) 계층 TCP/IP 모델의 최상위 계층으로 사용자가 네트워크 서비스를 활용할 수 있도록 다양한 프로토콜과 기능을 제공 네트워크를 통해 데이터 전송을 수행하는 프로그램과 그 데이터를 처리하는 방식에 대한 규칙을 정의 응용 계층 프로토콜은 웹
전송
인터넷 계층 네트워크 간 데이터 전송을 담당 주요 역할은 데이터 패킷의 라우팅 및 주소 지정 사용하는 주요 프로토콜 IP(Internet Protocol) IPv4 : 32비트 주소를 사용하는 인터넷 프로토콜 버전 4 IP 패킷을 라우팅하고 전달하는 데 사용 IPv6 : 128비트 주소를 사용하는 인터넷 프로토콜 버전 6 더 큰 주소 공간을...
TCP(Transmission Control Protocol)는 신뢰성 있는 데이터 전송을 보장하기 위해 3-WAY 핸드세이크 과정을 통해 연결을 설정SYN 단계(Synchronize) : 클라이언트가 서버에 연결 요청을 보냄클라이언트는 자신의 ISN(Initial S
4-WAY 핸드세이크 과정클라이언트가 서버의 마지막 FIN 패킷에 대한 ACK 패킷을 보낸 후 일정 시간 동안 연결을 유지하는 상태지연된 패킷 처리 : 네트워크 지연으로 인해 아직 전달되지 않은 패킷이 있을 수 있음TIME_WAIT 상태는 이러한 패킷들이 모두 네트워크
데이터 패킷을 출발지에서 목적지로 전달하기 위해 네트워크 경로를 결정하는 과정인터넷과 같은 큰 규모의 네트워크뿐만 아니라 LAN(로컬 영역 네트워크)과 같은 작은 네트워크에서도 필수적인 기능네트워크 관리자에 의해 수동으로 설정되는 라우팅 방식고정된 경로를 사용특징구성
네트워크 상에서 장치들을 식별하고 통신을 간으하게 하는 주소 체계네트워크 상에서 장치(호스트)를 고유하게 식별IPv4 : 32비트 주소 체계를 사용하며 보통 4개의 8비트 숫자로 표현예 : 192.168.1.1IPv6 : 128비트 주소 체계를 사용하며 보통 8개의 1
32비트 주소 체계를 사용 (2^32개의 주소, 41억 9천만 주소) 8비트 단위로 점을 찍어 4개로 구분(8비트이 단위를 옥텟이라고도 함)이 주소체계만으로 부족하기 떄문에 NAT, 서브네팅과 같은 부수적인 기술이 필요128비트, 2^128개의 주소 표현(많은 주소 처
IPv4 주소를 효율적으로 할당하고 관리하기 위해 도입된 체계IP 주소를 클래스별로 구분하여 각 클래스마다 고정된 네트워크와 호스트 부분을 가지도록 설계클래스풀 주소 체계는 크게 A,B,C,D,E의 다섯 가지 클래스로 나누어 짐2^24 - 2 = 한 네트워크 당 16,
클래스리스(CIDR, Classless Inter-Domain Routing) IP 주소와 서브넷 마스크를 슬래시(/)와 함께 사용하여 네트워크 크기를 지정
인터넷 서비스 제공자(ISP)로 부터 할당받은 고유한 IP 주소이 주소는 인터넷 상에서 고유하며, 전 세계적으로 사용자가 해당 Ip 주소를 통해 특정 장치에 접근할 수 있게 함공인 IP 주소는 인터넷 상의 모든 장치가 서로 통신할 수 있도록 하며 고유성을 보장하기 위해
웹에서 클라이언트와 서버 간에 데이터를 주고 받기 위해 사용하는 프로토콜HTTP는 요청/응답(request/response) 모델을 따르며 주로 웹 브라우저(클라이언트)가 웹 서버에 리소스를 요청하고 서버가 해당 요청에 응답하는 방식으로 작동함HTTP는 상태를 유지하지
수명이 짧은 연결각 HTTP 요청 당 TCP 핸드세이크가 발생되며 기본적으로 한 연결당 하나의 요청을 처리하도록 설계한번 연결 할 때마다 TCP 연결을 계속해야 하니 RTT가 늘어나는 문제가 있음RTT(Round Trip Time)이란?신호를 전송하고 해당 신호의 수신
멀팅플렉싱 : 하나의 TCP 연결을 통해 여러 요청과 응답을 비동기적으로 주고받을 수 있음이는 HTTP/1.1의 Head-Of-Line Blocking 문제를 해결단일 TCP 연결 내에서 여러 스트림을 독립적으로 생성하고 각 스트림은 고유한 스트림 ID를 가짐데이터는
암호화(Encryption)는 데이터를 인가된 당사자만 읽을 수 있도록 스크램블(Scramble) 하는 과정암호화는 평문(Plaintext)을 암호문(Ciphertext)으로 변환하여 데이터가 전송되는 동안 도청, 위변조, 훼손 등의 위협으로부터 보호함암호화의 목표는
SSL(Secure Socket Layer) 인터넷 상에서 데이터를 안전하게 전소하기 위해 넷스케이프(Netscape)에 의해 개발된 보안 프로토콜 SSL은 클라이언트(예 : 웹브라우저)와 서버 간에 전송되는 데이터를 암호화하여 제3자가 데이터를 도청하거나 조작하지
웹 브라우저 로컬스토리지가 무엇인지 알아보자.
웹 보안 모델에서 중요한 개념으로 특정 웹 페이지나 리소스의 출처를 정의오리진은 URL의 세 가지 요소로 구성프로토콜(스킴), 호스트(도메인), 포트 번호세 가지 요소가 모두 일치해야 동일한 오리진으로 간주됨프로토콜(스킴) : http:// 또는 https&#
사용자 설정 저장사용자 인터페이스 설정(예 : 테마, 글꼴 크기 등)을 저장하여 사용자가 브라우저를 재시작해도 설정이 유지되도록 함폼 데이터 저장사용자가 입력한 폼 데이터를 일시적으로 저장하여, 페이지 새로고침이나 브라우저 충돌 시 데이터 유실을 방지쇼핑 카트 유지전자
클라이언트 측 웹 스토리지 매커니즘 중 하나로 웹 페이지가 로드될 때마다 생성되고 페이지가 닫히면 자동으로 삭제되는 데이터를 저장하는 공간특징세션 범위 : 세션스토리지는 웹 브라우저 탭 또는 창의 생명 주기와 동일한 범위를 가짐즉, 사용자가 웹 브라우저 탭이나 창을 닫
웹사이트가 사용자의 웹 브라우저에 저장하는 작은 데이터 파일로 사용자의 세션 정보를 유지하고 웹사이트 간의 상호작용을 추적하는 데 사용사용자의 경험을 맞춤화하고 웹사이트의 기능을 개선하며 사용자 활동을 분석하는 데 중요한 역할을 함특징작은 데이터 파일 : 쿠키는 일반적
브라우저에 캐싱을 함으로써 서버에 대한 요청을 줄여 서버 부하를 줄일 수 있음캐싱을 통해 다운로드해야 할 콘텐츠가 줄어들어 웹사이트의 콘텐츠를 더 빠르게 로드할 수 있음브라우저당 동시에 다운로드할 수 있는 콘텐츠의 수는 한정되어 있기 때문에, 캐시를 사용하면 나머지 자
HTTP의 주요 특징 중 하나는 Stateless(무상태)하다는 것이는 각 HTTP 요청이 독립적이며 요청 간에 상태 정보가 유지되지 않는다는 것을 의미예를들어, 사용자가 로그인 요청을 보내고 나면 서버는 다음 요청이 동일한 사용자로부터 왔는지 알지 못함, 요청이 끝나
토큰 기반 인증 방식이란? 사용자 인증과 권한 부여를 위한 방법 중 하나로, 주로 JSON Web Token(JWT)를 사용하여 액세스토큰과 리프레시 토큰을 발급하는 방식 이는 세션 기반 인증 방식과는 다르게 서버가 상태를 저장하지 않기 때문에 확장성과 성능에 유리
클라이언트가 보낸 요청에 대해 서버가 응답하는 상태를 나타냄100 Continue : 클라이언트가 요청을 계속할 수 있음을 나타냄101 Switching Protocols : 서버가 클라이언트의 프로토콜 전환 요청을 수락함200 OK : 요청이 성공적으로 수행되었음을
서버에서 정보를 가져오는데 사용URL의 쿼리 스트링을 통해 데이터를 전달예: http://example.com/page?name=John&age=30GET 요청은 브라우저에서 캐싱될 수 있으며 북마크에 저장할 수 있음URL 길이에 제한이 있어 전달할 수 있는
PUT Method PATCH Method
상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만 그 반대는 불가함예를들어, 애플리케이션 계층을 담당하는 로드밸런서는 네트워크 분산처리도 가능하지만 물리 계층의 장치 중 하나인 NIC은 이를 하지 못함| Layer |:-------:|:-------------
데이터가 양방향으로 동시에 전송될 수 있는 통신 방식즉, 한쪽에서 데이터를 보내는 동시에 다른쪽에서도 데이터를 받을 수 있음이는 두 사람이 동시에 말하고 들을 수 있는 양방향 대화와 유사전이중화 통신의 예전화 통화 : 양쪽이 동시에 이야기하고 들을 수 있음네트워크 스위
반이중화 통신(Half-Duplex Communication) 데이터가 양방향으로 전송될 수 있지만 한 번에 한 방향으로만 전송될 수 있는 통신 방식 특징 동시 전송 불가 : 송신과 수신이 동시에 이루어질 수 없음 데이터를 한쪽에서 보내는 동안 다른 쪽에서는
서버 리소스를 소진하여 들어오는 요청을 처리하지 못할 때 발생이 때 서버는 사용자의 웹 요청을 처리하지 못해 응답 없음 또는 지연이 발생하게 됨서버 과부하는 웹사이트 또는 애플리케이션의 성능을 저하시켜 사용자 경험을 크게 손상시킬 수 있음이는 트래픽이 급증할 때 특히
REST API(Representational State Transfer Application Programming Interface)는 웹 서비스 개발을 위한 일련의 규칙을 정의하는 아키텍처 스타일웹의 기존 HTTP 프로토콜을 활용하여 클라이언트와 서버 간의 통신을
웹 페이지를 화면에 표시하기 위해 브라우저가 수행하는 일련의 작업브라우저는 브라우저 엔진, 렌더링 엔진, 네트워크 통신부, 자바스크립트 해석기, UI 백엔드, 자료 저장소(Local Storage, cookie)이 중 렌더링 엔진이 브라우저 렌더링을 주도적으로 책임지고
리다이렉트, 캐싱, DNS, IP 라우팅 & ARP, TCP 연결 구축을 거쳐 요청, 응답이 일어나는 TTFB(Time to First Byte)가 시작되고 이 후 컨텐츠를 다운받아 브라우저 렌더링 과정을 거쳐 네이버라는 화면이 나타나게 됨웹 서버가 클라이언트(웹 브라
이더넷 프레임(Ethernet Frame)은 네트워크 상에서 데이터를 전송하는 기본 단위프리엠블(Preamble) : 7바이트10101010 패턴이 반복되는 7바이트로 수신 측에서 시계 신호를 동기화하는 데 사용SFD(Start Frame Delimiter) : 1바이
웹에서 오리진(Origin)은 URL의 스키마, 호스트, 포트 세 부분으로 구성https://www.example.com:8080/path/page.html여기서 오리진은 다음과 같음스키마 : https호스트 : www.example.com포트 : 8080따라
TCP/IP 네트워크에서 작은 패킷들의 전송을 줄여 네트워크 효율성을 향상시키기 위한 알고리즘이 알고리즘은 작은 크기의 데이터를 여러 번 보내기보다는 작은 데이터들을 모아서 큰 패킷으로 전송하는 방식으로 동작이로 인해 네트워크 혼잡을 줄이고, 전송 효율성을 높일 수 있
특정 HTTP 메서드가 같은 요청을 여러 번 실행했을 때 서버의 상태가 한 번 실행했을 때와 동일하게 유지되는 특성을 말함👉🏻 즉, 멱등성을 가진 메서드는 여러 번 호출하더라도 서버의 상태가 변하지 않는다는 의미GET설명 : 서버로부터 데이터를 조회멱등성 : 동일한
사용자가 컴퓨터 시스템을 효율적으로 사용할 수 있도록 다양한 기능을 제공하는 소프트웨어사용자 인터페이스에 따라 크게 GUI와 CUI로 나눌 수 있음그래픽 요소를 이용하여 사용자가 시스템과 상호작용할 수 있도록 함아이콘, 창, 메뉴 등 시각적 요소를 통해 사용자가 직접적
인터럽트(Interrupt) 프로서서가 현재 수행 중인 작업을 일시적으로 멈추고 긴급하게 처리해야 할 다른 작업을 우선 수행하게 하는 매커니즘 하드웨어 이벤트 : 키보드 입력, 마우스 클릭, 디스크 I/O 완료 등 소프트웨어 이벤트 : 소프트웨어가 특정 조건을 충족
시스템 콜은 사용자 프로그램이 운영 체제의 서비스를 요청하는 인터페이스이며 모드 비트는 프로세서가 현재 실행 중인 코드가 사용자 모드(user mode)인지 커널 모드(kernel mode)인지 구분하는 데 사용응용 프로그램이 운영체제의 서비스를 요청할 때 사용하는 인
성능과 용량의 균형을 맞추기 위해 다양한 종류의 메모리를 단계적으로 배열한 구조를 의미레지스터(Register)CPU 내부에 있는 매우 빠른 메모리, CPU가 직접 접근할 수 있어 가장 빠른 속도를 자랑함(예 : CPU의 명령어 레지스터, 주소 레지스터)캐시(Cache
물리적인 메모리(램)의 한계를 극복하기 위해 사용되는 기술, 이를 통해 운영 체제는 실제 물리 메모리보다 더 많은 메모리를 사용할 수 있게 해줌페이지 : 가상 메모리를 사용하는 최소 크기 단위프레임 : 실제 디스크나 메모리를 사용하는 최소 크기 단위구현주소 공간 확장
설명 : 가장 먼저 메모리에 들어온 페이지를 가장 먼저 교체장점 : 구현이 간단하고 직관적단점 : 오래된 페이지가 자주 사용될 수 있는데도 불구하고 교체될 수 있음(이는 성능 저하를 초래할 수 있음)예시 : 페이지가 A, B, C 순서로 들어왔고 새 페이지 D가 들어와
소스 파일(Source File)개발자가 작성한 원시 코드, 주로 .c, .cpp 등의 확장자를 갖는 파일전처리기(Preprocessor)전처리기는 주석을 제거하고 매크로를 확장하며 include 지시문을 처리하여 전처리된 파일을 생성함이 과정은 소스 코드를 컴파일러가
스택(Stack) - 동적함수 호출과 관련된 지역 변수, 함수 인자, 리턴 주소 등이 저장되는 영역스택은 함수가 호출될 때마다 새로운 프레임이 추가되며 함수가 종료되면 해당 프레임이 제거됨스택 영역은 보통 높은 주소에서 낮은 주소로 확장2.힙(Heap) - 동적동적으로
운영체제가 각 프로세스에 대한 중요한 정보를 저장하는 데이터 구조PCB는 프로세스의 실행 상태를 관리하고 프로세스 간의 문맥 전환(Context Switching)을 지원하는 데 필수적인 역할을 함운영체제에서 관리하는 프로세스에 대한 메타데이터를 저장한 데이터블록이며
여러 프로세스를 사용하여 동시에 여러 작업을 수행하는 방법각 프로세스는 독립된 메모리 공간을 가지며 서로 다른 CPU 코어에서 병렬로 실행될 수 있음멀티 프로세싱은 CPU 집약적인 작업을 병렬로 처리하는 데 효과적특징독립된 메모리 공간 : 각 프로세스는 독립된 메모리
컴퓨터 프로세스 간에 데이터를 교환하는 방법이나 메커니즘을 의미서로 다른 프로세스는 독립된 메모리 공간을 가지기 때문에 직접적으로 데이터를공유할 수 없음따라서 프로세스 간의 통신을 위해서는 IPC 기술을 사용해야 함파이프(Pipes)익명 파이프(Anonymous Pip
공유 자원(Shared Resource) 여러 프로세스나 스레드가 동시에 접근할 수 있는 시스템 자원 이 자원은 메모리, 파일, 데이터베이스, 프린터 등의 형태로 존재할 수 있음 프로세스나 스레드가 공유 자원을 동시에 접근하면 테이블 불일치나 시스템 오류가
뮤텍스(Mutex, Mutual Exclusion)는 여러 스레드가 공유 자원에 접근하는 것을 제어하기 위한 동기화 기법오직 하나의 스레드만이 임계 구역(Critical Section)에 접근할 수 있도록 보장다른 스레드가 임계 구역에 접근하려고 하면 현재 스레드가 임
둘 이상의 프로세스나 스레드가 서로가 가진 자원을 기다리며 무한히 대기하는 상태를 말함이로 인해 시스템이 멈추고 자원을 사용할 수 없게 됨교착상태는 분산 시스템, 운영 체제, DB 관리 시슽ㅁ 등 여러 검퓨터 과학 분야에서 중요한 문제로 다루어짐상호 배제(Mutal E
CPU 사용률이 높은가?CPU 사용률(CPU Utilization)은 CPU가 실제로 작업을 수행하는 시간의 비율높은 CPU 사용률은 시스템 자원을 최대한 활용하고 있음을 의미단위 시간당 작업을 마친 프로세스의 수(처리량)가 높은가?처리량(Throughput)은 단위
선점형 스케줄링 알고리즘 한 프로세스가 CPU를 사용 중일 때, 다른 프로세스가 CPU를 강제로 차지할 수 있는 방식 프로세스는 특정 조건(예: 타임 슬라이스 종료, 더 높은 우선순위의 프로세스 등장 등)에서 CPU를 선점당할 수 있음 컨텍스트 스위칭에 따른 부하가
캐시(Cache)란? 컴퓨터 시스템에서 데이터나 명령어를 일시적으로 저장하는 고속 메모리 이는 주로 CPU와 메인 메모리 간의 속도 차이를 줄이기 위해 사용 캐시는 빠른 액세스를 제공하여 시스템 성능을 향상시키는 역할을 함 캐시 히트(Cache Hit)와 캐시 미스
메인 메모리의 데이터를 캐시에 저장하고 나중에 필요할 때 이를 다시 찾기 위한 방법을 의미주소 구성 태그(Tag) : 메모리 주소의 일부로 블록이 올바른지 확인하는 데 사용블록(Block) : 메모리의 데이터를 일정 크기로 나눈 단위예를 들어, 각 블록이 4개의 데이터
연속 할당(Continuous Allocation)이란? 메모리 할당 방식 중 하나로 프로세스가 메모리에서 연속적인 블록에 할당되는 방식 1. 고정 분할(Fixed Partitioning) 고정 분할 방식은 메모리를 미리 정해진 크기로 나누어 사용하는 방법 각
불연속 할당이란?
운영체제의 스케줄링 알고리즘에서 발생하는 현상으로 일반적으로 선입선출(FIFO) 스케줄링에서 많이 나타남하나의 긴 작업(프로세스)이 CPU를 오래 점유하여 뒤에 대기하는 짧은 작업들이 오래 기다리게 되는 현상 긴 작업이 끝날 때까지 모든 다른 작업들이 대기열에서 기다리
프로세스나 스레드가 특정 조건이 충족될 때까지 반복적으로 CPU를 사용하며 루프를 도는 방법이 방법은 프로세스가 필요한 자원을 기다리거나 특정 이벤트를 대기할 때 사용이 동안 CPU는 해당 프로세스에 할당된 상태를 유지하므로 다른 작업을 수행할 수 없음1단계 : Pro
연관된 데이터의 모임으로 데이터는 특정 구조에 따라 체계적으로 저장되어 있음데이터베이스 관리 시스템(DBMS, Database Management System)을 통해 DB를 관리할 수 있음DBMS에 정의된 쿼리 언어를 통해 데이터에 대한 CRUD(Create, Rea
필드(Field) 필드는 데이터베이스 테이블의 열(Column) 테이블에서 특정 종류의 데이터를 저장하는 단위로 하나의 필드는 특정 속성(Attribute)에 해당 예시 : 학생 테이블에서 이름, 학번, 전공 등이 필드 특징 속성 : 필드는 엔터티의 속성을 나타냄 일관성 : 하나의 필드에는 같은 타입의 데이터가 저장 제약 조건 : 필드는...
데이터 베이스에서 CHAR와 VARCHAR는 둘 다 문자열을 저장하는 데 사용되는 데이터 타입이지만 저장 방식과 용도에서 차이가 있음CHAR는 고정 길이 문자열을 저장하는 데이터 타입지정된 길이만큼의 고정된 공간을 할다하여 데이터를 저장데이터 길이가 지정된 길이보다 짧
TEXT 데이터 타입은 주로 길고 큰 문자열 데이터를 저장하는 데 사용특징문자 데이터 : TEXT는 문자 데이터를 저장하는 데 최적화되어 있음이는 일반적인 문자열, 문서, JSON, XML 등의 데이터를 저장하는 데 유용가변 길이 : TEXT 데이터는 가변 길이의 문자
열이 가질 수 있는 값을 미리 정의된 문자열 목록에서 선택하도록 제한하는 데 사용ENUM 필드는 하나의 값만 가질 수 있음특징미리 정의된 값 목록 : ENUM 타입을 정의할 때 가능한 값을 미리 정의단일 선택 : 각 열은 미리 정의된 값 목록 중 하나의 값을 가질 수
데이터베이스에서 관계는 두 개 이상의 테이블 간의 연결을 나타내며 주로 엔터티 간의 관계를 모델링함한 테이블의 행이 다른 테이블의 행과 정확히 하나의 관계를 가질 때 사용예시 : 사용자 테이블과 사용자 프로필 테이블이 1 : 1 관계일 수 있음각 사용자는 하나의 프로필