본문 바로가기

Back-End/MySQL|MariaDB

#1 MariaDB를 활용한 CRUD (Node.js + Express)

I. CRUD 란?

- Create

- Read

- Update

- Delete

 

CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다.

https://ko.wikipedia.org/wiki/CRUD

 

CRUD - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 사용자 인터

ko.wikipedia.org

 

II. 풀스택 웹개발 순서

 

다음 순서로 개발을 시작해보자. 개별적인 작업 순서이니깐..단순 참고만 바람! (언젠가 풀스택이 될지..-0-?)

 

1. 백엔드 개발

  • Node.js와 Express.js를 사용하여 서버 구축
  • API 엔드포인트 정의 및 구현
  • 데이터베이스와의 연동(MariaDB, Sequelize 사용)
  • 인증 및 권한 관리 로직 추가(JWT, Passport 사용)

2. 프런트엔드 개발

  • HTML, CSS, JavaScript를 사용하여 사용자 인터페이스 구축
  • 반응형 및 접근성 고려
  • 앵귤러, 리액트, 뷰 등의 프레임워크/라이브러리 사용

3. 데이터베이스 설계

  • 데이터 모델 및 스키마 정의 (User, Comment)
  • MariaDB 데이터베이스 생성 및 테이블 구조 설계 (users, comments)

4. 통합 테스트

  • 프론트엔드와 백엔드의 연결 및 상호 작용 테스트
  • 전체 애플리케이션의 기능 테스트
  • 오류 및 버그 수정

5. 배포 및 운영

  • 클라우드 서비스(AWS, GCP, Azure 등)에 애플리케이션 배포
  • 모니터링 및 로깅 시스템 구축
  • 지속적인 유지보수 및 업데이트

III. 개발환경

여러가지 개발환경과 언어가 있지만, 이 블로그는 주로 Javascript를 활용한 웹개발에 대한 내용을 다루고 있음

기본적으로 Node.js와 Express.js 기반의 백엔드 개발과 프런트엔드 개발은 HTML,CSS,JS 그리고 템플릿 엔진(Pug, Nunjucks)등을 사용하는것을 즐겨하고 있음.

 

IV. 작업준비

1. node.js V20,X.X LTS 설치

2. git 설치

3. Visual Studio Code 설치

4. VSC > 파일 > 폴더 열기.. 메뉴 선택후 빈 폴더 생성 (ex.mariadb_crud_app)

5. VSC > 새 터미널(CTRL+SHIFT+`)   생성하고, 터미널의 기본 프로파일을 Git Bash로 설정

6. 터미널에 npm init -y; npm pkg set type=module; 명령을 입력해서 기본 Node.js 프로젝트를 초기화

7. 기본적으로 프로젝트에 사용할 모듈을 설치함 (npm install 모듈명1 모듈명2 모듈명3)

- express : 미니멀 웹 프레임워크

- dotenv : Node.js 환경변수 관리를 위한 모듈 (db 연결정보나 환경설정용)

- morgan : 로그 관리를 위한 모듈로 클라이언트에서 서버로 요청한 로그기록을 남기기 위한 미들웨어

- Sequelize : v6.stable 버전으로 자바스크립트 객체와 데이터베이스 테이블을 맵핑하기 위한 ORM (지금은 사용율이 좀 떨어지는것 같지만..)

 

https://sequelize.org/

 

Sequelize

Sequelize is a modern TypeScript and Node.js ORM for Oracle, Postgres, MySQL, MariaDB, SQLite and SQL Server, and more. Featuring solid transaction support, relations, eager and lazy loading, read replication and more.

sequelize.org

 

개인적으로는 TypeORM 이란걸 써볼까도 했는데,..내가 갖고 있는 책에는 여전히 Sequelize를 활용해 DB 연동하는 예제들이 있기 때문에 TypeORM은 뒤이어 사용해볼 생각임.

 

※ 다음은 javascript ORM 랭킹을 참조하기위해 스크랩함.

https://ossinsight.io/collections/javascript-orm/

 

javascript ORM - Ranking | OSS Insight

Last 28 days / Monthly ranking of repos in this collection by stars, pull requests, issues. Historical Ranking by Popularity.

ossinsight.io

 

 

근데, 생각없이 커밋하다 보니깐...엄청난..긴급하게 .gitignore 규칙을 적용해 처리하니 ..휴~ 까먹을까봐 기록 남김

 

 

 

 

 

 

 

'Back-End > MySQL|MariaDB' 카테고리의 다른 글

MariaDB 사용기  (0) 2024.08.21