小编Eye*_*Eye的帖子

在浏览器中键入URL时会发生什么

从我在浏览器中输入URL到浏览器上的页面时,有人能告诉我幕后发生的一切吗?详细介绍该过程将有很大帮助.

browser

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

如何在Node.js中一次将一个可读流传输到两个可写流中?

目标是:

  1. 创建文件读取流.
  2. 把它管到gzip(zlib.createGzip())
  3. 然后将zlib输出的读取流传输到:

    1)HTTP response对象

    2)可写文件流以保存gzip压缩输出.

现在我可以做到3.1:

var gzip = zlib.createGzip(),
    sourceFileStream = fs.createReadStream(sourceFilePath),
    targetFileStream = fs.createWriteStream(targetFilePath);

response.setHeader('Content-Encoding', 'gzip');

sourceFileStream.pipe(gzip).pipe(response);
Run Code Online (Sandbox Code Playgroud)

...工作正常,但我还需要将gzip压缩数据保存到文件中,这样我就不需要每次都重新压缩,并能够直接将gzip压缩数据作为响应流.

那么如何在Node中一次将一个可读流传输到两个可写流中?

sourceFileStream.pipe(gzip).pipe(response).pipe(targetFileStream);在节点0.8.4工作?

gzip zlib gzipstream node.js node.js-stream

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

将div设置为其兄弟宽度

我正在寻找以下的CSS解决方案: -

<div style="display:inline;">
     <div>The content of this div is dynamically created but will always be wider than
              the below div. 
     </div>
     <div> Need this div to have the same width as the above div.
     </div>
</div>
Run Code Online (Sandbox Code Playgroud)

包装器div具有内联显示并按预期工作,两个子div都具有动态生成的内容.我需要底部采取前一个兄弟的宽度.

非常感谢您提前提出的任何建议.

html css html5 css3

26
推荐指数
4
解决办法
2万
查看次数

