📌개발 프로세스
1. 요구사항 분석 (Requirement Analysis)
- 클라이언트 또는 프로젝트 이해관계자로부터 요구사항을 수집하고 분석
- 기능적 요구사항과 비기능적 요구사항을 문서화
2. 설계 (Design)
서비스 아키텍처 설계, 데이터베이스 설계, UI/UX 디자인을 포함
- 와이어프레임, 목업, 프로토타입을 제작
3. 개발 (Development)
- 프론트엔드와 백엔드 개발을 병행
- 버전 관리 시스템 (예: Git)을 사용하여 코드 베이스를 관리
4. 테스트 (Testing)
- 유닛 테스트, 통합 테스트, 시스템 테스트 등을 수행하여 버그를 찾고 수정
- 자동화된 테스트 도구를 사용
5. 배포 (Deployment)
- 최종 제품을 서버에 배포하고, 사용자가 접근할 수 있도록 설정
- CI/CD 파이프라인을 구축하여 지속적인 통합과 배포를 자동화
6. 유지보수 (Maintenance)
- 배포 후 발생하는 버그 수정, 성능 최적화, 새로운 기능 추가 등 지속적인 유지보수를 진행
- 사용자의 피드백을 반영하여 개선
📌 서비스 아키텍처
웹 사이트의 구조와 구성 요소를 정의하는 개념
- 프론트엔드 (Frontend)
- 사용자가 직접 상호작용하는 부분
- HTML, CSS, JavaScript 같은 기술을 사용하여 UI/UX를 구현
React, Angular, Vue.js 같은 프레임워크를 사용할 수 있음
- 백엔드 (Backend)
- 데이터 처리, 비즈니스 로직, 데이터베이스 연동 등을 담당
- 서버 측 언어인 Node.js, Python (Django, Flask), Ruby (Rails), Java (Spring) 등을 사용
- 데이터베이스는
MySQL, PostgreSQL, MongoDB 등을 사용할 수 있음
- 데이터베이스 (Database)
- 데이터를 저장하고 관리하는 시스템
관계형 데이터베이스 (MySQL, PostgreSQL)와 NoSQL 데이터베이스 (MongoDB, Cassandra) 등이 있음
- API (Application Programming Interface)
- 프론트엔드와 백엔드가 데이터를 주고받기 위한 인터페이스
RESTful API, GraphQL 등이 일반적으로 사용
- 호스팅 및 배포 (Hosting & Deployment)
- 웹사이트를 인터넷 상에 배포하는 과정
AWS, Azure, Google Cloud Platform 같은 클라우드 서비스를 사용하거나, Netlify, Vercel 같은 배포 플랫폼을 사용할 수 있음