백엔드란?
웹 사이트나 앱의 뒤에서 작동하는 영역
사용자가 볼 수 X - 서버, 데이터 베이스, API 등 관리
서버란?
HTTP요청을 받아 다양한 처리를 하는 프로그램을 실행시키는 공간
- 웹 서버
- 정적인 콘텐츠 제공
- 아파치, HTTP sever, Nginx
- WAS
- 동적인 웹 앱을 실행하는데 사용 웹 서버 뒤에서 요청에 대한 응답 제공
- Spring, django
개발자의 업무
| 과제 할당 | 과제 분석 | 개발 | 테스트 | QA | 배포 | 유지 보수 |
협업시 confluence, jira 추천
백엔드 언어
- 1위 파이썬 flask
- 2위 node.js
- 3위 java
- 4위 go
- 등등등
데이터 베이스란?(DB)
전자적으로 저장되고 체계적인 데이터 모음
DBMS(데이터 베이스 관리 시스템)을 사용하여
데이터를 저장 및 검색, 편집을 할 수 있다.
- RDB
- 행과 열로 구성된 테이블 형태
- 엄격한 데이터 구조를 미리 정의 해야됨
- SQL을 사용한다
- 데이터 간 관계를 키로 연결
- 트렌젝션, 대이터 무결성 보장(ACLD 특성)
- MySQL, PostgreSQL, Oracle, MariaDB
- NoSQL
- 테이블 대신 문서, 키-값, 그래프, 컬럼 등 다양한 구조 사용
- 유연한 데이터 구조를 가진다
- SQL대신 각 데이터 베이스에 맞는 전용 쿼리 및 API 사용
- 대용량, 비정형 데이터 처리에 유리하다
- 서버 추가에 용이하다
- MongoDB(문서), Redis(키-값), Cassandra(칼럼), Neo4js(그래프)
패키지 매니저란?
npm-Node.js를 설치하면 자동으로 설치됨
yarn-npm의 용량, 속도, 보안 문제 해결을 위해 사용
빌드 도구란?
웹팩 - 다양한 모듈 지원, 하지만 느리다
ESBuild - ESM와 CommonJS만 지원한다, 빠르고 편리하다
Vite- ESBuild와 비슷하다, 더 많은 기능을 지원한다
개발 도구
VSC - 앞으로 사용할 개발 도구이자 최고의 웹 개발 도구
웹 프레임 워크
프론트 엔드 - React, Vue.js, Svelte 등
백 엔드 - ExpressJs, NextJs
Nodejs의 차별점
- 프론트엔드와 백엔드를 모두 JavaScript로 개발 가능
- 풀스택 JS 실현 가능: React, Vue 등과 함께 사용할 때, 클라이언트와 서버를 같은 언어(JS)로 작성 가능
- NPM
- 세계 최대의 오픈소스 생태계
- 사용할 수 있는 라이브러리 수가 압도적
- 빠른 개발 속도와 유지 보수
- 생산성 높음, MVP 빠르게 구현 가능
- 유지 보수가 매우 간편하다
Nodejs의 단점
- CPU 연산이 많은 작업에는 부적합 (예: 이미지 처리, 머신러닝 등)
- 싱글 코어의 한계
- 콜백 지옥
- 초보자에게 부적합
- 타입 안정성 부족
- TypeScript 도입 필요
'web > web' 카테고리의 다른 글
| node js 3, 4차시 (0) | 2025.08.17 |
|---|---|
| Nodejs 2차시 (2) | 2025.08.10 |
| JS 4차시 - 비동기 (1) | 2025.07.29 |
| Js 3차시 - 객체 (3) | 2025.07.28 |
| JavaScript 2차시 - 돔, 노드, 이벤트 (1) | 2025.07.25 |