主厨`include_recipe`是否可以指示`only_if`/not_if`条件?

我希望满足include_recipe only_if一些条件.以下代码不会引发任何错误,但它也不关心only_if条件,因此在任何情况下都会执行:

include_recipe "cubrid" do
    only_if "hostname | grep 'blahblahshouldnotmatch'"
end
Run Code Online (Sandbox Code Playgroud)

是否有可能include_recipe仅在某些条件下?

chef-infra

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

如何捕获event.keyCode并将其更改为另一个keyCode?

我在这里检查了其他问题,但他们没有回答我的问题.我想简单地捕获某些keyCode并将其替换为另一个.我正在处理角色,而不是白色空间,我不需要松散焦点等.

以下是我的代码.但是你可以用你的那些替换那些keyCodes(例如,当按下大写"A"时,它应该替换为零0等).想法是替换keyCode.

phrase.keypress(function(event)
{
    if (event.shiftKey)
    {
        switch (event.keyCode)
        {
            // Cyrillic capitalized "?" was pressed
            case 1053: event.keyCode = 1187; event.charCode = 1187; event.which = 1187; break;
            // Cyrillic capitalized "?" was pressed
            case 1054: event.keyCode = 1257; event.charCode = 1257; event.which = 1257; break;
            // Cyrillic capitalized "?" was pressed
            case 1059: event.keyCode = 1199; event.charCode = 1199; event.which = 1199; break;
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

我也试过keydown和keyup.它们不会改变keyCode.我怎样才能做到这一点?

PS如果可能的话,我正在寻找一种解决方案,它不会"event.preventDefault()并手动将所需的键插入输入字段,然后将光标移动到末尾".我想要更清洁和"正确"的解决方案.谢谢.

javascript jquery keycode

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

为什么浏览器在刷新时会为同一页面发送两个请求?

我创建了一个简单的 Node.js 应用程序,它记录request.url每个传入 HTTP 请求的当前信息。当我在 Mac OS X ML 上的 Chrome 中刷新页面时,我收到了对同一页面的两个请求。为什么?

相比之下,当我使用curl并请求同一页面时,我只收到一个请求。如果我在 Safari 中刷新页面,同样的一个请求。

为什么 Chrome 会为同一个页面发送两个请求?

编辑:我查看了request.headers并发现了一个区别:accept标题。

这是第一个请求的标头。请注意,它接受特定 mime 列表。

{ host: 'www.pulsr.local:1337',
  connection: 'keep-alive',
  'cache-control': 'max-age=0',
  accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',
  'accept-encoding': 'gzip,deflate,sdch',
  'accept-language': 'en-US,en;q=0.8',
  'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
  cookie: 'PULSRSESSID=BBtDAWMVgbQZ8lXA6wv4Wg/vwwI=; PULSRSESSID=dsGxP494UxJueit2/u79AFiM5fw=' }
Run Code Online (Sandbox Code Playgroud)

这是第二个请求。这一次它接受一切

{ host: 'www.pulsr.local:1337',
  connection: 'keep-alive',
  'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac …
Run Code Online (Sandbox Code Playgroud)

browser networking google-chrome http request

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

如何在执行时读取文件内容?厨师在编译时读取

因为我遇到了我向Mixlib团队报告的MIXLIB-11错误,我需要找一个散步,替代Mixlib :: Shellout.

简要说明问题:

是一个声明"*毫不奇怪 - 读取是在编译时发生的,但remote_file资源实际上在执行时创建的.**"

由于此功能,Mixlib::Shellout.new("ls", :cwd => '/opt/cubrid/share/webmanager')引发" 无此类文件或目录 "错误,即使该目录是在执行时由此当前配方中包含的先前配方创建的.

有没有办法在执行时读取文件/目录?

ruby io chef-infra

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

PHP致命错误:找不到类'AMQPConnection'

我已经看过这个问题.它表明没有安装AMQP PECL扩展.但是,我已经成功安装了RabbitMQ以及内置的PECL AMQP扩展.以下是phpinfo()的输出.

phpinfo()输出显示AMQP扩展配置

您可以清楚地看到,AMQP已正确加载.但是,当我尝试建立连接时,它表示PHP致命错误:找不到类'AMQPConnection'.下面是代码.

$connection = new AMQPConnection();
Run Code Online (Sandbox Code Playgroud)

这是输出.

user@ubuntu:~$ php repos/default/test.php
PHP Fatal error:  Class 'AMQPConnection' not found in /home/user/repos/default/test.php on line 5
Run Code Online (Sandbox Code Playgroud)

为什么会这样?有什么建议?谢谢.

php amqp rabbitmq

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

如何用npm重建节点模块?

我是Node的初学者,所以也许我的问题可能很天真,抱歉.

我和Grunt一起创建了我的第一个项目.

Grunt使用Node,所以现在node_modules我的项目根目录中有一个很好的文件夹,里面有几个模块.一切都很好.

我加入node_modules/*了我.gitignore,假设我可以从另一个地方轻松地重建它.

然后我回家,用git检索我的项目,现在我不知道如何重建节点模块.

是否有npm可读的命令package.json

git node.js gruntjs

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

如何使用Mocha测试集群Express应用程序?

以下是我的集群Express应用程序的简化版本:

/index.js

module.exports = process.env.CODE_COV
    ? require('./lib-cov/app')
    : require('./lib/app');
Run Code Online (Sandbox Code Playgroud)

/lib/app.js

var cluster = require('cluster'),
    express = require('express'),
    app = module.exports = express.createServer();

if (cluster.isMaster) {
    // Considering I have 4 cores.
    for (var i = 0; i < 4; ++i) {
        cluster.fork();
    }
} else {
    // do app configurations, then...

    // Don't listen to this port if the app is required from a test script.
    if (!module.parent.parent) {
        app.listen(8080);
    }
}
Run Code Online (Sandbox Code Playgroud)

/test/test1.js

var app = require('../');

app.listen(7777);

// send …
Run Code Online (Sandbox Code Playgroud)

node.js express

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