CS

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] 큐(Queue) 클래스 및 메서드 총정리

큐(QUEUE) 란? 사전적인 의미로 '대기줄' 이라는 의미를 가지고 있다. 큐는 스택과 다르게 포인터가 두군데가 있는데 삽입 연산만 수행되는 rear 와 삭제 연산만 수행되는 front 가 있다. 제일 먼저 들어온 데이터가 가장 먼저 나가는 구조로 FIFO (First In First Out) 이다. 사용예시 은행창구 번호표 대기 프린터 출력 컴퓨터 운영체제의 테스크 스케쥴링 너비 우선 탐색 선언방법 Queue queue = new LinkedList(); queue는 인터페이스만 존재하고 별도의 클래스가 없기 때문에 LinkedList 를 이용한다. 메소드 add(E) 값 추가 성공 시 true, 실패 시 false 반환 저장공간이 부족하면 IllegalStateException 반환 offer(E)..

CS공부

[JAVA] 스택(Stack) 클래스 및 메서드 총정리

1. Stack 이란? 2. Stack 사용 예시 3. 선언 방법 3-1 메서드 | Stack 이란? 스택은 '쌓아놓은 더미' 라는 뜻으로 데이터를 차례대로 쌓아두는 모양이다. 스택은 한쪽 끝에서 push() 해서 밀어넣고, 끝에서 부터 pop() 하여 꺼내는 LIFO(후입선출, Last In First Out)이다. 즉, 마지막에 넣은 데이터가 가장 먼저 나오는 형태이다. | Stack 사용 예시 웹 브라우저 방문기록(뒤로가기) 실행 취소(undo) 역순 문자열 만들기 후위 표기법 계산 깊이우선탐색 | 선언 방법 Stack stack = new Stack(); | 메서드 push(E) 값 추가 peek() 가장 상단 값 반환 pop() 가장 상단 값 반환 & 제거 clear() 전체 값 제거 (반환x)..

백준

프레임워크(Framework) 와 라이브러리(Library) 차이

1. '프레임워크' 란 2. '라이브러리' 란 3. 차이점 | '프레임워크' 란 프로그램을 개발 할 때 필요한 메뉴얼을 제공해주는 뼈대 역할을 한다. 일정한 요소와 규약이 짜여진 틀 안에서 개발자가 쉽게 개발할 수 있도록 해준다. 장점 - 이미 1. 검증된 코드로 짜여진 틀이 있기 때문에 2. 시간과 비용을 아낄 수 있으며 3. 유지보수에 안정적이다. 단점 - 정해진 틀이 있기 때문에 라이브러리에 비해 1. 덜 자유로우며 프레임워크에 있는 2. 코드를 습득하고 이해하는 시간이 필요하다. JAVA - Spring, Python - Django, Ruby - Ruby on Rails 등이 있다. | '라이브러리' 란 프로그램을 개발 할 때 쓰이는 공구를 제공해주는 도구 역할을 한다. 개발에 필요한 함수나 변..

CS공부

[알고리즘/JAVA] 에라토스테네스의 체

1. '에라토스테네스의 체'란 2. 장점 3. 알고리즘 4. JAVA로 구현 | '에라토스테네스의 체'란 고대 그리스의 수학자인 에라토스테레스가 만들어 낸 소수를 찾는 방법으로, 마치 체로 치듯이 수를 걸러낸다고 하여 '에라토스테네스의 체' 라고 불린다. | 장점 임의의 자연수 n에 대해 그 이하의 소수를 모두 찾는 간단하고 빠른 방법이다. 즉, 특정 범위 내의 소수를 찾을 때는 에라토스테네스의 체가 가장 빠르다. | 알고리즘 에라토스테네스의 체의 알고리즘은 다음과 같다. 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당한다.2는 소수이므로 오른쪽에 2를 쓴다. (빨간색)자기 자신을 제외한 2의 배수를 모두 지운다.남아있는 수 가운데 3은 소수이므..

DEV장화
'CS' 태그의 글 목록 (2 Page)