문제 출처 링크(https://school.programmers.co.kr/learn/courses/30/lessons/151136다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_
DCL (Data Control Language): 데이터 제어 언어 > + 데이터를 관리 목적으로 보안, 무결성, 회복, 병행 제어 등을 정의하는데 사용한다. > + DCL을 사용하면 데이터베이스에 접근하여 읽거나 쓰는 것을 제한할 수 있는 권한을 부여하거나 박탈할 수 있고 트랜잭션을 명시하거나 조작할 수 있다. > + 불법적인 사용자로부터 데이터를 보호...
DML (Data Manipulation Language): 데이터 조작 언어 > + 데이터 베이스의 내부 데이터를 관리하기 위한 언어이다. > + 데이터를 조회, 추가, 변경, 삭제 등의 작업을 수행하기 위해 사용된다. > + DDL과 달리 DML은 적는 즉시 반영(
DDL (Data Definition Language): 데이터 정의 언어 > + 테이블과 컬럼을 정의하는 명령어로 생성, 수정, 삭제 등의 데이터 전체 골격을 결정하는 역할을 담당한다. > + DDL은 명령어를 입력하는 순간 작업이 즉시 반영(Auto Commit)이 되기 때문에 사용할 때 주의해야 한다. 종류 | 역할 :--: | :--: CREATE...
SQL(Structured Query Language, 구조적 질의 언어)이란? > + SQL은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. > + 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다....
HTTP(Hyper Text Transfer Protocol)란? > + 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜입니다. > + 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로, 80번 포트를 사용하고 있습니다. > + HTTP 서버가 80번 포트에서 요청을 기다리고 있으며, 클라이언트는 80번 포트로 요청을 보내게 된다. > +...
오버로딩과 오버라이딩 차이 오버로딩(Overloading)이란? > 오버로딩이라는 뜻은 사전적인 의미로는 과적하다라는 뜻이다. JAVA에서 오버로딩은 한 클래스 내의 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메소드를 정의할수 있다. 오버로딩의 조건 > 메소드의 이름이 같고, ...
TCP란? > 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜이다. 일반적으로는 TCP와 IP가 같이 사용이 되는데, IP가 데이터의 전송을 처리한다면 TCP는 패킷 추적 및 관리를 처리한다. 연결 지향형인 TCP는 3-way handshaking이라는 과정을 통해 연결 후 통신을 시작하고 4-way handshaking이라는 과정을 통해 연결을 ...
stack(스택)이란? > + 스택이란 쌓다 라는 의미로 스택 자료구조란 책처럼 차곡차곡 쌓아 올린 형태의 자료 구조를 의미한다. > + 데이터가 순서대로 쌓이며 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 구조를 가지고 있다. > + 스택은 정해진 방향으로만 쌓을수 있고, top으로 정한 곳을 통해서만 접근 가능하다. > + 새로 삽입된 자료는 top...
동기(Synchronous) > + 동기는 말 그대로 동시에 일어난다는 뜻이며, 데이터의 요청과 결과가 한 자리에서 동시에 일어나는 것을 말합니다. > + 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야 합니다. > + 순서에 맞춰 진행된다는 장점이
API(Application Programming Interface)란? > API란 클라이언트가 리소스를 요청할 수 있도록 서버측에서 제공된 인터페이스를 말한다. 이러한 API로 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진하며, 서로 정보를 교환
REST API에서 REST란? > REST는 Representational State Transfer 라는 용어의 약자로서 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든것을 의미하며, 2000년도 로이 필딩의 박사학위 논문에서 최초로 소개되었습니다. 로
Session이란? > + 영구적이고 상호작용적인 정보 교환을 전제하는 둘 이상의 통신 장치나 컴퓨터와 사용자 간의 대화나 송수신 연결 상태를 의미하는 보안적인 다이얼로그 및 시간대를 가르킨다. > + 클라이언트 별로 각각의 상태 정보를 서버에서 저장하는 기술이다. > + 사용했던 정보들을 서버에 저장하고 서버에 저장하기 때문에 서버에 부하가 발생한다. ...
JWT(Json Web Token)란? > Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token이다. 일반적으로 클라이언트와 서버 사이에서 통신을 할 때 권한을 위해 사용하는 토큰이다. 토큰 자체를 정보로 사용하는 Self-Contained 방식으로 정보를 안전하게 전달한다. JWT 구성 요소 > 헤더(header),...
Database란? > 사전적인 의미로는 일반적으론 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미한다. 약어로는 DB라고 불리며, DB에 우리가 사용하는 데이터를 저장하지 않는다면 연결이 끊어졌을땐 휘발성으로 인해 데이터는 사라진다. DBMS(DataBase Management System)란? > 사용자와 데이터...
입력된 데이터들이 메모리 공간에서 연속적으로 저장되어 있는 자료구조메모리상에서 연속적으로 저장되어 있는 특징을 갖기 때문에 index를 통한 접근이 용이배열의 크기가 고정적이라서 삽입/삭제가 오래 걸리며 배열 중간에 데이터가 삭제 되면 빈 공간이 생김각 노드가 '데이터
IoC(Inversion of Control)란? > + IoC란 그대로 번역을 하면 제어의 역전이라는 의미이며, 메소드나 객체의 호출 작업을 개발자가 결정하는 것이 아니라, 생성주기를 컨테이너가 관리해주는 것을 말한다. > + 즉 프로그램의 흐름을 컨테이너가 관리해주
JVM(Java Virtual Machine) 이란? > 자바 컴파일러(javac)에 의해 소스코드(.java)로 부터 변환된 자바 바이트코드(.class)를 해당 OS에 맞게 해석해주는 역할을 수행한다. 자바의 특징이라고 볼수 있는데 JAVA란 여기서 확인 가능하다. JVM의 구조 > JVM의 구조는 크게 네가지의 구성요소로 볼 수 있다. Class L...
트랜잭션(Transaction)이란? > + 데이터베이스의 트랜젝션이란 데이터의 추가, 수정, 삭제 등을 처리하는 여러 단계들을 하나로 묶는 작업을 의미한다. > 예로 들자면 은행에서 계좌 이체를 진행을 할때 송신자가 일정 금액을 보내면 송신자 계좌의 금액은 감소 되어야하고 수신자의 계좌에서는 금액이 증가되어야하는데 이 과정이 트랜잭션 단위로 이루어져야한...
MVC 패턴이란? > + 모델-뷰-컨트롤러(Model-View-Controller,MVC) 구조로 이루어져 있는 소프트웨어 디자인 패턴이다. > + MVC 패턴을 사용한다면 사용자 인터페이스로부터 비지니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비지니스 로직을 서로 영향 없이 쉽게 고칠수 있는 애플리케이션을 만들수있다. > + 모...