问题列表 - 第20539页

标准库中python的random.random()范围

python的random.random()是否会返回1.0或者只返回0.9999 ..?

python random

16
推荐指数
5
解决办法
2万
查看次数

Windows Identity Foundation:如何在ASP.net中获取新的安全令牌

我正在编写一个使用Windows Identity Foundation的ASP.net应用程序.我的ASP.net应用程序使用基于声明的身份验证,并将被动重定向到安全令牌服务.这意味着当用户访问应用程序时,它们会自动重定向到安全令牌服务,在那里他们会收到一个安全令牌,用于向应用程序标识它们.

在ASP.net中,安全令牌存储为cookie.

我希望用户可以在我的应用程序中单击某些内容,删除cookie并将其重定向到安全令牌服务以获取新令牌.简而言之,可以轻松注销并以其他用户身份登录.我尝试在代码中删除包含令牌的cookie,但它会以某种方式持续存在.

如何删除令牌以便用户可以再次登录并获取新令牌?

asp.net cookies passive-sts windows-identity wif

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

Ruby gsub不会逃避单引号

我不明白这里发生了什么.我应该如何输入gsub来获取字符串"Yaho \'o"?

>> "Yaho'o".gsub("Y", "\\Y")
=> "\\Yaho'o"
>> "Yaho'o".gsub("'", "\\'")
=> "Yahooo"
Run Code Online (Sandbox Code Playgroud)

ruby escaping gsub

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

JQuery事件模型并防止重复处理程序

我再次想要使用$("divid").load(...)将包含其自己脚本的页面加载到div中.我面临的问题与事件有关.假设我们从父页面和我们绑定的加载页面("猴子")触发("猴子")并且只是做一个警报("猴子绑定").如果多次调用相同的load方法,则会多次调用bind.现在我可以在绑定之前取消绑定它,或者在绑定之前检查处理程序的数量,然后不绑定它以防止这种情况.这两个选项都不是可伸缩的,如果我以后想要绑定到另一个"子页面"(加载到div中的页面)中的触发器.

我理想的做法是检查我即将添加的处理程序是否已经存在,但我仍然想要使用匿名处理程序...(我想的最后一个请求有点问).目前我有一个解决方法,使用预定义/命名方法,然后在绑定之前检查它.

