[CS 발표] 인증과 인가
<computer_science>/면접 대비 Coding Interview2024. 4. 18. 13:25[CS 발표] 인증과 인가

1. 개요 먼저, 인증과 인가의 사전적 정의에 대해서 살펴보자. 인증 (Authentication) : 어떠한 문서나 행위가 정당한 절차로 이루어졌다는 것을 공적 기관이 증명함. 인가 (Authorization) : 인정하여 허가함. 다음과 같으며 개발에서 인증은 내가 누구인지 확인하는 행위, 인가는 내가 권한이 있는지 확인하는 행위라고 할 수 있다. 사실 말장난에 가깝다보니 헷갈리면 인가 대신 승인이라고 생각해도 좋다. 요즘 승인이라는 용어도 많이 사용한다고 함. 2. 인증과 인가 네이버 카페를 예시로 구체적인 상황으로 살펴보자 게시물을 읽으려고 포스팅 목록을 눌렀을때 '로그인이 필요합니다' 경고창과 함께 로그인 인증이 요구된다면 서버 입장에서는 현재 요청자가 카페 회원인지 누군지 몰라서 일어나는 상황..

[CS 발표] List, ArrayList, LinkedList
<computer_science>/면접 대비 Coding Interview2024. 4. 4. 08:51[CS 발표] List, ArrayList, LinkedList

1. 개요 리스트(List)는 모든 프로그래밍 언어에서 가장 유용한 자료구조 중의 하나이다. 자료구조에서 리스트는 일반적으로 연결 리스트(LinkedList, 링크드리스트)를 의미한다. 자료구조에서 리스트와 양대산맥이라고 할 수 있는 배열과 자주 비교가 되곤하는데, 기능적인 측면에서 이 둘의 가장 큰 차이점은 배열은 고정된 크기를 갖지만 리스트는 크기가 얼마든 변할 수 있다는 점이다. 배열은 할당받는 물리적인 주소값에서부터 선형으로 이어져있지만 리스트는 논리적으로 연결되어있기 때문에 삽입과 삭제가 비교적 자유롭기 때문이다. 2. List Java에서 제공하는 컬렉션 프레임워크란 객체나 데이터들을 효율적으로 관리(추가, 삭제, 검색, 저장)하기 위해서 사용하는라이브러리를 의미한다. `java.util` 패..

[CS 발표] 데이터베이스 트리거
<computer_science>/면접 대비 Coding Interview2024. 4. 1. 01:58[CS 발표] 데이터베이스 트리거

1. 개요 데이터베이스 트리거란 테이블에 대한 이벤트에 반응해 자동으로 실행되는 작업을 의미한다. 조금 더 구체적으로 이야기하면 특정 테이블에 삽입(INSERT), 수정(UPDATE), 삭제(DELETE) 등과 같은 DML(데이터 조작어, Data Manipulation Language) 문이 수행되었을 때 DBMS에서 묵시적으로 자동으로 수행되는 저장 프로시저라고 할 수 있다. Java와 같은 객체 지향 언어에서 객체가 생성되거나 소멸될 때 자동으로 호출하는 생성자나 소멸자와 같은 묵시적 수행 함수를 떠올린다면 이해가 수월할지도 모르겠다. 트리거(Trigger)는 방아쇠라는 뜻으로 방아쇠를 당기면 총기 내부에서 알아서 일련의 작업들을 실행하고 총알이 발사된다. 마찬가지로 일련의 쿼리들을 하나의 함수처럼..

[CS 발표] 메모리 Memory
<computer_science>/면접 대비 Coding Interview2024. 3. 28. 18:25[CS 발표] 메모리 Memory

1. 개요 컴퓨터 분야에서 메모리를 논하면 대부분 RAM을 의미한다. RAM은 사용자가 자유롭게 내용을 읽고 쓰고 지울 수 있는 기억장치로 컴퓨터가 켜지는 순간부터 CPU는 연산을 하고 동작에 필요한 모든 내용이 전원이 유지되는 내내 이 기억장치에 저장된다 RAM은 Random Access Memory, 임의로 접근할 수 있는 메모리라는 뜻으로 해당 의미로는 HDD 등의 기타 장치와 구분하기 힘들 수 있으나, Random Access라는 용어가 어느 위치에 접근하든 똑같은 속도로 접근하여 읽고 쓸 수 있다는 의미를 내포하므로 데이터의 물리적 위치에 따라 읽고 쓰는 시간에 차이가 발생하게 되는 HDD와 같은 기억장치들과는 구분된다. 또다른 특징으로는 전원이 공급되는 동안에만 데이터가 유지되며 전원이 꺼지면..

image