📚요약
지난 시간에 이어 CS 지식을 배워가겠습니다.
📖CS 지식 기초
📄컴퓨터 구조와 운영체제
📑컴퓨터 구조의 설계와 구현
하드웨어의 구성
- CPU(중앙처리장치)
- 제어장치, ALU, 레지스터
- ISA(명령어 집합 구조), Microarchitecture(Intel, AMD)
- 산술&논리 명령, 실행 제어 명령, 데이터 제어 명령, 기타
- 설계 철학: CISC, RISC
- 명령어 파이프라인
- Memory(주기억장치)
- Storage(보조기억장치)
- I/O Devices(입출력 장치)
기억장치의 계층 구조
- 레지스터
- 캐시 메모리
- 주기억장치
- 보조기억장치
📑프로그램의 번역과 실행
고수준, C, 어셈블리, 기계어
원시 코드 → 어셈블리 코드 → 목적 코드
컴파일러, 인터프리터, 하이브리드(가상 기계)
링커(연결), 로더(실행)
라이브러리
📑운영체제의 역할과 구조
시스템 소프트웨어 / 응 소프트웨어
컴퓨터 시스템 자원 관리 → 프로세스 관리, 메모리 관리, 파일 시스템 관리, 입출력 장치 관리
분류
- 대상: 범용 / 내장형
- 사용자: 단일 / 다중
- cpu: 단일 / 다중
- 작업 방식: 시분할 / 다중
운영체제 커널(kernel)
시스템 콜
📑프로세스 관리와 스케줄링
프로세스
생명주기: Start, Ready, Waiting/Blocked, Running, Terminated
스레드: 싱글, 멀티
동시성
스케줄링: FCFS, SJF, SRTF
선점 방식 / 비선점 방식
📑메모리와 입출력 관리
프로세스(cpu 시간에 대한 추상화), 가상메모리(메모리 공간에 대한 추상화), 파일 시스템(입출력 장치에 대한 추상화)
가상메모리
MMU
세그먼트
페이징
- page fault
참조의 지역성(시간적 지역성, 공간적 지역성)
TLB
📑동기화 문제
busy waiting
atomic lock
📄데이터베이스
📑데이터의 구조화와 관계형 데이터베이스
데이터 베이스: 통합 데이터, 저장 데이터, 운영 데이터, 공용 데이터
특징: 실시간 접근성, 동시 공유, 지속적인 변화, 내용에 의한 참조
개체, 속성, 관계
데이터 중복 최소화, 무결성, 일관성, 독립성, 표준화, 보안 유지
DBMS
관계형 데이터베이스
- table(2차원 표), Identifier, Attributes, Tuple, Degree, Cardinality
- Intension(내포), Extension(외포)
- Key: 기본키(PK), 외래키(FK)
- 대수 연산: 합집합, 교집합, 차집합, 곱집합, 프로젝션, 셀렉션, 조인
🍯tip! 릴레이션은 데이터베이스 모델링에서 주로 사용하는 용어이고 테이블은 데이터베이스의 데이터가 저장된 물리적 구조를 가리키는 데 주로 사용되는 용어이다.
SQL
- DML
- DDL
- DCL
- TCL
트랜잭션: ACID
📑ORM과 데이터베이스의 활용
ORM: 관계형 데이터베이스의 테이블과 객체지향 프로그램의 클래스를 연결.
One to One Relationship
One to Many Relationship
Many to Many Relationship
📑벡터 데이터베이스와 유사도 검색
비정형 데이터: '방대한 볼륨, 다양성, 품질, 보안 및 개인정보 보호, 통합'의 문제점
벡터, 벡터 임베딩 ex) word Embeddings
LSH
ANNOY
활용: AI/ML 응용, 유사도 기반 추천 시스템, NLP 응용, 이미지 인식 및 검색 응용 등
📑NoSQL 데이터베이스
분산 데이터베이스
다음 시간에 계속...
출처 & 참고
이시윤 강사님의 강의
'개발 > 프로그래머스 데브코스' 카테고리의 다른 글
| 프로그래머스 데브코스 104일차 with. TS 웹 풀스택 (0) | 2024.08.29 |
|---|---|
| 팀 프로젝트 회고 - MedicineWeb (0) | 2024.08.28 |
| 프로그래머스 데브코스 102일차 with. TS 웹 풀스택 (0) | 2024.08.27 |
| 프로그래머스 데브코스 101일차 with. TS 웹 풀스택 (0) | 2024.08.26 |
| 프로그래머스 데브코스 100일차 with. TS 웹 풀스택 (0) | 2024.08.23 |