Way to developer
로그인
Way to developer
로그인
[210706 TIL - (1)] Internet & Web
Choi Rim
·
2021년 7월 6일
팔로우
0
TIL
internet
web
0
Way to developer
목록 보기
12/21
웹 서비스의 역사와 발전
Internet & Web
Internet
network를 연결해서 통신하는 것
처음에 만들어질 땐 군사목적으로 만들어짐
핵 공격에도 강인한 통신 시스템과 멀리 있어도 통신 가능한 시스템을 만들기 위해 Internet이 탄생함
Web
Web을 발명하며 Internet이 대중화됨
스위스에서 팀 버너스리가 world wide web이라는 최초의 웹을 개발함.
Internet이 발전되며 수혜받은 곳
유통업계
예전에는 소프트웨어를 구입하려면 매개체가 필요했다
이런 유통의 과정이 인터넷을 통해 줄어들며 많은 개발자들이 창업을 시작했다.
이와 함께 실리콘 밸리(Yahoo, Google, Amazon) 이 형성되었다.
닷컴붐 (Dot-com bubble) (2000년대)
수많은 닷컴들이 생겨나고, 사라짐
정적 웹사이트들이 생겨남 (동적이지 않는 웹 사이트, HTML & CSS 만으로 만든 웹사이트), 1세대 웹서비스
Web History
정적 웹 / 1세대 웹
HTML & CSS만 사용해서 웹 사이트를 만들어 정적
웹 서버가 HTML 페이지 전체를 클라이언트 (웹 서버)에게 전송
사용자와 상호작용 하지 않음
동적 웹 / 2세대 웹
Javascript
사용자와 상호작용
다이나믹한 요소 추가 (팝업 등, 더 매력적인 사이트를 만들기 위해)
HTML & Javascript를 통해 서버와
필요한 데이터를 주고 받으며
User interaction을 구현
아직 Javascript는 일부만 사용
API의 개념, 아직 널리 사용되지 않음
동일한 서버에서 HTML, Javascript 동시에 전송
3세대 웹
FrontEnd (UI/UX) / BackEnd (Data) 업무가 분리됨
웹 서버가 HTML 페이지 전체 클라이언트에게 전송
Javascript >>>>> HTML, CSS
SPA (Single Page Application)
등장
하나의 파일로 전체 사이트를 구현
하는 것
단일의 html 페이지에서 전체 웹 사이트와 서비스를 구현
하는 것이 다.
기존의 방식처럼 서버가 페이지 구성에 필요한 모든 요소(HTML, JavaScript, Data)를 매번 전송하는 것이 아니라,
파일은 처음 한번만 송수신하고 그 뒤로는 실시간 데이터만 주고 받는다
.
이렇게 처음 전송된 단일 HTML 페이지에는 JavaScript가 포함되어 있고 여기서 필요한 데이터를 API 서버로부터 호출하여 필요한 화면을 다이나믹하게 구성해주는 방식이다.
그래서 HTML, JavaScript 와 데이터 부분 이 명확히 나눠질 수 있었다.
Database & API
Database
데이터가 정제되기 전 모여있는 저장소
API
데이터가 좀 더 기능적으로 나뉘는 장소
Modern Web
현대의 웹은?
복잡해지고, 세분화됨
User Interaction 높아짐, 웹 복잡성 높아짐, 사용자수와 데이터 양 많아짐
동시 접속사 수, 데이터 양이 많아서 어떻게 처리할 지 문제
System Architecture의 발전
FE / BE 분리
FE
- 자바스크립트 (Node.js, React), 복잡한 웹 기능 구현
BE
- API 서버의 세분화, 데이터의 관리
System Architecture이란
시스템 목적을 달성하기위해 시스템의 상호작용등의 시스템디자인에 대한 제약 및 설계이다
쉽게 말해서 시스템을 구조적으로 설계하는 것이다.
최적화를 목표
로 두고
시스템 구성과 동작원리
그리고
시스템의 구성환경
등을 설명 및 설계하는
청사진 또는 설계도
Development Team
기획자 (PM, Product Manager)
개발 서비스 정의와 기획
디자이너
UI (User Interface) 및 UX (User Experience) 구현
사용자가 직접 경험하고 사용하는 서비스를 눈에 보기 좋게, 편리하게 디자인 하는 역할
Frontend Developer
HTML & CSS & Javascript 시스템 구현
사용자와 밀접
퍼블리셔라는 HTML & CSS 만 담당하는 고유 직군도 있음
Backend Developer
크게 두 개로 나뉠 수 있음
API 개발자 (좀 더 앞쪽)
데이터 수집, 분석, 관리 등 데이터 관련 시스템 개발 (좀 더 뒤쪽)
DevOps
개발과 시스템 같이 운영
Data Scientist
Machine learning & AI
Data Engineer
데이터 정리 & 정석화 시스템 구현
Tester
시스템을 테스트 하며 검증
그외
Full Stack Developer, Project Manager, Scrum Master, Software Architecture 등 ..
<참고>
https://tuhbm.github.io/2019/04/24/architecture/
Choi Rim
https://rimi0108.github.io/
팔로우
이전 포스트
[210704 TIL] 컴퓨터 구조, OS
다음 포스트
[210707 TIL - (3)] 컴퓨터 기초 이론
0개의 댓글
댓글 작성