서버리스(serverless) ?
서버가 없는 게 아님. 서버가 없다는 것은 말이 안됨..
24/7 돌아가는 서버가 있는 게 아니라, 백엔드를 함수단위로 잘게 쪼개서 AWS lamda 같은 곳에 올려둠..
그곳에서 함수는 잠자고 있다가 요청이 있을 때마다 꺠어나서 일을 하고 다시 잠듦.
장점: 저럼. 빠른제품 출시가능.
단점: 꺠어나는 시간. 클라우드 제공자에게 의존적이 됨(마이그레이션이 어려움).
컴파일러 vs 인터프리터 ?
코드를 컴퓨터가 알아들을 수 있는 0,1로 바꾸는데..
코드를 미리 번역해서 출시하면 컴파일러! 컴파일언어: c, c++, 자바
그때그떄 실행할때마다 통역하면 인터프리터!! 인터프리터언어, 스크립트언어: 자바스크립트, 파이썬
단점: 컴파일러언어에 비해 실행속도 떨어짐. 코드가 그대로 노출.
환경변수 ?
환경이란? 소프트웨어가 동작하는 공간. 일단 소프트웨어가 깔린 컴퓨터라고 하면 환경변수란 그 컴퓨터”마다” 지정된 값.
용도
1. 각 환경의 조건마다 어떤 동작을 시행할지 정할 수 있음.(개발과 배포과정)
2. 보안
라이브러리 vs 프레임워크
라이브러리: “모듈화”된 코드. 갖다 쓰는 것.
프레임워크: 조립 키트. 덧붙이는 것.
웹서버 ? 서버란 말의 다른의미로 어떤 컴퓨터로 하여금 서버역할을 하게하는 소프트웨어. "웹"서버니까 컴퓨터를 웹사이트를 제공하는 서버로 만들어주는 서비스.
톰캣 ? WAS(Web Application Server)-단순히 갖다주는 게 아니라 뭔가 프로그래밍한 걸 더한다..동적사이트를 전문적으로 처리해주는것
정리. 아파치, NginX -> 웹서버
톰캣 -> WAS
즉, 톰캣이 고난도요리를 해주고 아파치가 손님한테 서빙하는 개념.
** 톰캣도 리소스 제공이 가능하나 아파치를 사용하는 이유.
1. 보안(리버스 프록시).
2. 로드밸런싱-한 요리사에게 주문이 몰릴 떄 분산 주문.
3. 서버측 캐싱 기능.