본문 바로가기

분류 전체보기101

Deadlock의 해결 방법 / 쿠키와 세션의 차이점. Deadlock이란? 해결할 수 있는 방안은? 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태를 가리킨다. 예를 들어 하나의 사다리가 있고, 두 명의 사람이 각각 사다리의 위쪽과 아래쪽에 있다고 가정한다. 이때 아래에 있는 사람은 위로 올라 가려고 하고, 위에 있는 사람은 아래로 내려오려고 한다면, 두 사람은 서로 상대방이 사다리에서 비켜줄 때까지 하염없이 기다리고 있을 것이고 결과적으로 아무도 사다리를 내려오거나 올라가지 못하게 되듯이, 전산학에서 교착 상태란 다중 프로그래밍 환경에서 흔히 발생할 수 있는 문제이다. 해결 방안 데드락이 발생하지 않도록 예방(prevention) 하기 데드락 발생 가능성을 인정하면서도 적절하게 회피(a.. 2022. 9. 20.
Transaction의 의미와 ACID 규칙 / Primary Key와 Foreign Key Transaction의 의미와 ACID 규칙에 대해서 설명해주세요. Transaction 트랜잭션(Transaction 이하 트랜잭션)이란, 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다. 데이터베이스의 상태를 변화시킨다는 것은 아래의 질의어(SQL)를 이용하여 데이터베이스를 접근 하는 것을 의미한다. SELECT UPDATE INSERT DELETE ACID ACID(원자성, 일관성, 고립성, 지속성)는 데이터베이스 Transaction(트랜잭션)이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어이다. 원자성 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력이다. 트랜잭션이 DB에 모두 반영되거나, 전혀 반영되지 않거나를 뜻한다. All.. 2022. 9. 16.
RDB와 NoSQL / Inner Join과 Left (Outer) Join RDB와 NoSQL의 뜻과 차이점, 장단점 RDBMS(DataBase Management System) 관계형 데이터베이스 관리 시스템을 의미합니다. 장점 정해진 스키마에 따라 데이터를 저장하여야 하므로 명확한 데이터 구조를 보장하고 있습니다. 또한 관계는 각 데이터를 중복없이 한 번만 저장할 수 있습니다. 단점 테이블간테이블 간 관계를 맺고 있어 시스템이 커질 경우 JOIN문이 많은 복잡한 쿼리가 만들어질 수 있습니다. 성능 향상을 위해서는 서버의 성능을 향상 시켜야하는 Scale-up만을 지원합니다. 이로 인해 비용이 기하급수적으로 늘어날 수 있습니다. 스키마로 인해 데이터가 유연하지 못합니다. 나중에 스키마가 변경 될 경우 번거롭고 어렵습니다. NoSQL(Not Only SQL) RDB 형태의 관계.. 2022. 9. 15.
OSI 7계층 / TCP와 UDP OSI 7계층에 대해 설명해주세요. OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 응용 계층(Application Layer) 응용 계층(Application Layer, 7계층)에서는 OSI 7계층 모델에서 최상위 계층으로 사용자가 네트워크 자원에 접근하는 방법을 제공한다. 표현 계층(Presentation Layer) 표현 계층(Presentation Layer, 6계층)에서는 응용 계층으로부터 전달받은 데이터를 읽을 수 있는 형식으로 변환하는데 표현 계층은 응용 계층의 부담을 덜어주는 역할이 되기도 한다. 세션 계층(Session Layer) 세션 계층(Session Layer, 5계층)에서는 두 컴퓨터 간의 대화나 세션을 관리하며, 포트(Port)연결이라고도 한.. 2022. 9. 15.
Stack과 Queue / Array와 Linked List Stack과 Queue 자료구조와 차이점 스텍(Stack) 스텍(Stack) 쌓다, 라는 의미로 데이터를 차곡차곡 쌓아올린 형태의 자료 구조를 말한다. 데이터가 순서데로 쌓이며 가장 마지막의 순서로 데이터가 먼저 삽입/삭제되는 구조를 가지고 있다. 보드게임 "젠가"로 예를 들자면 블럭을 쌓으면 가장 위의 블록부터 뺄 수 있도록 룰이 있는것이다. 예시) 웹 브라우저 방문기록(뒤로가기) 실행 취소 역순 문자열 만들기 후위 표기법 계산 큐(Queue) 큐(Queue) 는 대기 행렬, 동사로 줄을 서서 기다리다 라는 말로 사용되곤 한다. 스텍(Stack) 와 반대로 가장 첫 번째의 순서로 데이터가 삽입/삭제되는 구조를 가지고 있다. FIFO(First In First Out) 구조라고도 한다. 스텍과 똑같이 보.. 2022. 9. 14.
백준 2588 파이썬 문제 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다. 출력 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. 문제가 처음에는 어렵게 느껴졌었지만 풀이를 해보면 생각보다 정말 간단한 문제였다. 정답 코드 a = int(input()) b = input() print(a * int(b[2])) print(a * int(b[1])) print(a * int(b[0])) print(a .. 2022. 9. 13.