1. 정의 - OSI 7계층OSI 모형. Open System Interconnection Reference Model컴퓨터 네트워크 프로토콜 디자인과 통신을 7단계로 나누어 설명한 것 - TCP/IP 4계층TCP는 신뢰성 있는 정보를 전달할 때, IP는 빠르게 전달할 때 사용됨둘을 묶어서 TCP/IP라고 부르고, 신뢰성 있는 정보를 빠르게 전달할 수 있음 2. 7계층을 나눈 이유통신을 일어나는 과정을 단계별로 파악할 수 있음7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있음 3. OSI 7계층 단계와 TCP/IP 4계층 단계요약7계층(응용 계층): 사용자와 직접 상호작용하는 응용 프로그램들이 포함된 계층6계층(표현 계층): 데이터..
Computer Science
1. HTTP - 정의HyperText Transfer Protocol 하이퍼텍스트 전송 규약클라이언트와 서버 간 하이퍼텍스트를 교환하거나 전송할 때 사용하는 통신 규약 - 작동클라이언트는 서버에 HTTP 요청 메시지를 보냄👉 서버는 클라이언트에 응답 메시지(완료 상태, 요구받은 콘텐츠 등의 요청 관련 정보 포함)를 회신함응용 계층에서 작동함: 최상위 차원에서 웹 브라우저와 웹 서버가 서로 이해하고 소통할 수 있게 돕는 언어데이터 전송은 TCP(전송 계층 프로토콜)로 이루어짐 응용 계층이 궁금하다면? ↓ ↓2024.05.29 - [Computer Science/Network] - [Network] OSI 7계층과 TCP/IP 4계층TCP가 궁금하다면? ↓ ↓2024.05.30 - [Computer Sc..
네트워크 기초에 대해 알고 싶다면? ↓2024.05.22 - [Computer Science/Network] - [Network] 네트워크 기초 1. 대역폭이란? 특정 기능을 수행할 수 있는 주파수 범위의 폭단위시간 당 전송할 수 있는 데이터의 최대 용량 2. 단위 bps(bits per second) 초당 '비트' 수잘못된 표기: 일부 BPS 혹은 Bps 등으로 표기하는 경우BPS, Bps는 Bytes per second 3. 유/무선 인터넷에서 대역폭 - 유선 인터넷에서 주파수 대역폭인터넷 회선 약정 시 500M급 100M급 인터넷이라고 표현하는데 이는 데이터 전송 대역폭을 표현10Gbit 이더넷을 사용하더라도 네트워크 상황에 따라 성능이 저하될 가능성이 있음 - 무선 인터넷에서 주파수 대역폭흔..
1. 네트워크란? - 네트워크란?컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망을 지칭노드(node)와 링크(link)가 서로 연결되어 있으며 리소스를 공유하는 집합노드- 네트워크에 속한 컴퓨터 또는 장비- 분산되어 있는 컴퓨터를 통신망으로 연결한 것- 네트워크에서 여러 장치들은 노드 간 연결을 사용하여 서로에게 데이터를 교환함 - 인터넷이란?전세계가 연결되어 있는 네트워크 중 하나여러가지 데이터를 공유하도록 구성되었으며 전 세계를 연결하는 세상에서 가장 큰 네트워크www는 인터넷을 통해 웹과 관련된 데이터들을 공유하는것 2. 처리량과 지연 시간처리량과 지연 시간은 네트워크 성능을 측정하는 두 가지 지표 - 좋은 네트워크란?많은 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적..
SQL이란? Structed Query Language 관계 데이터베이스에서 사용되는 대표적인 언어 SQL의 종류에는 정의어, 조작어, 제어어가 있다. 1. SQL 정의어(DDL) Data Definition Language 정의 : 관계 데이터베이스에서 사용될 테이블, 스키마, 도메인, 인덱스, 뷰 등을 정의(생성)하거나 수정, 제거하기 위해 사용되는 언어 종류 CREATE ALTER DROP - CREATE 1) 테이블 정의 CREATE TABLE 테이블_이름( 속성_이름 데이터_타입 [NOT NULL], PRIMARY KEY(속성_이름), UNIQUE(속성_이름), FOREIGN KEY(속성_이름) REFFERENCES 참조테이블_이름(속성_이름) ON DELETE CASCADE | SET NULL..
1. DB Connection Pool이란? - DB Connection이란? DB를 사용하기 위해 DB와 애플리케이션 간 통신을 할 수 있는 수단 DB Connection은 Database Driver와 Database 연결 정보를 담은 URL이 필요함 Java의 DB Connection은 JDBC를 주로 이용하는데, URL 타입을 사용함 - Driver type별로 지정하는 URL 예 Driver URL 설명 oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@ipaddress:1521:ORA7 oracle-DB/thin-Driver oracle.jdbc.driver.OracleDriver jdbc:oracle:oci7:@ipaddress:1521:ORA7 ora..
1. 정의 RDB에서 기본키-외래키로 연관된 두 테이블을 묶어 하나의 테이블로 만드는 방법 2. 필요성 정규화 때문 정규화란? 불필요한 데이터의 정합성을 확보하고 이상 현상의 발생을 피하기 위해 테이블을 분할하여 생성하는 것 👉 분할한 테이블을 조합해서 사용하기 위해 조인을 사용함 3. Join의 종류 예제에 사용할 테이블은 아래와 같다. lesosn 테이블 lesosn 테이블 정보 - ID(PK): NUMBER - name: VARCHAR prices 테이블 prices 테이블 정보 - ID(FK): NUMBER - PRICE: NUMBER - INNER JOIN 내부 조인 = JOIN, 조인 교집합: 두 테이블에 공통된 부분만 추출 👉 두 테이블에 모두 데이터가 있어야만 결과가 나옴 두 테이블을 연결..
1. B-tree - 정의 데이터가 정렬된 상태로 유지되어 있는 트리로 일반적인 이진 트리와 비슷하지만 노드 당 자식 노드가 2개 이상 가능한 트리 더보기 트리 관련 용어 노드: 사각형으로 표시된 한 개의 데이터 루트 노드: 가장 상단의 노드 브랜치 노드: 중간 노드 리프 노드: 가장 아래 노드 - 특징 : 균일성, 균형트리, 정렬된 상태 균일성 어떤 값에 대해서도 같은 시간에 결과를 얻을 수 있음 트리 높이가 다를 경우, 약간의 차이는 있지만 O(logN) 균형트리 루트로부터 리프까지의 거리가 일정한 트리 구조 성능이 안정화되어 있음 처음 생성 당시는 균형 트리이지만 갱신이 반복되면 서서히 균형이 깨지고, 성능도 약화됨 정렬된 상태 항상 정렬된 상태로, 특정 값보다 크고 작은 부등호 연산에 문제가 없음..
1. 인덱스란? 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조 👉 index는 데이터의 주소값을 저장하는 자료 구조. index를 활용해서 빠르게 원하는 데이터를 찾을 수 있음 WHERE절에 사용할 컬럼에 대한 효율화라고 볼 수 있음 2. 인덱스의 필요성 - table에 index가 걸려 있지 않다면? SELECT * FROM customer WHERE first_name = "Jeongyoon"; 👉 원하는 데이터를 찾고 싶을 때 table 전체를 full scan 해야 함 full scan이란? row를 하나씩 모두 확인하는 것을 의미함 시간복잡도는 O(N) 시간이 오래 걸리기 때문에 서비스에 좋지 않은 영향을 끼침 -table에 index가 걸..
1. 트리거란? 특정 테이블에서 INSERT, DELETE, UPDATE와 같은 DML문이 수행되었을 때, 데이터베이스에서 자동으로 동작하도록 작성된 프로그램 👉 사용자가 직접 호출하는 것이 아니라, DB에서 자동적으로 호출 예: 상품을 주문했을 때 자동으로 배송 내역으로 들어가는 것, 회원가입 했을 때 웰컴 쿠폰이 자동으로 발급되는 것 테이블에 부착되는 프로그램 코드 IN, OUT 매개 변수 사용 가능 2. 트리거의 유형 행 트리거: 테이블 안의 영향을 받는 행 각각에 대해 실행됨 변경 전 또는 변경 후의 행은 OLD, NEW라는 가상 줄 변수를 사용하여 읽을 수 있음 트리거 이벤트 OLD NEW INSERT X O UPDATE O O DELETE O X 문장 트리거: INSERT, UPDATE, DE..