Chillax in dev

[IT] 자주 쓰는 개발 용어 살펴보기 본문

Web

[IT] 자주 쓰는 개발 용어 살펴보기

Seong Story 2023. 3. 30. 15:27
728x90

[IT] 자주 쓰는 개발 용어 살펴보기

대학에서는 알려주지 않는 IT 회사에서 일하다 보면 듣는 용어들이 있습니다.

대부분 서비스를 만드는 경우가 많다보니 비즈니스용어와 혼용되어 사용하는 경우도 많습니다.

회사마다 다르기에 의미론적으로 접근, 업무 관련 소통시 개념을 잘 파악해 두면 좋을 용어들을 정리해 봅니다.

 

AS-IS & TO-BE

AS-IS 기법, 분석은 현재의 상태, 업데이트 이전의 상황을 포괄적으로 지칭한다. TO-BE 기법,분석은 미래에 변경될 사랑 이상적 목표 업데이트 이후의 기능을 지칭한다. API 문서를 배포할 때 업데이트 사항이 있다면 AS-IS , TO-BE를 통해 설명하는 경우가 많다. 이러한   AS-IS , TO-BE를 통해 차이를 분석하며 서비스의 개선을 위해 어떤 작업을 할지 분석하는 것을 GAP 분석이라고 한다.

 

템플릿 (Templet)

템플릿화 해주세요.

 

어떤 반복되는 작업에 대해 특정 틀과 시스템을 가지고 더 효율적으로 활용하기 위해 정형화하는 것을 의미한다.

일상의 예로 PPT를 봐도 템플릿 개념이 있다. PPT에선 내용은 없지만 공통된 디자인이나 순서를 제공해 더욱 효율적으로 PPT를 작성하도록 돕는다.

 

하드 코딩

하드코딩은 지양해 주세요.

빡세게 코딩한건가? 정말 하드 하게 코딩하는 것으로 초반엔 받아들였다.

하지만 하드코딩은 프로그램을 짤 때 코드레벨에서 데이터를 직접 입력하여 저장하는 것을 지칭한다.

만약 어떤 서비스를 만들 때 이미지를 업로드하는 것을 구현한다고 생각해 보자 이미지 개수를 3개로 제한하도록 코드를 단순하게 짜면 다음과같다.

//하드코딩되어 이미지 개수 제한 변경시 유지보수가 어렵고 관련영역을 찾아헤매야한다..

// img_arr 배열에 이미지 정보를 넣자.
var img_arr = [];

var now_upload = "업로드할 이미지";

if(img_arr.length <= 3){
	//이런경우만 배열에 요소를 추가하여 서버로 보내 저장하려한다.
    arr.push(now_upload);
}

여기서 문제가 되는 하드코딩이 3이다.

이후 10개로 업로드 이미지가 바뀌면 연관된 모든 코드를 수정해야 한다.

따라서  하드코딩을 지양해달란 것은 상수를 활용하거나 더욱 간단히 유지보수할 수 있도록 개발하는 것을 의미한다.

 //상수를 활용하여 하드코딩을 지양하여 유지보수를 용이하게했다.

// img_arr 배열에 이미지 정보를 넣자.
var img_arr = [];

// 이미지 개수 제한을 상수를 활용하자.
const img_limt = 3;

var now_upload = "업로드할 이미지";

if(img_arr.length <= img_limt){
	//이런경우만 배열에 요소를 추가하여 서버로 보내 저장하려한다.
    arr.push(now_upload);
}

결국 하드코딩을 피하라는 말의 의미는 일회성의 코드, 유지보수지 많은 공수가 발생되도록 프로그램을 짜는 것이다. 클래스나. 상수의 활용, 메서드의 활용, 외부에 데이터를 저장해 관리하는 등 활용성이 높은 개발을 하도록 노력하면 된다고 생각한다.

 

모델 / 모듈 / 모뎀 

모델(Model)은 익숙한 MVC에서 설명하는 데이터 처리를 의미하는 모델과 업무 도메인 데이터 작업규칙 등을 포괄하는 의미를 가진다. 

