컴퓨터 사이언스 34

HTTP 메서드

HTTP 메서드클라이언트가 서버에 요청할 때 필요한 행위 조회, 등록, 수정, 삭제 GET - 리소스 조회POST - 요청 데이터 처리, 주로 등록에 사용 PUT - 리소스를 대체, 해당 리소스가 없으면 생성PATCH - 리소스 부분 변경DELETE - 리소스 삭제기타 HTTP 메서드HEAD - GET과 동일하지만 메시지 부분을 제외하고 상태 줄과 헤더만 반환 (BODY 제외하고 보냄)OPTIONS - 대상 리소스에 대한 통신 가능 옵션(메서드)을 설명(주로 CORS에서 사용)CONNECT - 대상 자원으로 식별되는 서버에 대한 터널을 설정TRACE - 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행 GET 메서드리소스 조회 ( 특정 데이터를 줘 )서버에 전달하고 싶은 데이터는 query(쿼..

HTTP 기본 개념

HTTPHyperText Transfer Protocol텍스트 기반의 프로토콜- HTTP 요청과 응답의 헤더 부분은 여전히 텍스트- HTTP 바디 부분은 다양한 형식의 데이터를 포함할 수 있음- HTML, TEXT, 이미지, 음성, 영상 파일, JSON, XML 등등- 거의 모든 형태의 데이터 전송 가능 - 클라이언터의 요청과 서버의 응답으로 구성된 방식 - 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 TCP - HTTP/1.1, HTTP/2 UDP - HTTP/3HTTP 특징1. 클라이언트 서버 구조2. 무상태 프로토콜3. 비연결성4. 확장 가능 (커스텀 헤더)클라이언트 서버 구조- Request, Response 구조- 클라이언트가 요청을 보내고 서버가 응답을 보내는 구조 서버는 비즈니..

TCP/IP, UDP

IP(Internet Protocol)인터넷 프로토콜 역할- 지정한 IP 주소에 데이터 전달- 패킷(Packet)이라는 통신 단위로 데이터 전달 출발지 IP - 나의 IP목적지 IP - 상대 IP1. 출발지, 목적지, 메시지 등을 패킷에 넣고 전송2. IP 프로토콜에 의해서 노드들을 거쳐 전송되게 됨3. 최종적으로 목적지 IP에 컴퓨터에 패킷이 도달하게 됨 4. 목적지 IP에 해당하는 컴퓨터도 동일한 방식으로 출발지 IP 컴퓨터에 응답 IP 프로토콜의 한계1. 비연결성 - 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 즉, 대상 서버가 패킷을 받을 수 있는 상태인지 모름 2. 비신뢰성 - 중간에 패킷이 사라지는 경우 - 패킷이 순서대로 안 오는 경우 3. 프로그램 구분 - 같은 IP를 사용..

프록시 서버

프록시란 프로토콜에 있어서 대리 응답 등에서 사용하는 개념이다.프록시 서버클라이언트와 서버 사이에 존재하며, 중계기로서 대리로 통신을 수행하는 것을 프록시라고 함 중계 기능을 하는 주체를 프록시 서버라고 함프록시 서버 종류포워드 프록시 (Forward Proxy)클라이언트와 서버 사이에 위치하여 요청을 중계하며, 요청과 응답은 Proxy Server를 거친다.클라이언트는 목적지 서버에 요청을 보내고, 프록시 서버는 이를 받아서 목적지 서버에 요청포워드 프록시 서버는 클라이언트 앞에 있음 특징1. 클라이언트 보안 - 클라이언트의 직접적인 인터넷 접속을 제한하여 보안 강화 Ex) 불법 사이트에 접속하는 것을 막음 2. 캐싱 - 프록시 서버를 캐시로 사용하여 동일한 요청을 보냈을 때 프록시 서버에 저장..

BSD 소켓

버클리 대학에서 UNIX 4.2 BSD 커널에서 사용하기 위해 만든 소켓 인터페이스TCP/IP 기반 네트워크 통신 // TCP/IP 뿐만 아니라 다양한 네트워크 프로토콜을 지원현재 네트워크 프로그래밍의 표준이 됨 -> 소켓이라고 하면 일반적으로 BSD 소켓을 의미** 엔드포인트 : 네트워크 통신을 할 수 있는 한 쪽 끝을 의미 Ex) www.quilzy.shop:8080, www.quizly.shop:3004 IP 주소 : 네트워크상의 기기를 식별할 때 사용 Ex) 클라이언트1, 클라이언트2, 퀴즐리 서버 포트 번호 : 특정 기기 내의 특정 프로세스나 서비스 식별 Ex) 좌표를 위한 소켓, 채팅을 위한 소켓, 소켓 인터페이스란응용 계층과 전송 계층 사이의 인터페이..

배열, 연결리스트, 스택,

