frp

Is the 'Signal' representation of Functional Reactive Programming correct?

Deadly 提交于 2019-12-02 22:47:25
I have been researching FRP and found a bunch of different implementations. One model I have seen is one I will refer to as the 'Signal' representation. This essential combines Events and Behaviours into one entity. Firstly, a Signal is an object thats value is a Behaviour. Secondly, a Signal has an Event 'stream' that can be seen and operated on as a standard data structure (you can use 'each', 'map' and 'filter' etc on the Signal to define how Events are reacted to). For example I can do this (where 'time' is a Signal representation of time): time.each { t => print(t) } // every time there

In functional reactive programming, how do you share state between two parts of the application?

笑着哭i 提交于 2019-12-02 19:39:58
I have some application architecture where user inputs flow to some automata, which runs in the context of the event stream and directs the user to different part of the application. Each part of the application may run some action based on user inputs. However, two parts of the application is sharing some state and are, conceptually, reading and writing to the same state. The caveat is that the two "threads" are not running at the same time, one of them is "paused" while the other one "yields" outputs. What is the canonical way to describe this state sharing computation, without resorting to

Does push-pull FRP help when implementing games?

女生的网名这么多〃 提交于 2019-12-02 18:57:56
I've been comparing pull-only FRP (ie netwire) with push-pull FRP (ie reactive-bannana) in the implementation of games. Are there advantages to one over the other? Things I've notices are: Push events make it easy to have events for mouse clicks / key presses from GLFW or GLUT Arrowized FRP that netwire uses has much less IO floating around, which is always better. It looks like having pull-only responses to things like mouse movement could cause time leaks. What else have I missed? Edit, to make this less opinion-based: The main goal is to have something that is as expressive/concise as

frp内网穿透

爷,独闯天下 提交于 2019-12-02 10:53:34
title: frp内网穿透 categories: linux tags: linux abbrlink: 3228035043 date: 2019-10-24 21:45:39 原文地址 安装 下载最新版的frp github安装地址 内网配置(通俗讲本地) 修改frp.ini文件 [ common ] server_addr = 127.0.0.1 //服务器地址 server_port = 7000 //服务器端监听frps端口 [ ssh ] type = tcp local_ip = 127.0.0.1 //本地ip local_port = 22 //本地端口 remote_port = 6000 // 转发端口 [ common ] [ web ] type = http local_port = 8081 custom_domains = www.yundingshuyuan.com ~ 启动命令 ./frpc -c ./ frpc.ini 公网配置(通俗讲服务端) 修改frps.ini # frps.ini [ common ] bind_port = 7000 //内网frp监听地址 vhost_http_port = 8080 // 服务端访问地址 启动命令 ./frps -c ./ frps.ini 来源: https://blog.csdn.net

使用Gitlab/Bitbucket等CI搭建自己的临时代理

左心房为你撑大大i 提交于 2019-12-01 21:56:44
这篇文章只是从技术层面探讨可行性,不接受一切反驳! 使用条件 一个有外网的主机(frp需要) gitlab或bitbucket账号 frp服务端搭建 具体可以查看 frp github主页 下载对应你操作系统版本的包(我的docker打包的客户端是0.17.0版本,想使用新版的可以自行打包) 服务端配置如下(frps.ini): 123 [common]bind_port = 7000token = 123456 解压下载的压缩包,启动服务端: ./frps -c frps.ini 注意开通7000及需要frp客户端映射端口(这里用到了6200) frp客户端 Gitlab参见 大专栏 使用Gitlab/Bitbucket等CI搭建自己的临时代理 rer">https://gitlab.com/0312birdzhang/frp_proxy 客户端配置如下(frpc.ini): 123456789 [common]server_addr = 12.13.14.15server_port = 7000token = 123456[socks_proxy_6200]type = tcpplugin = socks5remote_port = 6200 fork代码后,需要修改 server_addr 、 server_port 、 token 、 remote_port

使用Gitlab/Bitbucket等CI搭建自己的临时代理

