View

Wecode 2일차 Session

주제
웹 서비스 역사와 발전

멘토
김순태 멘토님

순태님은 백앤드 개발자이시며,
VIM 에디터를 좋아하신다고 하신다 !


01. Internet & Web

[인터넷]

  • 1960년
  • 군사적 목적
  • 당시의 중앙집중적 통신 시스템. 핵 공격에 취약.
  • 핵 공격에도 견딜 수 있는 강한 통신 시스템 필요>> internet
  • web이 출현하며 인터넷이라는 통신 시스템이 대중적으로 사용되기 시작.

[웹]

  • 1990년-인터넷 출현 후 30년뒤 팀버너스리가 만듦.
  •  web은 최초의 브라우저.
  • world wide web을 통해 인터넷이 대중화됨.
  • 가장큰 혁신으로 유통이 가능하게 됨.
  • 예전에는 소프트웨어를 구입하려면 물리적인 매개체가 필요
  • 이런 유통의 과정이 혁신적으로 줄어들면서 많은 개발자들이 창업을 하기 시작
  • 실리콘 밸리 형성(Yahoo, google, Amazon)
  • 닷컴붐(Dot-com bubble 2000년대)
  • 웹기반의 서비스 시작. -> 인터넷에 본인들이 만든 SW를 올려서 판매 시작.
  • 1세대 웹서비스->정적인 사이트(ex.Yahoo 2000)
  • 이때의 기술은 HTML,CSS가 전부

 

Question. 인터넷이 먼저일까? 웹이 먼저일까?

  • 인터넷이 먼저 생겼고, 이후에 웹이 생겨남
    >>> 인터넷은 웹을 포함한다!!!

02. Web System Architecture History

[1세대 웹서비스]

  • 웹 서버가 HTML 페이지 전체를 클라이언트(ex. Web browser )에게 전송
  • 초창기 웹사이트 - 단순한 정보 제공 위주
  • 특별히 기능이 많지 않으며, 무엇보다 User Interaction이 많이 요구되지 않았따.
  • 1세대 웹이 정적인 이유? HTML, CSS자체가 정정
  • 어떻게 보여지는가에 대한 것이기 때문에 로직(동적)이 없다. 정적

[2세대 웹서비스]

  • javascript 사용
  • 웹서비스의 발전. 단순한 정적 페이지가 아닌 다이나믹한 요소들이 요구.
  • 웹 기반의 언어 자바스크립트의 출현. 자바스크립트의 역할 증대
  • 동적인 2세대 웹 서비스의 출현
  • Web server에서 HTML페이지 + JavaScript를 통해 서버와 필요한 데이터를 주고 받으며 User interaction 구현
  • 그러나 아직 JavaScript를 많이 사용하지 않았음.

 

[3세대 웹서비스]

  • 웹서버가 HTML 페이지 전체를 클라이언트에게 전송
  • 주객전도 - 자바스크립트 >>HTML, CSS
  • SPA(Single Page Application) - 단일의 html페이지에서 전체 웹 사이트/서비스를 구현
  • 자바스크립트를 더 중요하게 생각하게됨.
  • 기존에서는 서버가 페이지 구섯ㅇ에 필요한 모든 요소를 매번 전송
  • 그러나 3세대에서 넘어오면서 명확히 두개로 나눌수 있게 되었다.
  • Frontend 개발과 Backend 개발이 독립적으로 분리(프론트 - UI UX/ 백엔드 - Data)
  • 구조적 분리. Frontend 서버와 Backend API 서버도 분리. 업무적 분리.


03. Morden Web

 

  • User Interaction의 중요성 증가 + 웹 복잡성 증가 + 사용자 수 , 데이터양 증가
  • 이전에 겪지 못한 두가지 문제 발생( 1. 동시 접속자 수, 2. 데이터의 양 )
  • System Architecture의 발전-> Frontent 서버와 Backend 서버의 분리
  • BE - API 서버의 세분화. 데이터 양 증가. "Big Data", Machine Learning. AI.
  • FE - 자바스크립트의 발달(Node.js-프론트가 백엔드의 영역까지 가능, React), 복잡한 웹 기능 구현가능
    # 오늘날의 대표적인 웹 : https://2020.feconf.kr/

 

04. Development Team

