小编Kor*_*nel的帖子

节点Js与response.write的问题

当我尝试利用http流连接由于某种原因写入不会刷新,直到我调用response.end()
我直接从演示中获取代码,并不明白我的问题是什么.
当我卷曲到服务器时,我的标题是正确的.

HTTP/1.1 200 OK
Content-Type: text/plain
Connection: keep-alive
Transfer-Encoding: chunked


var http = require('http');
    http.createServer(function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/plain'});
      res.write('hello');
      res.write(':');
      setTimeout(function(){ 
          res.end('World\n')},
          2000);
    }).listen(1337, "127.0.0.1");
    console.log('Server running at http://127.0.0.1:1337/');
Run Code Online (Sandbox Code Playgroud)

为什么服务器不发送写入数据?

stream http-1.1 node.js

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

递归make:插入`$(MAKEFLAGS)`的正确方法

我如何使用$(MAKEFLAGS)(或以其他方式将在命令行上定义的变量传递给sub-make)以支持从shell调用的方式使用make VAR=valmake -args

我需要我的子项目可配置,但我讨厌autotools,所以我正在使用make变量,例如从shell调用:

$ make USE_SSE3=1
Run Code Online (Sandbox Code Playgroud)

并且USE_SSE3需要应用于所有子makefile中的所有构建.

手册指出:

如果你做'make -ks'那么MAKEFLAGS获得值'ks'.

因此我-$(MAKEFLAGS)在Makefile中使用(带有破折号前缀).

但是,当使用没有标志的变量时,它会扩展为无效参数.如果我跑:

$ make FOO=bar
Run Code Online (Sandbox Code Playgroud)

然后sub-make变得无效-FOO=bar.没有破折号前缀变量定义的OTOH工作,然后make -s等等.

是否有语法/变量/ hack使得传递参数单独的变量定义与子makefile一起使用?

遗产$(MKFLAGS)没有奇怪的短划线前缀问题,但它也不包括变量定义.我已经尝试修复变量$(patsubst),但这只会通过修剪空白使事情变得更糟.

我需要的解决方案与Mac OS X Mavericks附带的过时的GNU Make 3.81兼容.


foo:
    $(MAKE) -C subproject -$(MAKEFLAGS)
Run Code Online (Sandbox Code Playgroud)
$ make foo -s       # MAKEFLAGS = 's'
$ make foo BAR=baz  # MAKEFLAGS = 'BAR=baz'
$ make foo -j8      # MAKEFLAGS = …
Run Code Online (Sandbox Code Playgroud)

makefile

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

为什么嵌套迭代器闭包不会复制外部作用域的值

我正在尝试使用嵌套迭代器,其中内部迭代器使用外部迭代器中的值.

vec![0;10].iter().flat_map(|&a| {
    (0..10).map(|b|{
        a + b
    })
});
Run Code Online (Sandbox Code Playgroud)

