相关疑难解决方法(0)

如果REST应用程序应该是无状态的,那么如何管理会话?

我需要一些澄清.我一直在阅读有关REST和构建RESTful应用程序的内容.根据维基百科,REST本身被定义为具象状态转移.因此,我不理解每个人都在喷涌的所有这种无国籍的gobbledeygook.

来自维基百科:

在任何特定时间,客户端可以在应用程序状态之间转换或"静止".处于休眠状态的客户端能够与其用户进行交互,但不会创建任何负载,并且不会在服务器集或网络上消耗每个客户端存储.

他们只是说不使用会话/应用程序级数据存储???

我知道REST的一个目标是使URI访问一致且可用,例如,而不是在帖子中隐藏分页请求,使请求的页码成为GET URI的一部分.我感觉合理.但似乎只是过分夸大说每个客户端数据(会话数据)都不应该存储在服务器端.

如果我有一个消息队列,并且我的用户想要阅读消息,但是当他阅读它们时,想要阻止某些发送者在其会话期间发出的消息,该怎么办?将它存储在服务器端的某个位置并让服务器只发送未被用户阻止的消息(或消息ID)是不是有意义的?

每次请求新邮件列表时,是否真的必须发送整个邮件发件人列表?与我相关的消息列表首先不会/不应该是公开可用的资源.

再次,只是想了解这一点.有人澄清一下.


更新:

我发现了一个堆栈溢出问题,其答案并不能完全解决这个问题: 如何在REST管理状态,该状态表明重要的客户端状态应该在每次请求时都被转移.... Ugg ..似乎很多开销......这是对的吗?

rest session-state

506
推荐指数
10
解决办法
26万
查看次数

无状态编程的优点?

我最近一直在学习函数式编程(特别是Haskell,但我也经历过关于Lisp和Erlang的教程).虽然我发现这些概念非常具有启发性,但我仍然没有看到"无副作用"概念的实际方面.它有什么实际优势?我试图在功能思维中思考,但是有些情况看起来过于复杂而没有能够以简单的方式保存状态(我不认为Haskell的monad'容易').

是否值得继续深入学习Haskell(或其他纯函数式语言)?功能性或无状态编程实际上是否比程序性更高效?我以后可能继续使用Haskell或其他功能语言,还是应该仅仅为了理解而学习它?

我更关心性能而不是生产力.所以我主要问的是我是否会在函数式语言中比在程序/面向对象/其他方面更高效.

state functional-programming immutability

127
推荐指数
8
解决办法
5万
查看次数

无状态系统和有状态系统之间有什么区别,它们如何影响并行性?

解释无状态系统和有状态系统之间的差异,以及状态对并行性的影响.

parallel-processing

64
推荐指数
2
解决办法
12万
查看次数

Flutter中有状态和无状态小部件之间的关系是什么?

有状态窗口小部件定义为在其生命周期内更改其状态的任何窗口小部件.但是StatelessWidget,拥有一个StatefulWidget孩子是一个非常普遍的做法.StatelessWidget如果它有StatefulWidget一个孩子,不会成为有状态的吗?

我尝试将文档作为代码的一部分进行查看StatelessWidget,但无法弄清楚一个StatelessWidget可以Statefulwidget作为其子代的方式并仍然存在StatelessWidget.

Flutter中有状态和无状态小部件之间的关系和区别是什么?

dart flutter statefulwidget statelesswidget

58
推荐指数
11
解决办法
2万
查看次数

将匿名/动态函数设置为菜单

我想在 Google Sheets 插件中为动态菜单设置动态功能。我正在使用以下代码:

function onOpen(e) {
  var menu = SpreadsheetApp.getUi().createAddonMenu();
  
  for (var i = 0; i < array.length; i++) {
        const element = array[i];
        var functionName = "_" + element.name;
        var args = element.args;
        
        this[functionName] = dynamicItem(args); //didn't work
        //this[functionName] = function () {myopen(args);} //didn't work
        //eval("function " + functionName + "() { myopen('" + args + "') }"); //didn't work
        menu.addItem(element.name, functionName);
      }
   menu.addToUi();
 }

 function dynamicItem(args) {
    return function () {
       myopen(args);
    };
 }
Run Code Online (Sandbox Code Playgroud)

当我单击菜单项时,出现以下异常:

“未找到脚本函数:函数名称 …

javascript add-on menuitem google-sheets google-apps-script

3
推荐指数
1
解决办法
1457
查看次数

什么是有用的 scikit-learn FunctionTransformer?

从我准备好的文档中读到:

FunctionTransformer 将其 X(和可选的 y)参数转发给用户定义的函数或函数对象,并返回该函数的结果。这对于无状态转换非常有用,例如获取频率对数、进行自定义缩放等。

但是,我不明白这个功能有什么用处。有人能解释一下这个功能的目的吗?

machine-learning python-3.x scikit-learn

2
推荐指数
1
解决办法
4958
查看次数