TIL No.5 [Wecode] Session 1 - All | 웹 서비스의 역사와 발전

Seunghyun Yoo·2021년 1월 12일
1

양준식 멘토님

Index

1. Internet & Web
2. Web의 역사
3. Modern Web의 역사
4. Modern Development Team

1. 인터넷 & 웹

#### Internet이란? ####
1960년대 인터넷 출현, 군사목적으로 네트워크 시스템 개발됨.
핵공격에도 견딜 수 있는 강인한 통신 시스템 필요 --> 이는 곧 Internet의 개발이 됨

#### Web이란? ####

웹이 출현하면서 인터넷으라는 통신 시스템이 대중적으로 사용되기 시작.
고로, 인터넷이 웹보다 큰 개념이며, 우리가 일반적으로 생각하는 인터넷은 웹이 등장하면서 사용
1990년 -> 인터넷 출현 후 30년뒤 출현
팀 버너스리가 개발 (WWW : World Wide Web)
- 팀 버너스리의 첫 웹페이지 : info.cern.ch ("home of the firsy website")

인터넷 & 웹의 발전으로 가장 큰 혁신
1. 유통의 측면에서 소프트웨어 개발 및 실리콘밸리 형성

2. 웹 히스토리

1세대 웹사이트 : 정적인 웹 / 정보전달을 목적으로 개발
 - 웹서버가 HTML 페이지 전체를 클라이언트 (ex: Web browser)에게 전송
 - User Interaction 이 많이 요구되지 않음
 - 1세대 웹이 정적인 이유? HTML, CSS 자체가 정적
 - 한방향으로 서버-> 브라우저로 전달
 
 2세대 웹사이트 : 동적인 웹 / JS 출현 / User Interaction 증가
  - 웹서비스의 발전. 단순한 정적 페이지가 아닌 다이나믹한 요소들이 요구
  - 웹 기반의 언어 자바스크립트의 출현. 자바스크립트의 역할 증대
  - Web Server에서 HTML+JS데이터 둘다(양방향) 전송
  - 프론트/백 구분은 아직 안되어 있음 (프론트/백 써버가 나뉘어 있지 않음)
 
 3세대 웹 : SPA(Single Page App) / 프론트엔드 / 백엔드
  - 웹서버가 HTML 페이지 전체를 클라이언트에게 전송
  - 주객전도 : JS >>>>> HTML, CSS (JS의 중요성)
  - SPA(Single Page App) : 단일 hmtl 페이지에서 전체 웹사이트/서비스를 구현
  - 기존에는 서버가 한개였지만 프론트/백엔드 구조적/업무적 분리
   * 프론트 - UI UX / 백엔드 - Data
  - 구조적 분리. Frontend 서버와 Backend API 서버도 분리
   * DB와 API의 차이
    - API : 데이터 별로 나뉘어 있음
    - DB : 통으로 묶여있는 데이터
    

3. 모던 웹(3세대 웹)의 발전 특징

- User Interaction의 중요성 증가, 웹 복잡성, 사용자(동시 접속자) 수, 데이터양의 증가
- 이전에 겪지 못했던 (동시 접속자, 데이터양) 문제가 생김
 -> System Architecture의 발전 : 프론트/백 서버의 분리
- 백엔드 : API서버의 세분화, 데이터양의 증가. -> 빅데이터, 머신러닝, AI의 발달이 가능해짐
- 프론트 : 자바스크립트의 발달 (Node.js, React 등) 복잡한 웹기능 구현 가능
 * 프론트엔드 참고 사이트 [프론트엔드 컨퍼런스](https://2020.feconf.kr/)
 
 

4. 모던 디벨롭 팀 구조

1. PM (Product manager)
 - 개발하고자하는 서비스의 모든 기획/일정을 잡을 수 있는 자리
 - PM과 개발자는 담당하는 일이 다른 팀원이며, 상하관계가 아님
  * 개발자의 상사로 일정 등을 관여하는 관계가 아님
  
2. Designer
 - 웹 시스템 개발에는 UI(User Interface) 및 UX (User Experience) 를 구현하는 역할을 담당
 - 사용자가 직접 경험하고 사용하는 서비스를 눈에 보기좋게, 사용하기 편리하게 디자인하는 역할
 
3. Frontend Developer

4. Backend Developer

5. DevOps (Development Operations)

6. SysOps (System Operations)

7. Data Scientist

8. Data Engineer

9. Tester

10. Others
 - Full Stack Developer
 
 - Project Manager

 - Scrum Master

 - Software Architecture
profile
기본을 중요하게 생각하는 프론트엔드 개발자 유승현입니다! 🙋🏻‍♂️

0개의 댓글