🖥CS/기술면접대비🔎

    조인의 종류

    조인의 종류

    기술면접 대비 - 조인(JOIN) 오늘은 조인과 조인의 대표적인 종류들에 대해서 정리해보고자 한다. 조인(JOIN) 조인이란 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것을 말한다. INNER JOIN(내부 조인) 왼쪽 테이블과 오른쪽 테이블의 두 행이 모두 일치하는 행이 있는 부분만 표기한다. SELECT * FROM TableA A INNER JOIN TableB B ON A.key = B.key LEFT OUTER JOIN(왼쪽 조인) LEFT OUTER JOIN은 테이블 B의 일치하는 부분의 레코드와 함께 테이블 A를 기준으로 완전한 레코드를 생성한다. 만약 테이블 B에 일치하는 항목이 없으면 해당 값은 null 값이 된다. SELECT * FROM TableA A..

    인덱스

    인덱스

    기술면접 대비 - 인덱스(Index) 오늘은 인덱스와 이전 부트캠프 프로젝트 진행 당시 적용하였던 Full Text Index / Ngram Parser에 대해 다시 한 번 정리해보고자 한다. Full Table Scan 순차 접근 원하는 데이터를 얻기 위하여 데이터가 저장된 목록 중 모든 데이터 요소를 차례로 조사하여 원하는 데이터를 찾아 내는 방식. (만약 약 1억 건의 데이터가 있다면 1억 번의 데이터 조회가 발생할 수도) 인덱스(Index) 인덱스는 데이터를 빠르게 찾을 수 있는 하나의 장치이다. 일반적으로 책 마지막 장에 있는 '찾아보기'와 유사하다고 할 수 있다. 원하는 내용(데이터)를 얻기 위해 책을 처음부터 끝까지 훑는 것은 상당히 비효율적이기에 '찾아보기'를 보고 원하는 데이터를 얻는 방..

    트랜잭션

    트랜잭션

    기술면접 대비 - 트랜잭션(Transaction) 오늘은 트랜잭션에 대해서 알아보고자 한다. 트랜잭션(Transaction) 트랜잭션은 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말한다. 데이터베이스에 접근하는 방법은 쿼리(Query)이므로, 즉 여러 개의 쿼리들을 하나로 묶는 단위를 말한다. 트랜잭션의 특징으로는 원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 지속성(Durabiltiy)이 있으며 통칭 ACID 특징이라 한다. ACID 트랜잭션은 데이터의 무결성을 보장한다. 데이터의 무결성 데이터의 정확성, 일관성, 유효성을 유지하는 것을 말한다. 데이터의 무결성이 보장되어야 데이터의 중복, 누락, 잘못된 논리 관계로 인한 문제 등이 발생..

    ERD와 정규화 과정

    ERD와 정규화 과정

    기술면접 대비 - ERD와 정규화 과정 오늘은 ERD와 정규화 과정에 대하여 간단하게 정리해보고자 한다. ERD(Entity Relationship Diagram) ERD는 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 하며, 릴레이션(테이블) 간의 관계들을 정의한 것이다. Entity(엔터티) 엔터티는 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미한다. ERD의 중요성 ERD는 시스템의 요구 사항을 기반으로 작성되며 이 ERD를 기반으로 데이터베이스를 구축한다. 데이터베이스를 구축한 이후에도 디버깅 또는 비즈니스 프로세스 재설계가 필요한 경우에 설계도 역할을 담당하기도 한다. 정규화 정규화란 릴레이션(테이블) 간의 잘못된 종속 관계로 인하여 데이터베이스 이상 현상이 일어..

    http와 https

    http와 https

    기술면접 대비 - http와 https의 차이 오늘은 http와 https에 대해 알아보고자 한다. HTTP(HyperText Transfer Protocol) HTTP는 인터넷에서 웹 서버와 사용자 컴퓨터에 설치된 웹 브라우저 사이에 문서를 전송하기 위한 통신 규약(Protocol)이다. 즉, 인터넷에서 하이퍼텍스트(HyperText)를 전송(Transfer) 하기 위해 사용되는 통신 규약(Protocol)인 것이다. HTTP 서버는 기본 포트인 80번 포트에서 서비스 대기 중이며, 클라이언트(웹 브라우저)가 TCP 80 포트를 사용해 연결하면 서버는 요청에 응답하면서 자료(정보)를 전송한다. HTTP는 정보를 '텍스트'로 주고받는다. 단순 텍스트를 주고받기 때문에 네트워크에서 전송 신호를 인터셉트하는..

    [Java] static, final, staic final 차이

    [Java] static, final, staic final 차이

    기술면접 대비 - static, final, staic final 차이 들어가며 오늘은 자바의 static, final 키워드 그리고 static final 간의 차이를 정리해보고자 한다. static public class PlusClass{ static int field1 = 15; static int plusMethod(int x, int y){ return x+y; } public static void main(String[] args){ int ans1 = PlusClass.plusMethod(15,2); int ans2 = PlusClass.field1 + 2; } } static은 "고정된" 이라는 의미를 가진다. 메모리를 공유하여 사용하기 때문에 필요할 때 바로바로 호출하거나 데이터를 가져..

    [Java] 접근 제어자(private, default, protected, public)

    [Java] 접근 제어자(private, default, protected, public)

    기술면접 대비 - 접근 제어자 들어가며 오늘은 자바의 접근 제어자(Access Modifier)에 대해 정리해보고자 한다. 접근 제어자(Access Modifier) 객체 지향에서 사용자는 정보 은닉(data hiding)을 통해 언제나 최소한의 정보만으로 프로그램을 손쉽게 사용할 수 있다. 정보 은닉은 사용자가 알 필요 없는 정보를 숨겨야 한다는 개념으로 자바는 이러한 정보 은닉을 위해 접근 제어자라는 기능을 제공하며 자바는 접근 제어자를 사용하여 변수나 메서드의 사용 권한을 설정해 정보 은닉을 구체화 할 수 있다. private ➡ default ➡ protected ➡ public 순으로 보다 많은 접근을 허용한다. private 접근 제어자가 private으로 설정되어있다면 private이 붙은 ..

    Java Object Class

    Java Object Class

    기술면접 대비 - Java Object Class 들어가며 오늘은 Java Object 클래스에 대해 정리해보고자 한다. Object 시조, 모든 클래스들의 조상격의 클래스 Object는 JAVA 내 있는 모든 클래스들을 공통분모로서 묶어주는 역할을 수행한다. 어느 클래스가 그 어떤 상속도 받고 있지 않다면 기본적으로 Object 클래스를 상속받게 된다. 이를 통해 각각의 클래스들이 갖고 있어야하는 공통적인 기능을 Object 클래스의 메서드를 통해서 구현할 수 있도록 해준다. Object 클래스의 메서드 메서드 설명 protected Object clone() 해당 객체의 복제본을 생성하여 반환함. boolean equals (Object obj) 해당 객체와 전달받은 객체가 같은지 여부를 반환함. p..