Web

IT 개발 용어 정리하기

date
Jun 14, 2024
thumbnail
web-app-planning-terminology.png
slug
web-app-planning-terminology
author
status
Public
tags
Web
Project
TIL
summary
IT 개발 업계에서 사용하는 용어들을 정리해보자
type
Post
category
Web

IT 개발에서 사용되는 용어를 정리하자


 

프리징이 뭔데?

최근에 자주 드나드는 개발자 커뮤니티 디스코드에서 개발자 지인이 아래와 같이 하소연했다.
 
“프리징 일정 안 알려주고 상사분들 다 퇴근하셨네… 기다리고 있었는데 아오~”
프리징 일정 안 알려주고 상사분들 다 퇴근하셨네… 기다리고 있었는데 아오~”
 
프리징이라는 용어가 생소해서 물어보니 코드 프리징(Code Freezing)을 말하고 있었다. 비록 지금 개발자로 취업한 상태는 아니고 개발자가 아니어도 IT 관련 업계에서 일을 하기 위해 준비 중인 상태였기에 프로덕트 기획 및 개발 단계에서 사용되는 용어들에 대한 정리가 필요하다고 느꼈다.
 
개발 용어에서는 바뀌지 않는 확실한 개념의 용어들이 있으나, 기획이나 프로젝트 단계에서 사용되는 용어에는 회바회, 팀바팀으로 사용하는 용어에 조금씩 차이가 있을 수 있다. 일반적으로 사용되는 용어와 개념 정리를 위해 찾아 보았다.
 
이미 알고 있는 용어도 많았지만 이 용어들을 한 문장으로 쉽게 표현할 수 있는가? 물어봤을 때 자신있게 Yes라고 답할 수는 없을 것 같다. 알고 있던 용어, 모르고 있던 용어 관계 없이, 순서 없이 정리했다.
 
 

용어 정리


Ctrl + F로 용어를 검색할 수 있어요.
- last updated at 2024.06.14
Ctrl + F로 용어를 검색할 수 있어요. - last updated at 2024.06.14
 
컴파일
  • Compile
  • 개발자가 작성한 소스 코드를 컴퓨터가 이해할 수 있는 바이너리 코드로 변환하는 과정
  • 컴파일러는 컴파일을 수행하는 언어 번역 프로그램을 의미
 
빌드
  • Build
  • 소스 코드를 실행 파일로 변환하는 과정
  • 개발자가 작성한 코드를 컴퓨터가 실행할 수 있는 형태로 만드는 과정
 
QA
  • Quality Assurance
  • 소프트웨어가 요구사항을 충족하고 오류 없이 작동하는지 확인하는 품질 보증 과정
  • 테스터가 앱을 사용해보고 버그를 찾아내는 과정
 
코드 프리징
  • Code Freezing
  • 코드를 더 이상 수정하지 않는 상황을 통칭
  • 소스 코드를 더 이상 개발하거나 수정하지 않는 단계
 
프리징
  • Freezing
  • 개발 측에서는 코드 프리징을 의미하기도
  • 운영 측에서는 서비스 혹은 프로그램의 작동 중지 혹은 먹통이 된 상태를 의미
  • “DB 프리징 현상이 발생하고 있다.”
 
싸인오프
  • Sign-off
  • 프로젝트나 작업이 완료되어 승인하는 단계
  • 개발 팀이 코드 프리징된 이터레이션에 대한 테스트를 완료하고 PM이나 클라이언트가 이를 승인하는 과정
 
배포
  • Deployment
  • 소프트웨어를 사용자가 사용할 수 있도록 실제 서버에 설치하는 과정
  • 새 버전의 앱을 앱 스토어에 올리는 것
 
서브밋
  • Submit
  • 보통 앱 스토어나 소프트웨어 저장소에 새로운 버전의 소프트웨어를 제출하는 것
 
릴리즈
  • Release
  • 완성된 소프트웨어를 공식적으로 배포하는 것
  • 개발이 완료된 앱을 사용자에게 공개하는 것
 
이터레이션
  • Iteration
  • 개발 과정에서 하나의 ‘주기’를 의미
  • 반복적으로 작업을 수행하면서 소프트웨어를 개선하는 작업
  • 앱을 릴리즈하는 ‘주기’를 의미
  • PM(Product Manager)이 주로 하는 일 중 하나로, 이터레이션을 관리하고 각 이터레이션에서 어떤 기능을 내보낼지 결정하는 작업
 
