[node.js] 초기 세팅
·
Server/node.js
node -v // 설치된 노드 버전 확인npm -v // 노드 패키지 매니저 버전 확인 (Node.js 설치 시 함께 설치됨)npm initnpm install -g yarnyarn -vnpm install express --save // npm 사용 시yarn add express // yarn 사용 시node index.jsnpm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/nodeyarn add @babel/core @babel/cli @babel/preset-env @babel/node --dev// scripts 설정 안해도 아래 명령어로 실행이 가능합니다!np..
[깃/깃허브] 잘못된 커밋 취소
·
공부/깃&깃허브
git reset --hard HEAD~1git push --force
[ES6] SyntaxError: Cannot use import statement outside a module
·
Server/node.js
$ nodemon --exec babel-node index.js[nodemon] 3.1.0[nodemon] to restart at any time, enter `rs`[nodemon] watching path(s): *.*[nodemon] watching extensions: js,mjs,cjs,json[nodemon] starting `babel-node index.js`(node:2936) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.(Use `node --trace-warnings ...` to show where the warning was created)C:\DW..
[자바/Java] Call by Value vs Call by Reference
·
공부/자바
Call by Value vs Call by Reference 메소드 호출할 때 파라미터를 전달하는 방법 Call by Value 함수의 인자를 전달할 때 값만 전달하는 방식 메소드 호출할 때 값을 넘겨줌 Pass by Value라고 부르기도 함 메소드를 호출하는 호출자(Caller)의 변수와 호출 당하는 수신자(Callee)의 파라미터는 복사된 서로 다른 변수 값만 전달하기 때문에 수신자의 파라미터를 수정해도 호출자의 변수에는 영향을 끼치지 않음 메모리를 절약할 수 있으며 속도가 빨라짐 -> 임베디드 환경에서는 C 포인터를 이용해 코딩 예 : C언어 포인터 변수를 파라미터 받게 하고 함수를 호출할 때 주소 연산자를 이용해 주소값을 직접 념겨 직접적인 메모리 참조가 가능 값을 넘겨받은 메소드에서 값을 복..
[운영체제] 주소 공간과 가상 메모리(Address Space, Virtual Memory)
·
공부/운영체제
주소 공간과 가상 메모리 주소 공간 (가상 주소 공간, VAS, Virtual Address Space) 의미 각 프로세스 당 주어지는 논리적인 공간 OS가 프로세스를 시작할 때 할당해주는 가상 메모리 공간 프로세스에서 사용 가능한 주소의 범위 프로세스가 참조하는 주소 OS가 제공하는 가짜 메모리 크기는 물리 메모리(RAM)의 크기와는 독립적 레지스터 크기에 종속적 운영체제는 프로세스에게 연속된 가상 주소 공간을 제공하고, 이를 필요한 크기의 물리 메모리 페이지로 매핑 메모리 공간의 낭비를 최소화 제공 메모리 32bit 시스템 보통 4GB 크기의 가상 메모리 영역을 할당 보통 하위 2GB를 유저 공간에, 상위 2GB는 시스템 공간에 사용 하지만 사용자에 의해 유저 공간을 3GB로 늘릴 수 있음(/set ..
[운영체제] PCB와 Context Switching
·
공부/운영체제
PCB와 Context Switching PCB (Process Control Block, 프로세스 제어 블록) 의미 특정 프로세스에 대한 정보를 담고 있는 자료구조 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳 프로세스의 상태 정보를 저장하는 구조체 운영체제는 PCB에 담긴 프로세스 정보를 이용하여 프로세스를 관리하고 제어 프로세스가 생성될 때 마다 고유의 PCB가 생성되어 메인 메모리에 유지되고 프로세스가 완료되면 제거 PCB는 프로세스의 중요한 정보를 포함하고 있으므로 일반 사용자는 접근하지 못하는 보호된 메모리 영역에 존재 진행 과정 프로그램 실행 프로세스 생성 프로세스 주소 공간 (코드, 데이터, 스택) 생성 이 프로세스의 메타데이터들이 PCB에 저장 상세 구조 Process id ..
[운영체제] 시스템 콜(System Call)
·
공부/운영체제
시스템 콜 시스템 콜 의미 운영체제가 제공하는 서비스를 사용하기 위한 프로그래밍 인터페이스 커널 모드(Kernel Mode)와 사용자 모드(User Mode)로 나뉘어 구동 운영체제에서 프로그램이 구동되는데 있어 파일을 읽어 오거나, 파일을 쓰거나, 혹은 화면에 메시지를 출력하는 등 많으 부분이 커널 모드를 사용 시스템 콜은 이러한 커널 영역의 기능을 사용자 모드가 사용 가능하게, 즉 프로세스가 하드웨어에 직접 접근해서 필요한 기능을 사용할 수 있게 함 통상적으로 시스템 콜은 여러 종류의 기능으로 나뉘어져 있음 각 시스템 콜에는 번호가 할당되고 시스템 콜 인터페이스는 이러한 번호에 따라 인덱스 되는 테이블을 유지된다. 아래 그림은 open() 시스템 콜을 호출 했을 때 운영체제에서 어떻게 처리되는지를 보..
[운영체제] 인터럽트(Interrupt)
·
공부/운영체제
인터럽트 인터럽트란 CPU가 특정 기능을 수행하는 도중에 급하게 다른 일을 처리하고자 할 때 사용할 수 있는 기능 대부분의 컴퓨터는 한 개의 CPU를 사용하므로 한 순간에는 하나의 일 밖에 처리할 수 없기 때문에 어떤 일을 처리하는 도중에 우선 순위가 급한 일을 처리할 필요가 있을 때 대처할 수 있는 방안이 필요 인터럽트는 CPU가 프로그램을 실행하고 있을 때 입/출력 장치나 혹은 다른 예외상황이 발생하여 처리가 필요할 경우에 CPU에 알려서 처리하는 기술 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행중인 작업을 일시 중단하고, 발생된 상황을 우선 처리한 후 실행중이던 작업으로 복귀하여 계속 처리 어느 한 순간에 CPU가 실행하는 명령은 하나인데 다른 장치와의 대화는 어떻게 이루어..