본문 바로가기

Computer Science18

멀티 프로세스보다 멀티 스레드를 지향하는 이유 멀티 프로세스보다 멀티 스레드를 지향하는 이유 스레드는 프로세스 보다 더 경량이여서 프로세스보다 생성과 제거가 쉽다. 스레드는 Stack을 제외한 메모리를 공유하기 때문에 멀티 프로세스에서 데이터를 공유하기 위해 사용하는 IPC 통신의 비용부담이 감소한다. 컨텍스트 스위칭 시 자원의 손실이 줄어든다. 프로세스 간의 컨텍스트 스위칭시 단순히 CPU 레지스터 교체 뿐만이 아니라 RAM과 CPU사이의 캐쉬메모리에 대한 데이터 까지 초기화 되므로 상당한 부담이 발생한다. 멀티 프로세스와 멀티 스레드의 적절한 상황 1) 멀티 프로세스 브라우저의 각 탭(크롬) 한 프로세스가 비정상적으로 종료되더라도 다른 프로세스가 영향을 받지 않음 자원을 공유할 필요가 없음 2) 멀티 스레드 워드 프로세스와 같은 응용 소프트웨어 .. 2021. 12. 16.
HTTP와 HTTPS 란? HTTP 프로토콜 (HyperText Transfer Protocol) : 웹 상에서 웹 서버 및 웹 브라우저 간의 데이터 전송을 위한 응용계층 프로토콜입니다. 주로 HTML 문서를 주고 받는데 사용되며, TCP와 UDP를 사용하고 80번 포트를 이용합니다. HTTPS 프로토콜 (HyperText Treansfer Protocol over Secure Socket Layer) : 웹 통신 프토코롤인 HTTP의 보안이 강화된 버전의 프로토콜입니다. HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에, 웹 상에서 정보를 암호화하는 SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화합니다. HTTPS의 기본 TCP/IP 포트로 443번 포트를 사용합니다. HTTPS가 필요한 이유? : HTTP를 통해.. 2021. 12. 16.
Clustered Index와 Non-Clustered Index?? 1. Clustered Index와 Non-Clustered Index에 대해서 설명해주세요 Clustered Index는 테이블의 컬럼중 하나를 지정하여 Index로 설정하고, 물리적으로 테이블의 데이터를 재배열하는 것을 말합니다. 저장된 순서에 상관없이 지정된 index에 따라 정렬되며, key값으로 바로 데이터를 탐색합니다. 따라서 테이블 당 하나의 Clustered Index만 존재할 수 있으며, PK는 초기에 Clustered Index로 생성됩니다. 또한 물리적으로 정렬되어있기 때문에, 빠른 속도를 보입니다. 반면, Non-Clustered Index는 물리적으로 데이터를 정렬하지 않고, 별도의 데이터 페이지를 구성하는 것을 말합니다. 따라서 테이블 당 여러개의 Non-Clustered Ind.. 2021. 5. 17.
트랜잭션이 왜 필요할까? 1. 트랜잭션이 무엇인가요? 트랜잭션이란 DB의 상태를 변화시키는 하나의 논리적인 작업에 포함된 연산들의 집합입니다. DB의 상태를 변화시키는 작업은 일반적으로 하나의 작업으로 이루어지지 않습니다. 예를 들어, 은행계좌에서 금액을 이체하려 한다면, 1)A계좌의 잔액을 조회 2)A계좌의 잔액에서 이체할 금액을 빼고 저장 3)B계좌의 잔액을 조회 4)B계좌에 이제금액을 더한 뒤 저장 까지 몇가지의 과정들이 필요하고 이를 모두 합쳐 계좌 이체라는 하나의 작업단위를 구성합니다. 이렇듯 DB 상태 변화를 위한 작업에 포함된 과정(연산)의 집합을 트랜잭션이라고 합니다. 그리고 트랜잭션의 모든 과정의 수행 여부에 따라 Commit되거나 Rollback 됩니다.2. 트랜잭션의 성질에 대해 말해주세요. 트랜잭션의 성질은.. 2021. 5. 17.