CS 7

인덱스란 ?

🔗 참고자료 [SQL] Index(인덱스)Index는 RDBMS에서 검색 속도를 높이기 위한 기술이다.TABLE의 컬럼을 색인화(따로 파일로 저장)하여 검색시 해당 TABLE의 레코드를 Full Scan 하는게 아니라 색인화 되어있는 INDEX 파일을 검색하여 검색속도를 빠르게 한다.RDBMS에서 사용하는 Ihttps://velog.io/@gillog/SQL-Index인덱스[MySQL] B-tree, B+tree란? (인덱스와 연관지어서)B-tree는 인덱스를 이루고 있는 자료구조의 일종이다. B-tree에서 'B'는 정확히 어떤 의미라고 밝혀진 바는 없다. 아마 'Balanced'를 의미하는 'B'가 아닐까라는 추측만 있다. MySQL의 DB engine인 InnoDB는 B+tree로 이뤄져있는데, B..

DBMS & RDBMS

출처 : https://www.simplilearn.com/tutorials/dbms-tutorial/dbms-vs-rdbmsDBMS (DataBase Management System)사용자와 DB 사이에서 사용자의 요구에 따라 데이터를 생성 및 DB를 관리해주는 소프트웨어 RDBMS(Related DataBase Management System)관계형 데이터 모델에 기초를 둔 데이터 베이스를 관리해주는 소프트웨어 DBMSRDBMS데이터를 파일로 저장데이터를 테이블 형식으로 저장계층적 형식 or 탐색 형식으로 저장Primary Key라는 식별자가 있고, 테이블 형식으로 저장함 표준화 x표준화 o데이터보관에 있어서 보안 제공 x- ACID를 위한 무결성 제약을 정의함 - A (Atomocity) : 원자성..

동기화/동기화기법

💡Q. 동기화란?: 특정 자원에 접근할 때 한개의 프로세스만 접근하게 하기: 프로세스들 사이의 수행 시기를 맞추는 것 실행 순서 제어를 위한 동기화프로세스를 올바른 순서대로 실행하기상호 배제를 위한 동기화동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근하게 하기ex ) 생산자와 소비자 문제 : 프로세스나 스레드가 자신만의 독자적인 메모리 주소공간을 사용하지 않고 공유하는 메모리 주소공간이 있을 경우 발생하는 문제⇒ count(총합)이란 데이터를 공유하고 있기에 문제 [상호 배제를 위한 동기화의 3가지 원칙]상호배제 : 한 프로세스가 임계구역에 진입했다면 다른 프로세스는 임계 구역에 들어올 수 없다.진행 : 임계 구역에 어떤 프로세스도 진입하지 않았다면 임계구역에 진입하고자 하는 프로세스는 들어갈 수..

HTTP/HTTPS/대칭키/비대칭키

💡Q. HTTP란? Hyper Text Transfer Protocol서버 http와 클라이언트 http 모델간의 데이터를 주고받기 위한(통신) 프로토콜이다. (80번 포트)(웹서버) ↔ (브라우저)간의 웹페이지 전달을 위해 사용됨 [HTTP 과정]HTTP는 Transport Protocol 중 TCP를 사용⇒ 데이터 전송 이전에 미리 연결을 맺는 메시지(ACK)를 교환하는 연결 지향 방식 사용HTTP 서버는 80번 포트를 사용TCP 연결을 위한 메시지(ACK) 가 완료되면 ⇒ HTTP 메시지들을 서버와 클라이언트 간의 송수신 진행HTTP 메시지 교환이 끝나면 ⇒ TCP 연결 종료 [HTTP 특징]stateless : 웹페이지가 클라이언트에게 어떻게 해석되는지는 아무런 상관 x (전달만!한다)서버는 이전..

CS/네트워크 2023.08.10

3-way & 4-way Handshaking

TCP 3 - Way HandShaking** 일반적인 공격들은 TCP 연결관리의 취약성을 악용한다. TCP/IP 프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정 💡과정 요약Client - TCP SYN → ServerServer - TCP SYN ACK → ClientClient - TCP ACK → Server SYN(Synchronize Sequence Numbers) ACK(Acknowledgment) 전반적인 설명클라이언트 애플리케이션 프로세스 → 서버에 있는 프로세스와 연결하고 싶은 fact — tell → 클라이언트 TCP [3-Way HandShaking]1단계클라이언트 TCP는 서버 TCP..

CS/네트워크 2023.08.09

TCP/UDP

TCP/UDP 정의 transport Layer(전송계층)에서 사용하는 프로토콜 전송계층?⇒ 데이터의 전달 송신자(보내는 사람), 수신자(받는 사람)을 연결하는 통신서비스를 제공하는 계층 데이터를 보내기 위해 사용하는 프로토콜 = TCP/UDP TCP (Transmission Control Protocol) 전송을 제어하는 프로토콜 ⇒ 인터넷상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜 IP : 데이터의 배달 TCP : 데이터의 패킷을 추적 및 관리 TCP만의 특징 ⇒ 연속성보다 신뢰성있는 전송이 중요할 때에 사용하는 프로토콜 연결 지향 방식으로 패킷 교환 방식을 사용 └ 패킷을 전송하기 위한 논리적 경로를 배정함 높은 신뢰성을 보장 흐름 제어 및 혼잡 제어 3-way han..

CS/네트워크 2023.08.09

소프트웨어공학이란 ?

학문배경 문명 발전의 역사 제1의 물결 (농업혁명) : 100만년 전 ➡ 언어, 사유 제2의 물결 (산업혁명) : 16-18세기 ➡ 기계, 물질, 몸, 입자/에너지, 존재론, 객체/대상, 아날로그 제3의 물결 (정보혁명) : 20세기 ➡ 정보/정신/마음, 파동/엔트로피, 인식론, 주체/관찰자, 디지털 제4의 물결 (지식혁명/2차정보혁명) : 현재 제5의 물결 (지혜혁명) 문명의 진화 저개발국가 : 법학, 경제학, 화학, 토목 건설 등 토대를 다짐 중진국가: 경영학, 기계, 교통, 항공 등 제품을 만듬 선진국가: 철학, 고고학, 인류학 등 인문학 및 융합공학 등 창의성을 다룸 공학정의 (HOW 의 관점) : creative application of scientific principles to design..