Juria Interact를 사용하여 브라우저에서 실행되는 UI 응용 프로그램 만들기
5843 단어 Julia
Julia Interact
Julia Interact는 다양한 UI 애플릿을 제공하는 패키지입니다.Jupyter에서 UI를 볼 수 있어 매우 편리합니다.하지만 개발 환경이 Jupyter에서 VS 코드로 바뀌었기 때문에 Jupyter에 의존하기는 좀 어렵다.
인터랙트는 워낙 다양한 환경을 지원하기 때문에 주노라면 잘 어우러질 것 같다.며칠 뒤에 vs 코드도 올 것 같지만 독립된 애플리케이션으로 사용하고 싶어 브라우저에서 직접 볼 수 있으면 좋겠다.그렇게 생각하면Mux
됩니다.
Mux
Mux는 웹 응용 프로그램을 쓰기 위한 웹 서비스 프레임워크입니다.
이것을 사용하려면 다음과 같은 방법을 눌러도 된다.sing Interact, Mux, WebIO
function uitest()
b = button("click me")
text = textarea()
on(b) do val
text[] = "Clicked $val times"
end
Widget(["button" => b, "text" => text])
end
ui = uitest()
WebIO.webio_serve(page("/", req -> ui), 8000)
click me
라고 적힌 버튼과 텍스트 영역을 만들고 UI를 만들어 버튼을 클릭한 후 클릭한 횟수를 텍스트 영역에 기록합니다.webio_서버'에 공개됩니다.그리고 브라우저localhost:8000
에서 보면 됩니다.다음 UI가 표시되어야 합니다.전혀 쓰지 않는 곳req
에서 혼란이 일어났다.애플릿과 서버 간 웹소켓을 통한 통신이 이뤄지기 때문에 통상적인 HTTP 요청 등은 처음으로만 사용된다.
Interact 부품에 대한 의사록
인터랙트의 애플릿은 이해하기 어려운데, 아마도 활동하는 생각이 일반적인 것과 조금 다르기 때문일 것이다.예를 들어 단추가 있으면 단추에서 이벤트(예를 들어pressed,released 등)가 나타나기 때문에 호출을 이벤트로 정의합니다.
Interact의 경우 Observable을 기반으로 on
에서 호출 함수를 정의합니다.상태 변경 시 Observable에서 호출 함수를 호출합니다.애플릿에서 발생하는 이벤트에 대해 무엇을 진행하기보다는 애플릿의 변화가 촉발이다.무슨 일이 일어났는지 반드시 리셋 함수의 매개 변수를 보고 함수 방면에서 판단해야 한다.
Mux용 서버 포트
나는 Mux로 세운 서버의 정지 방법을 잘 모른다.물론 모든 과정을 죽이면 죽지만 vs 코드에서 시작하면 배경 작업이기 때문에 멈출 수 없습니다.이렇게 되면 그 임무는 포트를 계속 잡고 있기 때문에 코드를 수정하고 같은 포트 상태에서 다시 실행하면 포트를 사용할 수 없어 떨어진다.
그러면 코드를 일일이 다시 써야 하기 때문에 디버깅이 매우 번거롭기 때문에 다음 공백 포트의 코드를 순서대로 찾아보세요.import Sockets
function find_any_vacant_port(port, trial_count)
error = nothing
for i in 1:trial_count
try
s = Sockets.listen(Sockets.ip"0.0.0.0", port + i - 1)
close(s)
return port + i - 1
catch e
error = e
continue
end
end
throw(error)
end
다음과 같이 사용합니다.port = find_any_vacant_port(8000,20)
WebIO.webio_serve(page("/", req -> ui), port)
println("localhost:$port")
Reference
이 문제에 관하여(Juria Interact를 사용하여 브라우저에서 실행되는 UI 응용 프로그램 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hidemotoNakada/items/b4b7697c1d1bc8c76c2d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
sing Interact, Mux, WebIO
function uitest()
b = button("click me")
text = textarea()
on(b) do val
text[] = "Clicked $val times"
end
Widget(["button" => b, "text" => text])
end
ui = uitest()
WebIO.webio_serve(page("/", req -> ui), 8000)
import Sockets
function find_any_vacant_port(port, trial_count)
error = nothing
for i in 1:trial_count
try
s = Sockets.listen(Sockets.ip"0.0.0.0", port + i - 1)
close(s)
return port + i - 1
catch e
error = e
continue
end
end
throw(error)
end
port = find_any_vacant_port(8000,20)
WebIO.webio_serve(page("/", req -> ui), port)
println("localhost:$port")
Reference
이 문제에 관하여(Juria Interact를 사용하여 브라우저에서 실행되는 UI 응용 프로그램 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hidemotoNakada/items/b4b7697c1d1bc8c76c2d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)