最后都变了- 提交于 2019-12-01 18:43:57
这篇文章只是从技术层面探讨可行性,不接受一切反驳! 使用条件 一个有外网的主机(frp需要) gitlab或bitbucket账号 frp服务端搭建 具体可以查看 frp github主页 下载对应你操作系统版本的包(我的docker打包的客户端是0.17.0版本,想使用新版的可以自行打包) 服务端配置如下(frps.ini): 123 [common]bind_port = 7000token = 123456 解压下载的压缩包,启动服务端: ./frps -c frps.ini 注意开通7000及需要frp客户端映射端口(这里用到了6200) frp客户端 Gitlab参见 大专栏 使用Gitlab/Bitbucket等CI搭建自己的临时代理 rer">https://gitlab.com/0312birdzhang/frp_proxy 客户端配置如下(frpc.ini): 123456789 [common]server_addr = 12.13.14.15server_port = 7000token = 123456[socks_proxy_6200]type = tcpplugin = socks5remote_port = 6200 fork代码后,需要修改 server_addr 、 server_port 、 token 、 remote_port

frp基础操作

大憨熊 提交于 2019-12-01 07:26:31
[common] privilege_token = **** bind_port = 7000 dashboard_user = 444444 dashboard_pwd = ***** dashboard_port = 7500 ================================= [common] privilege_token = **** server_addr = ***.***.***.*** server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 7001 来源: https://www.cnblogs.com/nocanstillbb/p/11668782.html

“Behavior now” in FRP

徘徊边缘 提交于 2019-12-01 03:36:44
In a previous SO question ( Is it possible?: Behavior t [Behavior t a] -> Behavior t [a] ) we were analyzing the existence of a Behavior join (to use reactive-banana terms). Behavior t (Behavior t a) -> Behavior t a Implemented in the semantic model as follows type Behavior t a = t -> a behaviorNow :: Behavior t (Behavior t a) -> Behavior t a behaviorNow f t = f t t While implementing this directly would be unfortunate since we could produce a Behavior Monad using const and behaviorNow , if and how does behaviorNow violate the semantics of FRP? I'd love to hear answers using the terminology of

Dealing with the current time in reactive-banana

邮差的信 提交于 2019-12-01 02:38:44
问题 How do you deal with the current time in reactive-banana? Ideally I'd like to have a Behaviour which I can "poll" to get the current time. However, polling Behaviour s with Event s (via <@ etc.) gives me the value of the Behaviour from the previous Event , not the current value. (I realise this is to avoid cyclic definitions which is indeed useful.) I found fromPoll which I thought would help. Behaviour s that are observed from fromPoll cannot depend on themselves, thus no cycles can be

一个旧手机的威力

家住魔仙堡 提交于 2019-12-01 00:20:10
这里的手机指安卓机。 大家都知道安卓机用的是Linux内核,所以理论上Linux可做的事情,手机都能做,下面列举一些有意思的事情。 必备技能 : 会Linux。 安装Linux发行版 其实这个比较简单,只需装一个App, 但是有些技巧可以讲讲。 所需材料 安卓手机 必须 拥有公网IP的机器 非必须 无限流量卡 非必须 root权限 必须 Root root手机根据手机信号的不同,会有不同的办法,所以这里就不细讲,请自行百度,或google. 安装linux deploy 通过某个应用市场下载并安装 在线安装 在线安装是比较扯淡的,因为在国内实在是比较慢的,原因你懂的。 离线安装 通过以下地址可下载自己所需的镜像 http://sourceforge.net/projects/linuxonandroid/files/ 用户名/密码:android/changeme 推荐安装ssh客户端: JuiceSSH 最好的安卓ssh客户端,没有之一。 个人网站 其实这个这个章节有点泛指的意思,任何你觉得需要在公网上能做的事情,都可以在内网完成,因为在内网里面你可能有旧电脑,旧服务器,旧手机。一切被限制在内网的资源(有内存,cpu。) 所需材料 安卓手机 必须 拥有公网IP的机器 非必须 无限流量卡 非必须 root权限 非必须 系统环境 这里的环境你可以用上面的Linux