IT지식/Computer Science 46

API란?

API(API, Application Programming Interface)는 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자컴퓨터 사이에 있는 중계계층을 의미한다.가령 A라는 컴퓨터가 요청을 하고 B라는 컴퓨터가 응답을 한다고 가정했을 때어떻게 통신(HTTP, HTTPS 프로토콜)할 것 인지?,어떠한 데이터형식(XML,JSON)으로 주고 받을 것 인지?,어떠한 방식(GET, POST) 등에 대한 방법이 정의된 중계계층이다.  API의 작동방식 사용자가 브라우저를 통해 서버에 요청을 하게되면 API가 중계계층 역할을 하며 요청을 처리하는 것을 볼 수 있습니다.직접 서버의 데이터베이스에 접근하는 것을 방지하기도 하는 것을 볼 수 있습니다.   API의 종류 - private : 내부적으로 사용됩니다...

XML이란?

XML(Extensible Markup Language)로 마크업 형태를 쓰는 데이터 교환 형식입니다. 마크업이란?마크업(markup)은 태그 등을 이용하여 문서나 데이터의 구조를 나타내는 방법이다.(속성부여도 가능) 첫 이별 그날 밤 아이유 이런엔딩 아이유  마크업의 구성요소 1. 프롤로그: 버전,인코딩2. 루트요소(단 하나만 존재)3. 하위요소들   HTML과 XML의 차이 1. HTML의 용도는 데이터를 표시/ XML은 데이터를 저장 및 전송2. HTML에는 고유한 태그를 만들고 정의가 가능함3. XML은 대/소문자를 구분하지만 HTML은 구분하지 않음    JSON과 XML의 차이..

JSON이란?

JSON(JavaScriptObjectNotation)은 Javascript객체 문법으로 구조화된 데이터교환형식, python, javascript, java 등여러 언어에서 데이터 교환형식으로 쓰이며 객체문법말고도 단순 배열, 문자열도 표현 가능합니다. 1.Javascript객체문법-키(key), 값(value)으로 구성됨-이미 존재하는 키를 중복선언하면 나중에 선언된 값이 덮어쓰는구조 ex)const player = { "soccerplayer" : [{ "name" : "kaka", "position" : "attacker" }, { "name" : "kimminjae", "position" : "de..

데이터베이스 인덱스(INDEX)란?

테이블에 대한 검색 성능을 높혀주기 위한 자료구조이다. 예를들어, 00도서관에서 책을 찾으려고 한다.00도서관에는 책이 10만권이 넘게 있는데 우리는 그 책들을 일일이 하나씩 뒤져볼 수 없다.그렇기에 책에 정해진 번호 ( ex.001.가.023 )를 찾아가면 보다 수월하게 원하는 책을 찾을 수 있다. 위와 같이 테이블의 무수한 데이터를 일일이 뒤져서 찾기보다는인덱스를 이용하면 원하는 데이터를 보다 손쉽게 찾을 수 있다. 인덱스의 장점 1. 조건 검색 WHERE절의 효율성 테이블을 만들고 안에 데이터가 쌓이게 되면 테이블의 레코드(row : 행)는 내부적으로 순서가 없이 뒤죽박죽 저장이 된다. 이렇게 되면 WHERE절에 특정 조건에 맞는 데이터들을 찾아낼 때도 레코드의 처음부터 끝까지 다 읽어서 검색 조건..

DATABASE에서 VIEW를 사용하는 이유

뷰를 사용하는 이유는 두 가지로 볼 수 있는데 첫째, 보안적인 이유에서이다.예를들어 접근이 불가능한 테이블에서 특정 데이터의 조회가 필요한 상황일 때그 데이터를 SELECT하는 VIEW를 만들어 접근할 수 있다. 둘째, 사용자의 편의성이다.SELECT A   FROM ( SUB QRY) A            , DUAL B WHERE A.000 = B.000이러한 쿼리가 있다 치면사용자 입장에서 자주쓰이는 SUB QRY를 매번 짜야하는 불편함이 있을 것 이다.그럴 때 VIEW를 생성하여 필요할 때 마다 SUB QRY에 VIEW를 가져다 쓰면 사용자 입장에선 매우 편리한 기능이다. 그렇다면 VIEW 사용시 장 단점에서 대해서 알아보자.장점1, 동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구..

개발4년차 첫CS를 공부하다

지난 3년간 주구장창 공공사업 개발프로젝트만 진행하던 나로썬딱히 CS지식 없이도 개발에 큰 어려움이 없었다.하지만 내년에 고용정보원에서 관리중인 큰 사이트 유지보수를 해야하는 상황,그리고 후에 이 지식들을 알아놓아야 좀 더 효율적인 프로그램을 만들 수 있을 것 같아 공부를 시작한다. 참고 블로그 : https://gyoogle.dev/blog/ 👨🏻‍💻 Tech Interview최종 수정 : 12/17/2022, 7:23:59 AMgyoogle.dev참고 강의: https://inf.run/17Fb CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조 강의 | 큰돌 - 인프런큰돌 | 국내 1위 '면접을 위한 CS 전공지식노트' 저자의 디자인패턴, 네트워크, 운영체제, 데이터베이스 ..