我在节点上运行puppeteer@1.12.2时遇到此错误:8-slim容器.
完整的错误:
Error: Protocol error (Page.captureScreenshot): Target closed.
at Promise (/app/node_modules/puppeteer/lib/Connection.js:183:56)
at new Promise (<anonymous>)
at CDPSession.send (/app/node_modules/puppeteer/lib/Connection.js:182:12)
at Page._screenshotTask (/app/node_modules/puppeteer/lib/Page.js:903:39)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:189:7)
-- ASYNC --
at Page.<anonymous> (/app/node_modules/puppeteer/lib/helper.js:108:27)
at /app/test.js:9:15
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:189:7)
Run Code Online (Sandbox Code Playgroud)
js文件(受GoogleChrome/puppeteer/examples/screenshot.js启发):
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch({
headless: true,
args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-gpu', '--disable-dev-shm-usage']
});
const page = await browser.newPage();
await page.goto('http://google.com');
await page.screenshot({path: 'example.png'});
await browser.close();
})();
Run Code Online (Sandbox Code Playgroud)
Dockerfile(受Troubleshooting.md #running- puppeteer -in- docker的启发): …
我试图在Vagrantfile中设置端口转发以从主机系统连接到guest mysqld,但是得到reading initial communication packet
错误.主持人:Yosemite,嘉宾:Trusty,vagrant 1.7.4
Vagrantfile(主持人):
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 3306, host: 3309
Run Code Online (Sandbox Code Playgroud)
my.ini文件(游客):
bind-address = 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
8080转发就像一个魅力.
mysql -h127.0.0.1 -uroot -p
来自客人也工作.
mysql -h127.0.0.1 -P 3309 -uroot -p
来自主机结果有reading initial communication packet
错误.
当我从主机telnet时,连接立即关闭:
$ telnet localhost 3309
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)
当我从主机ssh到vagrant box时,端口转发工作:
$ssh vagrant@127.0.0.1 -p 2222 -L3308:localhost:3306
Run Code Online (Sandbox Code Playgroud)
然后我可以mysql -h127.0.0.1 -P3308 -uroot -p
毫无问题地从主机连接,我将其用作临时解决方法.
\ Phake :: captureAll返回连续调用中使用的参数数组.它可以与标量一起使用,或者在传递不同的对象时使用,但在使用相同的对象时不是很有用.对于数据映射器模拟,当CUT多次修改并持久化对象时,它经常发生.
在下面的例子中,我试图断言第一个$mock->fooWithArgument
是用预期的参数调用的,但是找不到这样做的方法:
public function testArgumentCapturingAllValls()
{
$mock = \Phake::mock('PhakeTest_MockedClass');
$obj1 = new \stdClass;
$obj1->bar = 1;
$mock->fooWithArgument($obj1);
$obj1->bar = 2;
$mock->fooWithArgument($obj1);
\Phake::verify($mock, \Phake::atLeast(1))->fooWithArgument(\Phake::captureAll($toArgument));
$this->assertEquals(1, $toArgument[0]->bar); //fails, as both elements point to the same instance
}
Run Code Online (Sandbox Code Playgroud) 我有一个集合,称为article_category
哪个商店都article_id
属于category_id
具有数据格式的类别.
集合1:article_category
{
"article_id": 2015110920343902,
"all_category_id": [5,8,10]
}
Run Code Online (Sandbox Code Playgroud)
然后我有其他收集称为article
哪个存储我的所有帖子
收集2:文章
{
"title": "This is example rows in article collection"
"article_id": 2015110920343902,
},
{
"title": "Something change"
"article_id": 2015110920343903,
},
{
"title": "This is another rows",
"article_id": 2015110920343904,
}
Run Code Online (Sandbox Code Playgroud)
现在,我想执行的MongoDB查询发现title
与regex
同时category_id
必须等于8
.这是我的查询,但不起作用.
db.article.aggregate(
{
$match:
{
title:
{
$regex: /example/
}
}
},
{
$lookup:
{
from: "article_category",
pipeline: [
{ $match: { category_id: 8 } } …
Run Code Online (Sandbox Code Playgroud) 有一个示例代码
<?php
$dt = new \DateTime();
$dt->setTimezone(new \DateTimeZone('Europe/London'));
$timestamp = 1351383400;
echo "$timestamp \n";
$dt->setTimestamp($timestamp);
echo $dt->getTimestamp();
Run Code Online (Sandbox Code Playgroud)
输出2个不同的时间戳1351383400(太阳,2012年10月28日01:16:40 + 0100,DST开关前)和1351387000(太阳,2012年10月28日01:16:40 +0000,1小时后,DST开关后)
问题是如何让Timestamp getter返回我之前传递给Timestamp setter 1行的完全相同的整数?
PHP 5.3.6
对于unittest
class SampleTest extends PHPUnit_Framework_TestCase
{
public function testBreakpoint()
{
$a = 18;
}
}
Run Code Online (Sandbox Code Playgroud)
断点5号线"$ a = 18;",
使用NO --process-isolation选项运行unittest可以按预期停止第5行的脚本执行.运行相同的配置WITH --process-isolation选项不会在第5行停止执行.
选项--process-isolation在https://github.com/sebastianbergmann/phpunit/blob/3.6/PHPUnit/Util/PHP.php中的runJob函数中使用'proc_open'运行新进程中的每个测试
使用调试器插件测试PhpStorm 3和vim 7.它允许调试PHPUnit本身,但不允许调试测试用例.
有没有办法使用Xdebug调试由PhpUnit创建的子进程?可能是Zend Debugger?
问题与仅使用react\stomp从RabbitMQ消耗N个消息非常相关,单独确认它们然后退出,但更一般.
例如,我的I/O操作很慢:
$port = 4000;
$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server($loop);
$socket->on('connection', function ($conn) use ($loop){
$conn->on('data', function ($data) use ($conn, $loop) {
if ($data == 42) {
// this instantly stop the loop
$loop->stop();
}
$process = new React\ChildProcess\Process('sleep 5; echo ' . $data);
$loop->addTimer(0.001, function($timer) use ($process, $conn) {
$process->start($timer->getLoop());
$process->stdout->on('data', function($output) use ($conn) {
if ($output) {
$conn->write("> $output");
}
});
});
});
});
echo "Socket server listening on port $port.\n";
echo …
Run Code Online (Sandbox Code Playgroud) 如何为@XmlList元素定义cdata和名称空间?
例如,如果我需要修改示例http://jmsyst.com/libs/serializer/master/reference/annotations#xmlnamespace中的 BlogPost 以具有多个作者:
use JMS\Serializer\Annotation as JMS;
/**
* @JMS\XmlNamespace(uri="http://example.com/namespace")
* @JMS\XmlNamespace(uri="http://www.w3.org/2005/Atom", prefix="atom")
* @JMS\XmlRoot("blog-post")
*/
class BlogPost
{
/**
* @JMS\Type("ArrayCollection<JMS\Serializer\Tests\Fixtures\Author>")
* @JMS\XmlList(inline = true, entry="author")
*
* replaced XmlElement(namespace="http://www.w3.org/2005/Atom") with XmlList
*/
private $author;
}
Run Code Online (Sandbox Code Playgroud)
具有类似以下内容的序列化xml:
<?xml version="1.0" encoding="UTF-8"?>
<blog-post xmlns="http://example.com/namespace" xmlns:atom="http://www.w3.org/2005/Atom">
<atom:author>
<full_name>Foo Bar></full_name>
</atom:author>
<atom:author>
<full_name>Baz Qux></full_name>
</atom:author>
</blog>
Run Code Online (Sandbox Code Playgroud)
对于单个@ XmlElement,cdata和名称空间都可以正常工作,但是@XmlList和@XmlCollection没有这样的功能。
有什么线索我应该在列表中的元素的注释处放置什么?
我正在使用 mongo 版本 3.4.3,我的文档存储在 mongo 中,如下所示 -
{
"_id" : ObjectId("5ad5ab8aaf2808b739ba6ab2"),
"ResumeId" : "105839064",
"ResumeDetails" : {
"WorkProfile" : [
{
"Company" : "XXXXXXXXX",
"JobTitle" : "YYYYY",
"JobSkills" : {
"CommonSkills": [],
"OtherSkills": []
}
},
{
"Company" : "XXXXXXXX",
"JobTitle" : "YYYYYY",
"JobSkills" : {
"CommonSkills" : [
ObjectId("5ad5ab860b94c96c738e914a")
],
"OtherSkills" : [
ObjectId("5ad5ab860b94c96c738e9146")
]
}
},
{
"Company" : "XXXXXXX",
"JobTitle" : "YYYY"
}
],
"AdditionalSkills" : {
"CommonSkills" : [
ObjectId("5ad5ab860b94c96c738e9175"),
ObjectId("5ad5ab860b94c96c738e91f0"),
ObjectId("5ad5ab860b94c96c738e9241"),
ObjectId("5ad5ab860b94c96c738e919b")
],
"OtherSkills" : …
Run Code Online (Sandbox Code Playgroud) mongodump
针对每秒写入多次的正在运行的服务器运行是否安全?是否有可能以这种方式损坏转储?
从这里:
用于
--oplog
在 mongodump 操作期间捕获传入的写入操作,以确保备份反映一致的数据状态。
这是否意味着无论数据库转储中有多少写入都会保持一致?
如果我mongodump --oplog
在凌晨1 点运行并在凌晨 2 点完成,那么我运行mongorestore --oplogReplay
会得到什么状态?
从这里:
但是,对于分片集群和副本集,使用
mongodump
和mongorestore
作为备份策略可能会出现问题。
但为什么?我有 1 个主要和 2 个次要的副本集。运行mongodump
中的次要问题是什么?它应该与主相同(复制滞后差异除外)。
我有包含标签字段的文档.它是一个简单的数组,里面有标记名,里面没有对象也没有_id.只是像这样的普通标签["Protocol", "Access", "Leverage", "Capability"]
.
在我的组管道中,我尝试了类似的东西'selectedTags': { $addToSet: '$tags' }
但最后我得到了一个包含标签数组的数组.我也是这样的$push
.
我尝试使用$each
或$pushAll
但不支持它们作为分组操作符,因为我的shell告诉我.
有人可以帮我这个吗?
谢谢
编辑:
示例文档:
{
"_id" : "HWEdDGsq86x4ikDSQ",
"teamId" : "AdLizGnPuqbWNsFHe",
"ownerId" : "Qb5EigWjqn2t3bfxD",
"type" : "meeting",
"topic" : "Grass-roots hybrid knowledge user",
"fullname" : "Guidouil",
"startDate" : ISODate("2017-07-30T09:00:05.513Z"),
"shareResults" : true,
"open" : true,
"language" : "fr",
"tags" : [
"Protocol",
"Challenge",
"Artificial Intelligence",
"Capability"
],
"isDemo" : true,
"createdAt" : ISODate("2017-11-15T19:24:05.513Z"),
"participantsCount" : 10,
"ratersCount" : 10,
"averageRating" …
Run Code Online (Sandbox Code Playgroud) 我想知道上限集合是否保留过期文档的索引?
从正常集合中删除文档会保留索引。
上限集合通过计时器删除文档,并且 根本不允许 db.collection.remove() 。
我在文档中找不到任何关于上限集合的索引会发生什么的文字,并且希望得到知道的人的帮助。