반응형
목차
Kanban (칸반)
- 정의: 작업을 시각적으로 관리하는 방법론 중 하나로, 작업의 흐름을 시각화하여 업무의 진행 상황을 쉽게 파악할 수 있게 합니다. 할 일 목록을 게시판에 붙여놓고 진행 상황에 따라 옮기는 것과 비슷합니다.
- 예시: 칸반 보드에는 할 일(To Do), 진행 중(In Progress), 완료(Done) 등으로 나눠진 칼럼이 있고, 각 작업은 카드 형태로 표시되어 각 칼럼을 이동하면서 진행됩니다.
Agile (애자일)
- 정의: 소프트웨어 개발 방법론의 하나로, 유연하고 반복적인 접근을 통해 빠르게 변화하는 요구 사항에 대응할 수 있게 합니다.
- 예시: 애자일 스프린트는 2-4주 동안 이루어지는 짧은 개발 주기로, 매 스프린트마다 피드백을 받아서 개선합니다. 한 달 안에 큰 프로젝트를 끝내기보다는, 일주일마다 작은 기능을 완성해 나가고, 매주 피드백을 받아서 개선합니다.
Scrum (스크럼)
- 정의: 애자일 방법론의 한 프레임워크로, 정해진 역할(예: 스크럼 마스터, 제품 책임자)과 이벤트(예: 스프린트, 일일 스크럼 회의)를 통해 프로젝트를 관리합니다.
- 예시: 매일 열리는 15분짜리 일일 스크럼 회의에서 팀원들은 진행 상황을 공유하고 장애물을 논의합니다. 예시로 매일 아침 15분 동안 팀원들이 모여서 각자의 진행 상황과 문제를 공유하는 짧은 회의를 합니다.
Version Control (버전 관리)
- 정의: 소스 코드의 변경 사항을 관리하는 시스템으로, 여러 버전의 소프트웨어를 쉽게 추적하고 관리할 수 있게 합니다.
- 예시: Git은 가장 널리 사용되는 버전 관리 시스템 중 하나로, 분산형 저장소를 통해 협업을 지원합니다. 문서 작성할 때, "최종 버전", "최종 최종 버전" 이렇게 저장하는 대신, 모든 변경 사항을 자동으로 기록하고, 필요하면 특정 시점으로 돌아갈 수 있습니다.
Repository (저장소)
- 정의: 버전 관리 시스템에서 소스 코드와 관련 파일을 저장하고 관리하는 장소입니다.
- 예시: GitHub는 Git 저장소를 호스팅 하는 플랫폼으로, 전 세계 개발자들이 협업할 수 있게 합니다. GitHub에 프로젝트를 올려서 팀원들과 공유하고 협업할 수 있습니다.
API (Application Programming Interface, 응용 프로그래밍 인터페이스)
- 정의: 소프트웨어 간에 상호 작용을 할 수 있게 해주는 명령어와 함수의 집합입니다.
- 예시: 구글 맵 API를 사용하면 자신의 애플리케이션에 지도 기능을 쉽게 추가할 수 있습니다. 예시로 스마트폰 앱이 날씨 정보를 보여줄 때, 기상청 API를 사용해서 최신 날씨 데이터를 가져옵니다.
Framework (프레임워크)
- 정의: 소프트웨어 개발을 위한 기본 구조를 제공하는 라이브러리와 툴의 집합입니다.
- 예시: React는 사용자 인터페이스를 구축하기 위한 자바스크립트 프레임워크입니다. 건물을 지을 때 뼈대를 먼저 세우고 나중에 벽을 붙이듯, 웹사이트를 만들 때 기본적인 구조와 기능을 제공하는 프레임워크를 사용합니다.
Library (라이브러리)
- 정의: 특정 기능을 수행하기 위해 작성된 코드의 모음으로, 소프트웨어 개발 시 재사용할 수 있습니다.
- 예시: jQuery는 HTML 문서의 트리 탐색 및 조작을 쉽게 해주는 자바스크립트 라이브러리입니다. 어려운 수학 계산을 직접 코딩하지 않고, 라이브러리를 사용해서 간단히 처리할 수 있습니다.
IDE (Integrated Development Environment, 통합 개발 환경)
- 정의: 소프트웨어 개발에 필요한 다양한 도구(코드 편집기, 디버거, 컴파일러 등)를 하나의 인터페이스에서 제공하는 환경입니다.
- 예시: Visual Studio Code는 인기 있는 무료 IDE로, 다양한 프로그래밍 언어를 지원합니다. 마치 워드프로세서가 글쓰기에 필요한 모든 기능을 제공하는 것처럼, IDE는 코딩에 필요한 편집기, 디버거, 컴파일러 등을 모두 제공합니다.
CI/CD (Continuous Integration/Continuous Deployment, 지속적 통합/지속적 배포)
- 정의: 소프트웨어 개발의 각 단계를 자동화하여 코드 변경 사항이 통합되고, 테스트를 거쳐 배포되는 과정을 신속하고 일관되게 합니다.
- 예시: Jenkins는 CI/CD 파이프라인을 구축하고 자동화하는 데 널리 사용되는 툴입니다. 팀원들이 작업한 코드를 매일 통합하고, 자동으로 테스트를 거쳐 문제없이 배포되도록 하는 시스템입니다.
이 외에도 많은 용어들이 있지만, 위에 언급한 것들이 소프트웨어 개발의 기초를 이해하는 데 도움이 될 것입니다. 필요한 경우 더 구체적인 용어 설명이나 추가 용어를 요청해 주세요!
칸반, 칸반 시스템, 칸반보드, kanvan, CI/CD, IDE, 라이브러리, 프레임워크, API, 버전관리
반응형
댓글