问题列表 - 第46143页

CarrierWave S3权限被拒绝尝试从tmp读取错误

使用CarrierWave和Amazon S3.CarrierWave配置:

CarrierWave.configure do |config|
      config.ensure_multipart_form = false

      config.permissions = 0777      
      config.s3_access_key_id = 'secret_access_key_id'
      config.s3_secret_access_key = 'secret_access_key'
      config.s3_bucket = 'backet_name'
 end
Run Code Online (Sandbox Code Playgroud)

我在上传到s3时尝试从tmp目录读取时收到权限被拒绝错误.

Errno::EACCES

Permission denied - D:/MyDirectory/public/uploads/tmp/20110211-1021-3252-6545/my_file.txt.
Run Code Online (Sandbox Code Playgroud)

怎么了?

ruby-on-rails carrierwave

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

if(pointerVar)是否与if(pointerVar!= NULL)相同?

简单的问题:

if (pointerVar)一样的if (pointerVar!=NULL)吗?

还有,是if (!pointerVar)一样的if (pointerVar==NULL)吗?

给我你最技术上正确/迂腐的答案.这两个陈述似乎也是有意义的.前者是否有任何问题(除了可读性略低)?

c++ pointers

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

很好地在mathematica中打印出一个矩阵

我在mathematica中有一个列表(矩阵)列表.我想很好地打印出来,每一行都用粗体表示最大值.这该怎么做?

或者甚至可能更进一步,在这样的最大值之外的圆圈,这可能吗?

wolfram-mathematica

8
推荐指数
2
解决办法
2833
查看次数

将最大堆转换为二叉搜索树

我们给出了一个2 m - 1个不同的,可比较的元素的数组,从1开始索引.

我们可以将数组视为完整的二叉树:

Node is placed at index i.
Left child is placed at 2i.
Right child is placed at 2i+1.
Run Code Online (Sandbox Code Playgroud)

例如,数组

[7 6 4 5 2 3 1]

是树

       7
    /    \
   6       4
  /  \    / \
 5    2   3  1 
Run Code Online (Sandbox Code Playgroud)

现在,当被视为二叉树时,这些元素满足堆属性,节点大于其子节点:

A[i] > A[2i] and A[i] > A[2i+1]

是否存在相当快速的就地算法来重新排列数组的元素,以便生成的二叉树(如上所述)是二叉搜索树?

回想一下,在二叉搜索树中,节点大于其所有左后代,并且少于其所有右后代.

例如,上述阵列的重新洗牌将是

[4 2 6 1 3 5 7]

它对应于二叉搜索树

       4
    /    \
   2       6
  /  \    / \
 1    3   5  7 
Run Code Online (Sandbox Code Playgroud)

c algorithm heap binary-tree

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

如何不在chrome扩展内容脚本中继承样式

我正在编写一个Google Chrome扩展程序,可在每个页面上运行内容脚本.在我的内容脚本中,我在页面中注入了<div>一些<ul><li>子项.我在样式表中为这些元素指定了几种样式.

但我发现在一些随机页面上我的元素将继承网页上定义的样式,因为我没有为我的div指定每个样式属性.

什么是我可以阻止我注入的元素继承这些样式的最佳方法?

在我看来,我可以:

  • 指定样式表中的每一个样式(例如,通过查看没有干扰时计算出的样式),或者
  • 我可以把我的<div>内心<iframe>.但是,我必须在我的内容脚本的iframe和源页面之间传递hella消息,因为chrome://我的iframe src 的URL 和源页面的URL http://将被视为跨源.

css iframe google-chrome-extension

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

如何获取要下载的文件的MIME类型?

我必须点击链接下载列出的文件,因为我使用了下面的脚本,但是当文件被下载时,它无法确定下载文件的扩展名.那么,如何获取要下载的文件的MIME类型?_请帮忙...

