index | Method name | Params | rule |
---|---|---|---|
1 | Enqueue | {} | 맨 뒤에 요소 삽입 |
2 | Dequeue | {} | 맨 앞에 요소 삭제 |
3 | Peek | {} | 데이터 참조 |
4 | front | {} | 프론트 데이터 출력 |
5 | rear | {} | 레어 데이터 출력 |
각 노드가 자식값에 따라 정렬되어야 하는 트리와 같은 자료구조이다.
힙메모리(Heap Memory - 가용 메모리를 힙이라고 부름)
동적으로 할당된 변수가 할당되는 영역(Dynamic Memory Allocation)
원시타입은 스택 영역에 그리고 객체 타입은 힙 영역으로 담깁니다.
힙메모리(메모리 공간이 동적으로 할당되고 해제)와 힙은 서로 다른 것이다.
자바스크립트는 싱글 스레드 기반 언어로 스택 메모리를 하나만 가집니다.
스택은 함수 호출이 끝난 후 OS에 의해 정리되지만, 힙 메모리는 정리되지 않습니다.
쓸모없는 데이터가 메모리상에 있다면, 이건 불필요하게 공간을 차지하는 것을 메모리 누수라고 표현합니다
특정 컴포넌트에서 스크롤 이벤트를 걸어주기위해 이벤트 리스너를 등록하고, removeEventListener를 안해주어서 해당 이벤트를 필요로 하지 않는 화면에서도 메모리상에 이벤트가 남아있는 경우도 메모리 leak 이슈 발생
공통점
차이점
에러 종류 | 저장되는 데이터 위치 | 저장되는 데이터 종류 | 저장되는 방법 |
---|---|---|---|
스택오버플로우 | 콜스택 | 변수 | FILO |
아웃오브메모리 | 힙메모리의 큐 | 객체 | FIFO |
https://developer.mozilla.org/ko/docs/Web/JavaScript/Memory_Management
개발자가 왜 하드웨어를 알아야 합니까?
컴퓨터는 기존 연산을 활용해 연산을 정의함으로써 새로운 연산을 '가르칠' 수 있다는 데 있다.
"평균을 구한다"라는 연산의 의미가 "집합 내의 숫자를 모두 더한 후 집합의 크기로 나눈다"라고 가르칠 수 있다. 그럼 이렇게 정의한 연산을 이용해 훨씬 더 많은 연산을 만들 수 있지만 계산기의 경우는 사람이 직접 입력한 숫자와 사칙연산을 통해서만 계산이 가능하다.
컴퓨터의 소프트 웨어를 다루는 학문
컴퓨터에서 사용할수 있도록 정보를 저장하는 공간
하드웨어와 응용프로그램을 이어주는 운영체제의 핵심 시스템소프트웨어
운영체제의 핵심 역할 수행
-데이터의 모임인 Database를 만들고 저장, 관리 할 수 있는 기능을 제공하는 응용프로그램
dBASE
자기 기술성
File System
파일의 확장자를 보고 어떤 프로그램으로 제작되었는지 알수 있음
DB
데이터 관리를 위해 설계된 특수 목적의 프로그래밍 언어
데이터를 정의한다.
CREATE - DB 개체 정의
DROP - DB 개체 삭제
ALTER - DB 개체 정의 변경
데이터 검색, 등록, 삭제 ,갱신
INSERT - 행, 테이블 데이터 삽입
UPDATE - 테이블 업데이트
DELETE - 특정 행 삭제
SELECT - 테이블 검색 결과 집합
데이터 액세스 제어
GRANT - 작업 수행권한 부여
REVOKE - 권한 박탈
TODO api를 사용해서 할일 목록을 관리하는 TODO 리스트 제작
index.js
: 할일을 입력하는 input 창과 추가 button의 EventListner, 그리고 로드 될때마다 할일 목록을 렌더링 할수 있도록 renderTodos
를 호출합니다.
index.html
: 메인 화면 html파일입니다. 할일을 입력하는 input과 추가 button을 구현했습니다.
request.js
: heropyapi에 요청을 보내는 메소드가 위치한 파일입니다. 할일을 생성하는 createTodo
, 할일 목록을 불러오는 readTodos
할일 내용을 수정하는 updateTodo
할일 항목을 제거하는 deleteTodo
비동기 메소드를 작성했습니다.
render.js
: renderTodos
메소드를 모듈화하여 생성한 파일입니다. readTodos
로 리턴된 데이터 배열을 바탕으로 엘리먼트를 생성하여 데이터를 추가한뒤 렌더링해주는 메서드 입니다.