CS공부

CS공부

동기와 비동기 / 블록과 논-블록

동기 (Synchronous) 동기는 서버에서 요청을 보냈을 때 응답이 돌아와야 다음 동작을 수행하는 직렬적인 일처리를 말한다. 예를들어, A작업이 모두 진행될 때까지 B작업은 대기 상태에 있는다. 동기는 설계가 간단하고 직관적이라는 장점이 있는 반면, 응답이 올 때까지 대기해야 하므로 비효율적이라는 단점이 있다. 비동기 (Asynchronous) 비동기는 서버에서 요청을 보냈을 때 응답상태와 관련 없이 다음 동작을 수행하는 병렬적인 일처리를 말한다. 예를들어, A작업에 대한 요청을 보냄과 동시에 B작업을 실행한다. A작업은 결과값이 나오는 대로 출력한다. 비동기는 동기에 비해 복잡하고 결과가 주어지는 데까지 시간이 걸리지만, 그 시간 동안 다른 작업을 할 수 있으므로 효율적으로 자원을 사용할 수 있다는..

CS공부

[HTTP] HTTP 메서드 및 상태코드

✏️HTTP 개념 및 진화과정 보러가기 HTTP 메서드 HTTP는 요청 메서드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타낸다. 총 9가지 종류가 있다. 주요 메서드 5가지 1. GET - 리소스를 조회한다. - 서버에 전달하고 싶은 데이터는 Query를 통해 전달한다. - 메세지 바디를 사용할 수 있지만 지원하지 않는 곳이 많아 권장하지 않는다. GET/MEMBER/1 2. POST - 요청데이터를 처리하며, 주로 데이터 등록에 사용한다. - 메세지 바디 안에 데이터를 담아 서버로 요청데이터를 전달한다. - 서버는 요청데이터를 처리한다. - 메세지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행한다. - 주로 전달된 데이터로 신규 리소스를 등록하며 프로세스 처리에 사용한다. POST..

CS공부

[HTTP] HTTP의 개념 및 진화

✏️HTTP 메서드 및 상태코드 보러가기HTTP란?HTTP (Hyper Text Transfer Protocol ) 란 HTTP는 월드 와이드 웹 (World Wild Web, WWW) 에 내재된 프로토콜로 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다. 웹에서 이루어지는 모든 데이터 교환의 기초이며 클라이언트-서버 프로토콜이기도 하다. 클라이언트 서버 프로토콜(Client-Server Protocol) - 클라이언트에서 요청을 보내면 서버에서 응답을 하는 규칙 프로토콜 (Protocol) - 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계 HTTP의 시작과 진화HTTP의 진화과정을 간단하게 설명하면 아래 그림과 같다. HTTP/0.9 ( = 원-라..

CS공부

API (애플리케이션 프로그래밍 인터페이스) 란?

API란? API(application programming interface 애플리케이션 프로그래밍 인터페이스, 응용 프로그램 프로그래밍 인터페이스)는 컴퓨터나 컴퓨터 프로그램 사이의 연결이다. 일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공한다. - 위키백과 (API) API란 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계계층 (매개체)을 의미한다. 이 중계계층 안에는 어떤 프로토콜인지? (HTTP/ HTTPS), 메서드(get,post...), 데이터 교환 형식(JSON,XML) 등이 정의되어있다. 여기서 인터페이스(Interface)란 서로 다른 두 개의 시스템 사이에서 정보를 주고 받을 때 그 사이를 연결하는 연결장치를 말한다. 컴퓨터와 사용..

CS공부

RESTful API 란?

REST 란 "REpresetational State Transfer" 의 약자로 REST는 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해 해당 자원(URI)에 대한 CRUD Operation을 적용된다. API 란 애플리케이션 프로그래밍 인터페이스 (Application Programming Interface)의 약자이다. 프로그램들이 서로 상호작용 하는 것을 도와주는 매개체로 다른 소프트웨어 시스템과 통신하기 위해 따라하는 규칙을 정의..

CS공부

절차지향 언어 VS 객체지향 언어

절차지향 언어 (Procedural Programming) 어떤 기능을 어떤 순서로 처리할 것인가? 데이터 중심. 순차적. 빠른 실행속도. C언어 절차지향 언어는 절차지향 프로그래밍에 쓰이는 언어이다. 개체를 순차적으로 처리하여 프로그램 전체가 유기적으로 연결되어 있다. 그렇기 때문에 서로 분리되어서도 안되고 순서에 따라 진행되어야 한다. 프로그램의 순서와 흐름을 먼저 세운 뒤 필요한 자료구조와 함수들을 설계하는 방식이다. 특징 1) Top-Down 하나의 큰 기능을 처리하기 위해 작은 단위의 기능들로 나누어 처리한다. 2) 데이터와 함수를 별개로 취급 특정 기능을 수행할 때, 메서드를 직접 호출해야 한다. (객체가 메서드를 가지고 있는 객체지향 언어와 다름) 3) 모든 함수는 데이터 공유가 가능 메서드..

CS공부

MVC 패턴이란 (Model-View-Controller)

MVC 패턴이란? MVC 패턴은 Model - View - Controller 의 약어로, Model(모델), View(뷰), Controller(컨트롤러)로 구성된 디자인 패턴이다. 애플리케이션 구성요소를 모델, 뷰 컨트롤러 세가지 역할로 구분하여 각각의 구성요소에만 집중해서 개발 할 수 있다. MVC 패턴의 장단점 + 기능별로 코드를 분리하기 때문에 가독성과 재사용성이 높다. + m,v,c 로 역할을 구분하기 때문에 협업 시 분업이 가능하다. - 복잡해질수록 모델 - 뷰의 의존성이 강해진다. MODEL - 모델 애플리케이션 데이터인 DB, 상수, 변수를 의미한다. 사용자가 편집하길 원하는 모든 정보를 가지고 있어야 한다. 상태의 변화가 있을 때 컨트롤러에게 데이터를 전달하며, 뷰에 직접적으로 접근할 ..

CS공부

[JAVA] Enum(열거형) 개념과 예제

Enum 이란?enum은 'Enumeration' 의 약자로 열거, 목록 이라는 뜻을 가지고 있다. 말 그대로 관련있는 상수들의 집합이며 JAVA에서는 final로 String, int 등을 나타내는 일정 개수의 기본 자료형의 값을 고정할 수 있다. 예를 들어 요일, 계절, 과목 등을 나타낼 때 쓰일 수 있다. Enum 장점허용 가능한 값을 제한 할 수 있다.수정 시 변경 범위가 최소화 된다. (enum만 수정하면 됨)컴파일 시 데이터 타입 및 유효성 체크를 할 수 있다.코드가 단순해지고 가독성이 좋아진다.인스턴스의 생성과 상속을 방지하여 상수값의 안전성이 보장된다. Enum 구현1. enum 안의 값 꺼내오기 Day.java (Enum 키워드)public enum Day { MONDAY, TUESDAY..

DEV장화
'CS공부' 카테고리의 글 목록 (2 Page)