// Found this on StackOverflow
function getFunctionName(fn)
{
 var rgx = /^function\s+([^\(\s]+)/
 var matches = rgx.exec(fn.toString());
 return matches ? matches[1] : "(anonymous)"
}

function HandlerExists(triggerName, handlerName) {
        exists = false;
        if ($(document).data('events') !== undefined) {
            var event = $(document).data('events')[triggerName];
            if(event !== undefined)
            {
                $.each(event, function(i, handler) {
                    alert(handlerName);
                    if (getFunctionName(handler) == handlerName) {
                        exists = true;
                    }
                });
            }
        }
        return exists;
    }
Run Code Online (Sandbox Code Playgroud)

这是一种非常粗暴的方式,我觉得,但似乎工作.我只是在绑定之前执行以下操作:

if (!HandlerExists("test", "theMethod")) {
    $(document).bind("test", theMethod);
}
Run Code Online (Sandbox Code Playgroud)

有没有人有更优雅的解决方案?例如,有没有办法检查特定的脚本是否已加载?所以我可以使用getScript()在第一次加载时从子页面加载js,然后根本不加载它在后续加载(并且只是触发一个触发器,由他预先存在的js处理).

javascript jquery events triggers bind

33
推荐指数
4
解决办法
4万
查看次数

在zsh中,如何对程序的退出状态进行条件限制?

我想做一些像:

if [[ git status &> /dev/null ]]; then
   echo "is a git repo";
else
   echo "is not a git repo";
fi
Run Code Online (Sandbox Code Playgroud)

除了我不知道如何检查退出状态.我该如何解决?

谢谢

git zsh status exit

15
推荐指数
2
解决办法
8991
查看次数

寻找EOutOfResources

题:

有一种简单的方法可以获得正在运行的应用程序中泄漏的资源类型列表吗?IOW通过连接到应用程序?

我知道memproof可以做到这一点,但它减速太多,应用程序甚至不会持续一分钟.大多数任务管理员喜欢可以显示数字,但不能显示类型.

检查本身是灾难性的(停止应用程序进程)不是问题,因为我可以检查taskmgr我是否接近(或者至少我希望)

关于资源泄漏狩猎(所以不是记忆)的任何其他见解也受到欢迎.

背景:

我有一个Delphi 7/2006/2009应用程序(编译所有三个),大约几周后它开始表现得很有趣.但是,仅在其运行的一个地方,在其他几个系统上运行直到电源耗尽.

我试图输入一些调试代码来缩小问题范围.并发现EOutofResources的例外是保存文件.(文件保存每天可以发生数千次).

我试图推断出内存泄漏(使用fastmm),但由于数据流非常高(从千兆工业相机的60MByte/s),我只能排除"蠕动"内存泄漏与fastmm,而不是快速闪存的内存泄漏记忆在它发生的时间.如果出现问题,应用程序会在半分钟内填满内存.

主要嫌疑人是文件句柄,以某种方式留下了一些错误和TMetafiles(流式传输到这些文件).小嫌犯是VST,popupmenu和tframes

更新:

另一个可能的提示:它与D7一起运行了两年,现在问题出在Turbo Explorer(我用于稳定的项目未转换为D2009).

Paul-Jan:由于它每周只发生一次(并且可能在晚上发生),因此信息获取速度很慢.这就是为什么我问这个问题,需要在我周四的时候把东西组合起来.简而言之:不,我不知道100%肯定.我打算带上整个Systemtools集合,看看我是否能找到一些东西(因为它会运行几天).我也有机会看到打开的文件.(也许应该尝试找一些mingw lsof并安排它)

但该应用程序看到很少的GUI动作(它是一个机器视觉检测应用程序),除了屏幕刷新+/- 15/s,这是tbitmap stretchdraw + tmetafile,但我得到这个错误保存到磁盘(TFileStream)句柄可能真的累.然而,在同一个流中,TMetafile也可以保存,后来的应用程序不再拥有它,它们可以运行数月.

-------------------更新

我搜索,搜索和搜索,并设法在体外重现问题两三次.当memusage为+/- 256MB(系统有2GB),用户对象200,gdi对象500,而不是一个比预期更开放的文件时,会出现问题.

这不是特别的.我注意到我泄漏了少量的手柄,可能是由于重新渲染帧(VCL中的某些东西似乎泄漏了HPalette的),但我怀疑核心原因是另一个问题.我重用了TMetafile,然后将它清除.我认为清除元文件并不是真的(总是?)调整资源大小,最终整个tmetafile池中的每个元文件都是最大的,并且有20-40 + tmetafiles(每个可以是几个100k),这将会打到桌面堆限制.

这是理论,但我会尝试通过将客户端的桌面限制设置为10MB来验证这一点,但是如果这有任何改变,我将在几周前确认.这个理论也证实了为什么这台机器是特殊的(这台机器平均可能有一个稍微大一点的元文件).偶尔在池中释放和重新创建tmeta文件也可能有所帮助.

幸运的是,所有这些问题(tmetafile和reparenting)都已在新一代应用程序中设计出来.

由于特殊情况(以及我的测试窗口非常有限),这将是一段时间,但我现在决定接受桌面堆作为一个例子(虽然GDILeaks的东西也有些用处).

另一件事是审计揭示了线程中的GDI类型用法(尽管只保存tmetafiles(未使用或以其他方式连接)到流.

-------------更新2.

增加桌面限制似乎只会略微增加问题发生的时间.

不幸的是,我将无法进一步跟进,因为机器已更新为没有问题的框架的更新版本.

总之,我只能说明从旧框架到新框架的三个核心修改:

  • 我不再通过重新渲染帧来改变屏幕.我现在使用隐藏和显示的表单.我改变了这一点,因为我也有非常罕见的崩溃或异常(可以点击掉).崩溃是在操作GUI的同时,而不是像主要问题那样自发地发生
  • 崩溃发生的例程涉及TMetafile.TMetafile已经设计出来,取而代之的是更简单的自制格式.(基本上是带有Opengl顶点的数组)
  • 使用tmetafile覆盖拉伸的tbitmap不再发生绘图,而是使用OpenGL.

当然它也可能是其他东西,在重写上述部分时发生了变化,修复了一些非常讨厌的细节错误.它必须是一个非常糟糕的,因为我尽可能多地分析了上述系统.

在一些私人邮件讨论之后更新了nov 2012:回想起来,下一步将是为元文件对象添加一个计数器,并且每次x*1000使用左右只是重新实例化它们,并查看是否有任何改变.如果您遇到类似问题,请尝试查看是否可以在某种程度上定期销毁和重新初始化动态分配的长生存资源.

delphi gdi resource-leak eoutofresources

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

状态机实现

我有一个如下所述的状态机.

我们可以从两种起始状态中的一种开始,但我们必须触及握手的所有4种状态.从那里,我们可以传输数据的有效载荷或接收数据的有效载荷.然后,我们回到原来的起始状态.

握手:

- > StartingState1 - > FinalState1 - > StartingState2 - > FinalState2

- > StartingState2 - > FinalState2 - > StartingState1 - > FinalState1

有效负载转移:

- > SendPayload - > SendEnd - > StartingState?

- > ReceivePayload - > ReceiveEnd - > StartingState?

下面的代码代表了我当前的架构.不幸的是,在每个过程结束时,我没有从州内获得足够的信息来了解我应该触及的下一个状态.

有没有人对如何根据我的要求改进这种架构有任何建议?

谢谢,PaulH

class MyMachine;
class Payload;

class IState
{
    MyMachine* context_;

    IState( MyMachine* context ) : context_( context) {};

    virtual void Consume( byte data );

    void ChangeState( IState* state )
    {
        context_->SetState( state …
Run Code Online (Sandbox Code Playgroud)

c++ state-machine

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

Java数据类型问题

我正在使用java中的矩阵.( 另一个故事 :) )

我想读取CSV文件并将其存储在变量中.我将操纵值然后再将其存储在CSV文件中.我使用STRING作为数据类型.但是如果CSV文件有500列.它会杀死我的程序速度:(.我认为这不是很好的数据类型.我可以使用哪种数据类型来临时存储LONG TEXT?

如果我的问题不明确,请提出问题.我会解释.谢谢

PS:我正在读一行并将其存储在这样的变量中

String str;

str += read line by line from CSV;
Run Code Online (Sandbox Code Playgroud)

这是循环

String reduceM="";

 for(int kk=0;kk<W2.getRowDimension();kk++){
     for(int jj=0;jj<W2.getColumnDimension();jj++){
         reduceM += Double.toString(reduceMatrix[kk][jj]);
     }
     System.out.println("\r\n");
 }
Run Code Online (Sandbox Code Playgroud)

java types

0
推荐指数
1
解决办法
381
查看次数

NSDateFormatter和日期转换无效

我正在为iPhone开发一个应用程序,我需要将日期从XML提要转换为HH:MM格式.

我有以下方法不起作用,我不知道我做错了什么.

例如,timeToConvert字符串将为:" Mon,01 Feb 2010 21:55:00 +0100 "(不带引号)

当区域设置为US(我回到正确的日期)时,该方法有效,但是当我将区域(在Settings-> General-> International中)更改为西班牙或其他区域时(此时我得到的回报为零) ).

- (id)timeConvertToHHMM:(NSString *)timeToConvert {

    NSString *newPubDate = timeToConvert;
    //Let's remove any rubbish from the code
    newPubDate = [newPubDate stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
    //create formatter and format to convert the XML string to an NSDate
    NSDateFormatter *originalDateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [originalDateFormatter setDateFormat:@"EEE, d MMM yyyy H:mm:ss z"];
    //run the string through the formatter
    NSDate *formattedDate = [[NSDate alloc] init];
    formattedDate = [originalDateFormatter dateFromString:newPubDate];
    //Let's now create another formatter …
Run Code Online (Sandbox Code Playgroud)

cocoa cocoa-touch objective-c ios-simulator

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

已创建Android跟踪文件但零字节长

我试图按照此页面上的说明创建跟踪文件.我可以在DDMS中的文件资源管理器中看到该文件并将其拉到我的PC上,但它的长度为零字节.

有什么建议我可能做错了吗?

debugging android trace

7
推荐指数
1
解决办法
2679
查看次数