전체 글
-
모던 자바스크립트 딥 다이브 9장. 타입 변환과 단축 평가Modern JavaScript Deep Dive 2022. 4. 19. 18:18
타입 변환 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 / 타입 캐스팅 이라고 한다. 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동변환 되기도 한다. 이것을 암묵적 타입 변환 / 타입 강제 변환이라고 한다. 단축 평가 단축 평가는 표현식을 평가하는 도중에 평가 결과가 확정된 경우 나머지 평가 과정을 생략하는 것 논리 연산자를 사용한 단축 평가 (&& / ||) true || anything => true false || anything => anything true && anything => anything false && anything => false 옵셔널 체이닝 연산자 : && null 병합 연산자 : ??
-
운영체제 2강. 프로세스 개요방송통신대학교 - 컴퓨터과학과/운영체제 2022. 4. 18. 22:59
1. 프로세스 실행 중인 프로그램 윈도우의 작업 관리자를 열어보면 떠 있는 프로그램들 프로그램을 실행하면 프로세스가 되는데 프로세스가 되면서 PID (프로세스 아이디) 라는 것이 생성된다. 프로그램: 동작을 하지 않는 정적, 수동적 개체 프로세스: 동작을 하는 능동적 개체 프로세스는 운영체제로부터 자원을 할당 받아서 동작하게 된다. 자원: CPU, 메모리, 입출력장치, 파일 등 동작: CPU가 프로세스의 명령을 실행 프로세스 관리자의 역할 프로세스를 생성 및 삭제 프로세스 실행 (CPU 할당)을 위한 스케줄 결정 프로세스의 상태를 관리하며 상태 전이를 처리 프로세스의 상태 5-상태 모델 생성: 처음 작업이 시스템에 주어진 상태 (메모리가 얼마나 필요한지, 요청이 얼마나 필요한지 사전에 미리 파악) 준비:..
-
모던 자바스크립트 딥 다이브 8장. 제어문Modern JavaScript Deep Dive 2022. 4. 18. 17:16
제어문은 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용한다. 블록문 조건문 if else 문 / switch 문 반복문 조건식의 평가 결과가 참인 경우 코드 블록을 실행 for 문 / while 문 / do … while문 break문 레이블문, 반복문, switch문의 코드 블록을 탈출 continue문 반복문의 코드 블록 실행을 현 시점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동 (break 처럼 반복문을 탈출하지는 않음)
-
모던 자바스크립트 딥 다이브 7장. 연산자Modern JavaScript Deep Dive 2022. 4. 17. 18:26
산술 연산자 피연산자를 대상으로 수학적 계산을 수행 할당 연산자 우항에 있는 피연산자의 평가 결과를 좌항에 있는 변수에 할당한다. 비교 연산자 == (동등 비교 : 값만 비교) / === (일치 비교 : 값과 타입을 비교) 삼항 조건 연산자 조건식 ? 조건식이 true 일 때 반환할 값 : 조건식이 false 일 때 반환할 값 논리 연산자 !(NOT) ||(OR) &&(AND) 쉼표 연산자, 그룹 연산자 () 우선순위 조절 typeof 연산자 피연산자의 데이터 타입을 문자열로 반환 지수 연산자 2 ** 3 는 2의 3제곱
-
모던 자바스크립트 딥 다이브 6장. 데이터 타입Modern JavaScript Deep Dive 2022. 4. 16. 23:24
데이터 타입 자바스크립트는 7개의 타입을 제공한다. 원시 타입 (primitive type) 객체 타입 (reference type / object type) 숫자, 문자열, 불리언, undefined, null, symbol 배열, 객체, 함수 정적 타입 언어는 변수 선언 시점에 변수의 타입이 결정되고 변수의 타입을 변경할 수 없다. 동적 타입 언어인 자바스크립트에서는 값을 할당하는 시점에 변수의 타입이 동적으로 결정되고 변수의 타입을 재할당을 통해 언제든지 자유롭게 변경할 수 있다. 컴퓨터가 이해하는 코드는 어떤 바보도 쓸 수 있다. 하지만 훌륭한 프로그래머는 사람이 이해할 수 있는 코드를 쓴다. - 마틴 파울러, 리팩토링의 저자
-
모던 자바스크립트 딥 다이브 5장. 표현식과 문Modern JavaScript Deep Dive 2022. 4. 16. 20:08
값 (value) 값은 식이 평가되어 생성된 결과를 말한다. 변수에 할당되는 것이 곧 ‘값’이다. 리터럴 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법이다. (=표기법) 표현식은 값으로 평가될 수 있는 문이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다. 표현식인 문과 표현식이 아닌 문를 구별할 수 있는 방법 변수에 할당했을 때 에러가 난다면? 표현식이 아닌 문이다. (값으로 평가할 수 없기 때문)
-
운영체제 1강 - 역할, 구성, 유형방송통신대학교 - 컴퓨터과학과/운영체제 2022. 4. 15. 23:57
사용자 응용 소프트웨어 시스템 소프트웨어 하드웨어 유저 웹사이트, 프로그램 리눅스, 운영체제 키보드, 마우스, 모니터 운영체제란 컴퓨터의 하드웨어 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 시스템 소프트웨어 운영체제의 역할 컴퓨터 시스템의 운영 컴퓨터 시스템의 자원을 제어하고 관리한다 응용프로그램들의 실행을 도와주는 소프트웨어 사용자지원 사용자의 명령을 해석하여 실행 사용자와 하드웨어 사이의 매개체 역할 수행 옛날에 운영체제가 없을 때는 응용프로그램이 하드웨어를 직접 제어하던 시절이 있었다. 응용 프로그램 개발자가 하드웨어 제어 방법을 다 알았어야 했던 것이다. 여러 응용프로그램이 하드웨어를 공유할 때 자원분할이 안될 수도 있다는 것이 가장 큰 단점이었다. 그래서! 운영체제라는 것..
-
모던 자바스크립트 딥 다이브 4장. 변수Modern JavaScript Deep Dive 2022. 4. 15. 20:32
변수란? 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 CPU를 이용해 계산한 값을 재사용하기 위해서 변수라는 것을 마련해 메모리에 저장해 놓는다. 변수명: 메모리 공간에 저장된 값을 식별할 수 있는 고유한 이름 변수 값: 변수에 저장된 값 할당: 변수에 값을 저장하는 것 참조: 변수에 저장된 값을 읽어들이는 것 변수명 - 식별자: 어떤 값을 구별해서 식별할 수 있는 고유한 이름, 식별자는 값이 아니라 메모리 주소를 기억하고 있다. 즉, 식별자는 메모리 주소에 붙인 이름이다. 변수 이름은 첫 아이 이름을 짓듯이 심사숙고해서 지어야 한다. 변수 선언의 단계 선언 단계: 변수 이름을 등록해서 자바스크립트 엔진에 변수의 존재를 알린다. 초기화 단계: 값을 ..