728x90
CPU의 구조 / 원리CPU⸰ 중앙처리장치(Centrol Processing Unit)⸰ 명령어 해석, 자료의 연산 / 비교 등 처리를 제어하는 핵심장치⸰ 다양한 입력 장치로 정보를 받아 처리한 후, 결과를 출력 장치로 보내는 모든 과정을 제어, 조정 CPU의 구성 요소⸰ Control Unit(제어 장치), ALU(연산 장치), Register(레지스터)⸰ 각 요소들은 Data Bus를 통해 데이터를 주고받음 Control Unit(CU, 제어장치) ⸰ CPU 제어하는 장치 ⸰ PC(프로그램 카운터), 명령 해독기, 부호기, 명령 레지스터 등 구성 1. ROM(기억 장치)으로부터 프로그램 명령어를 순차적으로 꺼내 해석 2. 어떤 작업을 수행해야 하는지 결정 3. 실행에 필요한 제어 신호를 전..
JSON.stringify( ) / JSON.parse( )JSON.stringify( )⸰ JavaScript 객체를 JSON 형식의 문자열로 변환⸰ JavaScript 객체를 서버로 전송하거나, 로컬 저장소에 저장하기 위해 필요한 작업 > 데이터를 일관된 형식으로 전송 가능 형식JSON.stringify(value, replacer, space)⸰value(필수) : JSON 문자열로 변환할 값, 배열 / 객체 / 숫자 / 문자 등 가능⸰replacer(선택) : null이거나 없으면, 객체의 모든 속성이 JSON 문자열 결과에 포함, 함수 / 배열 가능⸰space(선택) : 출력에 공백을 삽입, string / number 가능 replacer가 함수인 경우 ⸰ 문자열로 바뀌는 프로세스의 작동을 변..
리눅스 명령어ls⸰ LiSt의 약자, 해당 디렉토리에 있는 파일의 목록을 나열 -ls: 현재 디렉토리 파일 목록 나열 -ls /etc/sysconfig .etc/sysconfig: 디렉토리 목록 나열 -ls -a: 현재 디렉토리 파일 목록 나열(숨김 파일 포함) -ls -l: 현재 디렉토리 파일 목록 자세히 나열 -ls *.(확장자): 확장자인 목록 나열 -ls -l /etc/sysconfig/(글자)*: /etc/sysconfig 디렉토리 중 글자로 시작하는 목록 자세히 나열 cd⸰ Change Directory, 디렉토리 이동 -cd: 현재 사용자의 홈 디렉토리로 이동 (root라면, /root 디렉토리로 이동) -cd ~rocky rocy: 사용자의 홈 디렉토리로 이동 -cd ..:..
전역변수도 매개변수로 하는 이유전역 변수를 직접 사용⸰ 장점 -간결함: 코드가 더 간단하고, 함수 호출 시 매개변수를 추가로 전달할 필요가 없음 -직관성: 빠르게 변수를 참조⸰ 단점 -테스트와 디버깅의 어려움: 함수가 외부 상태에 의존하게 되어 유닛 테스트가 어렵고, 코드의 이해도가 떨어짐 -부작용의 위험: 전역 변수를 수정하는 함수는 다른 부분에서도 영향을 미칠 수 있어, 부작용이 발생 매개변수로 전달⸰ 장점 -테스트와 디버깅의 용이성: 외부 상태에 의존하지 않으므로 테스트가 용이하고, 함수의 의도를 명확하게 파악 -부작용의 방지: 함수가 직접 수정하지 않고, 수정된 결과를 반환하기 때문에 함수의 부작용을 줄일 수 있음 -재사용성: 함수가 다양한 상태를 입력으로 받아 동작⸰ 단점 -코드의..
사용자에게 입력받기const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});let input = [];function getInput() { console.log(); process.stdout.write("> YYYY-MM-YY 형식으로 날짜를 입력해주세요. "); rl.once("line", (line) => { input = line.trim().split("-").map(Number); if (isValid(input)) { rl.close(); main(input); } else { ..
StackStack⸰ 선형 자료형⸰ LIFO(Last In First Out)⸰ 이전의 작업 내용을 저장해 둘 필요가 있을 때 사용class Stack{ constructor(){ this.stack = [] } push(item){ this.stack.push(item) } pop(){ return this.stack.pop() } peek(){ return this.stack[this.arr.stack-1] }}const stack = new Stack();stack.push(1);stack.push(2);stack.push(3);stack.pop(); // 3push(): 데이터 삽입pop(): 데이터 추출..
random( )random( )⸰ 0부터 1 미만까지 무작위로 부동소수점의 난수를 추출Math.random() * (최댓값 - 최솟값) + 최솟값; ⸰ (최댓값 - 최솟값) : 원하는 범위의 숫자 개수⸰ + 최솟값 : 시작하는 숫자 ⸰ 자연수로 바꿔주려면,Math.floor(Math.random() * (최댓값 - 최솟값) + 최솟값); Math.floor(Math.random( ))0 0, 1Math.floor(Math.random( ) * (10 - 1) + 1)1 1 ~ 10Math.floor(Math.random( ) * (10 - 3) + 1)3 3 ~ 10
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.