본문 바로가기

728x90
반응형

분류 전체보기

Interpreter vs Compiler ˙Interpreter와 Compiler 컴퓨터 구조에 따라서 사용하는 기계어로 변환하기 위한 방식으로, Interpreter(인터프리터)와 Compiler(컴파일러)가 존재한다. 기계어는 우리가 흔히 알고 있는 이진수(0과 1)로 이루어져 있으며, 다양한 방식으로 결합하여 여러가지 형태의 문자를 나타낼 수 있다. ˙인터프리터 : Interpreter 프로그램 실행 시 한 문장(코드) 단위 씩 해석하여 처리 및 실행하는 방식으로, 번역과 실행을 동시에 처리한다. 실행시 마다 한 문장(코드) 단위 씩 기계어로 번역하여 바로 처리 되기 때문에, 별도의 실행파일을 생성하지 않는다. 따라서, 컴파일*(처리 및 생산 등) 속도는 매우 빠르지만, 실행되는 속도는 느리다. 또한, 오류가 발생할 만한 코드가 있다면, .. 더보기
Procedure vs Trigger ˙Procedure Procedure는 사전에 DB에 SQL문 등을 사용한 명령문을 저장해 두어서, 특정 동작 시에 해당 Procedure를 호출하여 내부 동작을 처리한다. 마치, 하나의 Function 처럼 생성하여, 다양한 형태의 프로그램에서 사용 가능하다.  즉, Procedure는 일종의 Transaction 언어로, 특정 함수 처럼 사용하도록 하는 기능을 함으로써, IF문과 WHILE 문 등의 제어문을 사용할 수 있고, Procedure 단위로 특정 기능을 효율적으로 관리할 수 있도록 한다. 또한, 재사용이 가능하며, 별도의 로직을 서버에 반영하지 않고, DB적으로만 ALTER 처리 하여 로직을 변경할 수 있다. 하지만, 별도의 관리가 필요하기 때문에, 유지보수나 특정 작업에 대한 부분에서는 오.. 더보기
JavaScript 함수 정의 및 종류 ▷ 일반함수 - parsing 단계에서 함수가 정의된다. - 호출 시에 runtime에 인자 a와 b가 정의된다. ▷ 익명함수 - 접근 및 실행 시에 함수가 해석된다. - 함수 명 대신에 변수로 호출할 수 있으며, 실행 코드로 runtime에 제공된다. - 블록을 갖는 함수를 정의하여 변수에 할당한다. ▷ 중첩함수 - 다른 함수에서 정의되는 함수를 의미한다. - 특정 요소에만 사용된다면, 객체지향의 캡슐화와 은닉화를 활용할 수 있다. ▷ 콜백함수 - Library를 가지고 있는 함수가 Library를 호출한 이후 다시 함수를 호출하는 구조를 의미한다. - 다시 호출되는 함수를 콜백함수라고 말한다. ▷ 로드함수 - 페이지의 모든 요소들이 로드된 후에 호출되며, HTML 로딩이 끝난 후에 시작된다. - 화면.. 더보기
CI/CD : 지속적 통합과 지속적 제공 ˙CI : Continuous Intergration 지속적인 통합의 의미로, Application의 새로운 코드 변경 사항에 대하여 정기적인 빌드 및 테스트 과정을 통하여 공유 저장소에 통합되는 것을 의미한다. 횟수 제한에 대한 특별한 사항은 없으며, 하루에 여러 번까지 진행할 수 있다. CI는 다수의 개발자가 형상관리 툴을 공유하여 사용하는 환경으로 지속적으로 서비스 중인 Application 등의 경우 서비스 및 기능 추가 시마다 버전 업데이트를 진행하게 되는데, 여러 commit 건들에 대한 업데이트를 단위별로 빌드, 병합, 테스트, 릴리즈 관리 등의 과정을 진행하려면 번거로움과 어려움이 따를 수 있기 때문에 자동화된 빌드 및 테스트 과정을 통하여 충돌 등을 방어하는 이점을 가지고 있다. 더불어,.. 더보기
데이터베이스 정규화와 비정규화 ˙데이터베이스 정규화 관계형 데이터베이스의 설계에서 중복을 최소화하고, 데이터를 구조화하는 과정을 정규화라고 말한다. 정규화는 비정상적인 데이터 관계 등을 재구성하고 정상화된 관계를 재구성하기 위한 부분에 있다. 즉, 데이터의 일관성이나 데이터 중복, 데이터의 유연성 등을 보장하기 위함이며, 불필요한 데이터를 제거하고 논리적인 데이터 저장 과정을 진행한다. ˙데이터베이스 정규화 목적 정규화의 목적으로는 불필요한 데이터를 제거하고 중복을 최소화하기 위함이다. 특정 테이블에 대하여 구분 없이 모든 정보를 보유하게 된다면, 중복 데이터를 보유하게 되거나 의미 없는 레거시 데이터로 인한 불필요한 메모리 소비가 발생할 수 있기 때문에, 특정 KEY를 통한 테이블 관리가 필요하다. 또한, 데이터의 정확성과 일관성,.. 더보기
데이터베이스 ETL : Extract Transform Load ˙ETL : Extract Transform Load ETL은 데이터 추출 Extract, 변환 Transform, 적재 Load의 약자이다. 현대 사회에 기업이 전 세계 모든 곳에서 많은 사용자들이 관리하는 데이터들을 특정 목적으로 모아두는 것을 말하며, 실질적으로 유용한 상태의 가공한 데이터를 변환 및 적재하여 보유하는 프로세스를 의미한다. ˙데이터 추출 Extract SQL 문의 SELECT 등을 통하여 데이터를 조회(추출)하는 과정이다. 쉽게 말하여, 필요한 데이터를 꺼내오는 과정이다. 일반적으로는 특정 조건에 의하여 조회(추출)하고자 하는 데이터를 가져오는 과정이며, 필요에 따라 이외 테이블을 JOIN 하는 등의 참조 과정을 거치기도 한다. ˙데이터 변환 Transform 필요한 데이터를 꺼내온.. 더보기
[Chapter 2] React ˙Install Package ▷ npx react-create-app . - npx는 외부 package에 포함된 항목(파일)들을 실행할 때에 사용 ▷ npm install react-router --save - react router(라우터) 설치 (WEB & APP) ▷ npm install react-router-dom --save - react router(라우터) 설치 (WEB) ▷ npm install react-router-native --save - react router(라우터) 설치 (APP) ▷ npm install axios --save - HTTP 통신을 하는 데에 있어서 자주 사용되는 JavaScript Library ▷ npm install http-proxy-middlewa.. 더보기
[Chapter 1] NodeJS ˙Install Package ▷ npm install express --save - NodeJS Framework - const express = require('express') ▷ npm install mongoose --save - body 데이터를 분석하여 req.body 출력 - const mongoose = require('mongoose') ▷ npm install body-parser --save - MongoDB DataBase - const body-parser = require('body-parser') ▷ npm install nodemon --save - Server 종료하지 않고 코드 변화에 따라 Server 자동 재시작 - 'scripts' : {'start': 'nodemo.. 더보기

728x90
반응형