일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프론트엔드 강의
- 프론트엔드 강의 패키지
- deep dive
- 코딩애플
- 프론트엔드강의
- 문자열과 불변성
- 리액트JSX문법
- 패스트캠퍼스 프론트엔드
- 노마드코더 #개발자북클럽
- 프론트엔드웹개발의모든것초격차패키지
- 패스트캠퍼스
- 패스트캠퍼스 강의 패키지
- 프론트엔드웹개발의모든것초격차패키지Online
- 코딩애플 자바스크립트
- 강의 패키지
- 유사배열
- 한화시스템 부트캠프
- 노마드북챌리닞
- 한화시스템 부트캠프 5기
- JSX문법
- 노마드코더 #북클럽
- 엘리스트랙 프리트랙
- 한화시스템 5기
- 코딩애플자바스크립트
- 딥 다이브
- 원시값
- 패스트캠퍼스이벤트
- 자바스크립트 연산자
- 모던 딥다이브
- 자바스크립트
- Today
- Total
개발자 연쨘
TIL4. EP16 ~ EP21 본문
오늘 TIL 3줄 요약
- 인터넷 익스플로러는 시장점유율만 믿고 게을러서 없어졌다.
- 풀스택개발자는 프론트앤드, 백엔드, 데브옵스까지 해야한다.
- 서버리스는 서버가 없는게 아니다.
TIL (Today I Learned) 날짜
2023. 10. 11
오늘 읽은 범위
에피소드16 인터넷 익스플로러가 사라진 이유와 브라우저 엔진
에피소드17 아, 쿠키가 먹는 게 아니라고요?
에피소드18 프런트엔드, 백엔드?
에피소드19 서버가 뭔지 아직도 모른다고?
에피소드20 슈퍼 개발자만 할 수 있다, 풀스택?
에피소드21 서버리스는 서버가 없다는 뜻?
책에서 기억하고 싶은 내용을 써보세요.
인터넷 익스플로러가 사라진 이유와 브라우저 엔진
● 최신 기술을 가장 빨리 지원했던 인터넷 익스플로러
1996년에 인터넷 익스플로러 3.0 버전이 발표되었음.인터넷 익스플로러는 CSS를 최초로 적용한 웹 브라우저.이 기술을 최초로 지원한 웹브라우저.
1999년 인터넷 익스플로러 5.0버전이 나왔을 때 에이젝스기술을 최초로 지원.익스플로어는 이렇게 사람들이 좋아하는 기술을 빨리 지원해줬었음.
근데 왜?! 없어진걸까?? 그전에 브라우저 엔진에 대해 봐보자!
브라우저는 브라우저의 핵심 프로그램인 엔진이라는 것을 장착해서 HTML, CSS, 자바스크립트를 이해할 수 있는것중요한것은, 이 엔진의 성능이 바로 웹 브라우저의 성능을 결정함.이 엔진이 최신 표준안, 최신 기술을 지원한다면 최신 웹 브라우저가 되는것 (우리가 가전제품 사는것과 같음)
그래서 왜 없어졌다고?
인터넷 익스플로러는 점유율만 믿고 게으름을 피움. (2003년에 점유율이 95%)
이러한 인터넷 익스플로러는 2003년부터 급격히 떨어짐.
새 버전이 나오기까지 정말 오래 걸렸는데, 이것이 보안 문제에 걸림.
인터넷 익스플로러 버전 6.0이 2001년 8월에 출시되었고 7.0은 2006년 10월에 출시
그 사이에 수많은 보안 취약점이 발견되었는데 빨리 고치지 않음.
그러는 동안 다른 브라우저들은 더 좋은 엔진을 갖췄고,
인터넷 익스플로러는 지원을 결국 중단함, 그다음 마이크로소프트 엣지라는 웹 브라우저를 개발함.
여기서 웃긴건 엣지 웹 브라우저의 엔진은 크롬 브라우저이 엔진인 블링크임.
(그만큼 엔진 개발은 힘들다.)
* 브라우저 엔진 혹은 렌더링엔진 : HTML 표준안을 정하고 그렇게 개발한 웹 브라우저의 핵심 프로그램
*에이젝스 : 웹 사이트에서 어떤 내용을 업데이트하면 새로 고침으로 확인해야하는데
그 과정 없이 업데이트한 내용을 볼 수 있게 해주는 기술
쿠키가 뭐야?
HTTP 쿠키
● 쿠키는?
내가 어떤 웹 사이트에 방문했을 때 브라우저를 통해 나의 컴퓨터에 보관하는 기록.
● HTTP 쿠키? HTTP가 뭔데?
HyperText Transefer Protocol의 줄임말.
인터넷에서 정보를 주고받기 위한 프로토콜이라는거임.
즉, 인터넷에서 사용자와 서버가 정보를 주고받기 위한 일종의 규칙.
웹 브라우저에서 주소를 치고 나면 화면이 나오는 과정은 모두 HTTP라는 규칙에서 진행돼.
● 나를 기억하지 못하는 HTTP
HTTP에서는 나와 서버는 항상 연결되어 있지 않는 특징이 있음.
브라우저에 주소를 치고 들어가면 그 주소에 대한걸 우리한테 보내 주고,
다 보내면 나와 연결을 끊고 누군지 잊어버림.
그런데 가끔 내가 누군지 서버가 기억해야할때가 있는데 여기서 쿠키가 필요한것!
● 로그인으로 알아보는 쿠키
어떤 사이트에 들어가서 로그인했을 때 웹 브라우저를 꺼도
로그인이 유지되는 경우가 있는데 이게 쿠키가 저장되어 그런것.
쿠키는 나를 신뢰한다는 영수증 같은것.
내가 한번 접속하면 내가 모르는 사이에 이 영수증을 서버에 보내는거임.
이렇게 쿠키는 내가 웹 사이트에 접속할 때마다 서버에 전송되어서
서버의 기억을 되살리는 역할을 함
● 쿠키에도 규칙이 있다!
이렇게 HTTP의 기억력을 보완해 주는 쿠키는 편의, 보안 등의 이유로 규칙을 따라야함.
- 쿠키는 도메인 1개에만 한정 -> 예를 들면 페이스북에서 생성된 쿠키를 넷플릭스에 보낼 수 없다는 뜻.
- 쿠키는 자동으로 보낸다-> 원하든 원하지 않든 나의 컴퓨터와 서버를 왔다갈 수 할 수 있음.
- 쿠키는 컴퓨터에 자동으로 저장 -> 웹 사이트에 접속하면 그 순간 쏟아져 들어와서 볼 수 있음.
● 페이스북은 우리가 접속한 다른 사이트를 어떻게 알가?
쿠키는 분명 한 도메인에 한정되어 있다고 했는데!
그런데 도메인과 상관없는 쿠키도 있음
블로그와 페이스북으로 예시를 들어보면 블로그에 페이스북과 관련된 좋아요가
있다고 하면 그걸 누르면 페이스북과 관련된거니까 그 블로그에서 쿠키를 얻을 수 있음
프런트엔드, 백엔드
● 프런트엔드?
-기술의 변화 속도가 엄청 빠름.
-끊임없이 공부해야함 마스터했다는 생각이 안듦
-코드를 입력하면 작업한것을 바로 볼 수 있음
● 백엔드?
-개발 환경이 프런트엔드에 비해 안정적(장고, 루비온레일즈와 같은 도구)
하지만 노드제이에스는 빨리 변하는 편이라는 의견이 있음. 하지만 프런트만큼은 아님
-하나만 배워 둬도 쭉 개발할 수 있는게 큰 장점.
-기술 선택지가 다양함.
(자바, 루비, 장고, 파이썬, 플라스크 등... 프런트는 HTML CSS JAVASCRIPT가 필수인뎁...!)
-사용자와 거리가 멀어서 흥미가 떨어짐. 데이터베이스, 캐시등 우리 눈으로 볼 수 없는거니까...!
서버가 뭔자 아직도 모른다고?
● 서버는 그냥 컴퓨터다
서버는 모니터가 없는 컴퓨터,
365일 24시간 내내 인터넷에 연결되어 있어야하며, 서버 크기는
저장소와 메모리 모두 어마어마하게 큼.
사용자가 요청했을 때 네트워크에 연결된 컴퓨터가 실행하는 코드가 서버임.
서버는 내가 웹 사이트 주소를 입력하기를 기다렸다가 해당 주소가 입력되면
그에 맞는 웹 페이지를 꺼내서 보여주 는 코드라고 생각하면돼.
서버는!
● 24시간 내내 주소 입력을 기다림
● 주소가 입력되면 그 주소에 해당하는 데이터를 꺼내서 보여줌
서버는 항상 켜져있는 컴퓨터이면서 인터넷에 연결되어 있고 접속 요청에 응답하는 컴퓨터
슈퍼 개발자만 할 수 있다, 풀스택?
풀스택은 프런트엔드, 백엔드, 데브옵스다.
*데브옵스 : 소프트웨어의 개발과 운영의 합성어.
소프트웨어 개발자와 정보 기술 전문가 사이에
소통, 협업, 통합을 강조하는 개발 환경이나 문화를 칭함.
● 풀스택 정리
프런트엔드, 백엔드 개발을 다 미친다고 개발이 끝난게 아님.
이걸 이제 서버에 올려야해!
서버를 고르고 설정하고, 서버에 소프트웨어도 설치하고, 데이터베이스 설정도 하고,
보안도 신경쓰고... 할게 많은데 이 모든 것을 데브옵스라 하고 !
이런 일을 하는 사람을 데브옵스 개발자라고 해.
이 세개를 다할 줄 알아야 풀스택 개발자인거야.
과장해서 말하면 풀스택 개발자는 1인 스타트업을 만들 수 있음!
풀스택 취업 시 점검해야할 사항
-백엔드로 노드제이에스, 파이썬중 무엇을 사용하나요?
-데브옵스는 할 수 있지만 개발에 더 집중하고 싶은데, 개발 프로세스가 궁금합니다.
-팀원은 총 몇 명인가요?
서버리스는 서버가 없다는 뜻?
서버가 없다는 뜻은 맞지만 진짜 서버가 없다는것은 아님.
● 존재하긴 하지만 우리 곁에는 없는 서버, 서버리스
서버는 실체가 있어야 해. 서버리스는 서버 없음이 아니라 우리가
직접 관리하지 않는 서버를 의미. 근데 그렇게 이름을 지으면 길어지니까
서버리스라고 하는것 같다고 추측.
● 원래 서버는 우리 곁에 있었다.
서버리스가 없던 시절에는 서버를 직접 구매해서
전원을 꽂고 인터넷을 연결해서 관리해야 했음!
만약 정전이되고 용량이 부족하면 큰일나는것.
즉, 예전에는 서버를 전부 수동으로 관리를 했음.
● 아마존의 등장으로 서버는 우리 곁을 떠남
아마존이 EC2(엘라스틱 컴퓨터 클라우드)라는 서비스를 선보임
서버를 아마존이 대신 운영해 준다는 목적의 서비스.
● 서버리스, 서버 제공부터 서버의 소프트웨어 관리 그리고 더?
서버리스의 구조는 단순하지 않음.
서버를 위한 소프트웨어를 작은 함수 단위로 쪼개고, 함수를 아까 말한
서버에 올리는 것. 그리고 이 함수들은 요청을하면 반응하고 평소에는
반응하지 않고있음.
요청을 해야 반응하는원리라 효율성이 높음!
즉, 서버리스는 등록한 함수가 실행된 만큼만 돈을 내면 되는것.
● 서버리스의 단점도 있다!
단점1 서버리스의 함수는 요청해서 반응을 하는 단계에서 시간이 필요하다 : 콜드 스타드
24시간 온라인을 제공하는 서버보다 응답 시간이 조금 더 필요함.
응답 시간이 밀리초 단위인데 그 시간도 매우 중요한 서비스라면 서버리스는
좋은 선택이 아님. 그래서 때로는 함수 일부를 잠들지 않게도 한다고함!
*콜드 스타트: 서버리스의 함수가 잠에서 깨는 시간이 필요함
단점2 서버 제공자에게 지나치게 의존한다.
극단적인 예시로 설명하면, 서버리스를 사용하고 있다면 AWS와 결혼한 것과 같음.
AWS가 마음에 들지 않는다고 바로 헤어질 수 없다는 뜻.
서버리스는 편리한 만큼 함수의 형태가 서비스에 딱 맞아 떨어지는 형태여서,
지금 사용하는 서버리스 서비스에서 다른 회사의 서버리스 서비스로 옮기기가 쉽지 않음.
서버리스를 쓰면 좋은 사람!
서버리스로 작업하면 코드에 집중해서 작업할 수 있기 때문에
사이드 프로젝트를 하는 사람이나 프로토타입을 최대한 빠르게
출시하고 싶은 기업에게 추천
서버관리, 설정에서 시간을 아끼고 싶다면 서버리스가 정답.
서버리스 공부 사이트 : serverless.com / AWS 람다 / 구글 클라우드 펑션 / 아펙스 / 테라폼
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
인터넷 익스플로러가 개발자에게 힘든 브라우저라고 듣기는 했는데
정확한 이유는 알지 못했고, 인터넷 익스플로러가 종료된 이유도 확실치 않게 알고 있었는데.
오늘 읽은 내용을 통해 왜 잘나가던 브라우저가 종료라는 결과가 나왔는지 알 수 있었다.
브라우저의 내용이였지만, 내 상황과도 빚대어서 생각하게됐다.
개발공부를 위해 게을리하지 말고 사용자들에게 더 편한 사이트를 구축할 수 있는
개발자가 되도록 노력해야겠다는 목표가 생겼다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
오늘 내용에선 없습니다.
'스터디 > IT 5분 잡학사전 도서 챌린지' 카테고리의 다른 글
TIL 3. EP 11~EP15 (0) | 2023.10.11 |
---|---|
TIL2. EP6 ~ EP10 (1) | 2023.10.09 |
TIL 1 5분 잡학사전 EP.1 ~ EP.5 (0) | 2023.10.08 |
IT 5분 잡학사전 챌린지 (0) | 2023.10.06 |