小编Ste*_*ins的帖子

为什么Perl的CGI :: cookie能够在IE中设置cookie,而不是Firefox?

我有一些Perl CGI代码,我试图在SourceForge帐户的项目Web空间中运行.在与IE交谈时,代码能够很好地设置浏览器cookie,但在与Firefox交谈时没有设置cookie .当我在"localhost"上使用Apache进行测试时,两个浏览器都能正常工作.它只在Firefox疯狂的远程SourceForge URL上.

搜索已经发现了几十个近乎重复的问题,但通常人们会遇到完全相反的问题!(Firefox很好,IE有问题)

这是我要求设置cookie的实用程序子:

sub setCookie {
    my $name = shift;
    my $value = shift;
    my $expires = shift;
    my $path = shift;
    my $domain = shift;
    if( !defined( $expires ) ) {
        $expires = '+4h';
    }
    if( !defined( $path ) ) {
        $path = '/';
    }
    if( !defined( $domain ) ) {
        $domain = 'steveperkins.sourceforge.net';
    }
    my $cookie = CGI::cookie(
        -name    => $name,
        -value   => $value,
        -domain   => $domain,
        -expies => $expires,
        -path …
Run Code Online (Sandbox Code Playgroud)

cookies perl cgi mason

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

在 JavaScript 中检测视频的编解码器

我正在开发基于 Electron(即 Node.js 和 Chrome 浏览器外壳塞在一起)的桌面应用程序,其功能之一将包括从本地文件系统加载任意视频文件。

我面临的一个挑战是我不知道任意视频文件使用的编解码器。我可以按文件扩展名(即.mp4.webm等)过滤...但 MP4 文件可以使用许多编解码器,这些编解码器从文件扩展名中并不明显。我真的不知道,一个视频文件不受支持,直到HTML5视频播放器出现空白(我甚至不知道如何以编程方式检测时,发生)。

我已经在使用loadedmetadata事件处理程序来检测视频的尺寸,但它似乎没有公开有关底层编解码器的信息。

有没有办法解决?我正在寻找可以在本机“主”进程中识别编解码器的 Node.js 包,而不是让 Chrome“渲染器”进程尝试在浏览器级别检测它。然而,我看到的所有 Node.js 视频包都依赖于ffmpeg可执行文件,我无法轻松地将其与我的 Electron 应用程序捆绑在一起。

有一百万个代码示例用于检测您的浏览器支持哪些编解码。但这来自假设您正在处理已知的视频文件和未知的浏览器。反过来呢……当你有一个已知的浏览器,但一个未知的视频文件时?

html javascript video node.js electron

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

Eclipse与CVS存储库同步时是否可以忽略.cvsignore文件?

我正在使用团队环境,在不同的开发人员之间使用IDE的异构混合.有些使用Eclipse,有些是NetBeans,有些是IntelliJ等.代码项目都是围绕Maven构建的...所以没有人关心你使用哪个IDE,只要它可以和Maven一起使用.

为此,我们不应该将任何特定于IDE的文件(例如".project",".classpath")提交到CVS存储库.我认为,这第二部分可能是矫枉过正...但我们不应该提交我们的"的.cvsignore"文件,其中包含了我们每一个人的个人IDE特定的文件过滤器.

每次与存储库同步时,我的".cvsignore"文件都会有点麻烦.有没有办法可以阻止Eclipse在"团队同步"透视图中显示这些文件?

java eclipse cvs maven-2

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

Spring Batch在运行步骤之前解析步骤的资源

我有一个Spring Batch作业,包含两个步骤(到目前为止).

第一步的工作是在微进程中实现.它需要处理需要处理的逗号分隔值(CSV)文件(使用大量业务逻辑来确定它们是哪些),并将它们复制到"drop zone"目录中.

所述第二步骤被配置为面向块处理,与读取器和写入.读者是MultiResourceItemReader...查找放置区目录中的所有CSV文件,并将每个文件委托给"真实"读取器(解析CSV).

我的问题是,即使第一步成功,第二步也无法在放置区目录中找到任何CSV文件.有趣的是,如果我立即再次运行批处理作业...那么第二步确实找到并处理文件!

我在推测,但看起来Spring Batch在开始时解决了第二步的通配符模式......而不是等到第二步运行的时候.即使第一步复制了它应该的文件,第二步已经确定那里没有文件.

我是Spring Batch的新手,还在学习我的方法.我在这里缺少哪些具有背景或范围的明显事物?我的工作定义的相关部分如下.谢谢!

...
<!-- JOB DEFINITION -->
<job id="notificationJob" xmlns="http://www.springframework.org/schema/batch">
    <step id="copyFilesToLocal">
        <tasklet transaction-manager="jobRepositoryTransactionManager" ref="getFilesTasklet" />
        <next on="COMPLETED" to="processFiles"/>
    </step>
    <step id="processFiles">
        <tasklet transaction-manager="ecommerceTransactionManager">
            <chunk reader="multiFileReader" writer="notificationEmailWriter" commit-interval="1" />
        </tasklet>
    </step>
</job>

<!-- FIRST STEP -->
<bean id="getFilesTasklet" class="com.mypackage.FileMovingTasklet">
    <property name="localDao">
        <bean class="com.mypackage.BatchLocalDao">
            <property name="dataSource" ref="jobRepositoryDataSource" />
        </bean>
    </property>
    <property name="sourceDirectory">
        <bean id="sourceDirectory" class="org.springframework.core.io.FileSystemResource">
            <constructor-arg value="/mnt/source-directory" />
        </bean>
    </property>
    <property name="destinationDirectory">
        <bean id="destinationDirectory" …
Run Code Online (Sandbox Code Playgroud)

java spring batch-processing spring-batch

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

使用 Netty,您如何存储每个套接字连接的状态?

我正在使用 Netty 编写一个简单的服务器应用程序。它将接受长时间运行的套接字连接(即 telnet/ssh)...接收基于字符串的命令并发送基于字符串的响应。

我需要跟踪一些会话状态,关于该套接字连接客户端上的特定实体。我不清楚如何解决这个问题。

通道处理程序通过ChannelHandlerContext传递给其channelRead(...)方法的对象可以访问“属性”。然而,这似乎是为了在通道处理程序级别设置状态,而不是每个套接字连接级别。JavadocsAttributeMap明确指出:“请注意,[原文如此] 不可能有多个具有相同名称的键”。那里的大多数示例都将其用于简单的“计数器”插图。

ChannelLocal在早期版本的 Netty 中有一个类,这可能是相关的。但是它从 Netty 4.x 开始被删除了,我认为它也是用于处理程序级别的状态而不是连接级别的状态。

有没有办法让每个连接都有状态,同时仍然@Sharable在你的通道处理程序类上使用注释,并充分利用 Netty 的非阻塞优势?或者这个用例的方法是简单地将实例变量放在你的通道处理程序上,删除@Shareable注释,并为每个传入的连接生成一个新的连接处理程序(因此是新线程?)?

java sockets netty

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

使用 POI 或 Tika 提取文本,流到流,无需在内存中加载整个文件

我正在尝试单独使用 Apache POI 和 PDFBox,或者在 Apache Tika 的上下文中,从 MASSIVE Microsoft Office 和 PDF 文件(即在某些情况下数百兆)中提取和处理纯文本。此外,我的应用程序是多线程的,因此我将同时解析许多这些大文件。

在这种规模下,我必须以流式方式处理文件。在此过程中的任何步骤都不能将整个文件保存在主内存中。

我见过许多通过输入流将文件加载到 Tika/POI/PDFBox 的源代码示例。我见过很多通过输出流提取纯文本的例子。但是,我已经执行了一些基本的内存分析实验......我还没有找到使用这些库(Tika、POI 或 PDFBox)中的任何一个的方法来避免将整个文档加载到主内存中。

在从流读取和写入流之间,中间显然有转换步骤......我还没有找到一种在流的基础上执行的方法。我是否遗漏了什么,或者这是使用 Tika/POI/PDFBox 从 MS Office 或 PDF 文件中提取文本的已知问题?我是否可以进行真正的端到端流传输,而不会在传输过程中的任何时候将文件完全加载到主内存中?

java ms-office apache-poi pdfbox apache-tika

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