- 호스팅(Hosting)의 개념을 이해한다.
- 호스팅의 종류와 특징을 파악한다.
- 웹 호스팅
- 서버 호스팅
- 클라우드 호스팅
- 웹 사이트를 올리기 위해, 외부의 서버를 빌리거나 구매하는 것
- 호스팅의 종류
- 웹 호스팅(Web Hosting)
- 서버 호스팅(Server Hosting)
- 클라우드 호스팅(Cloud Hosting)
각 호스팅의 특징을 살펴보고 비교해보도록 하자.
- 웹 호스팅 : 서버 1개의 일부 공간을 임대하여 사용하는 것
- 장점 : 서버를 구축할 필요가 없어 가격이 저렴하다.
- 단점 : 서버 권한이 없으며, 자원 사용량또한 제한된다.
- 사용 예시 : 커뮤니티, 개인 블로그 등 소규모 웹 사이트
- 서버 호스팅 : 서버 1개를 단독 임대/구매하여 사용하는 것
- 장점 : 자원량이 많고, 서버 권한을 가지며, 서버의 인프라와 기술력까지 제공받아 보안에 유리하다.
- 단점 : 구축 및 유지에 시간과 비용이 많이 소비된다.
- 사용 예시 : 회사 인트라넷, 대형 쇼핑몰 등 보안이 중요하거나 대규모 트래픽이 요구되는 곳
- 클라우드 호스팅 : 가상 서버를 단독으로 임대/구매하여 사용하는 것
- 가상 서버 : 서버 1개의 시스템을 가상화 프로그램을 이용해 분할하여 사용하는 것
- 장점 : 서버 권한을 가지며, 자유로운 서버의 축소/확대가 가능해 경제적이다.
- 단점 : 한 프로그램에 이상이 생기면 다른 프로그램도 영향을 받으나, 이중화 및 백업을 통해 커버 가능하다.
- 사용 예시 : 게임, 개발 테스트 등 이용자가 유동적인 웹 사이트
- 요약
웹 호스팅 서버 호스팅 클라우드 호스팅 이용 방식 서버 일부 임대 서버 단독 이용 가상 서버 단독 이용 장점 가격 ↓ 권한 O , 보안성 ↑ 권한 O , 자율성↑ 단점 권한 X , 자원량 ↓ 가격 ↑ X 사용 예시 소규모 웹사이트 대규모 웹사이트 유동적 서비스
인터넷
인터넷 작동 원리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 수직적 확장
- 관찰 가능성을 고려한 확장