Study/CS 기초 19

데이터베이스 - NoSQL

[2024.11.01] 필수 온라인 강의 Part5 데이터베이스 CH04 NoSQLmongoDB- NoSQL DBMS = Not Only SQL      - 데이터가 표의 형태만이 아닌 다양한 형태로 저장될 수 있음 - noSQL을 대표가 mongoDB   - document 단위로 저장   - 자주 저장되는 데이터를 document 형태로 함께 저장       -> document가 모여 collection이 되고, collection이 모여 데이터베이스를 이룸   - 뷰, 인덱스와 같이 MySQL의 기능도 포함되어 있다- 빅데이터 처리에 특화- 유연한 구조, 높은 확장성 MongoDB 실습- 실습위치 :https://onecompiler.com/mongodb/- MongoDB Shell (mongos..

Study/CS 기초 2024.11.01

데이터베이스 - 효율적 쿼리

[2024.11.01] 필수 온라인 강의 Part5 데이터베이스 CH03 효율적 쿼리인덱스인덱스 : MySQL   - 테이블을 더 빠르게 조회하기 위한 참조 수단 (책의 ‘찾아보기’와 유사)   - 실무에서 매우 빈번히 사용 for 검색 속도 향상   - 열 단위로 사용      - 두 개의 열을 묶은 하나의 인덱스도 만들 수 있음-> 인덱스가 없다면? 어쩔 수 없이 모든 테이블의 데이터를 스캔해야 한다    : 테이블을 가리키는 대상이기에 테이블 삭제되면 같이 삭제인덱스의 부작용   - 인덱스를 저장할 추가적인 저장 공간 필요   - 인덱스 작성 시간도 있다: 행 데이터가 너무 많으면 이 시간이 오래 걸릴 수 있음   - 검색(SELECT)가 아닌 작업(INSERT, UPDATE, DELETE) 시 성..

Study/CS 기초 2024.11.01

데이터베이스 - 생성과 관리

[2024.10.22] 필수 온라인 강의 Part5 데이터베이스 CH02 데이터베이스 생성과 관리기본 키와 외래 키 키 (key)- 조건에 맞는 데이터를 찾기 위한 식별자- 우선 다룰 주요한 키는 기본 키, 외래 키, 고유 키- 관계형 데이터베이스는 테이블처럼 데이터를 관리   -> 각각의 열에 따라 행의 데이터들이 달라짐   - 각각의 데이터들을 지칭할때, 가장 중요한 열을 확인하기!!!기본 키 (Primary Key, PK)  - 행을 특정 지을 수 있는 단 하나의 데이터   : 가장 중요한 열!!! - 중복되어서는 안되고, 고유해야 하며, NULL 이어서는 안됨  - 여러 열을 묶어 하나의 기본 키로 삼기도 한다** 고유 키 (Unique Key) : 기본 키와 유사하나, 널(NULL)로 지정 가능..

Study/CS 기초 2024.10.31

데이터베이스 거시적으로 보기

[2024.10.30] 필수 온라인 강의 Part5 데이터베이스 CH01 오리엔테이션데이터 베이스데이터베이스 - 여러사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합 - 사실상 저장해야할 모든 것- 특히, 웹 서비스의 심장과도 같다 - 저장되는 방법에 따라 성능이 달라짐 - 저장되는 대상/저장하는 방법에 따라 웹서비스의 목적과 성능이 달라짐DBMS - Data Base Management System 데이터베이스를 관리하는 시스템 == 데이터베이스를 관리하는 프로그램!- 종류 : SQL Server, MariaDB, MySQL, ORACLE, MongoDB, SQLite, PostgreSQL 등등- 관계형 DBMS     - 데이터를 테이블 형태(열 & 행)로 저장     - 즉, ..

Study/CS 기초 2024.10.30

소켓 프로그래밍

[2024.10.28] 필수 온라인 강의 Part4 시스템 프로그래밍 CH04 소켓 프로그래밍 소켓소켓 (socket) 네트워크를 경유하는 프로세스 간 통신의 종착점- 우체통이라고 생각하는 게 편함!!! 전송계층 위에, 운영계층 아래에 위치함- 송신지 프로세스는 메세지를 소켓으로 보내고 수신지 프로세스는 메세지를 소켓에서 읽는다* 파일 입출력과 비슷!!! 소켓 == 특별한 파일!!!!! 으로 인식소켓의 구성 요소- TCP + IP 혹은 UDP + IP- 출발지 IP 주소- 출발지 포트 번호- 목적지 IP 주소- 목적지 포트 번호소켓 프로그래밍 ≒ 파일 입출력 - 소켓은 특별한 형태의 파일이라 볼 수 있다 - 파일 열기, 닫기, 쓰기, 읽기 - 소켓 열기, 닫기, 송신하기, 수신하기-> 소켓 통신 = 프로..

Study/CS 기초 2024.10.29

시스템 프로그래밍 - 프로세스와 스레드