데이터 모델링은 이러한 데이터 흐름을 도식화하는 것으로 DB 설계에 대한 문서화를 의미한다.

모듈(Module)은 관련 있는 기능들의 묶음을 총칭하여 필요한 라이브러리, 패키지와 같은 느낌이다. 

모뎀(Modem)은 사실 신호 변환기를 의미하는 것으로 변조기 + 복조기의 줄임말이다.

 

CRM (Customer Relationship Managment)

CRM 솔루션 회사들이 많다. 약자 그대로 고객 관리를 위한 시스템이다. 이 세상에 완벽한 개발은 없다고 생각한다. 따라서 계속 개선하고 유지보수하는 개념이 필요하다 Client 입장에선 CS가 발생하는 것은 당연한 흐름이다. 이를 관리하기 위한 시스템의 총칭이다. 

 

ERP(Enterprise Resource Planning)

ERP는 전사적 자원 관리이다. 조직의 회계, 조달, 프로젝트 관리, 리스크 관리, 공급망, 운영 등 일상적 비즈니스 활동을 관리하는 시스템이다.  CRM과의 차이점은 CRM은 좀 더 CS 위주의 관리를 위함이고 ERP는 인사, 재무, 회계 등등 각 부서별로 더욱 복합적인 필요기능들을 막라하기에 이 둘을 혼용하는 경우도 있다.

 

CMS(Content Management System)

CMS는 콘텐츠 관리 시스템으로 말 그대로 사용자의 콘텐츠를 관리하는 것에 목적이 있다. 워드 프레이스와 같이 텍스트, 사진, 영상, 문서를 직접 업로드하여 관리하는 애플리케이션이다.

 

B2B, B2C, B2G, C2C

사실 모두 비즈니스 모델로  경제용어이다.

B2B(Business to Business ) : 기업과 기업 간의 거래  ex ) 에어비엔비

B2C(Business to Customer) : 기업과 소비자 간의 거래 ex) 자사몰(카페 24), 오픈마켓(11번가, 옥션, 지마켓) 

B2G(Business to Government): 기업과 공공기관 간의 거래 ex) 정부지원 사업

C2C(Customer to Customer): 소비자와 소비자 간의 거래 ex) 당근마켓, 중고나라, 번개 장터

 

간트 차트 (Gantt Chart)

간트차트는 어떤 프로젝트를 완료하기 위해 작업기간, 업무량, 진행도, 담당, 마일스톤(milestone : 프로젝트 진행 과정에서 특징적인 결정사항, 성취 과제이다.) 등을 타임라인으로 정리하는 프로젝트 관리 도구이다.

 

개발직군 (FE, BE, DE, DevOps, 아키텍트)

IT 협업을 진행하다 보면 실로 다양한 직군을 접한다. 기획(PL, PO, PA) 디자인(UI/UX, 웹, 앱) 다양하지만 개발 부분에서 사용되는 용어를 간단히 살펴봅니다.

FE (Front End ) 화면 보이는 측면 

BE (Back End ) 기능 적인 측면 

DE (Data Engineer) : 데이터를 통한 개발  및 운영 파이프라인 구축

DA (Data Analyst ) : 데이터의 시각화 추출 

DS (Data Scientist) : 수집한 데이터를 통한  패턴,추세 발견 및 비즈니스 예측

DevOps (development(개발) + operations(운영)) : 자동화, 롤백 등 개발과 운영의 모든 처리하는 능력자

아키텍트(Architect) :  아키텍트는 설계자이다. 다만 해당 분야에 책임을 지는 높으신 위치가 많다.

 

정리

사실 회사마다 사용하는 용어와 의미가 조금씩 다르지만 한번쯤 검색해보게 되는 용어들이니 도움이 되길 바란다.

728x90
LIST

'Web' 카테고리의 다른 글

[브라우저] 크롬 홈페이지 시작 화면 변경하기  (0) 2022.10.18
Comments