뚝딱햄 탈출기

[IT 5분 잡학사전]Ep.16~21 요약 및 TIL 본문

read about···💭📓👀🧠/IT 5분 잡학사전

[IT 5분 잡학사전]Ep.16~21 요약 및 TIL

hyrmzz1 2023. 3. 23. 18:06

2월 23일 새벽.. 나홀로 제주 애월 여행 중 쓰던 TIL을 이제야 마저 쓰는 나에요 .. ㅋㅋ

Ep.16 인터넷 익스플로러가 사라진 이유와 브라우저 엔진

익스플로러 묘비. 우리 나라에 있는게 킬포임ㅠㅋㅋ

인터넷 익스플로러는 CSS와 Ajax를 최초로 적용한 웹 브라우저로, 2003년까지 시장 점유율이 95%일 정도로 시장을 독점했다.

그러나 엔진 업데이트가 느려 버전 업데이트 사이에 보안 취약점 많이 발견되었고 그를 빨리 해결하지 않았다.

그 사이 크롬, 사파리 등의 브라우저들이 더 좋은 엔진을 갖추고 발전했고, 결국 MS는 익스플로러의 지원을 중단하고 마이크로소프트 엣지를 개발했다.

엔진이란?

웹 브라우저의 핵심 프로그램을 '브라우저 엔진' 또는 '렌더링 엔진' 이라고 함.

브라우저(크롬/사파리/파이어폭스 ..)는 엔진(블링크/웹킷/게코  ..)을 장착해 HTML, CSS, JS를 이해한다.

따라서 엔진의 성능이 웹 브라우저의 성능을 결정한다.

엔진이 최신 표준안 및 기술을 지원한다면 최신 웹 브라우저가 된다!

Ep.17 쿠키

HTTP(; HyperText Transfer Protocol)란?

: 인터넷에서 사용자와 서버가 정보를 주고받기 위한 프로토콜.

: 예를 들어 웹 브라우저에 주소를 치고 기다리면 화면이 나오는 과정도 HTTP란 규칙(프로토콜 이니까!) 아래에서 진행.

: HTTP에서 사용자와 서버는 항상 연결되어 있지 않음(stateless). -> 따라서 쿠키가 필요하다.

쿠키란?

: 사용자가 어떤 웹사이트에 방문했을 때 브라우저를 통해 사용자 컴퓨터에 보관하는 기록물.

: 사용자가 웹 사이트에 접속할 때마다 서버에 전송되어 서버의 기억 되살림.

ex) HTTP는 사용자와 서버 stateless (서버가 사용자 기억 못함) -> 로그인 했던 웹 브라우저 끈 후 웹 사이트 방문했는데 로그인 유지 (서버가 사용자를 기억하는 것처럼!) -> 쿠키 때문에 가능한 일 !

: 컴퓨터에 자동으로 저장

: 도메인 1개에만 한정.

-> 블로그에서 생성된 쿠키는 페이스북에 보내지지 않는다.

그러나 블로그 내에 페이스북의 좋아요 버튼이 추가되어 있다면? (해당 버튼을 누르면 페이스북에 요청이 가므로)

블로그와 페이스북이 연결되면서 블로그의 쿠키를 페이스북이 얻을 수 있게 된다.

Ep.18 프론트엔드와 백엔드, Ep.20 풀스택

프론트엔드와 백엔드는 웹 개발에만 쓰이는 용어라는 점 참고 !

프론트엔드

: 기술의 변화 속도가 빠르다. 끊임없는 발전과 업데이트.

: User Interface (UI) 를 의미한다. 사용자가 보는 화면의 인터페이스. 사용자와 상호작용을 의미.

: UI(웹 사이트 내 버튼, 입력란, 반응형 디자인 등)을 개발한다면 프론트엔드 개발자.

백엔드

: 안정적인 개발 환경. 프론트엔드에 비해 변화 속도가 빠르지 않음.

: 언어 선택지가 다양함. Java, Python, Django 등

: 눈으로 보이지 않으나 실제 사용해야하는 기능(계정 생성, 동영상 업로드, 댓글 저장 등)을 개발한다면 백엔드 개발자.

 

댓글 창에 댓글을 입력하고 입력버튼을 누르면 (프론트엔드) -> 그 댓글을 받아 데이터베이스에 저장 (백엔드)

풀스택

: 프론트엔드 + 백엔드 + 데브옵스

+) 데브옵스(DevOps)

