용어 사전

초급 개발자를 위한 전반적인 기술 용어와 ICE Product 에 쓰이는 용어들을 모은 Dictionary 입니다.

Keyword

Synonym

Description

Keyword

Synonym

Description

ICE

 

I-ON Content Ecosystem, Content Management System

ICE Core

ICE Backend

ICE 솔루션을 베이스로 동작하는 API 서버 애플리케이션

주로 Infinispan 에 데이터를 적재하고 DB 커넥션 수행과 비즈니스 로직을 제공하는 역할

클라이언트에 필요한 스키마 정보와 Builder 정보도 코어에 의존성을 가지고 있다.

BackOffice

BO, Admin 페이지

커머스 관리 플랫폼을 사용할 관리자가 사용하게 될 프론트엔드 클라이언트

고객이 자사 시스템의 정보를 등록/수정/삭제 등의 운영 UI를 사용할 수 있도록 제공한다.

코어와 지속적으로 협업하여 API와 스키마를 연동하여야 함

FrontOffice

FO, Front

 

Builder

 

 

Schema

스키마, Node

ICE 에서 데이터/기능 단위의 컨텐츠를 분리하여 관리하기 위한 정의서

RDB의 스키마처럼 DB 테이블 단위로 나뉜다고 이해해도 좋다

 

Git

 

소스 코드 관리를 위한 분산 버전 관리 시스템

여러명의 개발자(분산)가 특정 프로젝트를 자신의 컴퓨터로 협업하여 개발하면서 버전을 관리할 수 있는 시스템

Gitlab

 

설치형 버전관리 시스템 - 자신의 서버에 직접 설치해서 사용할 수 있다.

클라우드 버전 관리 시스템 - gitlab.com을 이용하면 서버 없이도 Gitlab의 기능을 이용할 수 있다. 10명 이하의 프로젝트는 무료로 사용할 수 있다.

Issue tracker 제공. Git 원격 저장소 제공. API 제공. Team, Group 기능 제공

Redmine

 

프로젝트의 할 일을 관리하는 도구이다. 할일이란 개발해야 할 새 기능, 수정해야 하는 결함, 문제가 된 이슈 등을 모두 포함한다. 최근에는 이 모든 것을 이슈(Issue)라고 통칭하고, Redmine과 같이 이슈를 관리하는 도구를 이슈 추적 시스템, 즉 Issue Tracking System(이하 ITS)이라 부른다.

Sts

 

스프링 통합 개발 환경을 제공하는 툴이며 스프링을 개발하는데 많은 편의 기능을 제공

Node.js

 

서버사이드 자바스크립트이며 구글의 자바스크립트 엔진인 V8을 기반으로 구성된 프레임워크

npm

 

Node package manager.

Node.js로 만들어진 모듈을 웹에서 받아서 설치하고 관리해주는 프로그램

yarn

 

npm과 같이 js 패키지 매니저. yarn이 npm보다 속도와 안전성 면에서 조금 더 우수하다.

Postman

 

개발한 API를 테스트하고, 테스트 결과를 공유하여 API 개발의 생산성을 높여주는 플랫폼

Spring Boot

 

스프링 프레임워크 기반 프로젝트를 복잡한 설정없이 쉽고 빠르게 만들어주는 라이브러리

REST API

 

HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미함

GraphQL

 

페이스북에서 만든 쿼리 언어. 웹 클라이언트가 데이터를 서버로 부터 효율적으로 가져오는 것이 목적

HazelCast

 

In-Memory DataGrid

infinispan

 

오픈소스 DataGrid. in-memory 데이터베이스. Key-value 형식으로 저장.

Lucene

 

Fulltext 검색 엔진. 오픈 소스 정보검색 라이브러리. 색인과 검색 기능 제공.

Hibernate Search

 

Boss에서 개발한 ORM(Object Relational Mapping) 프레임워크. 특정 클래스에 매핑되어야 하는 데이터베이스의 테이블에 대한 관계 정의가 되어 있는 XML 파일의 메타데이터로 객체관계 매핑을 간단하게 수행시킵니다.

Tomcat

 

톰캣은 아파치 소프트웨어 재단의 웹 어플리케이션 서버(와스)로서, 자바 서블릿을 실행키고 JSP코드가 포함되어 있는 웹 페이지를 만들어준다.

Actuator

 

Spring boot에서 마이크로서비스를 지원하는 라이브러리

Gradle

 

Ant, Maven에 이은 범용 빌드 도구. Groovy라는 언어로 기술함.

Docker

 

애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다

Jenkinsfile

 

소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴이다. CI(Continuous Integration) 툴 이라고 표현한다.

다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유영역에 있는 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해준다.

Express

 

Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크

L20n.js

 

l20n은 Mozilla에서 직접 개발한 지역화 프레임워크입니다. 언어별로 표현하는 방식이 다르다보니 같은 포맷을 유지하며 알맞게 번역한다는 것은 어려운 일입니다. 단수, 복수에 대한 표현도 다르고요, 어떤 언어에는 성별을 표시해줘야 하기도 합니다. l20n은 이런 다양한 상황들을 더 쉽게 해결해주고, 의미 중심으로 생각할 수 있도록 도와줍니다.

D3.js

 

데이터 중심의 문서 (Data - Driven Documents)의 약자로 자바스크립트 기반의 라이브러리 언어이다.

사용자가 입력한 시각화 규칙을 바탕으로 데이터를 반영해 시각화 결과물을 생성한다.

React.js

 

facebook에서 제공해주는 프론트엔드 라이브러리. 웹/앱의 View를 개발할 수 있도록 하는 인기있는 라이브러리.

Redux

 

Flux개념을 바탕으로한 React에서 현재 가장 많이 사용되는 State관리 라이브러리

Webpack

 

프로젝트의 구조를 분석하고 자바스크립트 모듈을 비롯한 관련 리소스들을 찾은 다음 이를 브라우저에서 이용할 수 있는 번들로 묶고 패킹하는 모듈 번들러(Module bundler)다.

SASS

 

CSS Preprocessor

Babel

 

javascript 로 결과물을 만들어주는 컴파일러

Elastic Search

 

Apache Lucene( 아파치 루씬 ) 기반의 Java 오픈소스 분산 검색 엔진