전체 글(152)
-
운영체제와 정보기술의 원리: 2장. 운영체제 개요
운영 체제 개요 운영체제(operating system) 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어 운영체제가 없으면 컴퓨터는 고철 덩어리에 불과하며, 컴퓨터를 최소한 동작시켜 주기 위해서 필요한 기본적은 소프트웨어 운영 체제의 기능 1. 하드웨어에 대한 역할 : 컴퓨터 시스템 내의 자원을 효율적으로 관리하는 것 2. 사용자에 대한 역할 : 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공하는 것 운영 체제의 분류 1. 동시작업을 지원 여부 : 동시작업을 지원하는지 여부에 따라 단일 작업용 운영체제와 다중작업용 운영체제로 나눌 수 있다. 단일 작업용 운영체제는 한번에 하나의 프로그램만 수행시킬 수 있는 운영체제로 초기 컴퓨터용 운영 체제는 대개 단일작업용 운영체제에 해당되었다. 예를 들어 DOS..
2023.02.26 -
운영체제와 정보기술의 원리: 1장. 컴퓨터 역사
근대적 컴퓨터의 역사 대표적인 컴퓨터의 역사적 분류법: 1940년대 중반부터 하드웨어 기술 발전을 토대로 1세대부터 4세대까지 분류 제 1세대 컴퓨터: 진공관 기반 컴퓨터 (1940년대 후반~) 건물 하나를 차지할 만큼 부피가 크고 비쌌고, 은행이나 정부기관들에서만 컴퓨터를 사용할 능력이 있었다. 컴퓨터 자체의 처리능력에 대한 발전과 함께 대용량의 수치계산을 하는 등의 컴퓨터 응용에 대해서도 발전이 시작된 시기이다. ENIAC, UNIVAC I 개발 (ENIAC은 2차 세계대전 중 총의 탄도거리를 정확하게 계산하기 위해 개발됨) 제 2세대 컴퓨터: 트랜지스터 기반 컴퓨터 (1950년대 후반~) 1948년 미국의 벨 연구소에서 전기신호의 증폭작용을 발견하며 트랜지스터라 명명했는데, 트랜지스터는 진공관과 같..
2023.02.26 -
JavaScript 프로미스
모던 자바스크립트(저자 이웅모) 내용을 참고하였습니다. 💡️ Promise 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용할 수 있지만, 여러 단점들이 있다 콜백지옥으로 인해 가독성이 나쁘다 (콜백지옥 : 콜백 함수 호출이 중첩되어 복잡도가 높아지는 현상) 비동기 처리 중 발생한 에러의 처리가 곤란하다 여러 개의 비동기 처리를 한번에 처리하는 데 한계가 있다 ES6에서는 비동기 처리를 위한 또 다른 패턴으로 프로미스(Promise)를 도입했다 Promise는 비동기 처리 상태와 처리 결과를 갖는다 ⚡️ Promise 생성 Promise 생성자 함수를 new 연산자와 함께 호출하면 Promise 객체를 생성한다 비동기 처리를 수행할 콜백 함수를 인수로 전달받는데, 이 콜백 함수는 resolve와 re..
2022.04.11 -
JavaScript 실행 컨텍스트
모던 자바스크립트(저자 이웅모) 내용을 참고하였습니다. 💡️ 실행 컨텍스트 자바스크립트의 동작원리를 담고 있는 핵심 개념 소스 코드를 평가하여 실행 컨텍스트를 생성한다 소스코드의 타입 소스코드의 타입에 따라 실행 컨텍스트를 생성하는 과정과 관리 내용이 다르다 전역 코드 : 전역에 존재하는 소스코드. 전역에 정의된 함수, 클래스 등의 내부 코드는 포함되지 않는다 함수 코드 : 함수 내부에 존재하는 소스코드. 함수 내부에 중첩된 함수, 클래스 등의 내부 코드는 포함되지 않는다 eval 코드 : 빌트인 전역 함수인 eval 함수에 인수로 전달되어 실행되는 소스코드를 말한다 모듈 코드 : 모듈 내부에 존재하는 소스코드. 모듈 내부의 함수, 클래스 등의 내부 코드는 포함되지 않는다 1. 전역 코드 전역 코드는 전..
2022.04.11 -
JavaScript var, const, let 키워드
모던 자바스크립트(저자 이웅모) 내용을 참고하였습니다. 💡️ var 변수 중복 선언 허용 함수 레벨 스코프 var 키워드로 선언한 변수는 오로지 함수의 코드 블록만을 지역 스코프로 인정한다 함수 외부에서 var 키워드로 선언한 변수는 코드 블록 내에서 선언해도 모두 전역변수가 된다 변수 호이스팅 변수 선언문이 스코프의 선두로 끌어 올려진 것처럼 동작한다 변수 호이스팅에 의해 변수 선언문 이전에 참조할 수 있다 런타임 이전에 자바스크립트 엔진에 의해 암묵적으로 "선언 단계"과 "초기화 단계"가 한번에 진행된다 ⇒ 가독성을 떨어뜨리고 오류를 발생시킬 여지를 남긴다 console.log(foo); // undefined foo = 123; console.log(foo); // 123 // 런타임 이전에 자바스..
2022.04.11 -
JavaScript 비동기 프로그래밍
모던 자바스크립트(저자 이웅모) 내용을 참고하였습니다. 💡️ 동기 처리와 비동기 처리 자바스크립트 엔진은 단 하나의 실행 컨텍스트 스택(Call Stack)을 갖는다 따라서 한 번에 하나의 태스크만 실행할 수 있는 싱글 스레드 방식으로 동작한다 싱글 스레드 방식은 한 번에 하나의 태스크만 실행할 수 있기 때문에 처리에 시간이 걸리는 태스크를 실행하는 경우 블로킹(blocking)이 발생한다 동기 처리 방식 현재 실행 중인 작업이 종료할 때까지 다음에 실행될 작업이 대기하는 방식을 동기처리라고 한다 장점: 동기 처리 방식은 작업을 순서대로 하나씩 처리하므로 실행 순서가 보장된다 단점: 앞선 작업이 종료할 때까지 이후 작업들이 블로킹된다 비동기 처리 방식 현재 실행 중인 작업이 종료되지 않은 상태라 해도 다..
2022.04.11