[2021.05.29] 서버, 프론트 및 백엔드, 인프라 개념 정리(CS)
* 프로젝트 시작할 때
-> 사람들에게 유익한 점(편리한 점)이 뭘까? 하면서 프로젝트를 선정
* 서버
-> 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템으로 컴퓨터 프로그램 또는 장치를 의미
EX) 서버에는 다양한 서버가 존재
- 웹 서버, 웹 어플리케이션 서버, 디비 서버,파일 서버 등
프론트엔드(FRONT-END)
-> 백엔드 API 에서 가져온 데이터의 입출력을 통한 사용자와 대화하는 사용자 인터페이스 부분을 작업하는 개발자
-> 필요한 데이터만 유저가 볼 수 있도록 하는 것
EX) 클라이언트(프론트) <----------> 서버(백엔드)
* 프론트엔드 프레임워크
-> HTML,CSS,TS,JS,UX/UI,JAVA,REACT
* REACT
-> Facebook이 만든 사용자 UI 구축을 위한 라이브러리
* 파이어 베이스
-> 모바일 및 웹 어플리케이션 개발 플랫폼
-> 파이어 베이스를 사용하면 백엔드(서버)가 필요 없음
-> 간단한 로그인 기능 및 작은 데이터 저장 가능
* 백엔드
-> "사용자들의 요청" 에 의한 값을 로직으로 구현한 것
백엔드 서버 개발 대표 3가지 (웹 어플리케이션 서버)
1. Node.js - Express
2. Java - Spring
3. Python - Django
* 인프라
-> 어떠한 시스템의 기반 및 설계를 뜻함
시스템 설계에선 크게 두가지가 존재 (기능적 요구사항, 비기능적 요구사항)
기능적 요구사항
-> 어떤 기능을 제공할 것인가?
-> 어떤 입력에 대하여 어떻게 반응할 것인가?
-> 어떤 상황에서 어떻게 행동할 것인가?
비기능적 요구사항
-> 시스템의 성능은 어느 정도로 구성할 것인가?
-> 안전을 위하여 자료는 어디에 저장할 것인가?
-> 시스템의 확장은 어떻게 이루어질 것인가?
IT 인프라
-> 웹 페이지는 24시간 켜져야하기 때문에 AWS EC2를 사용해야함.
-> 애플리케이션을 활용한 서비스를 운영하기 위해 필요한 H/W,OS,middleware,Network 등
-> 이미지,파일 저장(저장공간이 부족) -----> AWS S3 가상의 스토리지 사용
'Etc' 카테고리의 다른 글
[2021.06.11] How to install pyautogui on virtual env Using VS code? (0) | 2021.06.11 |
---|---|
[2021.06.11] How to install jupyter notebook on VS Code? (0) | 2021.06.11 |
[2021.05.14] 포트 번호 사용 리스트 및 서버 지식(CS) (0) | 2021.05.14 |
[2021.05.13] How to use Stackoverflow? (0) | 2021.05.13 |
[2021.05.13] 인턴 +73 인스타그램 인플루언서 분석 프로젝트 1 (ELK) (0) | 2021.05.13 |
댓글