$filename = $_GET['val'];
         // Fetch the file info.
    $filePath = $_SERVER['DOCUMENT_ROOT'] . "dfms/images/uploads/".$filename;


    if(file_exists($filePath)) {
        echo $fileName = basename($filePath);
        $fileSize = filesize($filePath);

        // Output headers.
        header("Cache-Control: private");
        header("Content-Type: application/octet");
        header("Content-Length: ".$fileSize);
        header("Content-Disposition: attachment; filename=".$fileName);

        // Output file.
        readfile ($filePath);                   
        exit();
    }
    else {
        die('The provided file path is not valid.');
    }
Run Code Online (Sandbox Code Playgroud)

php download mime-types

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

什么会导致Windows和OS X之间的OpenGL alpha混合差异?

下图中有3个背景:黑色白色和灰色

每个都有3个条形:黑色 - >透明,白色 - >透明,颜色 - >透明

我正在使用glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); 我所有的顶点颜色都是1,1,1,0.

缺陷在白色 - >透明的白色背景上非常明显.

在Windows XP(以及其他Windows风格)上,它完美运行,我完全变白了.然而,在Mac上,我在中间变灰了!

什么会导致这种情况,为什么当我在白色混合白色时会变暗?

屏幕截图的完整尺寸是@ http://dl.dropbox.com/u/9410632/mac-colorbad.png

截图

更新信息:

在Windows上,它似乎与opengl版本无关.所有工作都是2.0到3.2.在我现在面前的Mac上,它是2.1.

渐变保持在纹理中,并且所有顶点都是彩色的1,1,1,1(白色rgb,完整的alpha).背景只是1x1像素纹理(用渐变着色),顶点根据需要着色,带有完整的alpha.

地图集是用glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_BGRA, GL_UNSIGNED_BYTE, data);我自己编写的ARGB dds文件创建的.

我还应该注意,所有内容都是使用一个简单的简单着色器绘制的:

uniform sampler2D tex1;
uniform float alpha;

void main() {
    gl_FragColor = gl_Color * texture2D(tex1, gl_TexCoord[0].st) * vec4(1.0, 1.0, 1.0, alpha);
}

alpha uniform设置为1.0

现在,我确实尝试改变它,所以白色渐变不是纹理,而只是4个顶点,其中左边是纯白色和不透明,右边是1,1,1,0,这是有效的!

我现在已经对纹理进行了三次检查,它只是白色,具有不同的alpha 1.0-> 0.0.

我想这可能是默认问题.opengl或驱动程序的版本可能会以不同方式初始化事物.

例如,我最近发现默认情况下每个人都有GL_TEXTURE_2D glEnabled,而不是Intel GME965.

找到解决方案

首先,多一点背景.这个程序实际上是用.NET编写的(在OS X上使用Mono),而我正在编写的DDS文件是通过将24位PNG文件的目录压缩成最小的纹理而自动生成的图集.我正在使用System.Drawing.Bitmap加载这些PNG,并在确定布局后将它们渲染为更大的Bitmap.然后锁定后布局位图(以获得它的字节),然后通过我编写的代码将其写入DDS.

