[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와 같은 기억장치들과는 구분된다. 또다른 특징으로는 전원이 공급되는 동안에만 데이터가 유지되며 전원이 꺼지면..

<computer_science>/자료구조 Data Structure2024. 1. 5. 16:39[자료구조] 스택 Stack, Last In First Out (with Java, BaekJoon No.10828)

0. Intro 컴퓨터에서 굉장히 많이 쓰이는 자료구조이며 대부분 프로그래밍 언어에서 기본으로 내장되어 있는 배열이나 리스트와 같은 자료구조를 제외하면 자료구조에서 가장 먼저 소개되곤 하는 자료구조인 스택은 스택이라는 말은 평소 일상 생활에서도 가끔 사용하는데 내 또래 같은 경우에는 League of Legend라는 게임의 나서스 캐라는 캐릭터가 모티브가 되어, 차근차근 쌓아나간다. 아니면 참고 버틴다. 등의 의미로 사용되곤한다. 예를 들면 분노 1스택 적립, 이라던가 업보 1스택 적립 등등 ㅋㅋ 사전적 정의 또한 마찬가지 스택은 쌓다 나서스 스택 분노 1스택 적립 사전적 정의 실제 활용 사례 ( 실행취소, 웹 뒤로가기 1. MyStack 직접 구현 import java.util.Scanner; publ..

<computer_science>/네트워크 Network2023. 9. 1. 16:33[파편조각 - HTTP 웹 기본 지식] 인터넷 네트워크

김영한 강의 - - 인터넷 통신 - 인터넷에서 컴퓨터 둘은 어떻게 통신할까? 클라이언트 컴퓨터와 서버 컴퓨터 두 대가 바로 옆에 붙어있다면 물리적으로 케이블을 연결하여 "Hello World"와 같은 데이터를 바로 주고 받으면 될 것. 하지만 통신이 필요한 컴퓨터 간의 거리가 매우 멀 경우, 예를 들어 나는 한국인데 데이터를 미국이나 영국까지 보내야 할 경우에는 직접 케이블을 연결시켜야겠다는 엄두조차 못낼 것이다. 이런 경우 우리는 인터넷 망을 통해서 메세지를 보내야한다. 이 경우는 위의 경우처럼 그렇게 단순하지 않다. 수많은 중간 노드 서버들을 거쳐서 데이터를 목적지까지 안전하게 보내야한다. 이러한 수많은 복잡한 상황을 잘 헤쳐나가도록 하기 위한 규칙이 바로 인터넷 프로토콜(IP, Internet Pr..

image