홉(소프트웨어)

Hop (software)
Hop logo.svg
패러다임멀티플레이어
설계자마누엘 세라노
처음 등장한2006
안정된 릴리스
2.4.2 / 2013년 9월 23일, 8년 전(2013-09-23)
타이핑 분야강하고 역동적인
면허증.GPL 2 이상
웹 사이트홉.inria.프루 Edit this at Wikidata
영향을 받다
스킴[1]
Institut national de recherche en informatique et en automatique
형성1967
목적조사.
서비스 지역
프랑스.

HopWeb 2.0용 Manuel Serrano의 리스프와 같은 프로그래밍 언어이며, 이 언어를 구현하는 웹 브로커(서버 및 프록시)의 이름이기도 합니다.그것Bigloo Scheme로 쓰여있다.그것은 INRIA가 자금을 지원하는 프로젝트입니다.

언어 설계

홉은 계층화된 언어입니다.즉, 1개의 프로그램파일에 서버와 클라이언트의 양쪽 명령이 포함되어 있습니다.서버는 파일 또는 기타 리소스에 액세스하기 위해 시스템 권한이 필요한 CPU 요구 계산 및 작업을 수행합니다.클라이언트(브라우저, 휴대전화 등 다수 존재할 수 있음)는 그래픽 사용자 인터페이스의 프로그래밍과 관련된 액션을 실행하는 데 전념하고 있습니다.

(정의 서비스 (서버 날짜)                  ;1   (현재의))                              ;2  (<HTML>                                        ;4   (<버튼>                                    ;5     : 클릭 ~(홉이 있는 ($server-date)         ;6                   (람다 (h) (경계. h)))     ;7       "서버 시간"))                          ;8 

위의 코드 스니펫은 몇 가지 개념을 나타내고 있습니다.

  • 코드 8행은 완전한 프로그램을 정의합니다.회선 1과 2는 서버상의 서비스 정의를 나타냅니다.4행부터 8행까지는 Javascript 기능이 있는 HTML 페이지가 나타납니다.클라이언트(브라우저)에 "Server time"이라는 라벨이 붙은 버튼을 표시하고 사용자가 버튼을 클릭할 때 서버에 요청을 보내도록 지시합니다.홉은 클라이언트와 서버 간의 통신에 필요한 모든 명령을 자동으로 생성합니다.
  • 홉은 스킴에 근거하고 있습니다.따라서 Hop 프로그램은 기본적으로 괄호로 시작하고 끝나는 단어 및/또는 목록 목록입니다.예를 들어 "(HTML 콘텐츠) 등입니다."HTML"은 함수 이름이고 "content"는 함수 매개 변수입니다.
  • 홉의 함수 이름에는 문자와 숫자 이외의 문자를 포함할 수 있습니다.예: "<"HTML >" 는 유효한 이름입니다.따라서 Hop의 구문은 HTML과 매우 유사합니다(설계상).Hop 표현식(<HTML> content)은 HTML 표현식 "<"과 유사합니다.HTML > 컨텐츠</HTML >.
  • HTML 매개 변수는 콜론으로 시작합니다(예: ": onclick").
  • "$server-date"의 $ 문자는 서버가 HTML을 클라이언트에 보내기 전에 변수 이름 "server-date"를 변수 값으로 대체해야 함을 나타냅니다.이것은 ASP 및 JSP의 동작 방식과 매우 유사합니다.
  • ": onclick ~(...)"의 ~ 문자는 클라이언트가 괄호 사이에 있는 것을 처리해야 함을 나타냅니다.
  • "(with-hop (...) (...)"의 "with-hop" 함수는 서버에 작업을 위임하고 두 개의 파라미터를 취하는 특수 함수입니다.첫 번째 파라미터에는 클라이언트가 서버에 비동기적으로 송신할 필요가 있는 요구가 포함됩니다.두 번째 파라미터에는 서버에서 응답이 도착했을 때 클라이언트가 호출해야 하는 콜백함수가 포함됩니다.(h) (h) (h) (h) (h))는 단일 입력 파라미터 (h)를 취하는 어나니머스 함수이며, 함수가 호출되었을 때의 서버 응답을 포함합니다."(h)"는 함수 본체입니다.

문제들

Hop은 최근 도입되어 현재 많은 약점을 보이고 있습니다.

  • 보안이 취약하다.그것은 활발한[2] 연구 분야이다.
  • 현재 네트워크 장애는 수동으로 코딩된 타임아웃 및 예외 루틴을 통해 처리되고 있습니다.이 접근법은 노동 집약적이고 비교적 신뢰성이 [2]낮습니다.

레퍼런스

외부 링크