在阅读Bahbar的建议后,我检查了记忆中的纹理,它们确实不同!我的DDS加载似乎是罪魁祸首,而不是任何OpenGL设置.在今天的预感中,我在两个平台上检查了DDS文件本身(使用字节进行字节比较),实际上,它们是不同的!当我使用WTV(http://developer.nvidia.com/object/windows_texture_viewer.html)加载DDS文件时,它们看起来完全相同.但是,使用WTV,您可以关闭每个频道(RGBA).当我切换掉Alpha通道时,在Windows上我看到了一个非常糟糕的图像.没有alpha会导致没有抗锯齿边缘,所以当然看起来很可怕.当我关闭OSX DDS上的alpha通道时,它看起来很好!

Mono中的PNG加载程序是预乘,导致我的所有问题.我为他们输入了一张票(https://bugzilla.novell.com/show_bug.cgi?id=679242)并直接使用了libpng.

感谢大家!

opengl macos mono png alphablending

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

Git Svn的问题,为什么我为什么不能拒绝?

我有一个git svn存储库.

git svn clone http://myrepo/ myrepo
Run Code Online (Sandbox Code Playgroud)

我不想在大师工作:

git checkout -b development
Run Code Online (Sandbox Code Playgroud)

破解了一会儿.

git checkout master
git svn rebase
git rebase development
git svn dcommit
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都很好,似乎没有人承诺,因为我做了最后一次,svn rebase没有做任何改变,我的开发工作也没有.

Merge conflict during commit: File or directory 'inc/data.inc' is out of date; try updating: resource out of date; try updating at /usr/local/git/libexec/git-core/git-svn line 576
Run Code Online (Sandbox Code Playgroud)

好吧,没有SVN先生,不是.我问你最新的那个,你说我已经有了.它的不同之处在于我改变了它.

这里发生了什么,为什么我不能承诺呢?

svn git git-svn

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

如何使用Apache POI在Word .docx文件中正确生成RSID属性?

我一直在使用Apache POI来操作Microsoft Word .docx文件 - 即打开最初在Microsoft Word中创建的文档,对其进行修改,将其保存到新文档中.

我注意到Apache POI创建的新段落缺少修订保存ID,通常称为RSIDrsidR.Word使用它来标识在一个会话中对文档所做的更改,例如在保存之间.它是可选的 - 用户可以根据需要在Microsoft Word中关闭它 - 但实际上几乎每个人都有它,所以几乎每个文档都充满了RSID.阅读有关RSID的这个优秀解释,了解更多相关信息.

在Microsoft Word文档中,word/document.xml包含以下段落:

<w:p w:rsidR="007809A1" w:rsidRDefault="007809A1" w:rsidP="00191825">
  <w:r>
    <w:t>Paragraph of text here.</w:t>
  </w:r>
</w:p>
Run Code Online (Sandbox Code Playgroud)

但是,POI创建的相同段落将如下所示word/document.xml:

<w:p>
  <w:r>
    <w:t>Paragraph of text here.</w:t>
  </w:r>
</w:p>
Run Code Online (Sandbox Code Playgroud)

我已经发现我可以强制POI使用以下代码为每个段落添加一个RSID:

    byte[] rsid = ???;
    XWPFParagraph paragraph = document.createParagraph();
    paragraph.getCTP().setRsidR(rsid);
    paragraph.getCTP().setRsidRDefault(rsid);
Run Code Online (Sandbox Code Playgroud)

但是我不知道应该如何生成RSID.

POI是否有办法或生成和/或跟踪RSID?如果没有,有什么方法可以确保我生成的RSID与文档中已有的RSID不冲突?

java docx apache-poi

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

可以使用pushState

有谁知道一个库确定是否可以使用pushState?

我在用这个:

if(window.history.pushState){
    window.history.pushState(null, document.title, path);
}else{
    location.pathname = path;
}
Run Code Online (Sandbox Code Playgroud)

但我刚刚发现Safari 5.0.2中存在一个错误,即使上述测试通过,也会导致它无法正常工作:http://support.github.com/discussions/site/2263-line-links-broken.

我想可能还有其他陷阱,有人可能已经发现它们并将它们包裹起来但我还没有找到任何东西.

编辑: @Crescent Fresh

从我所看到的,似乎pushState推送到历史堆栈并更改URL但不更新location.pathname.在我的代码中,我使用setInterval来检查路径是否已更新.

var cachedPathname = location.pathname;
if(window.history.pushState){
    cachedPathname = location.pathname;
    setInterval(function(){
        if(cachedPathname !== location.pathname){
            cachedPathname = location.pathname;
            //do stuff
        }
    }, 100);
}
Run Code Online (Sandbox Code Playgroud)

在Safari 5.0.2中,当pushState更改url时,location.pathname不会更改.这适用于其他浏览器和Safari版本.

javascript pushstate

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