< 웹소켓 >
: 웹 브라우저(또는 다른 클라이언트 애플리케이션)과 웹 서버 간의 통신을 가능
: 서버가 클라이언트에게 전송해 주는 푸시(push)방식이 아니라 클라이언트가 서버에에게 요청하는 폴링(polling) 방식
: TCP 포트 80(TLS 암호화 연결의 경우 443)를 통해 수행되며 방화벽을 통해 웹이 아닌 인터넷 연결을 차단하는 일부 환경에 도움이 된다.
1. 실시간 양방향 데이터 통신이 필요한 경우
2. 많은 수의 동시 접속자를 수용해야 하는 경우
3. 브라우저에서 TCP 기반의 통신으로 확장해야 하는 경우
4. 개발자에게 사용하기 쉬운 API가 필요할 경우
5. 클라우드 환경이나 웹을 넘어 SOA 로 확장해야 하는 경우
< 웹브라우저와 웹서버 >
웹서버
1. Client(ex: 웹 브라우저) 로부터 HTTP 요청을 받음.
2. 필요한 정보(ex: 웹 페이지)를 반환해 줌.
웹브라우저
: 웹 서버에서 쌍방향 통신하는 HTML 문서나 파일과 연동하고 출력하는 응용 소프트웨어
: 크롬, 사파리, 인터넷 익스플로러
< TCP/IP >
: 오늘날의 인터넷 통신의 대부분은 패킷 통신
IP(인터넷 프로토콜) : 데이터 조각을 최대한 빨리 목적지로 보내는 역할
TCP(전송 제어 프로토콜) : 도착한 조각을 점검하여 줄을 세우고 없는 건 다시 요청
* 프로토콜 : 통신 규약
< JSON >
: 키-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷
: 프로그래밍 언어나 플랫폼에 독립적
< ngrok >
: 로컬에 구축된 개발환경을 외부에서 접근하려면 서버에 올려야 하는데 귀찮음
: localhost:3000을 이용해서 외부에서 접근 가능하도록 만들어줌
< Node.js >
: 확장성 있는 네트워크 애플리케이션 개발에 사용되는 소프트웨어 플랫폼. 자바스크립트를 사용하며 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 별도의 소프트웨어(아파치 등) 없이 동작하는 것이 가능.
< 플랫폼 >
: 여러 가지 기능을 제공해주는 공통 실행 환경
: 하드웨어 플랫폼, 소프트웨어 플랫폼(Java, 웹브라우저, 윈도우), 개발 플랫폼, 서비스 플랫폼(트위터), 비즈니스 플랫폼
< api(Application Programming Interface) >
: 응용 프로그램에서 사용할 수 있도록 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스.
: 특정 작업을 수행할 함수들의 집합
< function과 method >
Function
: 전역, 지역에 상관 없이 독립된 기능을 수행하는 단위.
Method
: 클래스 함수
< 인스턴스 >
: 객체 지향 프로그래밍(OOP)에서 인스턴스(instance)는 해당 클래스의 구조로 컴퓨터 저장공간에서 할당된 실체를 의미한다. 여기서 클래스는 속성과 행위로 구성된 일종의 설계도이다. OOP에서 객체는 클래스와 인스턴스를 포함한 개념이다.
: 계산 문제를 '입력과 출력이 명확히 기술된 것'으로 수학적으로 정의할 때, 계산 문제의 입력이 될 수 있는 것은 무한히 많이 존재하고 그것들 하나하나를 해당 계산 문제의 인스턴스
< Prompt >
: 사용자가 정보를 요청하는 것
'공부 > 챗봇' 카테고리의 다른 글
Microsoft Chatbot Manual (0) | 2021.01.21 |
---|