회사 공고들을 살펴보던 중, 프로그래밍 언어와 기술 스택의 구분에 혼동이 와서 헷갈리기 시작했다.
취업을 준비하는 내가 공부한 언어와 다룰 수 있는 기술 스택에 대해 정확히 말할 수 있어야 한다는 생각이 들었다. 그래서 애매하게 알고 있던 개념들을 명확히 정의하고, 자신 있게 설명할 수 있도록 정리해보기로 했다.
프로그래밍 언어 (Programming Language)
프로그래밍 언어는 컴퓨터와 소통하기 위해 개발자가 사용하는 문법과 구성 요소를 정의하는 규칙이다.
- 문법 : 언어는 코드의 구문과 구조를 정의한다.
- 명령어 : 개발자가 작성한 명령어를 컴퓨터가 이해할 수 있도록 변환한다.
컴퓨터는 인간의 언어를 이해할 수 없기 때문에 기계가 알아들을 수 있는 언어가 필요하다.
- 저급언어
- 기계어 : 컴퓨터가 해석할 수 있는 이진수로 된 숫자로 이루어진 명령어
- 어셈블리어 : 기계어와 1:1로 대응되는 기호로 이루어진 언어
- 고급언어 : 컴파일 언어라고 불리며 , 인간이 사용하기 편리한 형태의 언어
- C,Java,Python,Javascript,C++,C#,Ruby,Swift,PHP,Go
고급 언어는 인간이 이해하기 쉬운 문법을 가지고 있으며, 하드웨어나 운영체제에 대한 세부 사항을 직접 다루지 않고도 프로그램을 작성할 수 있게 해주는 프로그래밍 언어다.
기술 (Technology)
기술은 소프트웨어 개발을 위한 도구, 방법론, 프레임워크, 라이브러리 등의 전체적인 집합을 의미한다.
- 프레임워크/라이브러리: 특정 작업을 더 쉽게 할 수 있도록 도와주는 도구 📌
- 개발 환경: 서버, 데이터베이스, 운영 체제, 클라우드 서비스 등과 같은 개발 환경
웹 기술: HTML, CSS, JavaScript, React, Node.js
데이터베이스 기술: MySQL, MongoDB, Redis
클라우드 서비스: AWS, Azure, Google Cloud Platform
DevOps 기술: Docker, Jenkins, Kubernetes
기술 스택 (Technology Stack)
소프트웨어 개발에서 사용하는 도구들의 조합으로, 언어뿐만 아니라 프레임워크, 라이브러리, 데이터베이스, 서버, 클라우드 서비스 등을 여러 기술적인 요소들이 포함된다.
프론트엔드 스택 (Frontend Stack)
사용자가 직접 상호작용하는 웹 애플리케이션의 부분을 개발하는 데 필요한 기술
- HTML: 웹 페이지의 구조를 정의하는 마크업 언어.
- CSS: 웹 페이지의 디자인과 레이아웃을 지정하는 스타일 시트 언어.
- JavaScript: 웹 페이지에서 동적인 기능을 구현하는 스크립트 언어.
- 프레임워크 / 라이브러리:
- ReactJS: UI를 효율적으로 관리할 수 있는 자바스크립트 라이브러리.
- Vue.js: 반응형 웹 애플리케이션을 쉽게 개발할 수 있는 프레임워크.
- Angular: Google에서 개발한 자바스크립트 프레임워크, SPA(Single Page Application) 개발에 유리.
- CSS 프레임워크:
- Bootstrap: 빠르게 반응형 웹을 개발할 수 있는 CSS 프레임워크.
- Tailwind CSS: 유틸리티 기반의 CSS 프레임워크로, 커스터마이징이 용이.
백엔드 스택 (Backend Stack)
사용자가 직접 상호작용하지 않는 서버, 데이터베이스, 애플리케이션 로직 등을 관리하는 기술
- 서버 사이드 언어:
- Node.js: 자바스크립트로 서버 사이드 애플리케이션을 작성할 수 있게 해주는 런타임.
- Java: 엔터프라이즈 애플리케이션 개발에 주로 사용되는 객체 지향 프로그래밍 언어.
- Python: 간결한 문법과 강력한 라이브러리로 서버 사이드 개발에 많이 사용.
- Ruby: Ruby on Rails 프레임워크와 함께 웹 애플리케이션 개발에 사용.
- 웹 프레임워크:
- Express.js: Node.js 환경에서 서버 애플리케이션을 간단히 만들 수 있는 프레임워크.
- Spring: Java 기반의 강력한 백엔드 프레임워크.
- Django: Python을 기반으로 한 웹 프레임워크, 강력한 관리 대시보드 제공.
- Ruby on Rails: Ruby 언어를 기반으로 한 풀스택 웹 프레임워크.
데이터베이스 스택 (Database Stack)
애플리케이션의 데이터를 저장하고 관리하는 시스템
- 관계형 데이터베이스 (RDBMS):
- MySQL: 오픈소스 관계형 데이터베이스, SQL을 이용해 데이터를 관리.
- PostgreSQL: ACID 트랜잭션 지원 및 확장성이 뛰어난 RDBMS.
- Oracle DB: 기업용 데이터베이스 시스템.
- 비관계형 데이터베이스 (NoSQL):
- MongoDB: JSON 형식의 데이터를 저장하는 문서 기반 NoSQL 데이터베이스.
- Cassandra: 대규모 데이터를 분산 처리할 수 있는 NoSQL 데이터베이스.
- Redis: 주로 캐시나 세션 관리에 사용되는 빠른 NoSQL 데이터베이스.
'IT 알쓸신잡' 카테고리의 다른 글
굳바이 styled-components😢 (0) | 2025.04.01 |
---|---|
모노레포 접근법 (0) | 2025.03.19 |
사용자 / 클라이언트 / 서버 (0) | 2025.02.19 |
GitHub 원격 저장소와 연결하고 변경 사항 푸시하기 (0) | 2025.01.24 |
프레임워크와 라이브러리의 차이점 (0) | 2025.01.01 |