PM
  • Project Manager, Product Manager
  • 프로젝트 관리자는 프로젝트 전체 진행을 관리하는 역할
  • 제품 관리자는 제품의 전략과 로드맵을 관리하는 역할
 
서버/클라이언트/API
  • Server, Client, API
  • 서버는 데이터를 저장하고 처리하는 시스템
  • 클라이언트는 서버에 요청을 보내고 데이터를 받아 사용자에게 화면을 제공
  • API는 다른 소프트웨어와의 상호 작용을 위해 정의된 인터페이스
  • 서버 ↔ API ↔ 클라이언트
 
스프린트
  • Sprint
  • 일정한 기간 동안 특정 작업을 완료하기 위한 짧은 개발 주기
 
애자일
  • Agile
  • 반복적이고 점진적인 작업 방식을 강조하는 소프트웨어 개발 방법론
  • 문서 중심과 절차적인 개발 방식이 아닌 신속함과 고객 중심의 피드백을 통해 즉시 유동적으로 개발하는 개발 방법론
  • 예시로 고객의 요구 사항이 자주 변할 때, 매 스프린트마다 기능을 조정하고 개발하는 과정
  • 방대한 내용이므로 더 찾아보고 이해할 것
 
로드 밸런싱
  • Load Balancing
  • 네트워크 트래픽을 여러 서버에 분산시켜 시스템의 안정성을 높이는 기술
  • 많은 사용자가 동시 접속할 때 서버에 과부하가 오지 않도록 트래픽을 분산시키는 기술
 
레거시
  • Legacy
  • 기존의 오래된 코드나 시스템으로 최신 기술로 대체되지 않은 시스템을 의미
 
컨테이너
  • Container
  • 소프트웨어가 실행되는 환경을 표준화하여 어디서나 동일하게 실행될 수 있도록 하는 기술
  • Docker를 사용해 개발 환경을 통일하는 예시
 
마이크로 서비스
  • Microservices
  • 애플리케이션을 작은 독립적인 서비스들로 나누어 개발하는 아키텍처
  • 하나의 큰 애플리케이션을 사용자 인증, 결제, 상품 관리 등 독립적인 서비스로 분리하는 것
 
SDK
  • Software Development Kit
  • 특정 플랫폼에서 소프트웨어를 개발할 수 있도록 도와주는 도구 모음
  • 안드로이드 앱 개발을 위한 Android SDK가 예시
 
마일스톤
  • Milestone
  • 프로젝트 진행 중 중요한 시점이나 목표를 나타내는 지표
 
스테이크 홀더
  • Stakeholder
  • 프로젝트에 영향을 받거나 영향을 미치는 모든 이해 관계자
  • 고객, 팀원, 경영진 등 모두 포함
 
페르소나
  • Persona
  • 타겟 사용자의 구체적인 프로필을 작성하여 사용자 요구와 행동을 예측하는 도구
  • “30대 직장인 남성을 타겟으로 한 사용자 페르소나를 작성해보자.”
 
회고
  • retrospective
  • 스프린트가 끝난 후 팀이 모여 무엇이 잘 되었고 무엇이 개선되어야 하는 지 논의하는 회의
  • “특정 작업을 끝내거나 특정 활동을 끝낸 후 회고록을 작성해보자”
 
SI
  • System Integration
  • 시스템 구현 업무 포지션
 
SM
  • System Management, System Maintenance
  • 기존에 만들어진 시스템을 운영하는 업무 포지션
 
컨벤션
  • Convention
  • 코드 또는 문서를 작성할 때 팀 단위로 지켜야 하는 작성 규칙
 
하이브리드 앱
  • Hybrid App
  • 모바일 환경에서 안드로이드 환경과 iOS 환경 모두에서 구동이 가능한 웹 애플리케이션
  • 개발 비용이 적게 측정되는 것이 장점으로, 금융 혹은 쇼핑몰 등 많이 사용
 
디버깅
  • Debugging
  • 디버깅 혹은 디버그
  • 코드에서 오류를 찾고 그 원인을 알아내어 제거하는 과정
  • 주로 프로그램 개발 마지막 단계에서 진행하며 디버깅 도구의 도움을 받음
 
SEO
  • Search Engine Optimize
  • 웹 페이지를 구글 등 검색 엔진이나 포털 사이트의 기준에 맞추어 구성하는 작업
  • 사람들이 많이 검색할 만한 키워드를 배치하거나 웹 표준을 지키고, 스팸으로 분류되지 않게끔 하는 등 웹 페이지가 더 많이 노출될 수 있도록 처리하는 작업
 
