하루하루 꾸준하고 성실하게! 기초부터 정리한다는 생각으로 완독해보자! 1장 데이터베이스와 SQL 학습 내용 - 데이터베이스 정의 - 데이터베이스를 조작하는 언어 SQL - 데이터베이스 종류 - 클라이언트/서버 모델 01. 데이터베이스 0. 데이터베이스란 - 데이터(컴퓨터 안에 기록되어 있는 숫자)의 집합 - 컴퓨터 안에 기록된 모든 것 - 특정 데이터를 확인하고 싶을 때 쉽게 찾아낼 수 있도록 정리된 형태 - 데이터베이스 내의 데이터는 영구적인 보존이 필수 1. 시스템 내의 데이터베이스 - 일반적으로 데이터센터의 서버에서 데이터베이스를 운용했으나 현재는 개인용 컴퓨터나 휴대용 기기에 내장되어 있는 경우도 존재함 ex. 휴대전화의 전화번호 주소, 계산대의 판매정보 -> 다양한 시스템에서 데이터베이스를 사용..
Chapter 12. 프로세스 동기화 목표 - 동기화란 무엇인지 알아본다. - 공유 자원과 임계 구역 문제를 이해한다. - 임계 구역 문제를 해결하기 위한 동기화 기법들을 학습한다. 01. 동기화란 1. 돟기화해야하는 이유 - 프로세스들은 동시다발적으로 실행되기 때문에, 실행 순서와 자원의 일관성을 보장해야 함 2. 프로세스 동기화 - 프로세스들 사이 수행시기를 맞추는 것 - 실행 순서 제어 : 프로세스를 올바른 순서대로 실행 ex. 특정 조건이 만족되어야만 실행을 이어나갈 수 있도록 하는 등 - 상호 배제 : 동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근 ex. 통장에 입금 시, 잔액에 동시에 한 프로세스만 접근 가능하도록 함 3. 생산자와 소비자 문제 - 생산자와 소비자가 있고 둘 다 총합에..
함수 타입 함수를 설명하는 가장 좋은 방법 어떤 매개변수를 받고, 어떤 결과값을 반환하는지 이야기하는 것 타입스크립트의 함수를 설명하는 가장 좋은 방법 어떤 타입의 매개변수를 받고, 어떤 타입의 결과값을 반환하는지 이야기하는 것 function func(a: number, b: number) { return a + b; } 화살표 함수의 타입을 정의하는 방법 함수의 선언식과 동일한 방식 const add = (a: number, b: number) => a + b; 함수의 매개변수 function introduce(name = "이정환") { // 기본값 기준으로 타입 추리(string) console.log(`name: ${name}`) } 이때 주의할 부분 매개변수로 다른 타입을 넘겨주는 경우 오류 ..
Chapter 10. 프로세스와 스레드 목표 - 프로세스 제어 블록이란 무엇인지 이해한다. - 문맥 교환의 정의와 과정을 학습한다. - 프로세스는 메모리에 어떻게 배치되는지 학습한다. - 프로세스 상태와 프로세스 계층 구조를 학습한다. - 스레드의 개념을 이해하고, 멀티 프로세스와 멀티 스레드의 차이를 이해한다. 01. 프로세스 개요 1. 프로세스 - 실행 중인 프로그램 - 프로세스 생성 : 보조기억 장치에 저장된 프로그램을 메모리에 적재하고 실행 2. 포그라운드 프로세스 foreground process - 사용자가 볼 수 있는 공간에서 실행되는 프로세스 ex. 메모장, 크롬 등 3. 백그라운드 프로세스 background process - 사용자가 볼 수 없던 공간에서 실행되는 프로세스 - 종류 - ..
Chapter 8. 입출력 장치 목표 - 장치 컨트롤러에 대해 이해한다. - 장치 드라이버에 대해 이해한다. - 프로그램 입출력 방식이 무엇인지 이해한다. - 인터럽트 기반의 입출력 방식을 이해한다. - DMA 입출력 방식을 이해한다. 01. 장치 컨트롤러 1. 장치 컨트롤러의 필요성 - 입출력장치의 종류는 매우 다양함 - 입출력장치의 데이터 전송률*은 CPU와 메모리에 비해 낮음 *전송률 : 데이터를 얼마나 빨리 교환할 수 있는 지에 대한 지표 2. 장치 컨트롤러란? = 입출력 제어기 I/O contoller = 입출력 모듈 I/O module - 컴퓨터와 입출력장치를 연결하는 하드웨어 3. 장치 컨트롤러의 역할 - CPU와 입출력장치 간의 통신 중개 ex. 번역가 역할 - 오류 검출 - 데이터 버퍼링..
문법만 외워서는 제대로 쓸 수 없으니 타입스크립트의 원리부터 이해하자! 어떤 기준으로 타입을 정의하는지 어떤 기준으로 타입간의 관계를 정의하는지 어떤 기준으로 타입의 오류를 검사하는지 타입은 집합이다 타입 동일한 속성과 특징들을 갖는 여러값들을 모아둔 집합 number Literal Type = number Type의 부분집합 - nuber Literal Type : 서브타입, 자식타입 - number Type : 슈퍼타입, 부모타입 타입 호환성 어떤 타입을 다른 타입으로 취급해도 괜찮은지 판단하는 것 number Literal Type -> number Type : 호환됨(ex. 정사각형 -> 직사각형) number Literal Type Dog 초과 프로퍼티 검사 객체 타입 변수를 초기화할때 객체 l..
타입의 종류에 대해 알아보는 시간 기본타입 JavaScript와 유사 원시타입 Primitive Type - 하나의 값만 저장하는 타입 //number let num1 : number = 123; // :(콜론)으로 타입 정의하는 방식 = 타입 주석 let num2 : number = -123; let num3 : number = 0.123; let num4 : number = -0.123; let num5 : number = Infinity; let num6 : number = -Infinity; let num7 : number = NaN; // string let str1 : string = "hello"; let str2 : string = 'hello'; let str3 : string = `he..
초반부 간단한 이론 정리! 타입스크립트란 1. C# 개발자가 개발하여 유사한 부분이 많음 2. 인기가 많음(점점 더 많아지는 중) 3. 타입스크립트 = 자바스크립트의 확장판 - 자바스크립트를 더 안전하게 사용할 수 있도록 확장함 - 자바스크립트에 타입을 정의하는 문법만 추가하면 타입스크립트가 됨 4. 배워야하는 이유 : 간단한 기능을 위해 개발된 유연한(버그 가능성이 높은) 자바스크립트에 node.js(자바스크립트 구동기)가 더해져 자바스크립트로 다양한 구현이 가능해짐. 따라서 복잡한 프로그램을 만들 때 버그 가능성을 낮추기 위해(안전하게 사용하기 위해) 타입스크립트가 필요 자바스크립트의 한계점 타입 시스템 : 언어의 타입 관련된 문법 체계 - 정적 타입 시스템 : 코드 실행 전 변수의 타입 고정적으로 ..