배열동일한 타입의 변수를 모아 묶어 놓은 것메모리 공간에 연속적으로 할당된다. - 가상 메모리 공간에서 연속적, 물리 메모리에서는 항상 연속적이지 않음인덱스를 이용해서 접근 가능 - 인덱스는 0부터 시작 배열이 만들어진 후 배열의 크기 변경 불가 - 동적 배열의 경우 새로운 배열을 생성해서 기존 배열을 복사함장점빠른 접근 시간 - 인덱스를 이용하여 O(1) 시간에 직접 접근 가능 메모리 상에서 연속적으로 저장되어 있어 캐시 효율성이 높다.- 반복적인 접근 패턴, 루프 내에서 여러 번 참조로 인해 시간적 지역성이 높음- 연속적인 메모리 할당, 순차적인 적근 패턴으로 인해 공간적 지역성이 높음 각 요소가 동일한 크기를 가져 메모리를 효율적으로 사용 구현이 간단하다. 단점고정된 크기 - 배열은 한 번..

순환(재귀), 반복

재귀 (순환)재귀란 주어진 문제를 해결하기 위해 자신을 다시 호출하는 프로그래밍 기법분할정복 > 재귀 - 기술면접 피보나치, 이항계수, 이진 트리 알고리즘 등등 ** 재귀함수의 핵심 요소 두 가지1. 종료 조건 (기본 케이스 - Base case)- 재귀 함수가 종료되는 조건이 반드시 필요하다.2. 문제 축소(재귀 케이스 - Recursive case)- 재귀 함수는 큰 문제를 반드시 작은 문제로 축소시켜야한다.재귀 활용- 트리와 그래프 순회- 분할 정복 알고리즘- 동적 프로그래밍- 백트래킹 알고리즘직접 재귀와 간접재귀직접 재귀 - 함수가 직접 자기 자신을 호출간접 재귀 - 함수 A가 함수 B를 호출하고, B가 다시 A를 호출하는 형태장점- 코드가 간결해지고 이해하기 쉬움- 일부 알고리즘을 자연스럽게 표..

CPU와 GPU, HDD와 SSD

CPU다양한 환경의 작업을 처리하기 위해 비교적 큰 캐시 메모리, 복잡한 컨트롤 유닛, ALU로 구성됨CPU는 적지만 강력한 여러 개의 코어들로 구성되어 있음CPU는 복잡하고 순차적인 작업에 적합 (직렬처리)**복잡한 로직, 순차적인 처리, 다양한 종류의 연산이 섞인 작업에 적합다양한 작업 처리, 복잡한 데이터 구조, 캐싱 ,컨텍스트 스위칭을 위해 큰 메모리를 요구 일반적인 프로그래밍 언어와 모델 사용GPU특화된 연산을 처리하기 위해 SM, 비교적 작은 캐시, 비교적 단순한 ALU로 구성됨GPU는 수백 혹은 수천 개의 코어들로 구성되며, 각 코어는 비교적 단순한 구조를 가지고 있음 GPU는 대규모 병렬적인 작업에 적합 (그래픽 렌더링, 머신 러닝, 암호화 등)**단순하고 반복적, 대량의 데이터를 병렬적으..

1의 보수, 2의 보수

보수를 사용하는 이유컴퓨터 산술 논리 장치(ALU)는 기본적으로 덧셈 연산만 수행하도록 설계 됨즉, 컴퓨터는 덧셈만 수행 가능하므로 음수를 보수로 변환하여 계산하기 위해서 보수를 사용한다.2의 보수를 사용하는 이유1. 표현 범위의 확장 - 같은 비트 수에서 더 넓은 범위의 숫자를 표현할 수 있음 (2의 보수는 0이 하나)2. 0의 유일한 표현 - 1의 보수는 -0, +0 즉, 0이 두 가지로 표현 됨- 2의 보수는 0이 하나로 표현 됨3. 간단한 덧셈/뺄셈 연산- 2의 보수 시스템에서 덧셈과 뺄셈이 더 일관되고 단순한 방식으로 처리 됨 (1의 보수는 순환 연산 필요)4. 오버플로우 감지 용이- 덧셈과 뺄셈에서 오버플로우를 쉽게 감지할 수 있다.- 2의 보수에서 부호비트의 변화를 통해 오버플로우를 쉽게 감..

JPG, PNG, GIF 차이점

손실, 무손실 압축 방식** 무손실 압축 방식원본 데이터 품질을 그대로 유지하면서 파일 크기 줄임압축을 해제하면 원본과 동일한 품질의 이미지를 얻을 수 있다. PNG, GIF가 이 방식을 사용 파일 크기 감소 효과는 손실 압축에 비해 적음 ** 손실 압축 방식일부 데이터를 영구적으로 제거하여 파일 크기를 줄임압축 과정에서 원본의 일부 정보가 손실됨 JPG가 이 방식을 사용높은 압축률로 파일 크기를 크게 줄일 수 있지만, 품질을 다소 저하됨JPG (JPEG)용량이 큰 이미지 파일을 좀 더 압축해 전송할 수 있도록 개발한 파일 형식손실, 무손실 압축 방식 모두 지원 - 일반적으로 손실 압축 방식을 사용 24비트 - 1600만 색상 지원사진, 복잡한 이미지에 적합투명도 지원 안 함 ** 장점손실 압축 방식을 ..