버그/에러/예외
  • Bug / Error / Exception
  • 버그는 소프트웨어에서 발생하는 예견치 못한 오류나 오작동
  • 에러는 일반적으로 사용자에게 발생하는 문제로 버그와 달리 외부에 있는 유저가 내부에서 정한 형식을 따르지 않을 때 주로 발생
  • 예외는 에러가 일어날 가능성을 개발자가 미리 예상하고 프로그램이 비정상적으로 종료되지 않도록 처리하는 것으로, 예외 처리(Exception Handling) 또는 트러블 슈팅(Trouble Shooting)을 통해 예외를 구분하고 유저에게 에러 메시지를 띄워줌
 
트래픽
  • Traffic
  • 서버를 통해 전송되는 데이터의 양
  • 서비스의 방문자 수가 많거나 접속이 잦을 수록 트래픽은 증가함
 
스레드
  • Thread
  • 프로그램을 실행하는 하나의 프로세스 내에서 실제로 작업을 처리하는 주체
  • 모든 프로세스는 반드시 하나 이상의 스레드를 가짐
 
멀티 스레드
  • Multi Thread
  • 하나의 프로세스가 두 개 이상의 스레드를 가지는 경우
  • 프로세스 내 각각의 스레드가 프로세스 메모리를 공유하기에 자원을 절약할 수 있고, 스레드간 정보 교환이 쉽다는 장점을 가짐
 
도메인
  • Domain
  • 숫자로만 이루어진 IP와 달리 www.dongho.xyz와 같이 문자로 지정된 인터넷 주소 (URL)
 
DNS
  • Domain Name System
  • 도메인을 도메인이 올라가 있는 웹 서버의 IP로 연결하는 시스템
  • 웹 페이지 접속에 필요한 IP를 도메인으로 변환해주거나 반대를 처리해주는 역할
 
롤백
  • Roll back
  • 현재의 상태가 유효하지 않거나 망가졌을 때 기존 상태로 되돌리는 행위
 
SWOT 분석
  • Strengths, Weaknesses, Opportunities, Threats
  • 내부 및 외부 환경을 분석하는 것에 사용되는 분석 방법론 또는 도구
  • S: 자사와 자사 제품 및 서비스에 좋은 영향을 주는 내부 환경 요소
  • W: 자사와 자사 제품 및 서비스에 악영향을 주는 내부 환경 요소
  • O: 자사와 자사 제품 및 서비스에 좋은 영향을 주는 외부 환경 요소
  • T: 자사와 제품 서비스에 악영향을 주는 외부 환경 요소
 
AS-IS/TO-BE
  • AS-IS: 개선 되기 전의 상태를 의미하며 현재 돌아가고 있는 프로세스를 의미
  • TO-BE: 개선 된 후의 상태를 의미하며 개선할 사항의 프로세스를 의미
 
포팅
  • porting
  • 이식한다는 의미
  • 특정 기능을 특정 프로그램에 포팅하라, 서버에 반영하라는 의미
 
밸리데이션
  • Validation
  • ‘확인’ 혹은 ‘검증’한다는 뜻으로 웹 개발에서는 주로 타당성 체크를 의미
  • 검사하거나 분석하는 방법이나 작업 경로 등이 적절한가 확인하는 등의 범용적 의미 포함
 
프런트 오피스
  • Front Office
  • 금융권에서 고객을 접하는 창구 또는 딜링 업무를 하는 트레이닝 부서
  • 혹은 그것과 관련된 업무를 의미
 
미들 오피스
  • Middle Office
  • 프론트 오피스를 지원하고 통제하는 부서 또는 업무
 
백 오피스
  • Back Office
  • 일선 업무 이외에 후방에서 일선 업무를 지원하고 도와주는 부서 또는 업무
 
벤더
  • Vendor
  • 제품 판매인 혹은 판매 업체
  • 물품을 공급하거나 판매한 제품에 대한 책임을 지는 곳을 의미
 
R&R
  • Role & Responsibility
  • 역할과 책임을 의미하며, 담당자끼리 수행할 업무를 나누는 것
  • “알앤알은 컨펌되고 진행되고 있는 건가요?”
 
아젠다
  • Agenda
  • 회의나 토론에서 의제, 안건, 예정표, 의사 일정을 의미
  • 개발 쪽이 아니어도 자주 사용하는 경제학 용어
 