[2024.10.28] 필수 온라인 강의 Part4 시스템 프로그래밍 CH03 프로세스와 스레드 다루기프로세스 다루기프로세스 복습   - https://glowdp.tistory.com/36   - 프로세스란 실행 중인 프로그램 ⇐ 같은 프로그램도 별도의 프로세스가 될 수 있다    - 프로그라운드 프로세스 & 백그라운드 프로세스    - 프로세스 제어 블록 (PCB)을 통해서 특정 정보( PID (PPID), 레지스터,  스케줄링 정보, 메모리 정보, 사용한 파일 정보, 입출력장치 정보 )를 식별   - 대표적인 프로세스 상태 : 생성, 준비, 실행, 대기, 종료   - 리눅스 프로세스 상태 확인 : R(실행), S(대기), W(준비), S(종료), Z(좀비)   - 계층적인 구조    fork 시스템..

Study/CS 기초 2024.10.28

시스템 프로그래밍 - 오리엔테이션

[2024.10.22] 필수 온라인 강의 Part4 시스템 프로그래밍 CH01 오리엔테이션시스템 프로그래밍의 개념시스템 프로그래밍이란- 이전에 공부한 운영체제, 네트워크의 걔념을 소스코드로 직접 관찰할 수 있는 수단- 운영체제, 하드웨어와의 상호작용을 프로그래밍 하는 것- 커널이 제공하는 기능을 직접 제공받으며 low-level에서 동작하는 프로그램을 작성하는 것- 커널이 제공하는 기능: 시스템 콜 주로 활용 강의에서 다루는 시스템 프로그래밍 : C언어- 운영체제, 네트워크 파트에서 학습한 내용을 소스코드 레벨에서 관측하기- 타 프로그래밍 언어를 이용하더라도 공통적으로 사용될 시스템 프로그래밍 개념              (e.g. 파일 입출력, 프로세스간 통신, 소켓 프로그래밍, ...)vi/vim 편..

Study/CS 기초 2024.10.22

네트워크 - 응용 계층

[2024.10.22] 필수 온라인 강의 Part3 네트워크 CH05 응용 계층DNS(***기술면접 빈출!!!***)네트워크 상에서 호스트를 특정 지을 수 있는 주소  - MAC 주소 : 사람을 식별하는 고유한 주민등록번호  - IP 주소  : 주소 : 모든 IP/MAC 주소를 알고 있기란 어렵다 -> DNS를 이용    + IP 주소는 언제든 변경될 수 있다 / 임의로 지정이 가능하다.DNS  - 전화번호부(개인소유, 공용)와 유사한 기능을 수행!  - 개인 소유 / 공용 모두 가능하다.   - 사람이 기억하기 쉬운 도메인 이름과 호스트를 특정지을 주소를 매핑              * 도메인: 호스트에 부여되는 문자열 이름 (e.g. google.co.kr)- hosts 파일 – 개인 전화번호부 : ..

Study/CS 기초 2024.10.22

네트워크 - 전송 계층

[2024.10.22] 필수 온라인 강의 Part3 네트워크 CH04 전송 계층포트- port : 개발시 정말 많이 주요되는 개념! 전송 계층의 역할 (응용계층 아래, 네트워크 계층 위)   - 응용 계층의 어플리케이션 프로세스 식별  : 포트!!!!!!!   - 네트워크 계층의 신뢰성/연결성 확립 : 네트워크계층의 IP한계 해결포트  - 포트 번호는 16비트로 표현 가능(65536개)  - 포트 범위 : 0번부터 65535번까지  - 포트의 종류 : 범위에 따라서 나뉨    - 잘 알려진 포트( 웰 노운 포트, 시스템 포트 ) : 널리 알려진, 유명한 포트               - 업체막론하고 정말 많이 사용하고 식별을 위해 사용됨.    - 등록된 포트 : 잘 알려진 포트에 비해서는 덜 범용적이지..

Study/CS 기초 2024.10.22

네트워크 - 네트워크 계층

[2024.10.22] 필수 온라인 강의 Part3 네트워크 CH03 네트워크 계층- 네트워크간의 통신이 가능하게 해주는 계층- LAN간의 통신이 가능하게 해주는 계층IP- 네트워크계층에서 가장 중요한 프로토콜! -> 네트워크계층 = IP라고 생각하고 학습- 인터넷 프로토콜의 약자네트워크 계층 - 물리 계층과 데이터링크 계층(MAC주소) -> LAN에 국한된 통신 - LAN을 넘어서기 위한 계층 - 네트워크 간 통신이 가능한 계층 -> 라우팅 (패킷을 목적지까지 최적의 경로로 찾아가는 과정, 라우터라는 장비사용)    - IP주소를 바탕으로 네트워크간의 통신이 가능해짐 : 라우팅으로 최적의 경로로 찾아감 - 단편화가 이루어지는 계층 IP주소 사용( 데이터링크 계층의 MAC 주소 있는데 왜 IP주소를 사용..

Study/CS 기초 2024.10.22