小编Ton*_*Lee的帖子

避免堆栈溢出(使用F#无限序列序列)

我有这个"学习代码",我为f#中的morris seq编写,它遇到堆栈溢出,我不知道如何避免."morris"返回无限序列的"看见和说出"序列(即{{1},{1,1},{2,1},{1,2,1,1},{1,1,1 ,2,2,1},{3,1,2,2,1,1},...}).

    let printList l =
        Seq.iter (fun n -> printf "%i" n) l
        printfn ""

    let rec morris s = 
        let next str = seq {
            let cnt = ref 1  // Stack overflow is below when enumerating
            for cur in [|0|] |> Seq.append str |> Seq.windowed 2 do
                if cur.[0] <> cur.[1] then
                    yield!( [!cnt ; cur.[0]] )
                    cnt := 0
                incr cnt
        }
        seq {
        yield s
        yield! morris (next s) // tail recursion, no stack …
Run Code Online (Sandbox Code Playgroud)

stack-overflow f# tail-recursion sequences

29
推荐指数
2
解决办法
2975
查看次数

使用SPNEGO/Kerberos和委派进行Tomcat身份验证

是否有一个apache模块实现了Tomcat使用的Kerberos身份验证,并且还支持Kerberos委派?

我已经看过了mod_spnego,它抛弃了它创建的SSPI上下文,只保留了主体名称.相反,我正在寻找一个模块,允许委托发送给Tomcat的票证 - 也就是说,将服务票据发送给身份验证并使用服务器端代表用户访问另一个服务.

编辑:为了澄清,我需要使用GSS/SSPI上下文在Win32下模拟,因此当旧代码连接到另一台服务器时,将使用委派的凭据.

apache tomcat kerberos spnego

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

sizeof C中的整数表达式

用Xcode编译C(gnu11)给我的半惊喜

#include <stdio.h>
int main(int argc,char**argv)
{
    short s = 1;
    printf( "%zd %zd %zd\n", sizeof(s), sizeof(s*s), sizeof(s?s:s));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

产生输出

2 4 4
Run Code Online (Sandbox Code Playgroud)

我在期待

2 2 2
Run Code Online (Sandbox Code Playgroud)

或者可能

2 4 2
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

c expression sizeof

3
推荐指数
2
解决办法
190
查看次数

Javascript中的Cookie(登录页面设计)

以前我发布了一个程序,并询问如何在Javascript中处理cookie.我发布了一个代码,你可以在我的另一个问题中找到它.许多人给出了很好的答案,我也试过他们的解决方案.但由于我是这个HTML的新手,javascript可能是我不知道如何找到错误并调试它.

那么任何人都可以为这个问题发布他们的解决方案.我希望创建一个网页,在加载时应检查cookie.如果cookie早于20分钟,则必须进入登录页面(询问用户名和密码).否则不需要登录,它应该直接进入一个页面(正在设计中).

因此,如果任何人已经拥有类似或确切的代码(保持cookie的时间),请发布它.

关心Chaithra

javascript authentication cookies

-1
推荐指数
1
解决办法
3864
查看次数