Computer Science

    [Network] REST API와 RESTful

    [Network] REST API와 RESTful

    REST REST란? REST란 Representational State Transfer의 약자로 HTTP 네트워크 상의 리소스를 정의하고 해당 리소스를 URI라는 고유의 주소로 접근하는 방식을 의미한다. 리소스(Resource) : REST에서 의미하는 리소스란 HTTP 통신을 통해 주고 받을 수 있는 모든 것을 의미한다.(데이터, 문서, 이미지, 동영상 등) URI(Uniform Resource Identifier) : 네트워크 상에 있는 특정 리소스를 식별하는 통합 자원 식별자를 의미한다. REST는 월드 와이드 웹(www)과 같은 분산 하이퍼 미디어 시스템을 위한 소프트웨어 개발 아키텍처의 한 형식 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아..

    [DB] Database와 DBMS

    데이터베이스(Database) 데이터베이스란? 응용 시스템들이 데이터를 공유할 수 있도록 운영에 필요한 모든 데이터를 통합하여 컴퓨터에 저장한 데이터를 의미한다. 여러 명의 사용자, 다수의 시스템 또는 다수의 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합이다. 데이터베이스의 특징 실시간 접근성(Real Time Accessibillty) : 사용자의 질의에 대하여 실시간 처리로 응답한다. 계속적인 진화(Continuous Evolution) : 데이터의 삽입, 삭제, 갱신을 통해 정확한 데이터를 동적으로 유지한다. 동시 공유(Concurrent Sharing) : 다수의 사용자가 동시에 이용할 수 있다. 내용에 의한 참조(content Referense) : 데이터의 저장된 위치가 아닌 데이..

    [Java] 팩토리얼 [Factorial] 구현

    팩토리얼이란 팩토리얼이란 한글로 '계승'을 뜻하며 1에서 n까지의 모든 자연수를 곱하는 것을 의미한다. 팩토리얼은 ! 기호로 표기한다. ex. 3! = 1 * 2* 3 = 6 // 4! = 1 * 2* 3* 4 = 24 팩토리얼 구현 - 반복문 인자로 정수 n을 받음. 곱셈 연산의 결과를 저장할 result 변수 선언 후 1로 초기화 for문을 사용하여 초기식, 조건식, 증감식은 다음과 같이 작성함. 첫 번째 반복 : result = result * i(1) -> 1 * 1 두 번째 반복 : result = result * i(2) -> 1 * 2 세 번째 반복 : result = result * i(3) -> 2 * 3 ... n 번째 반복 : result = result * i(n) -> (n-1)!..

    [Java] Queue

    보호되어 있는 글입니다.

    [Java] Stack 구현

    [Java] Stack 구현

    스택이란? Stack은 쌓다, 쌓이다, 포개지다 와 같은 뜻을 가지고 있다. 뜻 그대로 데이터를 순서대로 쌓는 자료구조이다. 스택에 데이터를 넣는 작업을 push라 하며, 스택에서 데이터를 꺼내는 작업을 pop이라 한다. pop을 통해 데이터를 꺼내면 스택에서 제거된다. push와 pop이 이루어지는 부분을 top이라 하고, 가장 아랫부분을 bottom이라 한다. 스택의 특징 LIFO(Last In First Out) 또는 FILO(First In Last Out) 데이터의 입력과 출력 순서는 후입선출로 가장 나중에 삽입된 데이터를 가장 먼저 꺼낼 수 있는 구조를 가지고 있다. 즉, 스택의 마지막 위치에서 데이터의 삽입과 추출이 이루어진다. 데이터는 하나씩만 넣고 뺄 수 있다. Stack 구현 - 배열 ..

    [Java] 재귀

    [Java] 재귀

    재귀의 개념 컴퓨터 과학에서 재귀란 자신을 정의할 때 자기 자신을 재참조하는 방법을 뜻한다. 재귀 함수는 재귀적으로 구현된 함수를 의미하며, 재귀 호출은 함수 내에서 자기 자신을 호출하는 행위 재귀 함수에서 예외가 발생하지 않도록 중지 시킬 수 있는 조건을 기저 조건이라 한다. 재귀 함수 템플릿 // 일반적인 재귀 함수 템플릿 public type recursive(input1, input2, ...) { // Base Case : 문제를 더 이상 쪼갤 수 없는 경우 if (문제를 더 이상 쪼갤 수 없을 경우) { return 단순한 문제의 해답; } // recursive Case // 그렇지 않은 경우 return 더 작은 문제로 새롭게 정의된 문제 // 예1. someValue + recursive..

    컴퓨터란?

    1. 컴퓨터란? 입력 받은 데이터를 정해진 규칙에 따라 연산하여 연산 결과를 저장하고 출력하는 장치 2. 컴퓨터의 구성 요소 소프트웨어 + 하드웨어 소프트웨어 하드웨어가 어떻게 동작해야 하는지 규정해놓은 명령어의 집합 시스템 소프트웨어와 응용 소프트웨어로 구분할 수 있다. System Software 응용 소프트웨어를 실행하기 위한 일종의 플랫폼 역할 수행 하드웨어 장치들이 제대로 동작할 수 있도록 관리 Application Software 시스템 소프트웨어를 제외한 모든 소프트웨어를 의미 어플리케이션 및 앱이라고도 하며, 일반적으로 프로그램이라고도 불린다. 하드웨어 컴퓨터를 구성하는 기계적 장치들의 집합 중앙처리장치 + 기억장치 + 입출력장치 + 시스템버스 중앙처리장치 (CPU, Central Proc..