- 인터넷의 작동 원리를 이해한다.
- 인터넷의 구성 요소를 파악한다.
- 인터넷
- 네트워크
- TCP/IP
- 라우터
- 모뎀
- ISP
- 인터넷 : 컴퓨터 간의 TCP/IP 통신 프로토콜을 이용하여, 서로 데이터를 주고받도록한 네트워크
- 프로토콜 : 컴퓨터 간의 통신 규약 (약속)
- TCP(Transmission Control Protocol) : 데이터를 신뢰성 있게 전달하기 위한 프로토콜
- IP(Internet Protocol) : 네트워크 상에서 컴퓨터의 주소
ex) 192.168.xx.x
- 네트워크 : 컴퓨터간의 통신 연결망
아래는 컴퓨터 두 대의 네트워크를 나타낸 사진이다.
만일, 컴퓨터 여러 대로 네트워크를 구성한다면 어떻게 될까?
고작 10대의 컴퓨터로 이렇게 복잡해진다면, 세상에 존재하는 수많은 컴퓨터를 모조리 이렇게 구성한다는건 불가능할 것이다.
이를 위해 등장한 것이 라우터이다.
- 라우터 : 근거리 네트워크 확장을 위한 소형 컴퓨터
ex) 홍대의 네트워크와 신촌의 네트워크
위와같은 복잡한 네트워크에 라우터를 이용한다면 어떻게 될까?
이와같이 훨씬 간결해졌음을 확인할 수 있다.
그런데, 한국-아르헨티나 간의 네트워크를 구성하고자 하면 어떨까?
너무 먼 거리를 라우터만으로 이동하기에는, 데이터가 깨질 위험이 높고 복잡도또한 높다. 이를 위해 나온 것이 모뎀이다.
- 모뎀 : 원거리의 네트워크 확장을 위한 전자 장치
- 디지털 파형보다 원거리 전송에 있어 안전한 아날로그 파형으로 데이터를 변조하고, 이를 다시 디지털 파형으로 복조한다.
위와같이 라우터를 모뎀에 연결하여 아주 먼 거리에 데이터를 전송한다.
- ISP : 인터넷 서비스 제공업체로, 네트워크에서 네트워크로 데이터를 전송한다.
ex) LG U+, SKT, KT
지금까지 살펴본 인터넷의 구성 요소로 파악한 전체 인터넷 구성은?
이와같은 경로를 통해 우리는 언제 어디서든 전세계의 사람들과 소통할 수 있다.
인터넷
인터넷 작동 원리- HTTP란?
- 브라우저 동작 원리
- DNS 작동 원리
- 도메인 네임이란?
- 호스팅이란?
기본적인 프론트엔드 지식- HTML
- CSS
- JavaScript
OS 및 일반적인 지식- 터미널 사용방법
- OS 작동 방식
- 프로세스 관리
- 스레드와 동시성
- 기본적인 터미널 명령어
- 메모리 관리
- 프로세스간 통신 (IPC)
- 입출력 관리
- POSIX 기초
- 기본적인 네트워크 개념
버전 관리- Git 기본 사용법
DataBase- PostgreSQL (변경 가능성 있음)
- MongoDB
DataBase 상세 정보- ORM
- ACID
- Transaction
- N + 1 Problem
- DataBase 정규화
- Index와 작동 방식
API- 인증
- REST
- JSON APIs
캐싱- CDN
- Server side
- Client side
웹 보안 지식- MD5, SHA family, scyrpt, bcrypt
- HTTPS, CORS, SSL/TL, 보안 정책
Testing- 통합 테스트
- 단위 테스트
- 기능 테스트
- CI/CD
개발과 설계 원칙- SOLID
- KISS
- YAGNI
- DRY
아키텍처 패턴- 모놀로틱 앱
- 마이크로서비스
- SQA
- Serverless
검색 엔진- ElasticSearch
메세지 브로커- RabbitMQ, Kafka
컨테이너화 vs 가상화- Docker
GraphQL- Apollo
- 웹 소켓
- 웹 서버
확장성- 측정, 모니터링, 원격측정
- 마이그레이션 전략
- 수평적 확장 vs 수직적 확장
- 관찰 가능성을 고려한 확장
이게 백엔드 내용인건가요? 저도 따라해봐야겠어요!! 함께 백엔드 개발자가 되는 그날까지 열심히
따라가보겠습니다....! (가끔은 제가 이끄는 날도 있었으면 좋겠네요🥹 무럭무럭 성장하자 나야🥹🥹)