컴퓨터 관련 기본 지식(CS)

RDBMS와 NOSQL DBMS와 SQL DBMS(DataBase Management System) 사용자가 데이터베이스 내 데이터에 접근하도록 도와주는 시스템이다. SQL(Structured Query Language) 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 자료의 검색과 관리, DB 스키마의 생성과 수정, 데이터베이스 객체 조정 관리를 위해 고안되었다. RDBMS(Relational DataBase Management System) 관계형 데이터베이스 관리 시스템 RDB(Relational DataBase)를 관리하는 시스템이며, RDB는 관계형 데이터를 기초로 두고 모든 데이터를 2차원 테이블 형태로 표현하는 데이터베이스이다. 각각의 속성과..

CORS(Cross Origin Resource Sharing) Origin 프로토콜 + 호스트 + 포트번호 Cross Origin과 Same Origin Same Origin : 프로토콜, 호스트, 포트번호가 동일한 URI Cross Origin : Same Origin이 아닌 URI Q. 다음중https://helloworld.com 과 동일 출처(Same Origin)이 아닌것은? https://helloworld.com:8080 http://helloworld.com https://helloworld.com/members 동일 출처(Same Origin)이 되려면 프로토콜, 호스트, 포트번호가 동일해야 하므로 정답은 3번이다. 나머지 1,2번은 Cross Origin이라고 할 수 있다. CORS ..

쿠키와 세션이라는 말을 컴퓨터 관련 전공자가 아니어도 많이 들어봤을 것이다. 이 쿠키와 세션은 무엇이고 왜 쓰는 것일까? 우리는 웹 브라우저를 사용하면 HTTP 프로토콜을 사용하여 웹 서버와 통신하는 것을 안다. 그런데 HTTP는 다음과 같은 특성이 있다. HTTP의 Stateless HTTP는 무상태(Stateless) 프로토콜이다. 즉, HTTP는 상태를 유지하지 않는다는 것이다. 쉽게 말하면 클라이언트(웹 브라우저)와 서버는 요청과 응답을 주고받으면 연결이 끊어지고, 이 요청이 끊어지면 더 이상 전의 요청을 기억하지 못한다는 것이다. HTTP는 이런 특성이 있는데, 어떻게 우리는 웹 브라우저의 어떤 사이트에 로그인을 하면 장기간 지속될 수 있는 것일까? 분명히 컴퓨터를 껏다가 키면 로그인을 다시해야..

Generic(제네릭) 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에서 사용하는 것으로, 컴파일 과정에서 타입체크를 해주는 기능을 수행한다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환이 번거로움을 줄여준다. 컴파일 시에 체크하기 때문에 Collection 내부에 들어온 값이 내가 원하는 값이 원하는 값인지 별도의 로직처리를 구현할 필요가 없어진다. Wrapper class(래퍼 클래스) 기본 자료형에 대한 클래스 표현을 Wrapper class라고 한다. 기본 자료형 래퍼 클래스 int Integer boolean Boolean 자바 컬렉션에서 제네릭을 사용하기 위해서는 래퍼 클래스를 사용해야한다. null값을 반환해야 하는 경우에도 사용한다. 위의 상황을 제..

JVM 이란? Java Virtual Machine(자바 가상머신)의 약자를 따서 줄여 부르는 용어이다. JVM의 역할 JVM은 자바 애플리케이션을 클래스 로더를 통해 읽어들여와서 자바 API와 함께 실행시키는 역할을 한다. JVM은 Java와 OS사이의 중개자 역할을 수행하여 Java가 OS에 구애받지 않고 재사용을 가능하게 해준다. JVM은 메모리관리와 Garbage collection을 수행한다. JVM은 스택 기반의 스택기반의 가상머신이다. Java 프로그램의 실행과정 프로그램이 실행되면 JVM은 OS로부터 이 프로그램이 필요로 하는 메모리를 할당받는다. 자바 컴파일러(javac)가 자바 소스코드(.java)를 읽어들여서 자바 바이트코드(.class)로 변환시킨다. Class Loader를 통해 ..