본문 바로가기

내가 만드는 개발자 교안

(23)
Every CS - Hardware 01 - 컴퓨터 구조 Hardware 01 - 컴퓨터 구조1. 컴퓨터가 이해하는 정보컴퓨터는 사람이 이해하는 방식과는 다르게 정보를 처리한다.컴퓨터는 모든 데이터를 이진수로 변환하여 처리한다.이진수는 0과 1로 이루어진 수로, 전기 신호의 ON(1)과 OFF(0) 상태를 나타내는 방법이다.따라서, 컴퓨터는 모든 정보를 이진수로 변환하고, 연산과 저장을 이진수 형태로 수행한다.이진수는 비트(bit) 단위로 표현되며, 여러 비트들이 모여 바이트(byte)가 된다.1 바이트는 8 비트로 구성되며, 컴퓨터는 이 바이트를 단위로 데이터를 다룬다.예를 들어, 1 바이트는 256가지의 서로 다른 값을 표현할 수 있다.컴퓨터는 텍스트, 이미지, 비디오 등 다양한 정보를 모두 이진수로 바꿔 처리한다.2. 컴퓨터의 핵심 부품컴퓨터의 핵심 부품..
Every CS - Network 03 - 네트워크 계층과 전송 계층 network 03 - 네트워크 계층과 전송 계층1. 네트워크 계층 - IP1. IP의 목적과 특징IP의 목적 : 주소지정과 단편화주소지정 : 네트워크 간의 통신 과정에서 호스트를 특정하는 것단편화 : 데이터를 여러 IP패킷으로 올바르게 쪼개어 보내는 것IP의 특징 : 신뢰할 수 없는 통신, 비연결형 통신1. 주소 지정과 단편화주소 지정은 IP주소를 통해 이루어지며, 이는 IP 패킷 해더를 통해 알 수 있다.| 참고로, 오늘날의 IP는 IPv4와 IPv6의 2가지 종류가 있고, 둘 중 IPv4가 더 많이 사용된다.송신지 IP 주소와 수신지 IP 주소 필드에는 송수신지를 식별할 수 있는 IP 주소가 명시된다.하나의 IP주소는 총 32비트의 크기로 구성되고, 0~255 범위의 10진수 4개로 표기된다.이 때..
Every CS - Network 02 - 물리 계층과 데이터 링크 계층 Network 02 - 물리 계층과 데이터 링크 계층01. 이더넷이더넷이란 통신 매체를 통해 신호를 송수신하는 방법, 데이터 링크 계층에서 주고받는 데이터 형식등이 정의된 기술을 말한다.현재 대부분의 LAN은 이더넷을 기반으로 구현되어 있다.이더넷 표준이더넷은 IEEE 802.3이라는 이름으로 국제 표준화된 기술이다.IEEE 802.3은 '이더넷과 관련된 다양한 표준들의 모음'이라고 할 수 있고, 뒤의 알파벳을 통해 버전을 나타낸다.이더넷의 종류를 외울 필요는 없다.밑의 2가지만 기억하면 된다.오늘날의 LAN 대부분이 이더넷 표준을 따르기 때문에 대다수의 LAN 장비들이 특정 이더넷 표준을 따른다.이더넷 표준이 달라지면 통신 매체의 종류를 비롯한 신호 송수신 방법, 나아가 최대 지원 속도가 달라질 수 있..
Every CS - Network 01 - 네트워크 개요 네트워크 01 - 네트워크 개요네트워크 : 여러 대의 장치가 그물처럼 연결되어 정보를 주고받는 통신망1. 네트워크 개요1-1. 네트워크의 기본 구조네트워크의 형태 : 노드와 간선으로 이루어진 그래프의 형태노드와 노드 사이의 연결 구조를 네트워크 토폴로지 라고 한다. 이 노드의 배치 방식에 따라 망형, 트리형, 링형, 성형, 선형 등으로 나눈다. 이때, 네트워크의 가장자리에 위치하면서 네트워크를 통해 주고받는 정보를 최초로 송신, 최종적으로 수신하는 노드를 호스트라고 한다. 요청을 보내는 클라이언트와 응답을 보내는 서버간에 정보를 주고 받는다.1-2. LAN과 WANLAN(Local Area Network) : 근거리 네트워크 -> 공유기를 기준으로 구축된 네트워크WAN(Wide Area Network) ..
Every CS - 데이터베이스 06 - NoSQL DB 06 - NoSQL1. 개요NoSQL (Not Only SQL): 테이블 형태가 아닌 다양한 형태로 데이터를 저장할 수 있는 데이터베이스 유형이다.NoSQL은 높은 부하를 감당하거나 대용량 데이터를 다루는 분산 환경에서 빛을 발한다.NoSQL의 주요 장점은 확장성, 유연성, 가용성, 성능이다.2. NoSQL의 유형1. 키-값 데이터베이스키-값 데이터베이스는 데이터를 키와 값의 쌍으로 저장한다. 이는 NoSQL의 가장 간단한 형태다.대표적으로 Redis, Memcached 등이 있으며, 이들은 주로 메모리에 데이터를 저장한다.이런 데이터베이스는 가벼운 정보를 저장하거나 다른 주요 데이터베이스를 보조하는 용도로 활용된다.2. 문서지향 데이터베이스문서지향 데이터베이스는 데이터를 도큐먼트 형식으로 저장하며..
Every CS - 데이터베이스 05 - 데이터베이스 설계 DB 05 - 데이터베이스 설계01. ER 다이어그램ER 다이어그램(ERD) : 데이터베이스를 구성하는 요소들의 관계를 나타내는 그림목적 : 데이터베이스의 저장되는 엔티티의 구조를 모델링하는 것(즉, 시각적으로 설계하는 것)효과 : 추후에 데이터베이스를 확장하거나 수정할 때, 어떤 부분이 영향을 받는지 쉽게 파악할 수 있어, 유지보수가 용이하고 원활한 소통이 가능하다.ERD 표기 방식 1 - 피터 첸 표기법이런 표기방식은 개념적으로 엔티티를 모델링하는 데에 매우 유용하다.하지만 엔티티가 많아질 경우 그림이 다소 복잡해지고 RDBMS 상에서 어떻게 테이블의 형태로 표현되는지 한 눈에 파악하기 어렵다.따라서, 요즘에는 IE 표기법(새 발 표기법, 까마귀 발 표기법)이라고 하는 ERD 표기 방식을 사용한다.E..
Every CS - 데이터베이스 04 - SQL 심화 DB 04 - SQL 심화 : 효율적인 쿼리 사용01. 서브 쿼리와 조인서브 쿼리다른 SQL 문이 포함된 SAL문조인2개의 테이블을 하나로 합치는 것예시CREATE TABLE users ( user_id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE, birthdate DATE, registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP);CREATE TABLE posts ( post_id INT PRIMARY KEY AUTO_INCREMENT, user_id INT, title VARCHAR(50) NOT NUL..
Every CS - 데이터베이스 03 - SQL DB 03 - SQLSQL 명령은 크게 DDL(데이터 정의 언어), DML(데이터 조작 언어), DCL(데이터 제어 언어), TCL(트랜잭션 제어 언어) 로 나누어 진다.1. DDL(Data Definition Language) - 데이터 정의 언어1. CREATECREATE DATABASE NAME_OF_DATABASE;CERATE 명령은 데이터베이스(CREATE DATABASE), 테이블(CREATE TABLE), 뷰(CREATE VIEW), 인덱스(CREATE INDEX), 사용자(CREATE USER)등 다양한 대상을 정의한다.테이블을 생성하는 경우에는 특정 필드의 제약 조건을 명시할 수 있다.예시 1) CREATE TABLE users ( user_id INT PRIMARY KEY AUTO..
Every CS - 데이터베이스 02 - RDBMS DB02 - RDBMS1. 테이블의 구성 - 필드와 레코드필드 타입 : 필드로 사용 가능한 데이터 유형필드 타입의 종류키 : 테이블 내의 특정 레코드를 식별할 수 있는 필드의 집합 1. 후보 키 : 테이블의 한 레코드를 식별하기 위한 필드의 최소 집합 - 유일성과 최소성을 모두 만족하는 키 2. 복합 키 : 두 필드 이상으로 구성된 후보 키 3. 슈퍼 키 : 레코르를 식별하기 위한 필드의 집합 - 유일성은 만족하나 최소성은 만족하지 않는 키 4. 기본 키 : 한 레코드를 식별하도록 선정되어 테이블당 하나만 존재할 수 있는 키 -> Not NULL 5. 외래 키 : 다른 테이블의 기본 키를 참조하는 필드 6. 대체 키 : 기본 키가 아닌 후보 키2. 테이블의 관계1. 일대일..
Every CS - 데이터베이스 01 - 데이터베이스 일반 데이터베이스 01 - 데이터베이스 일반데이터베이스와 DBMS1. 데이터베이스(Database)여러 원하는 기능을 동작시키기 위해 마땅히 저장해야 하는 정보의 집합 데이터베이스관리 시스템(DBMS : Database Management System)데이터베이스를 관리하기 위한 프로그램1. 관계형 데이터베이스 관리 시스템(RDBMS) : MySQL, MariaDB, PostgreSQL 등 이 있음.2. NoSQL 데이터베이스 관리 시스템(NoSQL DBMS)2. 서버로서의 DBMS응용 프로그램이 DBMS를 이용하는 과정은 클라이언트-서버 간의 동작과 유사하다.주로 TCP 연결을 맺으며, 때론 인증이 필요하기도 하다.DBMS클라이언트는 DBMS에 쿼리를 보낸다.SQL : RDBMS에서 데이터를 조작하고 관리하..