반응형
개발자로 취업하기 위해서는 다양한 기술을 익히고 활용할 수 있어야 한다. 각 기술은 특정 목적을 가지고 있으며, 어떤 상황에서 사용되는지 이해하는 것이 중요하다. 여기서는 백엔드, 프론트엔드, 데이터베이스, 인프라/기타 기술로 구분하여 정리한다.
(chatGPT의 도움을 받아 정리한 내용)
1. 백엔드 기술
백엔드는 클라이언트 요청을 처리하고 데이터베이스와 통신하는 역할을 한다.
1.1 백엔드 프로그래밍 언어
- Java: 객체 지향 프로그래밍 언어로, 대규모 웹 애플리케이션 개발에 많이 사용된다. Spring Framework와 함께 사용되며, 안정성과 확장성이 뛰어나다.
1.2 백엔드 프레임워크
- Spring Framework: Java 기반의 대표적인 웹 프레임워크로, 의존성 주입(DI), AOP 등의 기능을 제공하며 대규모 애플리케이션 개발에 최적화되어 있다.
- Spring Boot: Spring Framework를 더 쉽게 사용할 수 있도록 도와주는 프레임워크로, 설정을 최소화하고 빠르게 애플리케이션을 개발할 수 있다.
- Spring Security: 인증 및 권한 부여 기능을 제공하는 보안 프레임워크로, OAuth2 및 JWT 인증 방식 등을 지원한다.
- MyBatis: SQL을 XML로 관리하며 Java 코드에서 데이터베이스와 쉽게 연결할 수 있도록 돕는 ORM 기술이다.
- JPA / Hibernate: 객체와 데이터베이스를 매핑하는 ORM 기술로, 데이터베이스 쿼리를 직접 작성하지 않고도 데이터 조작이 가능하다.
- Nest.js: Node.js 기반의 백엔드 프레임워크로, 타입스크립트와 함께 사용되며, 구조화된 백엔드 개발이 가능하다.
- Express.js: Node.js 환경에서 동작하는 경량 웹 프레임워크로, API 개발에 많이 사용된다.
2. 데이터베이스 기술
데이터베이스는 데이터를 저장하고 관리하는 역할을 한다.
2.1 관계형 데이터베이스 (RDBMS)
- Oracle: 대기업에서 많이 사용되는 관계형 데이터베이스(RDBMS)로, 강력한 성능과 보안 기능을 제공한다.
- MySQL: 오픈 소스 관계형 데이터베이스로, 가볍고 빠른 성능을 제공하며, 웹 애플리케이션에서 널리 사용된다.
- MSSQL: Microsoft에서 제공하는 관계형 데이터베이스로, 윈도우 환경에서 최적화된 성능을 제공한다.
- MariaDB: MySQL의 오픈 소스 버전으로, MySQL과 호환되면서도 추가적인 성능 개선이 이루어진 데이터베이스이다.
- PostgreSQL: 오픈 소스 객체 관계형 데이터베이스로, 데이터 무결성과 확장성이 뛰어나며 GIS 기능도 지원한다.
2.2 NoSQL 데이터베이스
- MongoDB: NoSQL 데이터베이스로, JSON 형태의 데이터를 저장하며 대량의 데이터를 처리하는 데 유리하다.
- Redis: 인메모리 데이터 저장소로, 빠른 속도가 요구되는 캐싱, 세션 관리 등에 사용된다.
- ElasticSearch: 검색 엔진 및 데이터 분석을 위한 오픈 소스 솔루션으로, 빠른 검색 속도를 제공한다.
3. 프론트엔드 기술
프론트엔드는 사용자 인터페이스(UI)를 개발하는 역할을 한다.
3.1 프론트엔드 프로그래밍 언어
- HTML: 웹 페이지의 구조를 정의하는 마크업 언어이다.
- CSS: 웹 페이지의 스타일을 지정하는 언어로, 색상, 레이아웃, 애니메이션 등을 설정할 수 있다.
- JavaScript: 웹 페이지에서 동적인 기능을 추가하는 프로그래밍 언어이다.
- TypeScript: JavaScript의 상위 확장 언어로, 정적 타입을 지원하여 유지보수성과 생산성을 높여준다.
3.2 프론트엔드 라이브러리 및 프레임워크
- React.js: UI 컴포넌트 기반의 라이브러리로, 효율적인 상태 관리를 통해 빠른 렌더링을 지원한다.
- Vue.js: React와 유사한 기능을 제공하지만, 더 직관적인 문법을 가지고 있어 배우기 쉽다.
- Next.js: React 기반의 프레임워크로, 서버 사이드 렌더링(SSR)과 정적 사이트 생성(SSG)을 지원한다.
- Nuxt.js: Vue.js 기반의 프레임워크로, 서버 사이드 렌더링과 SEO 최적화가 가능하다.
- Angular.js: 구글에서 개발한 프론트엔드 프레임워크로, 대규모 애플리케이션 개발에 적합하다.
3.3 스타일링 및 애니메이션
- Tailwind CSS: 유틸리티 클래스 기반의 CSS 프레임워크로, 빠르고 효율적인 스타일링이 가능하다.
- 부트스트랩: 반응형 디자인을 쉽게 구현할 수 있는 CSS 프레임워크로, 미리 정의된 컴포넌트를 제공한다.
- GSAP.js: 애니메이션을 쉽게 구현할 수 있도록 도와주는 JavaScript 라이브러리로, 부드러운 모션 효과를 만들 수 있다.
3.4 기타 프론트엔드 기술
- jQuery: JavaScript의 문법을 단순화하고, 다양한 기능을 쉽게 사용할 수 있도록 도와주는 라이브러리이다.
- Vanilla JS: 순수 JavaScript를 의미하며, 라이브러리나 프레임워크 없이 JavaScript를 직접 사용하는 것을 뜻한다.
4. 인프라 및 기타 기술
애플리케이션을 개발하고 배포하기 위해 필요한 환경과 도구들이다.
4.1 배포 및 운영
- CI/CD: 지속적 통합(Continuous Integration)과 지속적 배포(Continuous Deployment)를 의미하며, 코드 변경 사항을 자동으로 테스트하고 배포하는 시스템을 구축하는 방법이다.
- Docker: 컨테이너 기반 가상화 기술로, 애플리케이션을 환경에 구애받지 않고 실행할 수 있도록 돕는다.
- Kubernetes: 컨테이너 오케스트레이션 도구로, Docker와 함께 사용되며, 대규모 서비스 운영에 적합하다.
- AWS: Amazon에서 제공하는 클라우드 서비스로, 서버 배포, 데이터 저장, AI 서비스 등을 제공한다.
4.2 디자인 및 협업 도구
- Figma: UI/UX 디자인을 위한 협업 도구로, 실시간으로 디자인을 공유하고 편집할 수 있다.
반응형
'IT개발 > Tech Notes' 카테고리의 다른 글
쿠키와 세션의 차이점 완벽 정리 | 웹 개발 필수 지식 (0) | 2025.04.13 |
---|---|
HTTP와 HTTPS 차이점 완벽 정리 | 웹 개발자와 사용자 모두 알아야 할 필수 지식 (0) | 2025.04.12 |
DAUM 주소 API 사용 (0) | 2025.02.06 |
깃허브(github)로 웹사이트 무료 배포하기(github.io) (1) | 2025.01.27 |
Github 레파지토리(Repository) private/public 변경 (0) | 2025.01.27 |
댓글