자주 보이는 프로젝트 기술스택 개념 정리

여러 기업 채용공고에 자주 보이는 기술스택 개념을 익히기 위해 정리한 글입니다.


DevOps 기술

Docker

컨테이너화된 애플리케이션을 독립적으로 실행하기 위한 오픈 소스 플랫폼입니다.

도커는 이미지라는 템플릿을 사용하여 컨테이너를 생성하고, 이를 저장하고 공유할 수 있는 레지스트리를 제공합니다.
도커 허브(Docker Hub)는 가장 잘 알려진 도커 레지스트리 중 하나입니다.

Kubernetes

컨테이너화된 애플리케이션의 자동 배포, 스케일링, 자동 복구 기능을 제공하는 오픈 소스 플랫폼입니다.
MSA(마이크로 서비스 아키텍처) 관리와 분산 시스템을 지원하기 위해 설계되었습니다.

클러스터 내부에서 서비스 간의 통신을 관리하고, 자동 로드 밸런싱을 수행하여 효율적인 네트워크 관리를 지원합니다.
서비스 디스커버리 기능으로 애플리케이션 구성 요소 간의 통신을 단순화할 수 있고 확장성이 높습니다.

Bitbucket

Git 코드 관리, 코드 리뷰, 이슈 트래킹, CI/CD 기능을 제공하는 코드 호스팅 및 협업 플랫폼입니다.
개인 개발자들이 무료로 프로젝트를 호스팅할 수 있고, 코드를 비공개 설정할 수 있는 개인 저장소도 제공합니다.

Bamboo
Bitbucket 저장소에서 최신 코드를 가져와 빌드, 테스트, 배포할 수 있는 CI/CD 도구입니다.

Jenkins

소스 변경 사항을 감지하고 빌드, 테스트, 배포 등의 작업을 자동 실행할 수 있는 CI/CD 도구입니다.
다양한 플러그인이 있어 확장성이 뛰어나고 다양한 개발 환경에 맞춰 사용할 수 있습니다.

Github Action

Guthub에서 제공하는 CI/CD 서비스입니다.


데이터 처리 기술

Kafka

실시간 대용량 데이터 스트림을 처리할 수 있는 오픈 소스 메시지 브로커입니다.
메시지 큐를 관리하는 RabbitMQ와 달리 대규모 데이터의 실시간 처리를 목적으로 합니다.
분산형 아키텍처로 데이터를 병렬로 처리하고 저장하여 뛰어난 TPS(초당 처리 트랜잭션 수) 성능을 보여줍니다.


데이터베이스

Radis

메모리에 데이터를 저장하여 빠르게 접근하고 처리할 수 있는 인메모리 데이터 저장소입니다.
주로 캐싱, 세션 관리, 빠른 데이터베이스 쿼리 등에 사용되며, 높은 성능과 낮은 지연 시간을 제공합니다.

MongoDB

수평적 확장(Scaling Out)이 가능한 NOSQL 데이터베이스로, 대규모 데이터 처리와 실시간 쿼리를 지원합니다.
JSON 형식의 유연한 데이터 모델로 문서를 저장하며, 각 문서는 컬렉션 단위로 관리됩니다.
다양한 집계 기능과 색인을 제공하여 데이터 검색과 분석을 용이하게 할 수 있습니다.


프레임워크

Spring Boot

Spring에서 수동으로 설정해야 하는 많은 부분을 자동으로 설정해주는 Spring 기반 프레임워크입니다.
Spring과 달리, 내장 서버를 제공하여 독립 실행형 애플리케이션을 쉽게 만들 수 있습니다.

Spring Cloud

Spring Boot 기반 프로젝트들을 클라우드 환경에서 개발, 배포, 관리하기 위한 프레임워크입니다.
서비스 디스커버리, 로드밸런싱, 분산 구성 관리 기능으로 MSA를 쉽게 구축할 수 있습니다.

Spring Batch

대용량 데이터 세트 처리를 위한 경량화된 일괄 작업(배치) 처리 프레임워크입니다.
배치는 확장 가능하고 재사용 가능하며, 트랜잭션 관리와 장애 처리 기능을 지원합니다.
데이터 처리를 청크(chunk) 단위로 나누어 읽기, 처리, 쓰기 과정을 순차적으로 수행합니다.

Flutter

하나의 코드 베이스로 Android, iOS 등 여러 플랫폼 개발을 할 수 있는 크로스플랫폼 개발 프레임워크입니다.
재사용 가능한 UI 구성 요소 Widget으로 UI를 구축하고, Dart 언어로 앱 개발을 할 수 있습니다.

Typescript

동적 타입 언어 JavaScript의 타입 관련 버그 문제를 해결하기 위해, 정적 타입을 도입한 언어입니다.
JavaScript 문법을 기반으로 하며 변수, 함수, 클래스 등에서 타입을 지정할 수 있습니다.
호환성이 뛰어나서 기존 JavaScript 프로젝트에 쉽게 도입할 수 있습니다.


프론트 프레임워크

Vue.js

유연성이 뛰어나 다른 프로젝트에 통합하기 쉽고, 점진적으로 적용할 수 있는 프레임워크입니다.
간단한 문법으로 쉽게 배울 수 있으며, 단방향 데이터 바인딩을 지원하여 데이터 흐름 예측이 가능합니다.

React.js

UI를 독립적이고 재사용 가능한 컴포넌트 단위로 분리하여 개발할 수 있는 프레임워크입니다.
가상 DOM을 사용하여 전체 DOM이 아닌, 변화가 필요한 부분만 업데이트하여 렌더링 속도를 향상시킵니다.


백엔드 기술

RabbitMQ

AMQP 프로토콜 기반으로 다양한 시스템 간에 메시지를 전달하는 메시지 브로커입니다.
주로 대규모 분산 시스템의 백엔드에서 비동기 메시지 전송을 위해 사용됩니다.

JPA

Java 객체와 관계형 데이터베이스 테이블 간의 매핑을 지원하는 ORM 표준 인터페이스(API)입니다.
JPA로 객체 매핑을 정의해두면 특정 DB 쿼리를 작성하지 않아도 객체지향적으로 데이터 CRUD를 수행할 수 있습니다.
복잡한 데이터 모델링에서는 JPA를 다루는 것이 어려울 수 있습니다.


언어

Swift

iOS, macOS 등 애플 애플리케이션을 개발하기 위한 프로그래밍 언어입니다.
기존의 Objective-C 보다 문법이 간결하며, 타입 안정성이 높고 성능 최적화가 잘 되어있습니다.

Django

파이썬으로 웹 애플리케이션을 개발할 수 있는 프레임워크입니다.


협업툴

Jira

버그 추적, 이슈 추적, 프로젝트 관리 기능을 포함한 협업툴입니다.
대규모 개발 프로젝트나 팀 협업에 널리 사용됩니다.

Redmine

웹 기반의 오픈소스 프로젝트 관리 도구로, 버그 추적 기능을 제공합니다.
달력과 간트 차트를 통해 일정을 시각적으로 관리할 수 있습니다.

Slack

Google Drive, GitHub, Jira 등과 연동하여 파일 공유, 이슈 관리, 코드 리뷰를 쉽게 할 수 있는 협업 메신저입니다.

Categories:

Updated:

Leave a comment