데이터는 성격과 목적에 따라 두 부류로 구분할 수 있다.OLTP: On-Line Transaction Processing온라인에서 발생한 트랜잭션을 데이터베이스에 저장한 데이터를 의미한다.OLAP: On-Line Analytical Processing거래 데이터를 가공
CPU가 하나의 명령어를 처리하는 정형화된 흐름을 의미한다.CPU는 명령어 사이클을 반복하며 명령어들을 처리해 나간다.명령어를 메모리에서 CPU로 가져오는 단계.CPU로 가져온 명령어를 실행하는 단계로서, 제어장치가 명령어 레지스터에 담긴 값을 해석하고, 제어 신호를
하나의 서비스에 사용되는 여러가지의 stack들이 특정 OS 버전과 호환되지 않으면, 개발환경 구성부터 다시 시작해야 한다.하나의 애플리케이션에는 여러 가지의 라이브러리를 사용하게 되는데, 이는 때때로 아주 복잡하다. 특정 라이브러리에 적합한 개발환경을 갖춰놓으면, 다
노마드코더의 영상을 보다가, 유용한 내용이 있어 기록해 둔다.localhost 환경에서 실행한 애플리케이션을 외부에서 접속할 수 있도록 URL을 만들어 주는 툴들이 있다.원래 배포를 위해서는 최소 DNS, 가상 머신 등의 자원이 필요하고 이를 적절하게 설정하기 위해 시
정규화를 통해 만든 테이블을 성능, 개발 편의성 등을 위해 조작하거나 구조를 바꾸는 것.정규화를 하게 되면 쓰기가 편리해지는 대신, 읽기의 성능을 희생하게 된다.테이블을 나누면 join을 해야 하는데, join에 드는 비용이 크기 때문.즉, 읽기가 자주 일어나는 테이블
정규화(Normalization) 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 의미한다. 정규화는 제1 정규화로부터 제6 정규화까지 총 6가지 단계가 있으나, 제4~6 정규화는 학술적 측면에서 많이 다뤄지며 산업적 관점에서는 제1~3
사전적 의미(위키피디아): 집합의 원소 개수예시담임교사, 반 => 1:1(혹은 일대일) 관계각 선생님은 한 반만 담임한다.각 반의 담임선생님은 한 명이다.글쓴이, 글 => 1:N(혹은 일대다) 관계각 저자는 여러 글을 작성한다.각 글은 한 명의 저자만 존재한다.위키백과
개념적 데이터 모델링은 기획 내용에 드러난 개념을 분석, 도출하고 빠짐없이 옮기는 단계이다. 따라서, 개념적 데이터 모델링의 결과에 따라 논리적, 물리적 데이터 모델링이 좌우될 것이다. 또한, 개념적 데이터 모델링이 기획 내용과 일치하지 않는다면 기획 의도를 올바르게
데이터 모델링: 목적을 갖고 현실세계를 모방한 것목적에 부합하게 모방된 모델일 수록 좋은 모델이다.즉, 관계형 데이터 모델링이란, 복잡한 현실을 관계형 데이터베이스(=표)에 집어넣기 위한 방법을 의미한다. \- 또한, 문제를 현실로부터 뜯어내어 고도로 추상화하여 컴퓨
어떤 문제를 풀기 위한 절차나 방법.구체적으로는, 어떤 문제가 있을 때 주어진 '입력' 정보를 원하는 '출력' 정보로 만드는 일련의 과정을 구체적이고 명료하게 적은 것.문제를 푸는 방법은 꼭 한 가지만 있는 것은 아니다. 따라서 여러 가지 해답(알고리즘)을 만들고, '
SQL injection은 데이터베이스에 피해를 끼칠 수 있는 '코드 주입 기술(code injection technique)'이다.가장 일반적인 웹 해킹 기술 중 하나이다. 서비스에서 사용자에게 어떠한 input 행위를 요구할 때, 사용자는 입력값을 통해 SQL문을
정의: 하나의 논리적 작업 단위를 구성하는 일련의 연산들의 집합.집합 내의 연산들이 모두 성공해야 트랜잭션이 성공한 것으로 본다.만약 트랜잭션이 도중에 실패하거나 정상적으로 실행될 수 없다면, 아무것도 실행되지 않은 처음 상태로 되돌려져야 한다(ROLLBACK).트랜잭
변수를 선언하고, 선택적으로 초기화할 수 있다.재선언: 가능재할당: 가능변수는 어디에 선언되어있든 간에, 어떠한 코드가 실행되기 전에 처리된다. 이는 코드 안에서 어디서든 변수 선언은 최상위에 선언된 것과 동등하다. 이는 호이스팅(hoisting) 문제를 야기한다.변수
async, await는 비동기 함수를 표준 동기 함수를 사용하는 것처럼 간단하게 쓸 수 있게 해 준다.어떤 함수 앞에 async 키워드를 붙이면, 해당 함수는 항상 Promise를 반환한다. 혹은, Promise가 아니더라도 이행 상태(resolved)의 promis
비동기 작업이란 어떤 한 작업이 완료될 때까지 기다리지 않고 다른 작업을 동시에 시작하는 것을 의미한다. 이렇게 함으로써 이전 작업이 진행되는 동안에도 다음 작업이 시작하거나 완료될 수 있다. 반대로 동기 작업이란, 어떤 한 작업이 완료된 후에야 다음 작업을 시작하는
서버가 자신이 속한 곳(origin)과 다른 어떠한 출처(origin)(도메인, 스키마, 포트 등)에서 실행 중인 웹 애플리케이션이 서버의 출처에 있는 특정 리소스에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 기제.브라우저는 교차 출처 자원을 제공하는 서버에
레지스터는 프로그램 속의 명령어와 데이터를, 프로그램 실행 전/후로 저장한다. 따라서 레지스터를 통해 프로그램의 실행 과정을 파악할 수 있다.레지스터는 그 종류가 다양하고 각기 다른 역할을 수행한다.Program Conter(PC): 메모리에서 읽어들일 명령어의 주소를
CPU는 ALU, 제어장치, 레지스터로 구성된다.ALU: 계산 담당제어장치: 명령어를 읽어들이고 해석레지스터: CPU의 임시 저장 장치ALU는 계산을 수행하는 부품으로서, 계산을 위한 피연산자, 연산 이 필요하다.피연산자: 레지스터가 전달.연산: 제어장치가 제어 신호를
명령어: 연산 코드 + 오퍼랜드연산 코드(operation code): 명령어가 수행할 연산(=연산자)오퍼랜드(operand): 연산에 사용할 데이터 또는 그것이 저장된 위치(=피연산자)연산 코드 필드: 명령어에서 연산 코드가 담기는 영역오퍼랜드 필드: 명령어에서 오퍼
Python, Java, C와 같은 프로그래밍어로 만든 모든 소스 코드는 컴퓨터 내부에서 명령어로 변환된다.사람이 이해하고 작성하기 쉽게 만들어진 언어로서, 컴퓨터가 이해하지 못하는 언어.대부분의 프로그래밍 언어가 여기에 속함.소스 코드는 고급 언어로 작성되어 있으므로