변수 - 데이터를 저장할 수 있는 메모리 공간으로 그 값은 변경될 수 있다. - 선언되지 않은 변수를 초기화 할 경우 자동으로 선언을 먼저 하고 초기화를 진행한다. var currentYear = 2021; var birthYear = 2000; var age = currentYear - birthYear + 1 //age = 22 alert(`당신의 나이는 ${age}세입니다.`) //Template Literal 자료형 - 컴퓨터가 처리하는 자료의 형태 - 기본형 number: 따옴표 없이 표기한 숫자 string:`나 "로 묶어 나타낸 것 boolean: true와 false 2가지 값만 가지고 있는 유형 undefined: 자료형을 지정하지 않았을 때 유형. 변수를 선언만 하고 값을 정의하지 않았..
1. 캐시 메모리 cpu가 메모리에 접근하는 시간은 cpu 연산 속도보다 느리다. cpu와 메모리 사이에 위치한 레지스터보다 용량이 크고 메모리보다는 빠른 SRAM 기반의 저장 장치 cpu의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생 cpu가 매번 메모리에 왔다 갔다 하는 건 오래 걸리니 메모리에서 cpu가 사용 할 일부 데이터를 미리 캐시 메모리로 가지고 와서 사용한다. cpu: 집 cache: 편의점(물건은 적지만 집과 가까이 있음) memory: 대형마트(물건은 많지만 멀리 떨어져 있음) 계층적 캐시 메모리 L1, L2: 코어 내부 L3: 코어 외부 참조 지역성의 원리 cpu가 메모리에 접근할 때 주된 경향을 바탕을 만들어진 원리 cpu는 최근에 접근했던 메모리 공간에 다시..
1. 명령어 집합(구조): CPU가 이해할 수 있는 명령어들의 모임 CISC(Complex Instruction Set Computer): 복잡한 명령어 집합을 활용하는 컴퓨터(CPU) x86-64 복잡하고 다양한 명령어 활용 명령어의 형태와 크기가 다양한 가변 길이 명령어를 활용 다양한 주소 지정 방식 상대적으로 적은 수의 명령어로도 프로그램을 실행 여러 클럭에 걸쳐 명령어 수행 단점: 명령어 파이프라이닝이 불리하다. RISC(Reduced Instruction Set Computer): 명령어의 종류가 적고, 짧고 규격화된 명령어 사용 단순하고 적은 명령어 고정 길이 명령어 적은 주소 지정 방식 프로그램을 이루는 명령어 수가 많음 1클럭 내외로 명령어 수행 메모리 접근 최소화, 레지스터 십분 활용 명..
1. 명령어 사이클과 인터럽트 1) 명령어 사이클 프로그램 속 명령어들의 일정한 주기 반복 실행 인출-실행-인출-실행 2) 인터럽트 CPU가 얼른 처리해야 할 다른 작업이 생겼을 때 발생 급한 것부터 처리하는 방식 동기 인터럽트(예외): CPU가 예기치 못한 상황을 접했을 때 발생 폴트, 트랩, 중단, 소프트웨어 인터럽트 비동기 인터럽트(하드웨어 인터럽트): 주로 입출력장치에 의해 발생, 알림과 같은 역할, 막을 수 있거나 없거나 입출력 작업 도중 효율적으로 명령어를 처리하기 위해 하드웨어 인터럽트를 사용 입출력 작업 동안 CPU가 다른 일을 할 수 있다. 처리 순서: 입출력장치가 CPU에 인터럽트 요청 신호 => CPU는 실행 사이클 끝나고 명령어 인출 전 항상 인터럽트 여부 확인 => CPU는 인터럽..
1. 저급 언어 기계어 어셈블리어: 0과 1로 이루어진 기계어를 읽기 편한 형태로 번역된 것 컴파일 -> 저급 언어: 소스코드가 컴파일되어 목적 코드가 된다. 컴파일 중 오류가 하나라도 있으면 소스 코드 전체가 실행되지 않는다. 인터프리터 -> 저급 언어: 한 줄씩 실행 오류 발생 전까지만 실행한다. 2. 명령어 구조와 주소 지정 방식 명령어 = 연산코드 + 오퍼랜드(연산에 사용될 데이터가 저장된 위치) 유효주소: 연산에 사용할 데이터가 저장된 위치 명령어 주소 지정 방식: 연산에 사용할 데이터가 저장된 위치를 찾는 방법 즉시 주소 지정 방식: 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시, 가장 간단한 형태의 주소 지정 방식 직접 주소 지정 방식: 오퍼랜드 필드에 유효 주소를 직접적으로 명시 간접 ..
1. 컴퓨터 구조 1) 컴퓨터가 이해하는 정보 데이터: 숫자, 이미지, 동영상과 같은 정적인 정보 명령어: 컴퓨터를 실질적으로 움직이는 정보 2) 컴퓨터의 4가지 핵심 부품 CPU: 메모리에 저장된 값을 읽어들이고, 해석하고, 실행하는 장치 ALU: 계산기 레지스터: CPU 내부의 작은 임시저장장치 제어장치: 제어 신호를 내보내고, 명령어를 해석하는 장치 메모리(RAM): 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품 실행되는 프로그램의 명령어와 데이터를 저장한다. 프로그램이 실행되려면 메모리에 저장되어 있어야 한다. 메모리에 저장된 값의 위치는 주소로 알 수 있다. 보조기억장치 전원이 꺼져도 보관될 프로그램을 저장하는 부품 입출력장치 3) 컴퓨터 구조의 큰 그림 메인보드 & 시스템 버스 메인..
* JAVA Beans: 재사용 가능한 컴포넌트, 상태, getter&setter * Servlet & JSP bean: MVC의 Model, EL, scope, JSP Container가 관리 * EJB(Enterprise Java Beans): 복잡한 규칙, EJB container가 관리 * Spring Bean: POJO(Plain Old Java Object), 단순, 독립적, Spring Container가 관리 * Bean: Spring Container가 관리하는 객체 * Spring Container: Bean 저장소, Bean을 저장, 관리(생성, 소멸, 연결) BeanFactory: Bean을 생성, 연결 등의 기본 기능을 정의 ApplicationContext: BeanFactory..