错误:a活不够久

    (0..10).map(|b|{
                ^^^
Run Code Online (Sandbox Code Playgroud)

注意:引用必须对方法调用有效...

如果我移动内部闭包(move |b|{),这会编译,但我不明白为什么它是必要的,因为它a是一个整数,可以被复制而不是移动.

closures rust borrow-checker

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

如何使用pkg-config静态链接库

我想静态链接pkg-config找到的libpng.

pkg-config --libs --static libpng
Run Code Online (Sandbox Code Playgroud)

输出

-L/usr/local/Cellar/libpng/1.6.15/lib -lpng16 -lz

libpng16.a libpng16.dylib在这个目录中都有,如果我使用这些标志,库就会动态链接.

我怎么能告诉pkg-config或链接器(最好是以某种便携式方式),我真的希望它静态链接?

我尝试-static在pkg-config的标志之前添加,但这使得clang ld尝试并且无法链接"crt0.o".

pkg-config static-linking

7
推荐指数
3
解决办法
9650
查看次数

如何设置NSTableView列以使用等宽数字?

El Capitan介绍了旧金山系统字体,默认情况下具有比例数字.

这使得表格列中的数字显得锯齿状,难以比较:

都是6位数字

我想为字体启用固定宽度数字选项,但继续使用默认系统字体并保持与早期版本的OS X的向后兼容性.

在Interface Builder中选择字体>字体面板>排版>等宽数字不会影响字体(XIB文件保持不变).

无用的面板

在OS X表视图列中设置等宽数字的正确方法是什么?(我怀疑IB无法使用,因此编程解决方案也可以).

fonts cocoa nstableview osx-elcapitan

7
推荐指数
3
解决办法
1588
查看次数

如何在不使用构建脚本的情况下将可执行文件的完整目标三元组作为编译时常量?

我正在编写一个 Cargo helper 命令,它需要知道 Rust/Cargo 使用的默认目标三元组(我认为它与主机的目标三元组相同)。理想情况下,它应该是一个编译时常量。

ARCH常数,但不是完整的三倍。例如,它不区分软浮点和硬浮点 ARM ABI。

env!("TARGET")将是理想的,但它仅用于构建脚本,而不是 lib/bin 目标。我可以使用build.rs动态源代码生成(将值写入 中的.rs文件OUT_DIR)将其传递给 lib ,但只是为了获得编译器无论如何都必须知道的一个字符串,这似乎是一种沉重的攻击。

有没有更直接的方法可以在用 Cargo 构建的 lib/bin 目标中获取当前目标三元组?

cross-compiling rust rust-cargo

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

适用于iPhone的网站 - 但其他平台呢?

我最近从css-tricks.com博客#38:iPhone设计的基础知识和技巧中完成了Chris Coyier教程.毋庸置疑,我非常兴奋,并向一个人建议我做一些代码猴工作,我们现在可以向他的客户提供iPhone网站.他说很酷,但其他移动设备呢?好问题.那么Android,Blackberry,WindowsMo​​bile等网站设计的低端是什么?人们是否在困扰其他平台?谢谢.

browser iphone mobile

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

使用Server-Sent事件广播消息

我想实现一个简单的Server-Sent事件应用程序,客户端监听这样的php文件

<script src="eventsource.js"></script>
<script>
  var es = new EventSource('../sse.php');

  es.onmessage = function (event) {
    var data = JSON.parse(event.data);
    console.log('msg: ' + event.data);
  };

  es.onopen = function () {
    console.log('connected');
  }
</script>
Run Code Online (Sandbox Code Playgroud)

但后来我需要能够广播一条消息,每个连接的客户端同时获取它.

php文件将被另一个请求触发,它会将一些SSE数据"回显"给所有客户端.

这可能吗?我可以采取另一条路线吗?

先感谢您

php sockets html5 broadcast server-sent-events

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

如何区分Cocoa中应用程序终止的不同原因?

我希望我的应用程序在退出之前要求确认,除非在关机或重启期间系统终止它(因为当OS X在午夜尝试应用安全更新时它会卡在"你确定吗?"消息框中) .

如何找到启动终止的内容?在[NSApp terminate:sender]发件人总是nil.

我的第一个想法是只在激活"退出"主菜单项时询问,但是用户也可以从Dock菜单终止应用程序或者在按住Cmd + Tab的同时按Cmd + Q,我想要求确认在这些情况下也是如此.

cocoa termination confirmation quit

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

如何将C可变长度数组代码转换为Rust?

我知道Rust不支持可变长度数组,但这让我想知道如何替换它们,因为:

  • 我不想在循环中分配和释放一个微小的Vec
  • 借用检查器不允许我在循环外移动代码
  • 固定大小的数组有很多限制,所以我无法弄清楚如何使用它们

我正在转换的C代码通过调用每行的回调来处理图像,传递一小部分指针:

float *tmp[img->channels]; // Small, up to 4 elements
for(int y = 0; y < height; y++) {
    for(int ch = 0; ch < img->channels; ch++) {
        tmp[ch] = &img->channel[ch]->pixels[width * y];
    }
    callback(tmp, img->channels);
}
Run Code Online (Sandbox Code Playgroud)

我的Rust尝试(例如在围栏):

for y in 0..height {
    let tmp = &img.channel.iter().map(|channel| {
        &mut channel.pixels.as_ref().unwrap()[width * y .. width * (y+1)]
    }).collect();
    callback(tmp);
}
Run Code Online (Sandbox Code Playgroud)

但它被拒绝了:

[&mut [f32]]无法通过迭代器在类型元素上构建类型集合&mut [f32]

可悲的是,这听起来就像我试图做的那样!

我尝试使用固定大小的数组,但Rust不支持泛型,所以我不能从迭代器填充它,我不能在类似C的循环中填充它们,因为引用了循环不会比它活得更久.

core::iter::FromIterator<&mut [f32]>该类型没有实现特征[&mut [f32]; 4]


从固定大小的数组中获取内存片段的另一种方法也失败了:

let …
Run Code Online (Sandbox Code Playgroud)

rust variable-length-array borrow-checker

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