728x90
오늘 읽은 범위
- 마당 2. 웹 기술 편 ep16 ~ 21
책에서 기억하고 싶은 내용
- ep16 : 웹 브라우저
- 인터넷 익스플로러 1996년 3.0 버전 발표. CSS와 Ajax 기술을 최초로 지원한 웹 브라우저.
cf. Ajax(asynchronous javascript and xml) = 웹사이트에서 어떤 내용을 업데이트하면 새로 고침 없이도 내용을 볼 수 있는 기술 - 웹 브라우저: HTML 라는 표준안에 의해 표현될 수 있도록 개발된 도구.
웹 브라우저 엔진(랜더링 엔진): 웹 브라우저의 핵심 프로그램 - 웹 엔진별 브라우저
브라우저 엔진 명 브라우저 명 게코(gecko) 파이어폭스(firefox) 웹킷(webkit) 사파리(safari) 블링크(blink) 크롬(chrome) 블링크(blink) 엣지(Edge)
- 인터넷 익스플로러 1996년 3.0 버전 발표. CSS와 Ajax 기술을 최초로 지원한 웹 브라우저.
-
- 자바스크립트도 ECMAScript 에크마스크립트 라는 표준안에 의해 실행될 수 있도록 하는 프로그램 엔진이 있음 -> V8 엔진
- 이러한 엔진의 성능이나 지원하는 기술들이 웹 브라우저의 성능과 버전을 결정함.
- 브라우저 시장을 독점하던 인터넷 익스플로러에 수많은 보안 취약점이 발견되었으나 개선되지 않음
-> 다른 강력한 브라우저 엔진의 등장으로 2022년 6월 인터넷 익스플로러 지원 중단.
마이크로소프트에서는 대안으로 Edge 브라우저를 새로 출시했으나, 브라우저 엔진은 블링크를 사용.
- ep17 : HTTP 쿠키
- 쿠키: 웹 사이트 방문했을 때 브라우저를 통해 컴퓨터에 보관되는 기록
- ep18 : front-end & back-end
- 사용자의 화면 영역은 front-end, 애플리케이션/웹 사이트에서 뒤쪽 영역인 DB나 라우터는 back-end
- 프론트엔드 vs 백엔드 개발 비교
front-end development back-end development 장점 작업한 내용 바로 반영되어 시각적으로 확인 가능
사용자와 바로 맞닿아있음개발 환경이 프론트엔드에 비해 안정적. 백엔드 기술의 변화가 크지않음
언어나 기술 등 선택할 수 있는 옵션이 많음단점 프론트엔드 기술 발전이 빠른 편이라, 공부해야할 내용 많음 -> javascript fatigue 사용자와 거리감 있음
- ep19 : 서버
- 서버: 서비스를 해주는 컴퓨터
- 하드웨어 측면: 모니터 1개 이하. 24/7, 365 인터넷 연결됨. 상당한 저장소 & 메모리 크기
- 소프트웨어 측면: 요청 시 그에 맞는 웹 페이지와 데이터를 보여줌.
항상 주소 입력(접속 요청)이 올 때까지 기다리고, 주소가 입력되면 그 주소에 해당하는 갖고 있는 데이터를 노출시킴(응답)
- 서버: 서비스를 해주는 컴퓨터
- ep20 : 풀스택 개발
- 풀스택 = 프론트엔드 + 백엔드 + 데브옵스
cf. 데브옵스(devops) = 개발(development) + 운영(operations)
: 개발자와 정보기술 전문가 사이에 소통, 협업, 통합을 강조하는 개발 환경이나 문화 - 개발 이후 서버 배포, DB 설정, 보안 등 고려해야할 것들이 많음. 풀스택(+기획)을 한다면 1인 스타트업도 가능!
- 풀스택 개발 할 수 있는 것과 하는 것은 엄연히 다른 것! 🤨 역할과 책임이 어디까지인지 명확하게 체크!!! 해야지 그럼그럼
- 풀스택 = 프론트엔드 + 백엔드 + 데브옵스
- ep21 : 서버리스
- 진짜로 서버가 없는 것이 아니라 우리가 직접 관리하지 않아도 되는 서버라는 뜻
- 서버를 위한 소프트웨어를 작은 함수 단위로 쪼갠 뒤, 그 함수들을 서버에 올리는 구조. 함수들은 비용적 측면을 고려하여 항상 깨어있지 않고 평소에는 잠들어 있는 상태.
- 장점: 비용 절감. 효율성. 요청한 작업을 수행한 만큼 돈을 지불함 (on-demand. 클라우딩 개념)
- 단점
- 콜드 스타트(cold start). 잠들어 있는 함수가 깨는데 시간이 조금 필요해서 24시간 온라인 상태인 서버보다는 응답 시간이 더 걸림. 만약 실시간 빠른 응답이 필요한 서비스라면 서버리스는 비추천
- 서버 제공자에 대한 높은 의존성. 다른 제공사로 이관하는 것이 쉽지는 않고(그렇다고 어렵지는 않지만..) , 제공사에서 문제 발생 시 트러블 슈팅 및 원인 파악이 어려운 편
(실제로 aws ec2를 사용했었는데 이런 경험 있었다! 서버리스도 아니었는데 갑자기 알 수 없는 이유로 서버가 죽었는데, ram 사용량이 많았던 것도 아니었어서 원인 파악이 어려웠다. 늦은 밤 시간대 사용량이 전혀 없어서 문제는 없었지만, 왠지 찜찜한 느낌...)
- 서버 관리, 설정에서 시간 절약하고 싶고 약간의 latency가 있어도 치명적이지 않는 서비스를 제공한다면, 서버리스는 좋은 선택!
- 서버리스 프레임워크 사이트 -> serverless.com
- AWS 람다(lambda), GCP 구글 클라우드 펑션(cloud function), 아펙스(Apex), 테라폼(Terraform)
오늘 읽은 소감은? 떠오르는 생각들
- <IT 5분 잡학사전> 이 책은 개발 입문자들은 꼭 한번 읽어보면 좋을 것 같다! 개념이 이해하기 쉽게 설명되어있음
- 책에서 중간중간 소개하는 IT 쿠키 상식이라는 문구는 어떤 의미로 만들게 됐을까..? 오늘 읽은 브라우저 쿠키랑 상관있나..?
(mbti N력 발동...)
추가할 내용
- on-premise 서버는 모두 수동으로 관리. 그렇다고 off-premise 라고 모두 서버리스는 아님!!
- EC2는 기본적으로 항상 떠있는 24시간 응답 대기 상태! '클라우드 가상 서버' 다.
cf. 온프레미스(on-premise)란?
자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식. 과거 클라우딩 컴퓨팅 기술이 나오기 전에 기업에서 일반적으로 사용해오던 서버 구축 방식.
- 장점: 비즈니스 정보를 보안성 높게 관리할 수 있음
- 단점: 시스템 구축과 유지보수에 많은 시간과 비용이 들어감
<-> 오프프레미스(off-premise): 기업 외부에서 임대 서비스를 사용하여 서버 구축
= SaaS 또는 클라우드 컴퓨팅
- 장점: on-premise 에 비해 서버 구축이 쉽고 간편
- 단점: 문제 발생 시 트러블 슈팅 어려움
3줄 요약
- 웹의 브라우저, 쿠키, 서버, 서버리스의 개념 정리
- 어떤 웹 개발자가 되어야할 지. 웹 개발 분야의 장/단점 및 기술들을 비교
- 서버리스의 장점: 관리가 편함. 단점: 콜드 스타트, 제공자에 높은 의존성
'노마드코더 챌린지 > 노개북 - IT 5분 잡학사전' 카테고리의 다른 글
[북클럽][TIL] <IT 5분 잡학사전> - Day 8. 복습 & 부록 정리 (0) | 2024.04.20 |
---|---|
[북클럽][TIL] <IT 5분 잡학사전> - Day 7. 컴퓨터 공학 지식 (1) (0) | 2024.04.19 |
[북클럽][TIL] <IT 5분 잡학사전> - Day 5. 웹 기술 용어 (1) (0) | 2024.04.17 |
[북클럽][TIL] <IT 5분 잡학사전> - Day 4. 복습하며 다시 챌린지 도전 (0) | 2024.04.16 |
[북클럽][TIL] <IT 5분 잡학사전> - Day 3. 입문, 코딩 언어에 대해 (2) (0) | 2024.04.16 |