小编bri*_*rns的帖子

Ruby on Rails中的Gemfile和Gemfile.lock有什么区别

我是Ruby on Rails的初学者,我使用的是Rails 3.0.9.

GemfileGemfile.lockRails有什么区别?

ruby ruby-on-rails bundler gemfile gemfile.lock

119
推荐指数
3
解决办法
5万
查看次数

为什么pip安装我的包的旧版本?

我刚刚将我的软件包的新版本上传到PyPi(1.2.1.0-r4):我可以下载egg文件并使用easy_install进行安装,版本检查正确.但是当我尝试使用pip进行安装时,它会安装版本1.1.0.0.即使我明确指定要使用的版本pip install -Iv tome==1.2.1.0-r4,我也会得到这样的信息:Requested tome==1.2.1.0-r4, but installing version 1.1.0.0但我不明白为什么.

我仔细检查parse_version并确认1.2.1上的版本字符串大于1.1.0上的版本字符串,如下所示:

>>> from pkg_resources import parse_version as pv
>>> pv('1.1.0.0') < pv('1.2.1.0-r4')
True
>>>
Run Code Online (Sandbox Code Playgroud)

所以任何想法为什么选择安装1.1.0而不是?

python pip setuptools

71
推荐指数
6
解决办法
2万
查看次数

在react.js中加载DOM时的回调

我希望在我的react.js组件上调用一个回调,当它的DOM元素(包括所有子节点)实际上已加载到页面上并准备就绪时.具体来说,我有两个组件,我想渲染相同的大小,选择具有较大自然大小的任何组件的最大值.

它看起来componentDidMount不是我真正想要的,因为每个组件只调用一次,但我希望在组件完成渲染时再次调用我的回调.我以为我可以onLoad向顶级DOM元素添加一个事件,但我想这只适用于某些元素,比如<body><img>.

reactjs

54
推荐指数
5
解决办法
11万
查看次数

MSIE为Ajax请求返回状态代码1223

我正在使用ajax请求(POST方法)提交表单,并检查响应上的HTTP状态代码以查看它是否成功.

它适用于Firefox,但当然不适用于MSIE-8.提交实际上工作正常,我可以检查我的服务器并确认提交工作,服务器响应状态代码为204.再次,firefox正确地从请求对象给我状态代码204,但IE给出状态代码1223年

我有什么想法可以在MSIE中获得准确的状态代码?提交表单并检查响应的代码如下所示.

    var req = new XMLHttpRequest();
    req.open("POST", "p.php?i=" + self.__isid, true);
    //Send the proper header information along with the request
    req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    req.setRequestHeader("Content-length", formdata.length);
    req.setRequestHeader("Connection", "close");

    req.onreadystatechange = function()
    {
        if(req.readyState == 4)
        {
            if(req.status == 204 || req.status == 200)
            {
                //Success. Update the feed.
                self.__postFeed.update();
                self.__form.reset();
            }
            else
            {
                //TODO: Better error handling.
                alert("Error submitting post:\n" + req.responseText);
            }
        }
    }
    req.send(formdata);
Run Code Online (Sandbox Code Playgroud)

javascript ajax internet-explorer xmlhttprequest

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

C:指向内联函数的指针

我有一个static inline在H文件中定义的函数,并且在C文件中的某一点,我正在为该函数指定一个指针,如下所示:

foo.h中:

static inline void frobnicate(void) {
    // frobs something.
}
Run Code Online (Sandbox Code Playgroud)

foo.c的

#include "foo.h"

void execute(void (*func)(void) ) {
    func();
}

void blahBlahBlah(void) {
    execute(frobnicate);
}
Run Code Online (Sandbox Code Playgroud)

bar.c

#include "foo.h"
// ...
frobnicate();
Run Code Online (Sandbox Code Playgroud)

所以我认为这里会发生的是编译器将内联对frobnicatebar.c 的调用,但是在foo.c中,它实际上必须创建一个实现的函数frobnicate,以便它可以有一个指向它的工作指针.

任何人都可以确认我的理解是否准确,否则更正我?

c function-pointers inline-functions

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

使用PHP和Apache防止输出缓冲

我有一个发送大量记录的PHP脚本,我想在每个记录可用时立即刷新它们:客户端能够在每个记录到达时处理它,它不需要等待整个响应.我意识到整个传输需要稍长的时间,因为它需要以多个数据包发送,但它仍然允许客户端更快地开始工作.

我已经尝试了所有的不同flush()ob_flush()功能,但似乎没有任何帮助克服线路实际发送数据的页面之前完成.我已经确认它不是网络浏览器,因为我已经使用telnet测试了它.

php apache output-buffering

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

multipart/form-data中的二进制行(文件上传)

我在python中编写一个简单的Web服务器,允许用户使用multipart/form-data上传文件.据我所知,多部分MIME数据应该是基于行的.例如,边界必须位于一条线的开头.

我无法弄清楚在这方面如何处理二进制数据.我的客户端(Firefox)没有将其编码为7位ASCII或任何东西,它只是它发送的原始二进制数据.它是否将数据拆分为任意位置的行?是否为多部分数据指定了最大行长度?我试过通过RFC查看multipart/form-data,但没有找到任何东西.

http multipartform-data

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

为字符串格式添加自定义转换类型

无论如何在python中添加额外的转换类型到字符串格式?

%基于字符串格式化的标准转换类型是s字符串,d小数等等.我想要做的是添加一个新字符,我可以为其指定一个自定义处理程序(例如lambda函数)返回要插入的字符串.

例如,我想添加h一个转换类型来指定字符串应该转义以便在HTML中使用.举个例子:

#!/usr/bin/python

print "<title>%(TITLE)h</title>" % {"TITLE": "Proof that 12 < 6"}
Run Code Online (Sandbox Code Playgroud)

这将使用cgi.escape"TITLE"生成以下的输出:

<title>Proof that 12 &lt; 6</title>
Run Code Online (Sandbox Code Playgroud)

python printf string-formatting

7
推荐指数
2
解决办法
5205
查看次数

jar中的@PropertySource用于类路径上的外部文件

我正在尝试@PropertySource在Jar中使用Spring框架的注释来从jar外部加载属性文件,但它没有找到该文件.

我需要将属性文件放在Jar的外部,以便进行编辑.我不知道文件的确切位置,我想我可以把它放在类路径的任何地方.

我在Config课堂上使用以下注释.

@PropertySource('classpath:stc.properties')
Run Code Online (Sandbox Code Playgroud)

stc.properties与创建的Jar文件放在同一目录中.我尝试在java命令中显式指定类路径,但它仍然无法找到该文件:

java -cp . -jar stc.jar
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Failed to load bean class: com.example.stc.Config; nested exception is java.io.FileNotFoundException: class path resource [stc.properties] cannot be opened because it does not exist
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:162)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:299)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:243)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
[...]
Run Code Online (Sandbox Code Playgroud)

等等.

我也尝试使用./类路径,并尝试Class-Path在jar的清单的属性中指定类路径(包含两个变体),但它总是给出相同的结果.

java spring jar classpath properties-file

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

用于写入多个流的包装器

在Python中,是否有一种简单的方法来设置一个类似文件的对象来进行写入,该对象实际上由多个输出流支持?例如,我想要这样的东西:

file1 = open("file1.txt", "w")
file2 = open("file2.txt", "w")
ostream = OStreamWrapper(file1, file2, sys.stdout)

#Write to both files and stdout at once:
ostream.write("ECHO!")
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找的是OStreamWrapper. 我知道编写自己的代码非常容易,但如果有现有的,我宁愿使用它,而不必担心查找和覆盖边缘情况。

python file-io

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