Book

Book/개발 관련 분야 정리

[CS 전공지식노트] 조인의 종류와 원리

Join 두 개 이상의 테이블을 묶어 하나의 결과물로 만드는 것 MySQL - JOIN / MongoDB - lookup 이라는 쿼리로 처리할 수 있다. 조인의 종류 내부 조인(Inner Join): 왼쪽 테이블과 오른쪽 테이블의 두 행이 모두 일치하는 행이 있는 부분만 결과 테이블에 표기 왼쪽 조인(Left Outer Join): 왼쪽 테이블의 모든 행이 결과 테이블에 표기 오른쪽 조인(Right Outer join): 오른쪽 테이블의 모든 행이 결과 테이블에 표기 합집합 조인(Full Outer Join): 두 개의 테이블을 기반으로 조인 조건에 만족하지 않는 행까지 모두 표기 SQL JOIN 시각화 사이트 https://sql-joins.leopard.in.ua/ 내부 조인 두 테이블 간 교집합 S..

Book/개발 관련 분야 정리

[CS 전공지식노트] 데이터베이스 인덱스

인덱스(Index) 데이터 베이스의 테이블 안에서 데이터를 빠르게 찾을 수 있는 하나의 장치이다. 인덱스는 책의 마지막 부분에 있는 색인과 같다. 책의 수많은 본문이 있고 그 본문 안에 찾고자 하는 부분을 색인을 통해서 빠르게 찾을 수 있다. 이와 같이 인덱스를 설정하면 테이블에서 찾고자 하는 데이터를 빠르게 찾을 수 있다. B-Tree 인덱스는 보통 B-tree라는 자료구조로 이루어져있으며 트리는 루트 노드, 리프 노드, 브랜치 노드로 나뉜다. 트리 탐색은 루트 노드부터 탐색하여 브랜치 노드를 거쳐 리프노드까지 내려오면서 탐색한다. 인덱스가 효율적인 이유와 대수확장성 인덱스가 효율적인 이유는 효율적으로 모든 요소에 접근할 수 있는 균형잡힌 트리 구조와 트리 깊이의 대수 확장성 때문이다. 대수확장성이란 ..

Book/개발 관련 분야 정리

[CS 전공지식노트] 데이터 베이스 종류

관계형 데이터 베이스(RDBMS, Relation DataBase Manage System) 행과 열을 가지는 표 형식의 데이터를 저장하는 형태의 데이터 베이스 SQL(Structured Query Language)이라는 언어를 사용하여 조작한다. MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, Oracle Database 더보기 관계형 데이터 베이스의 경우 표준 SQL은 지키지만 각각의 제품에 특화시킨 SQL을 사용하는 경우도 있다. ex) 오라클 - PL/SQL, SQL Server - T-SQL, MySQL - SQL .. MySQL 대부분의 운영체제와 호환되며 현재 가장 많이 사용하는 관계형 데이터 베이스로 C, C++로 만들어졌다. MyISAM 인덱스 압..

Book/개발 관련 분야 정리

[CS 전공지식노트] IP 주소

컴퓨터와 컴퓨터 간의 통신은 흔히 IP 주소 기반으로 통신한다고 알고 있지만 정확하게는 IP 주소에서 ARP 프로토콜을 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신한다. 주소 결정 프로토콜(ARP, Address Resolution Protocol) IP 주소(가상주소)를 MAC(실제 주소) 주소로 변환해주는 요청과 응답으로 구성된 프로토콜로 라우팅 되지 않는 단일 네트워크에서만 동작한다. IP와 MAC 주소를 캡슐화 하기 때문에 L2와 L3 사이에 있는 프로토콜로 생각하면 된다. IP ➡️ MAC 역순 주소 결정 프로토콜(RARP, Reverse Address Resolution Protocol) MAC ➡️ IP ARP 확인하는 방법 arp -a 더보기 IP 주소 (Internet Prot..

Book/개발 관련 분야 정리

[CS 전공지식노트] 네트워크 기초(미완)

네트워크란? 노드(Node)와 링크(Link)가 서로 연결되어 있으며 리소스를 공유하는 집합 노드 서버, 라우터, 스위치 등 네트워크 장치 링크 유선 또는 무선 처리량과 지연 시간 네트워크 구축 시 좋은 네트워크로 만드는 것이 중요하다. 좋은 네트워크란? 많은 처리량을 처리할 수 있다. 지연 시간이 짧다. 장애 빈도가 적다. 좋은 보안을 갖추고 있다. 처리량(Throughput) 링크를 통해 전달되는 단위 시간당 데이터 양 단위 bps(bits per second), 초당 전송/수신되는 비트 수 사용자들이 많이 접속할 때 마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙 등에 영향을 받는다. ✔️ 대역폭 주어진 시간 동안 네트워크 연결을 통해 흐를 수..

Book/개발 관련 분야 정리

[CS 전공지식 노트] 프로그래밍 패러다임

더보기 패러다임(Paradigm)이란? 어떤 한 시대 사람들의 견해나 사고를 근본적으로 규정하고 있는 테투리로서의 인식의 체계, 또는 사물에 대한 이론적인 틀이나 체계를 의미하는 개념 - 위키백과 https://ko.wikipedia.org/wiki/%ED%8C%A8%EB%9F%AC%EB%8B%A4%EC%9E%84 프로그래밍 패러다임(Programming Paradigm)이란? 프로그래머에게 프로그래밍의 관점을 갖게 해주는 역할을 하는 개발 방법론 어떤 언어는 특정 패러다임을 지원함. ex) Java(객체지향) jdk 1.8부터 함수형 프로그래밍 패러다임 지원 - 람다식, 생성자 레퍼런스, 메서드 레퍼런스 등 jdk 1.8부터 선언형 프로그래밍 패러다임 지원 - 스트림(Stream)같은 API 프로그래밍..

Smile :DK
'Book' 카테고리의 글 목록