[PM(Product Manager(기획자))]

  • 개발하고자하는 서비스를 정의하고 기획하는 역할을 담당하는 직군
  • 우리나라에서는 PM이 개발자의 상사 같은 지위를 가지고 있는 곳이 많은데, 미국에서는 그러지 않음.
  • PM과 개발자는 담당하는 일이 다르다.

 

[Designer]

  • 웹 시스템 개발에는 UI(User Interface) 및 UX(userExperience)를 구현하는 역할을 담당.
  • 사용자가 직접 경험하고 사용하는 서비스를 눈에 보기좋게, 사용하기 편리하게 디자인하는 역할.

 

[Frontend Developer]

  • HTML, CSS, JAVASCRIPT로 프론트엔드 시스템을 구현하는 역할
  • 사용자와 가장 밀접하게 연결되어 있는 개발자
  • 우리나라에는 퍼블리셔라고 하는 HTML, CSS만 담당하는 고유 직군이 있음.

 

[Backend Developer]

  • 백엔드 시스템을 개발하는 역할.
  • Backend 개발자들도 크게 2가지로 나뉨.
    1. Backend 에서 좀더 앞 쪽을 담당하는 (즉 API 개발을 담당하는) 개발자.
    2. Backend에서도 완전 뒤쪽, 즉 데이터 수집, 분석, 관리 등의 데이터 관련 시스템을 개발하는 개발자.
  • 경력이 높아질 수록 좀 더 난이도가 있는 뒷 부분에 해당하는 시스템을 많이 구현 -> DevOps

 

[DevOps (Development Operations)]

  • 시스템개발(Development) 뿐만아니라 시스템 운영(Operation)까지 담당하는 것.
  • 직군이라기 보다는 개발분야에서 나타나는 문화나 추세
  • AWS 등의 클라우드 서비스가 발달함에 따라 서버 구축 및 운영 등의 System infrastructure 관리까지 백엔드 개발자가 직접 구현하는 추세
  • IAC(Infrastructure AS Code)
  • DevOps에 대한 수요가 굉장히 높은 편. 개발 능력과 함께 DevOps능력도 키울 것. 

 

[Data Engineer]

  • DATA Scientist가 데이터를 분석할 수 있도록 데이터를 정리하고 정석화 시키는 시스템을 구현하는 역할을 담당.
  • DATA PIPELINE(ETL) 구축. 각종 데이터를 적재하는 데이터 POOL 을 만드는 등 도구 구현 역할.

 

[Data Scientist]

  • Machine Learning, AI 등의 데이터 분석에 필요한 알고리즘과 모델링의 구현을 담당하는 직군
  • 많은 양의 데이터를 분석해서 새로운 정보와 가치를 만들어 낼 수 있는 직군
  • 통계학, 수학적 추론이 가능하고, 데이터를 통해 유의미한 결과 분석 및 시각화를 통해 방향을 제시하는 직군

 

 

 

 


Melody's Memo

무궁무진한 Web의 발전 그 끝은 어디인가....!!
Web을 만든 팀버너스리, 그의 기발한 아이디어 하나가 포도나무 가지 뻗듯이 다양한 기술과 직업군을 만들어내고, 
우리의 상상을 웹을 통하여 현실에서 실현가능하게하며, 더 나아가 전세계인과 소통할수 있는 커뮤니티를 만들어내게 되었다.

이는 정말 놀랍고 대단한것 같다. 

나 또한 그 덕분에 개발자로서 웹의 세계로 들어올 수 있게 되었다는 사실!
인터넷을 사용할때마다 그와 그의 팀의 노고를 기억하며 감사해야겠다..
우리 모두 엄청난 수혜자들!

감사합니다. 팀버너스리.

PS. 새로 알게된 사실 :  백엔드 개발자도 역할이 크게 2가지로 나뉜다는 것!
                                    내가 첫 신규로 입사해서는 API 쪽을 담당하게 될 확률이 높을 것 같다.

 

'WEB' 카테고리의 다른 글

Web) Home Server_DHCP  (0) 2021.07.22
Web) Home Server_Dynamic & Static_IP address  (0) 2021.07.21
Web) Home Server_port_forwarding  (0) 2021.07.21
Web) Home Server_공유기_NAT_IP주소알아내기  (0) 2021.07.20
Share Link
reply
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31