小编MvG*_*MvG的帖子

写入fifo(命名管道)

我正在尝试使用fortran 90应用程序打开fifo并将格式化数据写入其中.我把它剥夺了一个最小的例子.让我们foo.f90成为以下计划:

program foo
  open(1,file='fifo',position='asis',action='write')
  write(1,*)'Hello, world!'
  write(1,*)'Goodbye.'
end program
Run Code Online (Sandbox Code Playgroud)

现在编译并运行程序:

$ gfortran-4.7.1 -o foo foo.f90
$ rm -f fifo
$ ./foo
$ cat fifo
 Hello, world!
$ rm -f fifo
$ mkfifo fifo
$ cat fifo > bar &
[1] 6115
$ strace -o foo.st ./foo
At line 3 of file foo.f90 (unit = 1, file = 'fifo')
Fortran runtime error: Invalid argument
[1]+  Done                    cat fifo > bar
$ tail foo.st
write(3, " Hello, world!\n", 15) …
Run Code Online (Sandbox Code Playgroud)

linux fortran named-pipes gfortran fortran90

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

feImage 与内部来源

目标

我正在尝试编写一个 SVG 过滤器来给定的形状呈现波浪照明。所以在那个形状里面我想要波浪应用,但我不希望在那个形状之外没有可见的效果。据我所知,我不能将相同的图像源用于波浪的高度图和atop组合的目标域。所以我认为一个<feImage>元素可能用于从单独的渐变填充对象获取高度图。但到目前为止,我还没有成功地使该对象在滤镜效果区域内可见。

第一次尝试

我到目前为止的代码:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg version="1.1" width="512" height="512"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <radialGradient id="waveFill" r="5%" spreadMethod="reflect">
      <stop offset="0%" stop-opacity="1.00"/>
      <stop offset="20%" stop-opacity="0.90"/>
      <stop offset="40%" stop-opacity="0.65"/>
      <stop offset="60%" stop-opacity="0.35"/>
      <stop offset="80%" stop-opacity="0.10"/>
      <stop offset="100%" stop-opacity="0.00"/>
    </radialGradient>
    <rect id="waveImg" x="-210" y="-105" width="420" height="210"
          stroke="none" fill="url(#waveFill)"/>
    <filter id="waveFilter">
      <feImage xlink:href="#waveImg" result="waves"/>
      <!-- feSpecularLighting and so on will be added later on -->
      <feComposite operator="atop" in="waves" in2="SourceImage"/>
    </filter>
  </defs>
  <g …
Run Code Online (Sandbox Code Playgroud)

svg svg-filters

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

调用string上的replace会抛出EvaluatorException

我正在尝试将此答案适用于regexp替换的情况:

  <scriptdef name="propertyregex" language="javascript">
     <attribute name="property"/>
     <attribute name="input"/>
     <attribute name="regexp"/>
     <attribute name="replace"/>
     <![CDATA[
       var input = attributes.get("input");
       var regex = new RegExp(attributes.get("regexp"));
       var replace = attributes.get("replace");
       var res = input.replace(regex, replace);
       project.setProperty(attributes.get("property"), res);
     ]]>
  </scriptdef>
Run Code Online (Sandbox Code Playgroud)

但是,执行该代码我总是得到一个例外:

javax.script.ScriptException: sun.org.mozilla.javascript.internal.EvaluatorException:
The choice of Java constructor replace matching JavaScript argument types
(function,java.lang.String) is ambiguous; candidate constructors are: 
    class java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)
    class java.lang.String replace(char,char)
Run Code Online (Sandbox Code Playgroud)

我怎样才能在这里做正则表达式替换?

javascript java regex ant rhino

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

JTree中的颜色行

我想在JTree中对元素进行着色.但是,仅仅在标签上添加背景颜色看起来有点奇怪.特别是如果选择了多个节点,则生成的形状看起来粗糙且分散注意力.

有没有办法让背景扩展树元素的整个宽度,以便整行变成彩色?从左边框开始或从标签的开头开始,但绝对延伸到组件的右边界?

这是一个基于这个问题的小型自包含演示.

