我有兴趣使用REST 的HATEOAS原则来减少SPA应用程序中的业务逻辑.在React特定的背景下,我想知道是否存在使这种做法变得不切实际的挑战,如果没有,那么有什么好的策略可以遵循?
使用HATEOAS从UI中删除业务逻辑的概念示例:
我只发现一个链接表明React/Flux与HATEOAS策略不兼容,并且其他地方没有有意义的讨论.在React/Flux应用程序中它真的不可行吗?SO帖子没有得到足够的重视.有没有人有最喜欢或推荐的方法来取得成功(有或没有Flux或Redux)?
有人给出了一个在Angular上下文中利用HATEOAS的相当详细的例子.我正在为React寻找类似的东西.
就个人而言,我正在描绘rel超媒体链接中的标签,控制渲染哪些JSX组件(条件JSX).对于真实世界的React应用来说,这是天真的吗?也许有条件地渲染的React组件太粗糙,无法以这种方式使用?
Flink 仪表板很棒,显示了正在运行的作业的大量详细信息。然而,我注意到的一件事是,作业的源和接收器将分别显示接收的记录和发送的记录0。
现在我知道他们仍然在工作之外接收和发送记录,但这0往往会让人们感到非常困惑。选择这样是有原因的吗?或者有什么方法可以让它不发生0?
特别是对于接收器,如果序列化模式无法序列化消息(并且捕获并记录错误而不是导致作业失败),您将无法看到接收器实际输出的数字来反映这一点。你总是看到0并假设一切都成功了。
我正在做一个项目,在该项目中我制作了一个flink数据流程序,并将代码的第一次运行交给另一个团队,以便他们查看。他们都是gradle的大用户,问我在将来的flink项目中使用gradle代替maven是否有任何不利之处或好处。
现在我知道有很多关于Maven和Gradle比较的文章,但是我的意思是专门针对Apache Flink。我发现有两个git hub仓库,乍一看就像他们在flink项目上实现了gradle一样,仅此而已。
而且,如果您能说出您使用flink的经验,那也将是有益的。
所以我想知道的是:
1.)是否有类似“如果flink项目试图切换到gradle,x,y和z根本无法工作”的内容?
2)将flink项目切换到gradle会比在maven和gradle之间切换任何其他Java项目(应该在Java中)更麻烦吗?
3.)gradle的repo是否具有与maven的repo相同的flink依赖项?
4.)您建议进行开关还是不进行开关?
感谢您提前提供的所有帮助!
我正在我的 Windows 机器上再次安装 minikube(几年前安装,但一年多没有使用过)并且最近安装的 kubectl 和 minikube 进行得很顺利。直到我尝试使用以下命令启动 minikube:
minikube start --vm-driver=virtualbox
Run Code Online (Sandbox Code Playgroud)
这给出了错误:
C:\>minikube start --vm-driver=virtualbox
* minikube v1.6.2 on Microsoft Windows 10 Pro 10.0.18362 Build 18362
* Selecting 'virtualbox' driver from user configuration (alternates: [])
! Specified Kubernetes version 1.10.0 is less than the oldest supported version: v1.11.10
X Sorry, Kubernetes 1.10.0 is not supported by this release of minikube
Run Code Online (Sandbox Code Playgroud)
这是没有意义的,因为我kubectl version --client返回了 v1.17.0 的版本:
C:\>kubectl version --client
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", …
我的目标是通过群集GUI中的“程序参数”字段将args传递给Flink作业的Main()函数。
并以某种方式在Main()函数中访问它们(最好是通过键名):
public static void main(String[] args) throws Exception {
ParameterTool parameter = ParameterTool.fromArgs(args);
CustomProps props = new CustomProps (DEFAULT_PROPERTIES_FILE);
String kafkaAutoOffsetReset = props.getKafkaAutoOffsetReset();
String cassandraClusterUrl = props.getCassandraClusterUrl();
if (args.length == 1 && args[0] != null) {
cassandraClusterUrl = parameter.get("cassandraClusterUrl");
kafkaAutoOffsetReset = parameter.get("kafkaOffset");
}
//Other code...
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过“ ParameterTool”,但没有任何帮助,如果尝试以下操作:
kafkaAutoOffsetReset = args[0];
Run Code Online (Sandbox Code Playgroud)
仅当我在“程序参数”字段中仅输入一个单词时,它才有效。所以,如果我把:
blah
Run Code Online (Sandbox Code Playgroud)
它说它设置为“等等”,但是如果我尝试以下任何一种方法:
-kafkaOffset blah
--kafkaOffset blah
-kafkaOffset:blah
-kafkaOffset=blah
Run Code Online (Sandbox Code Playgroud)
我什么都没有。我知道在CLI中,如何将args传递给jar的示例是:
--input file:///home/user/hamlet.txt --output file:///home/user/wordcount_out
Run Code Online (Sandbox Code Playgroud)
但是,似乎缺少使用GUI的另一种方式,但是我未能找到与此相关的文档。
TL; DR
通过Flink群集GUI中的“程序参数”字段提交多个arg的正确方法是什么,以及在Main()函数中访问它们的正确方法是什么?
感谢您提前提供的所有帮助!