小编jam*_*her的帖子

在PHP中,输出缓冲区打印到哪里?打印什么东西?

PHP有许多不同的打印方式,我不明白它们之间的区别.至少有以下几点:

  • stdout和stderr.这些可以表示为php://stdoutphp://stderr.也有常数STDOUTSTDERR,我认为这指的是同样的事情.到现在为止还挺好; 这些是标准的.
  • php://output.这是什么?它去哪儿了?它是同义词php://stdout还是别的什么?文档说它写"输出缓冲机制",但我不知道此缓冲区的内容在那之后.
  • printecho.文档说这些打印到php://output.它们都是语言结构,但在猜测时,不同之处在于它print是一个表达式,但它echo是一个声明.
  • printf还有很多朋友.这些都去了php://output吗?
  • 逃跑.有许多替代语法用于转义,但我猜他们都有相同的语义.但是什么是语义?转义的文本打印到哪里?还来php://output?目前,我理解?>foo<?php为语法糖echo 'foo';; 它是否正确?

有更多的输出方式吗?究竟有什么区别?哪些设置和环境会影响他们的行为?

php buffer output semantics

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

如何使用Haskell Snap框架获取上传的文件?

Snap框架提供了Snap.Util.FileUploads模块,但它非常不友好.我正在编写一个简单的HTTP服务器,我并不真正关心文件大小限制,上传速率限制限制,担心找到一些与操作系统无关的临时目录以放入上传的文件,编写多部分数据流处理器等等.

当然,如果我需要它,Snap给我这么高的细节是很棒的,但我没有.更糟糕的是,我没有编写文件上传处理程序的示例.我原以为是handleFileUploadsSimple :: MonadSnap snap => snap [File].有点像Scotty的files动作,你猜对了,给了我上传的文件,bish-bash-bosh.

如果确实存在,那么它在哪里?如果没有,我应该怎么写呢?

haskell file-upload multipartform-data haskell-snap-framework

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

WebGL顶点着色器属性的有效类型是什么?

以下属性似乎很好:

attribute vec4 coord;
Run Code Online (Sandbox Code Playgroud)

以下属性抱怨属性"不能是bool或int":

attribute int ty;
Run Code Online (Sandbox Code Playgroud)

以下属性引发"语法错误":

attribute uint ty;
Run Code Online (Sandbox Code Playgroud)

这些结果似乎很随意.我找不到顶点着色器属性的有效类型列表.在WebGL中属性类型是否有效的规则是什么?

opengl-es webgl vertex-shader

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

通过unix shell命令查找给定文件扩展名的首选应用程序

这可能不是严格意义上的编程,但如果我找不到现成的解决方案,它可能会成为编程任务: 在UNIX上,什么是用于确定给定文件类型的用户首选应用程序的命令行方法?

我在这里的理想解决方案是阻止我必须执行以下操作的命令:

okular foo.pdf
Run Code Online (Sandbox Code Playgroud)

并允许我做这样的事情,使用我设置的首选应用程序:

launch foo.pdf
Run Code Online (Sandbox Code Playgroud)

我没有通过搜索找到答案,并且DIY方法不起作用,虽然我已经使用Linux一段时间了,但我不知道管理我首选应用程序的内部.

unix command-line file-extension user-preferences

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

使用"Arguments"命令时Coq"Error:No focused proof"

我正在阅读软件基础书.在关于多态的章节中,有一节关于"隐式参数".在本节中,有一行:

Arguments nil {X}.
Run Code Online (Sandbox Code Playgroud)

当我尝试在Poly.v文件上运行Coq (该章节的源代码,在此tarball中可用)时,它停在上面的行,给我错误:

Error: No focused proof (No proof-editing in progress).
Run Code Online (Sandbox Code Playgroud)

我已将Poly.v文件缩减为这些内容,这仍然会给出相同的错误:

Inductive list (X:Type) : Type :=
  | nil : list X.

Arguments nil {X}.
Run Code Online (Sandbox Code Playgroud)

我在Coq参考手册中找到的关于此错误的唯一内容是

当人们试图在校对编辑模式之外使用校对编辑命令时,Coq会引发错误消息:没有聚焦证据.

我认为"证明编辑模式"是指使用策略证明定理的上下文.我不认为它是在那种模式,也不是Coq,因为它说"没有正在进行的校对编辑".这是有道理的.

该错误声称这Arguments是一个"证明编辑命令",虽然它没有在其文档中说明,并且在证明处理章节中Arguments没有提到.

这让我觉得Coq错误地将其Arguments视为校对编辑命令,但我不知道为什么.

我认为这对我的设置而不是Poly.v文件本身来说是错误的,因为它是Software Foundations一书的一部分.我正在使用CoqIDE,作为Coq 8.3pl4的一部分,与Ubuntu 12.04一起发布.

arguments compiler-errors proof coq

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

什么是 Maven 存储库?

我读到“存储库简介

Maven 中的存储库用于保存构建工件和不同类型的依赖项。

