CS 4

[CS] REST? REST API? RESTful?

출처 REST란 무엇인가? Representational State Transfer의 약자이다. 자원을 URI로 표시하고 해당 자원의 상태를 주고 받는 것을 의미한다. 자원(resource)의 표현(representation)에 의한 상태 전달 자원: 해당 소프트웨어가 관리하는 모든 것 Ex) 문서, 그림, 데이터, 해당 소프트웨어 자체 등 자원의 표현: 그 자원을 표현하기 위한 이름 Ex) DB의 학생 정보가 자원일 때, ‘students’를 자원의 표현으로 정한다. 상태(정보) 전달 데이터가 요청되어지는 시점에서 자원의 상태(정보)를 전달한다. JSON 혹은 XML를 통해 데이터를 주고 받는 것이 일반적이다. REST의 구성 요소 자원(Resource): URI 모든 자원에 고유한 ID가 존재하고, ..

CS/etc 2021.03.10

[CS] 스레드(Thread)란?

스레드(Thread) 어플리케이션의 실행에 있어서 가장 기본적인 단위. 실행중인 어플리케이션은 최소 하나의 스레드로 구성된다. 각 스레드마다 별도의 스택이 있으며 각 스레드는 같은 어플리케이션에 있는 다른 스레드와 독립적으로 돌아간다. 스레드 끼리는 파일 핸들이나 메모리 같은 자원을 공유한다. 출처 네이티브 스레드(커널 레벨 스레트) 운영체제에서 생성하고 관리하는 스레드 녹색 스레드 운영체제 위의 소프트웨어 계층에서 구현된 스레드. 멀티코어를 활용할 수 없으며 동기 입출력을 구현하기 어렵다. 멀티코어 시스템이 주류를 이루게 되면서 녹색 스레드를 쓰지 않는 쪽으로 변함 선점형 스레딩(preemtive threading) 운영체제에서 아무때나 스레드 실행을 멈추고 다른 스레드를 실행시킬 수 있다. 때문에 운..

CS/etc 2021.03.07

[Algorithm] 알고리즘이란?

알고리즘 알고리즘은 '절차'다. 구체적으로 설명하면, 알고리즘은 '문제나 과제를 해결하기 위한 처리 절차를 하나하나 구체적인 순서에 따라 표현한 아이디어나 생각' 이라고 할 수 있다. 알고리즘이란 '생각' 또는 '아이디어'이기 때문에 형태가 없다. 따라서 어떤 것을 다른 사람에게 전달하려면 눈에 보이도록 표현해야 한다. 레시피, 악보, 사용 설명서는 알고리즘을 다른 사람에게 전달하기 위해 사람이 이해하기 쉬운 문장, 사진, 도형, 일러스트 등을 이용해 표현한 것이다. 알고리즘의 예 요리의 레시피: 요리 절차 -> 문장화 -> 레시피 음악의 악보: 연주 절차 -> 도면화 -> 악보 가전제품 등의 사용 설명서: 기계 조작, 사용 절차 -> 일러스트화 ..

CS/Algorithm 2021.02.27

[OOP] 객체지향 프로그래밍이란?

1. 객체지향 프로그래밍(Object Oriented Programming) 객체지향 프로그래밍은 문제를 여러 개의 객체 단위로 나눠 작업하는 방식을 말합니다. 이 방식은 오늘날 가장 많이 사용하는 대표적인 프로그래밍 방식이고 JAVA, C# 등이 대표적인 객체지향 프로그래밍 언어 입니다. 2. 객체지향 프로그래밍의 장, 단점 (vs 절차 지향) 객체지향 프로그래밍의 가장 큰 특징은 클래스를 이용해 연관 있는 처리부분(함수)과 데이터 부분(변수)를 하나로 묶어 객체(인스턴스)를 생성해 사용한다는 점입니다. 그리고 객체지향 프로그래밍에서는 프로젝트를 독립적인 객체 단위로 분리해서 작업할 수 있기 때문에 여러 개발자와 협업해 규모가 큰 프로젝트를 진행할 수 있으며 유지보수측면도 뛰어나다는 장점이 있습니다. ..