import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;
public class SO26724913 {
    public static void main(String[] args) {
        DefaultMutableTreeNode a = new DefaultMutableTreeNode("a");
        DefaultMutableTreeNode b = new DefaultMutableTreeNode("b");
        DefaultMutableTreeNode c = new DefaultMutableTreeNode("c");
        a.add(b);
        a.add(c);
        final JTree tree = new JTree(a);
        tree.setCellRenderer(new DefaultTreeCellRenderer() {
                @Override
                public Component getTreeCellRendererComponent
                    (JTree tree, Object value, boolean selected,
                     boolean expanded, boolean leaf, int row, boolean focus)
                {
                    JComponent c = (JComponent)
                        super.getTreeCellRendererComponent
                        (tree, value, selected, expanded, leaf, row, …
Run Code Online (Sandbox Code Playgroud)

java swing background jtree background-color

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

在 gyp 文件中运行配置

假设我有一个 node 模块,它本质上是一个使用 autotools 的标准 C 库的包装器。因此,库本身将使用./configure和安装make,也许make install. 包装器代码只是几个文件,可以由 gyp 处理。但是我该如何处理依赖呢?在编译代码之前,如何指示 gyp 我要构建自动工具库?或者这是不可能的,因为不能期望 autotools 在 Windows 上运行?如果我不能运行configure,是否有一些 gyp 方法可以做类似的事情,特别是检测哪些功能可用,哪些不可用?

autoconf autotools node.js gyp node-gyp

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

什么是iDOT块

看一下我在带有Retina显示屏和运行OS X 10.11的MacBook Pro上拍摄的屏幕截图,我发现它包含以下这些块:

IHDR, iCCP, pHYs, iTXt, iDOT, IDAT…, IEND
Run Code Online (Sandbox Code Playgroud)

所有这些都是2003规范的一部分,除了iDOT它是一个小的(28字节)块.根据块命名约定,其第二个字母是大写的事实应该表明它是具有公共规范的块.虽然我无法在任何地方找到它的规格.它没有在公共PNG块和关键字注册表中列出,版本1.4.6,尽管它似乎是最新版本.

网上有很多网站提到这个块,包括Stack Overflow上的许多网站.大多数人都在描述错误信息

ImageIO: PNG invalid PNG file: iDOT doesn't point to valid IDAT chunk
Run Code Online (Sandbox Code Playgroud)

那些得到解决的人发现由于这个块而不是必然会出现某种图像损坏,或者应用了一些可能也删除了这个块的转换.

许多页面也提到了Retina显示器.这是我的猜测,并希望这个块以某种方式显示截屏时的显示密度.这对于自动缩放屏幕截图非常有用.

编辑:拍摄更多屏幕截图,我发现像素密度确实起到了一定的作用:以原始分辨率运行显示器我没有得到这样的块和截图时显示的图像尺寸.只有在更高的密度下才能获得块和PNG图像大小,它是显示的大小的整数倍.28字节的数据似乎代表7个小端32位整数.对我来说,这些都是(2, 0, h, 40, h, h, x)在那里2大概指示像素密度,h是明显的图像高度(即实际存储的一半)和x一些数字我不明白的.我不知道分数像素密度将如何进入这个游戏.

哪里可以找到细节,甚至可以找到这个块的规格?我是否必须联系Apple或注册表,或者是否有人可以提供更多详细信息?

macos png file-format ios retina-display

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

GitHub组织的AppVeyor帐户

我是开发FOSS项目的GitHub组织的一员.我想使用AppVeyor在Windows上运行CI测试.目前,我看到了我自己的项目分支,以及其他一些在GitHub中命名为我的协作者的分支.但是,我没有看到项目的上游.显然,我是GitHub组织的管理员并不足以在AppVeyor中提供对它的访问.但是,无论如何,在我的帐户下设置这个都是错误的方法.可能这应该是以组织的名义.

为此,我希望为该组织拥有一个AppVeyor帐户,并为其成员提供适当的权限.阅读http://www.appveyor.com/docs/team-setup听起来好像AppVeyor可以区分用户(具有唯一的电子邮件和密码)和帐户(项目所属的),并且单个用户显然可以属于多个一个帐户可以拥有多个具有不同角色的用户.从这个意义上讲,我想创建一个新帐户,而无需为其创建用户.相反,我作为现有用户,通过GitHub登录识别,希望成为这个新帐户的第一个管理员,并准备好更改设置并添加更多用户.我该怎么做呢?

account github appveyor

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

由于浏览器设置的标头,Safari拒绝重定向的CORS请求

摘要

Safari拒绝一些涉及重定向的CORS请求,声称不允许某些标头.但是这个标题从未被脚本请求,但是由浏览器添加,所以我认为它应该没关系.

  • Safari的行为是一个bug,
  • 是否有规格问题,或
  • 事情是这样的吗?

错误表示CORS中不允许某些标头

我观察到Safari似乎比其他浏览器更严格地解释CORS协议的情况.它使用错误消息拒绝某些请求

[错误]未能加载资源:请求头字段...不被允许Access-Control-Allow-Headers.

我已经在头字段中看到了这个Accept-Encoding,并且在将该字段添加到Access-Control-Allow-Headers相同的错误之后重复了DNT.包括在其他领域Access-Control-Request-Headers的预检要求的名单是Cache-Control,OriginAccept-Language.

据我所知,这只会影响重定向的请求.如果我设法立即命名最终位置,请求成功.

WHATWG XHR:请求应该没有作者设置标头

XMLHttpRequest在自己的代码中创建了它,没有任何库或框架干扰它.我绝对肯定我从来没有打电话给这个setRequestHeader()方法.

根据WHATWG XHR规范,我将假设我的作者请求标题列表应为空.该请求部分状态:

笔者请求头是一个最初为空的头列表.

我可以在文档中读到非空参数send()可能Content-Type作为作者请求标题触发,但即使使用这样的无参数调用我也遇到了问题.

W3C CORS:只有作者设置的标题才有意义

W3C推荐CORS描述Access-Control-Request-Headers现场成由笔者请求头:

如果作者请求标题不为空,则包含Access-Control-Request-Headers带有标题字段值的标题,以字典顺序排列作者请求标题中的标题字段名称的逗号分隔列表,每个标题转换为ASCII小写(即使一个或多个是简单标题).

根据该规范,我可以看到错误的可能原因是:

如果每个头的字段名作者请求头是不是一个 …

safari redirect http xmlhttprequest cors

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

Safari 上的 createImageBitmap 替代方案

我想在网络工作者上运行的一些 asm.js 代码中生成图像。我想定期将该计算的最新状态与一些其他内容一起合成到用户可见的 2d 画布上。目前我有代码

  1. 根据 asm.js 代码使用的数组缓冲区的一部分,ImageData使用其构造函数构造一个对象,
  2. 调用createImageBitmap打开ImageDataImageBitmap
  3. 将该图像位图从工作线程传输到 GUI 线程并
  4. 将其ImageBitmap用作CanvasRenderingContext2D.drawImage.

最近的 Chrome 和 Firefox 运行良好,但 Safari 9.1.3 显然没有createImageBitmap功能。我将如何以适用于 Safari 的方式执行上述操作?

是否有一些低成本的图像编码,而没有为其创建一个data:image/png…?有没有其他方法可以将字节数组转换为您可以提供的内容drawImage

顺便说一下:http : //caniuse.com/目前没有列出这个功能。有一个功能请求,如果您想在那里查看此功能,则可以请求该功能。


如果您更喜欢查看我当前方法的代码,这里是我的工作人员的相关部分:

var buffer = new ArrayBuffer(bufferSize);
var asm = Module.asm(self, {}, buffer);
var imgBytes = new Uint8ClampedArray(buffer, offset);
var imgData = new ImageData(imgBytes, width, …
Run Code Online (Sandbox Code Playgroud)

html javascript safari image web-worker

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

并发写入同一缓存行中的不同位置

假设我有一个C++ 11应用程序,其中两个线程使用指向原始类型的简单指针写入不同但附近的内存位置.我能否确定这些写入最终都会在内存中结束(可能在两者都达到之后boost::barrier),或者是否存在两个CPU内核都拥有包含该数据的高速缓存行的风险,第二个内核将其修改为RAM修改为RAM将覆盖并撤消第一次写入所做的修改?

我希望缓存一致性能够在所有情况下以及符合C++ 11内存模型的所有设置中为我处理这个问题,但我想确定一下.

c++ concurrency caching memory-model c++11

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