스코프
  • Scope
  • 범위라는 뜻으로 주로 프로젝트에서 수행할 작업의 범위와 그 내용
  • “이번 이터레이션의 스코프는 웹사이트 리뉴얼 프로젝트의 소셜 로그인 기능입니다.”
 
페일오버
  • Failover
  • 서버, 시스템, 네트워크 등에서 이상이 생겼을 때 예비 시스템으로 자동 전환되는 것을 의미
 
페일백
  • Failback
  • 페일오버에 따라 전환된 서버, 시스템, 네트워크 등을 오류가 발생하기 전의 상태로 되돌리는 것을 의미
 
PoC
  • Proof of Concept
  • 개념 증명으로 해석되나, 주로 IT에서는 신기술이나 도입 예정 프로덕트를 요구사항에 맞는지 검증하는 절차를 의미
 
PWA
  • Progressive Web App
  • 모바일 기기에서 네이티브 앱(안드로이드, iOS)과 같은 사용자 경험을 제공하는 웹 앱
  • 사용자가 앱을 다운로드하거나, 업데이트 할 필요없이 웹 브라우저를 통해 앱을 바로 사용할 수 있음
  • 웹 페이지와 달리 오프라인에서도 작동할 수 있는 것이 특징으로, 캐시된 데이터를 사용하고 네트워크가 연결되면 새로운 데이터를 불러와 업데이트
  • 푸시 알림, 카메라, 마이크 등 모바일 기기 자체의 기능을 사용할 수 있
 
RFP
  • Rquirement For Proposal
  • 고객이 요구 사항을 비딩 시점에 제안할 때 사용되는 용어
  • 이를 통해 업체 후보를 고르는 것을 의미
 
데브옵스
  • devOps, development + operations
  • 개발과 운영을 합친 것으로 개발과 운영을 따로 분리하지 않고 하나로 개발하는 방법론 중 하나
 
스토리보드
  • 기획 팀에서 아이디어를 통해 화면에 어떤 방식으로 표시해 나갈 것인지 정리하는 기법
  • 최근에는 Figma를 통해 작업할 수 있음
 
적응형 웹
  • Adaptive Web Design
  • 미리 웹 브라우저가 동작할 디바이스별로 레이아웃을 여러 개 정해놓고 조건에 따라 그 중 하나를 보여주는 웹 디자인 방식
 
반응형 웹
  • Responsive Web Design
  • 적응형 웹과 달리 하나의 레이아웃이 웹 브라우저에 맞추어지는 형태로, 웹 브라우저의 가로폭이 바뀔 때마다 페이지 내에 있는 콘텐츠의 크기와 배치도 자동으로 맞춰지는 웹 디자인 방식
 
인터랙티브 웹
  • Interactive Web
  • 웹 페이지 내의 콘텐츠가 클릭, 스크롤, 입력 등 사용자의 동작에 따라 상호 작용하는 웹 페이
 
리팩토링
  • Refactoring
  • 이미 완성된 코드의 구조를 개선하는 일
  • 결과값을 바뀌지 않지만, 코드 내부를 뜨어고쳐 다른 사람이 이해하기 쉽고 간결하게 만드는 행위
  • 버그를 고치거나 새로운 기능을 만드는 것은 아니나 코드 생산성을 높이고 유지보수가 쉽게끔 만듦
 
기술 부채
  • Technical Debt
  • 불확실한 업무, 촉박한 일정에 맞추어 제한된 방법으로 개발을 진행하면서 문제점이 누적된다는 관점
  • 프로젝트에 대해 정리된 문서를 마련하지 못하거나, 조악한 코드로 작업을 계속하게 되거나, 자동화할 수 있는 일에 대한 자동화 처리를 해놓지 않는 등 다양한 상황에서 기술 부채가 쌓일 수 있음
  • 기술적으로 빚을 진다는 의미
  • 완전히 피할 수 있는 일이 아닌 만큼 무작정 나쁘다고 볼 수는 없으며 관리할 수 있는 선에서 기술 부채를 유지하고 작업을 추진해나갈 필요가 있음
 

 
어? 😮
  • Uh?
  • 개발 팀에서 자주 나오는 단어로, 이 단어를 귀로 들었다면 당황하지 말 것
  • 주로 이 단어 사용을 금지하는 팀이 많음
 
 

마무리


업데이트

해당 문서는 계속 업데이트될 예정입니다.
Jun 14, 2024 문서를 작성했습니다.
 

참고문서