Computer Science
-
[CS] SDK, APIComputer Science/CS 2024. 3. 3. 20:53
API Application Programming Interface 모듈화하여 만들어진, 어떤 기능을 제어/제공하는 인터페이스를 말한다. 어떤 서버의 특정한 부분에 접속해서 그 안에 있는 데이터와 서비스를 이용할 수 있게 해주는 소프트웨어 도구이다. API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 매커니즘이다. 예를 들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이터가 들어있다. 날씨 앱은 API를 통해 이 시스템과 통신하여 휴대폰에 매일 최신 날씨 정보를 표시한다. API라는 것은 결국은 앱의 페이로드를 처리하기 위해서 만들어진 것인데, ‘SOAP REST 차이’는 페이로드를 처리하는 방식에 있습니다. 페이로드는 인터넷을 통해서 전송되는 데이터입니다...
-
[CS] 가상메모리, 프로세스, 쓰레드, 멀티 프로세스, 멀티 쓰레드Computer Science/CS 2024. 3. 2. 20:43
가상메모리 Virtual Memory 메모리가 실제 메모리보다 많아 보이게 하는 기술로, 어떤 프로세스가 실행 될 때 메모리에 해당 프로세스 전체가 올라가지 않더라도 실행이 가능하다는 점에서 착안하여 고안되었다. ● 애플리케이션의 일부분만 메모리(기억장치)에 올려진다면, 메모리에 올라가지 않는 나머지는 어디에 위치할까? → 보조기억장치! 즉, 디스크! 가상 메모리의 핵심은 보조기억장치이다. ● 애플리케이션이 실행될 때, 실행에 필요한 일부분만 메모리에 올라가며 애플리케이션의 나머지는 디스크에 남게 된다. 즉, 디스크가 RAM의 보조기억장치(backing store)처럼 작동하는 것임. ● 결국, 빠르고 작은 기억장치(RAM)을 크고 느린 기억장치(디스크)와 병합하여, 하나의 크고 빠른 기억장치(가상메모리..
-
[CS] 컴퓨터 구성 요소Computer Science/CS 2024. 2. 29. 18:42
CPU, RAM, HDD, SSD, Cache Memory, NIC 주기억 장치(메인메모리) : RAM 보조기억 장치 : HDD, SSD HDD는 자기적 방식 SSD는 전기적 방식 CPU Central Processing Unit 중앙 처리 장치 연산 작업! 컴퓨터의 뇌, 컴퓨터의 다른 부품들과 신호를 주고 받으면서 시스템 전체를 제어하는 역할 CPU는 원래 한번에 하나의 작업만 처리할 수 있다(여러 프로그램 중 1개만 처리하는 것이라는 말이 아님) CPU가 하나여도 프로그램을 여러 개를 다룰 수 있다. 다만, 여러 프로그램에서 다수의 작업 요청이 들어오면 한 번에 처리하지 않고 하나씩 수행한다. CPU의 계산 속도가 워낙 빠르고 중요도에 따라 작업 순서를 정해서 처리하기 때문에 프로그램 여러 개를 실행..
-
[보안] 대칭키 공개키Computer Science/Security 2024. 1. 3. 17:34
대칭키 암복호화에 사용하는 키가 동일한 암호화 방식입니다. 공개키에 비해 속도는 빠르지만 키를 교환해야 한다는 문제가 있습니다.(키 배송 문제) 키를 교환하는 중 키가 탈취될 수 있는 문제가 있고, 사람이 증가할 수록 전부 따로 키 교환을 해야하기 때문에 관리해야할 키의 수가 증가합니다. 키 배송 문제를 해결하기 위한 방법에는 몇 가지가 있습니다. 1. 키의 사전 공유에 의한 해결 키 관리기관(TA, trusted authority)이 사전에 임의의 두 사용자(A, B)에게 비밀 경로를 통하여 임의 키를 선택하여 전달하는 방법입니다. 이 방법은 일반적으로 TA와 네트워크 상의 모든 사용자 사이에 안전한 통로가 필요하며, 사용자가 많은 경우에 TA는 물론 사용자들도 많은 키를 관리해야 하는 문제점이 있습니..
-
[CS] HTTP HTTP/2 HTTPS QUICComputer Science/CS 2023. 12. 7. 19:05
HTTP Hypertext Transfer Protocol 클라이언트와 서버 간 통신을 위한 통신 규칙 세트 또는 프로토콜입니다. 사용자가 웹 사이트를 방문하면 사용자 브라우저가 웹 서버에 HTTP 요청을 전송하고 웹 서버는 HTTP 응답으로 응답합니다. 웹 서버와 사용자 브라우저는 데이터를 일반 텍스트로 교환합니다. 간단히 말해 HTTP 프로토콜은 네트워크 통신을 작동하게 하는 기본 기술입니다. HTTP특징 ● Stateless(무상태) : 서버가 클라이언트의 상태를 보존하지 않음 ▷ 장점 : 서버 확장성 높음(응답 서버를 바꿀 수 있고 무한한 서버 증설 가능) ▷ 단점 : 클라이언트가 추가 데이터 전송 ▷ 상태 유지는 쿠키나 세션 사용 → 쿠키, 세션, 토큰을 사용해서 상태를 기억할 수 있다. 상태를..
-
[CS] REST APIComputer Science/CS 2023. 12. 7. 18:39
REST API Representational State Transfer 분산 네트워크 상에서 자원(리소스)을 표현하고 그 상태를 전송하는 아키텍처 스타일입니다. REST API란 서버 자원을 클라이언트에 구애받지 않고 사용할 수 있게 하는 설계 방식입니다. 클라이언트에서 정보를 요청하면 서버는 특정 기기에 종속되지 않고 모든 기기에 통용할 수 있는 JSON데이터를 응답으로 보냅니다. 서버가 클라이언트의 요청에 체계적으로 대응할 수 있어서 서버 프로그램의 재사용과 확장성이 좋아집니다. REST HTTP URL로 서버의 자원을 명시하고, HTTP 메서드(POST, GET, PATCH/PUT, DELETE)로 해당 자원에 대해 CRUD하는 것을 말합니다. API 클라이언트가 서버의 자원을 요청할 수 있도록 ..
-
-