IT 5분 잡학사전 TIL#4

jein·2023년 2월 22일

오늘의 TIL 3줄

1.HTTP 쿠키와 그 역할
2.프론트엔드 백엔드 풀스택의 개념
3.서버와 서버리스

TIL 날짜

2023.02.22 wed

오늘 읽은 범위

EP 16 ~ 21

기억하고 싶은 부분

EP 16

96년에 IE 3.0이 CSS를 최초로 적용한 브라우저였다.
99년은 IE 5.0은 Ajax(Asynchronous JavaScript and XML)기술을 최초로 지원했다 Ajax는 웹 사이트에서 어떤 내용을 업데이트하면 새로 고침으로 확인야 하는데, 그 과정 없이 업데이트한 내용을 볼 수 있게 해주는 기술이다.

웹 브라우저의 핵심 프로그램을 '브라우저 엔진'또는'렌더링 엔진'이라고 함.
파이어폭스-gecko
사파리-webkit
크롬-blink(웹킷 기반)
엣지-blink

브라우저 엔진의 성능이 웹 브라우저의 성능을 결정.
이 엔진이 최신 표준안/기술을 지원한다면 최신 웹 브라우저가 되는 것이다.

js에는 ECMAScript라는 표준안이 있고, 웹 브라우저 실행을 위한 엔진은 v8인데, 브라우저 뿐만이 아니라 노드js, 디노 처럼 js를 해석하는 곳에서도 쓰인다.

EP 17

HTTP쿠키는
여러분이 어떤 웹 사이트에 방문했을 때 브라우저를 통해 여러분의 컴퓨터에 보관하는 기록물이다.

HTTP에서 우리와 서버는 항상 연결되어 있지 않다는(stateless)특성이 있어서, 서버는 가끔 우리가 누구인지 기억해야 하는데, 그 때 쿠키가 필요하다.

로그인하면 서버에서 영수증 같은것을 발행해주는데, 영수증은 신뢰하는 사용자임을 증명해주는 역할도 있으며, 컴퓨터의 어딘가에 저장된다.
이후 같은 웹에 재접속 하면 영수증을 서버에 보낸다. 그러면 서버는 영수증을 보고 로그인 상태를 유지시켜 준다. 이 영수증이 쿠키라고 함.

쿠키의 규칙
1. 쿠키는 도메인 1개에만 한정.
2. 쿠키는 자동으로 보낸다.(동의를 구하는 경우도 있지만 대부분 자동으로 보낸다.)
3. 쿠키는 컴퓨터에 자동으로 저장된다.

EP 18

프런트엔드 개발자
단점 : 기술 변화 속도가 엄청 빠르다. ->공부하기 힘듦
장점 : 내가 입력한 내용을 바로 확인가능. 결과물이 바로 보여서 서로 즉각적인 피드백을 받는 느낌도 있음.

백엔드 개발자
장점 : 1.프런트엔드에 비해 개발 환경이 안정적. 2.기술의 선택지가 다양하다.
2는 프런트엔드의 단점이기도 함.
단점 : 사용자와 거리가 멀어 흥미가 떨어진다.

EP 19

서버는 그냥 컴퓨터이고,
외부 모습은
모니터가 없거나 1개만 있다. 항상 인터넷에 연결되어 있다. 저장소와 메모리의 크기가 매우 크다.

내부 모습은 사용자가 요청했을 때 네트워크에 연결된 컴퓨터가 일행하는 코드를 서버라고 보면 됨.

서버의 특징
서버는 24시간 내내 주소 입력을 기다린다.
주소가 입력되면 그 주소에 해당하는 데이터를 꺼내서 보여 준다.

서버는 항상 켜져 있는 컴퓨터이면서 인터넷에 연결되어 있고, 접속 요청에 응답하는 컴퓨터이다.

EP 20

풀스택은 프런트엔드, 백엔드, 데브옵스다.
DevOps는 소프트웨어의 개발(development)과 운영(operations)의 합성어다. 소프트웨어 개발자와 정보 기술 전문가 사이에 소통, 협업, 통합을 강조하는 개발 환경이나 문화를 말함.

프런트엔드 정리
사용자가 보는 화면의 인터페이스를 의미함. (user interface, UI). 사용자와 상호작용하는 것을 의미함. 사용자와 상호작용하기 위해 다양한 기술들을 공부해야 함. HTML, CSS, JS, 리액트, 제이쿼리, Vue.js 등

백엔드 정리
사용자가 눈으로 볼 수는 없지만 실제로는 사용해야 하는 기능이다.
계정 생성, 동영상 업로드, 댓글 저장 등등.
PHP, 자바, 파이썬, JS, C#등을 공부해야 함

풀스택 정리
프런트엔드, 백엔드, 데브옵스를 모두 다 할 수 있는 사람을 가리킴.
되기 힘들다. 많은 노력이 필요함. 기획만 된다면 1인 스타트업도 가능.

풀스택으로 회사를 구할경우
팀원이 몇 명인지, 팀 구성원이 몇 명 있다면 일을 잘 구분해서 주는지 꼭 물어보길 권장.

풀스택 개발자는 무조건 모든 영역을 다 개발해야 한다고 생각하는데, 할 수 있는 것과 하는 것은 엄연이 다른 것이다.

풀스택 취업 점검사항
1. 백엔드로 노드js를 사용?아니면 파이썬?
2. 데브옵스는 할 수 있지만 개발에 더 집중하고 싶은데, 개발 프로세스가 궁금
3. 팀원은 몇 명인가?

EP 21

서버리스는 우리가 직접 관리하지 않는 서버를 의미한다.
함수들을 항상 응답 대기상태로 두지 않고 필요할때만 깨워서 쓰기에
비용 면에서 큰 장점이 생긴다. 전력 낭비를 줄이고 하드웨어를 효율적으로 쓸 수 있게 된다.

단점은 함수가 잠에서 깰 때 시간이 필요하기 때문에(cold start) 24시간 온라인 제공 서버보다 밀리초 단위이지만 응답이 느리다.
서버 제공자에게 지나치게 의존하고, 사용중인 서버리스로부터 타사의 서버리스로 옮기기가 힘들다.

사이드 프로젝트나 프로토타입을 빨리 출시하고픈 사람들에게 추천.
코드 집중해서 작업할 수 있기 때문.
서버 관리/설정에서 시간을 아끼고 싶다면 서버리스가 정답.

궁금한 것

  1. HTTP 쿠키의 이름은 왜 쿠키가 되었나.
  2. 125p에서 "서버를 위한 소프트웨어를 작은 함수 단위로 쪼개"에서 '함수 단위로 쪼개다'그리고'함수들이 잠을 자다'가 와닿지 않았다.

읽은 소감, 떠오르는 생각

승승장구하던 IE의 몰락 이야기가 아이러니하다. 분명 관련 전문가들이었을 것인데 보안 문제까지 무신경하게 게으름을 피운건가. 더군다나 95%점유율일때는 수많은 사람이 사용중인 .. 뭐 다른 좋은 브라우저 나왔으지 됐

맛있는 쿠키가 땡긴다.

최애 북틸

https://nomadcoders.co/community/thread/7364
깔끔명료한 요약이 좋았습니다.

https://nomadcoders.co/community/thread/7339
설명도 좋으시고 소감도 잘 들었습니다.

0개의 댓글