: sw 개발자와 정보 기술 전문가 사이 소통, 협업, 통합을 강조하는 개발 환경이나 문화.

: 프론트엔드, 백엔드 개발이 끝난 후 그것들을 서버를 골라서, 올리고, 설정하고, 서버에 sw 설치하고, db 설정, 보안 등의 일들이 데브옵스. 이 일을 하는 사람이 데브옵스 개발자.

Ep.19 서버

서비스를 제공하는 역할을 한다면 서버(server)라고 할 수 있다.

 

서버의 외부 모습

서버는 위 사진에서 알 수 있듯, 모니터가 없는 컴퓨터이다.

항상 인터넷에 연결되어 있어야 하며 서버의 저장소와 메모리 크기는 굉장히 크다.

소프트웨어로서의 서버는, 사용자가 무언가를 요청했을 때 네트워크에 연결된 컴퓨터가 실행하는 코드이다.

사용자가 웹 사이트 주소를 입력하면, 서버는 해당 주소에 맞는 웹 페이지와 데이터를 보여준다.

(웹 페이지 속 이미지, 텍스트 등의 데이터들은 서버가 실제로 가지고 있는 데이터이다.)

 

즉, 서버는 항상 인터넷에 연결되어 주소 입력을 기다리며, 주소가 입력되면 해당 주소의 데이터를 꺼내 보여준다. (접속 요청에 응답)

Ep.21 서버리스

서버가 없다는 뜻이 아닌, 사용자가 직접 관리하지 않는, 실체가 없는 서버를 의미한다.

 

서버리스가 없던 때에는 회사마다 서버를 구매해 수동으로 관리했으나,

아마존/구글/MS 에서 각종 클라우드 서비스(ex. EC2)를 제공하면서 서버를 탄력적으로 운영할 수 있게 되었고, 해당 서비스들이 최신 서버를 안전하게 제공 및 관리해주며 서버의 메모리도 원하는 만큼 신청해서 사용할 수 있게 해준다. (하드웨어 제공, 관리)

하지만 위의 서비스는 하드웨어만을 제공 및 관리하고 서버의 소프트웨어 관리(ex. 서버 OS 업데이트, 보안 점검, 데이터 백업, 장애 회복 시스템 구축 등)는 하지 않는데 이를 서버리스가 처리한다.

서버리스란?

: 서버를 위한 소프트웨어, 즉 백엔드 코드를 작은 함수 단위로 쪼갠 후 서비스(서버. EC2 같은 것들)에 올린다. 올린 함수 단위의 코드들은 서버에 항상 깨어 있지 않아 함수가 요청될 때만 깨워 요청 작업을 수행한다.

: 따라서 전력과 비용이 절감되고 하드웨어를 효율적으로 사용 가능하다.

: 서버리스의 함수가 요청을 받을 때만 깨기 때문에 AWS(Amazon Web Services)가 함수를 깨울 때 ms 단위의 응답시간이 걸린다. 이를 Cold start라고 한다.

: AWS 교체, 서버리스 서비스 회사 교체는 쉽지 않다.

: 서버리스를 사용하면 서버 준비시 필요한 설정 작업들을 덜 할 수 있어 서버를 빠르고 쉽게 구축할 수 있다. 서버 관리 및 설정 시간 단축 가능.

 


그래서 오늘 내가 배우고, 느낀건!

  • 엔진과 브라우저간의 관계에 대해 알게 되었다. 엔진에 의해 브라우저의 성능이 결정된다 !!

 

  • 풀스택은 그저 프론트엔드와 백엔드를 모두 하는 것! 이라 생각했는데, 데브옵스까지 합쳐진 개념이라는 걸 알게 되었다. '데브옵스' 라는 용어를 들어는 봤는데 어떤 일들이 데브옵스에 속하는지 확실히 알게되었다.

 

  • 서버리스는 이 책에서 처음 접한 개념이라 '서버가 없다는 뜻인가?' 라고 생각했는데, 3학년 때 사용해본 아마존의 EC2 서비스가 여기 속한다는걸 알고 놀랐다. 나도 모르는 새 많은 기술을 접했고, 그 기술이 뭔지, 왜 사용해야 했는지 확실히 잡고 갈 수 있어 다행이다. AWS와 클라우드 컴퓨팅에 관한 개념들은 스스로 정리해봐야겠다.


#노마드코더 #북클럽 #노개북

Comments