通过浏览远程 Maven 存储库,我发现工件显然是满足某些约束的目录,例如它必须包含一个名为 的文件maven-metadata.xml和一个名为 的文件<artifactId>-<version>.pom。这两个文件都有一些架构和语义。我还看到我在 处有一个“本地存储库” ~/.m2/repository。但目录结构不同,例如没有maven-metadata.xml文件。因此,远程存储库和我的本地存储库以不同的方式编码相同的数据。

但我显然是在猜测,无论是文档还是任何其他答案都无法澄清我的问题。那么——从正式的角度来说,什么Maven 存储库?它在远程存储库和本地存储库中是如何编码的?

这是对答案的猜测:

存储库是从GAV构建工件的映射。GAV 是一个三元组(groupId、artifactId、version),其中每个组件都是一个字符串。构建工件是从文件名文件内容的映射。

存储库支持两种操作:getBuildArtifact,如果存储库映射了给定的GAV ,则它接受GAV 并返回关联的构建工件;并且,它将提供的GAV映射到提供的构建工件putBuildArtifact

[...]

repository maven

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

如何将像素着色器应用于画布元素?

我有一个<canvas>由外部库写入的元素。我希望对此画布应用“后期制作”效果:我想(r,g,b,a) -> (r,g,b,a)在每个函数最终显示之前在每个像素上映射一个函数。

我知道外部库将写入从<canvas>元素获取的2D上下文。我也知道我要的转换是“像素着色器”或“片段着色器”。我知道我需要一个webgl上下文来应用这样的着色器。这个答案告诉我,画布不能同时具有多个上下文,因此我不确定这种方法是否可行。

我考虑的另一种方法是将画布的输出捕获为流,并在应用了转换的情况下将其写入新画布。但是,此功能仅在尖端的Firefox中存在

是否可以将片段着色器应用于画布输出?如果是这样,怎么办?

html5 canvas webgl fragment-shader

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

如何在XCode中没有情节提要或界面构建器的情况下创建Cocoa应用程序?

我只希望能够以编程方式创建我的程序。因此,我转到File > New > Project并选择Cocoa Application,并确保在向导的下一步中未选中“使用情节提要”。它给我的项目中有一个MainMenu.xib文件。我不知道什么是.xib文件,但是我知道它们以我不了解的方式弄乱了我的程序。

那么,如何在没有这些“ storyboard”或“ interface builder”东西的情况下创建一个新的Cocoa Application?启动一个空窗口的最小的纯编程程序是什么?

xcode cocoa

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

如何通知我的 Cocoa 应用程序 NSScreen 分辨率更改?

我正在制作一个带有浮动窗口的 Cocoa 应用程序。浮动窗口应该在主屏幕上居中,大小为主屏幕的 1/4。以下 Swift 是我的应用程序的精髓:

import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
    var panel: NSPanel!
    func applicationDidFinishLaunching(_ aNotification: Notification) {
        let screenRect:CGRect = NSScreen.main()!.frame
        panel = NSPanel(
            contentRect: NSRect(
                x: screenRect.width/4,
                y: screenRect.height/4,
                width:  screenRect.width/2,
                height: screenRect.height/2
            ),
            styleMask: NSWindowStyleMask.nonactivatingPanel,
            backing: NSBackingStoreType.buffered,
            defer: false
        )
        panel.alphaValue = 0.5
        panel.backgroundColor = NSColor.red
        panel.level = Int(CGWindowLevelForKey(CGWindowLevelKey.maximumWindow))
        panel.orderFront(nil)
    }
}
Run Code Online (Sandbox Code Playgroud)

这会产生一个像这样的面板:

正确定位

当主屏幕分辨率发生变化时,就会出现问题。显示这一点的一种方法是转到“系统偏好设置”>“显示”并将分辨率设置为“缩放”和“更多空间”。这样做之后,面板看起来像这样:

分辨率更改后定位不正确

可以看到,更改分辨率后面板位置不对。我希望面板保持其位置:居中且屏幕大小的 1/4。为此,我要检测屏幕分辨率(即 的frame属性NSScreen)何时发生变化,以便我可以更改面板的大小和位置。

frame属性发生NSScreen变化时是否会触发某些事件?或者有没有不同的方法来处理这个问题?

cocoa objective-c screen-resolution swift

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

malloc返回指向已分配内存的指针

自从我写完C以来已经很长时间了.我的理解是malloc返回一个指向新分配的内存区域的指针,该内存区域与先前malloc编辑的反应不重叠.但是,我的程序(下面)似乎显示malloc返回指向已分配区域中间的指针!

#include <stdio.h>
#include <stdlib.h>

typedef struct {
  int* bla;
  int baz;
  int qux;
  int bar;
} foo;

int main() {
  foo* foo = malloc(sizeof(foo));
  int* arr = malloc(sizeof(int) * 10);
  // my understanding of malloc is that `foo` and `bar` now point to
  // non-overlapping allocated memory regions

  printf("arr          %p\n", arr);            // but these print
  printf("&(foo->bar)  %p\n", &(foo->bar));    // the same address

  foo->bar = 42;
  printf("arr[0] = %d\n", arr[0]);   // prints 42

  return …
Run Code Online (Sandbox Code Playgroud)

c malloc

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