小编Tom*_*ica的帖子

你可以静态断言该对象可以转换为某种类型吗?

我目前正在为C++ 11开发一个控制台GUI库,只是为了简化一些调试和操作.

对于某个类的模板,我想确保在打印它之前可以将模板化类型转换为字符串.

例:

template<typename T>
class listbox {
private:
    std::vector<T> list;
    [...]

public:
    std::string print_item(T& item) { /* static_assert() here */}
}
Run Code Online (Sandbox Code Playgroud)

因此,在"静态断言"部分中,我想检查是否可以将项目转换为std::string(或者const char*也可以正常工作),所以问题很简单,如何从模板化类型断言转换?

我知道编译器/ ide会对不能识别它的类型做出反应,但我需要一个固定类型才能对字符串进行更多控制.

c++ templates c++11

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

通过网络工作者创建通知

关于通知的文章中, Mozzila 说:

注意:此功能在 Web Workers 中可用。

可以在没有任何警告的情况下创建 Worker

var worker = new SharedWorker('scripts/worker.js');
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在共享工作者中执行此操作时:

var notification = new Notification("Hi there!");
Run Code Online (Sandbox Code Playgroud)

它不起作用。Webworker 工作正常,它XMLHttpRequest可以从主线程读取数据并将消息推送到它,但不会出现通知。我无法调试它,因为控制台在 webworker 中不可用。在主线程中授予权限,通知也可在此处获得。

如果重要的话,我使用 Chrome47.0.2526.111 m进行开发和调试。我注意到即使 FB 选项卡关闭,Facebook 也会调用通知,所以我正在尝试实现类似的功能。

javascript browser notifications web-worker

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

如何在Android上检测SSL固定

我已经安装并配置sslsplit并生成了根证书,并将其添加到手机(Android)中.

如何检测SSL固定?

ssl android

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

如何在localhost和远程服务器上轻松管理Jekyll网页的不同基本URL?

在我的计算机上,我在URL上访问我的测试网页http://127.0.0.1:4000.在服务器上,它将在GitHub页面上,这意味着https://username.github.io/repo-name/.

_config.yml我看到以下相关设置:

# Uncomment if you are planning to run the blog in a subdirectory
# Note - if you enable this, and attempt to view your site locally you have to use the baseurl in your local path.
# Example, you must use http://localhost:4000/path/to/blog
#baseurl: /path/to/blog 
baseurl: 

# The URL of your actual domain. This will be used to make absolute links in the RSS feed.
url: http://yourdomain.com/
Run Code Online (Sandbox Code Playgroud)

所以对于GitHub服务器我需要它:

baseurl: /repo-name/
url: https://username.github.io/ …
Run Code Online (Sandbox Code Playgroud)

jekyll

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

以编程方式填写reactjs表单

我正在写一个用户脚本,我无法填写reactjs制作的表格.我的代码:

document.querySelector("#id-username").value = "name@domain.xx";
// Attempt to notify framework using input event
document.querySelector("#id-username").dispatchEvent(new Event("input", {data:"name@domain.xx"}));
// Attempt to notify framework using change event
document.querySelector("#id-username").dispatchEvent(new Event("change"));
// This doesn't help either
document.querySelector("#id-username").dispatchEvent(new Event("blur"));
// Submit the form using button (it's AJAX form)
document.querySelector("fieldset div.wrap button").click();
Run Code Online (Sandbox Code Playgroud)

我在加载页面后将此代码输入到开发工具控制台中.然而,表格忽略了我的编程输入:

图片描述

表格可以在这里找到.我的工作目的是自动登录到给定的网站.我提供了特定的URL,但我期望这个问题的通用解决方案(例如,使用一些reactjs API)可以应用于任何reactjs表单.其他用户可能需要此解决方案来为其站点编写自动化测试.

javascript greasemonkey userscripts reactjs

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

如何从std :: vector创建QList

QList::fromStdList允许您创建QListstd::list.但如何建立QListstd::vector

当然,除了手动循环:

QList<T> myList;
myList.reserve(vector.size());
for(size_t i = 0, l = vector.size(); i < l; ++i)
    myList << vector[i];
Run Code Online (Sandbox Code Playgroud)

c++ arrays containers stdvector qlist

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

IDBObjectStore.createIndex()中keyPath的用途是什么?

我一直在阅读有关MDN的内容,但是却得到如下内容

keyPath
要使用的索引的关键路径。注意,可以创建一个带有空值的索引keyPath,也可以将序列(数组)作为a传递keyPath

好吧,没有s @!t keyPath是关键路径。那是什么

在所有示例中,它与列名(或称其为索引)相同:

  objectStore.createIndex("hours", "hours", { unique: false });
  objectStore.createIndex("minutes", "minutes", { unique: false });
  objectStore.createIndex("day", "day", { unique: false });
  objectStore.createIndex("month", "month", { unique: false });
  objectStore.createIndex("year", "year", { unique: false });
Run Code Online (Sandbox Code Playgroud)

他们说您可以通过:

  • 空字符串- ""
  • 有效的JavaScript标识符(我认为这意味着有效的JS变量名称)
  • 多个JavaScript标识符,以句点分隔,例如: "name.name2.foo.bar"
  • 包含以上任何一个的数组,例如: ["foo.bar","","name"]

我无法想象这有什么目的。我绝对不明白这keyPath是什么,我可以用它做什么。有人可以提供示例用法,keyPath而不是列名吗?解释值keyPath对数据库有什么影响?

javascript indexeddb ecmascript-6 idbobjectstore

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

如何告诉 webpack 忽略节点模块,包括核心模块和从 npm 安装的模块?

我需要打包一个用 webpack 编写的模块并用 babel 进行转译。但是我不想打包任何东西node_modules。另外,Node.js 核心模块不应打包。

我收到核心模块的这些错误:

ERROR in ./node_modules/tunnel-agent/index.js
Module not found: Error: Can't resolve 'net' in '...project path...\node_modules\tunnel-agent'
 @ ./node_modules/tunnel-agent/index.js 3:10-24
 @ ./node_modules/request/lib/tunnel.js
 @ ./node_modules/request/request.js
 @ ./node_modules/request/index.js
Run Code Online (Sandbox Code Playgroud)

很明显,webpack 正在抓取节点模块,这是我不想要的。它还显然尝试加载诸如net和 之类的模块fs等模块。

如何阻止这种情况,并且只打包和转译我自己的代码?

我的配置:

const path = require('path');
module.exports = {
    entry: './serverless_function.js',
    output: {
        path: path.resolve('dist'),
        filename: 'serverless_packed.js'
    },
    module: {
        loaders: [
            { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ },
            { test: /\.jsx$/, loader: 'babel-loader', exclude: /node_modules/ }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要打包我的无服务器函数,以便与在 …

amazon-web-services node.js npm webpack babeljs

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

如何找出阻碍 Node.js 退出的原因?

我在编写各种 Node.js 脚本时经常遇到这个问题。一切完成后,他们并没有退出。通常,它是一个未封闭的套接字或 readline 接口。

当脚本变得更大时,这真的很难发现。有没有某种工具可以告诉我 NodeJS 还在等什么?我正在寻求一个通用的解决方案,该解决方案将有助于调试 NodeJS 在应该退出时未退出的所有情况。

样品:

图表 I. - 即使在侦听器被删除后,进程标准输入也会阻塞节点

const readline = require('readline');
readline.emitKeypressEvents(process.stdin);
if (typeof process.stdin.setRawMode == "function")
    process.stdin.setRawMode(true);


const keypressListener = (stream, key) => {
    console.log(key);
    process.stdin.removeListener("keypress", keypressListener);
}
process.stdout.write("Press any key...");
process.stdin.on("keypress", keypressListener);
Run Code Online (Sandbox Code Playgroud)

图表二。-readline如果您忘记关闭界面,则会阻塞 Node

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
Run Code Online (Sandbox Code Playgroud)

图表三。- 忘记setInterval也会阻塞节点,祝你好运找到它

setInterval(() => { }, 2000);
Run Code Online (Sandbox Code Playgroud)

javascript debugging event-loop node.js

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

未定义:调用 XSLTProcessor.prototype.importStylesheet 时出现未定义错误

我想美化一些 XML,我发现了以下代码(在这个答案中JSFiddle)。我这样修改:

const xsltDoc = new DOMParser().parseFromString([
    // describes how we want to modify the XML - indent everything
    '<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">',
    '  <xsl:output omit-xml-declaration="yes" indent="yes"/>',
    '    <xsl:template match="node()|@*">',
    '      <xsl:copy><xsl:apply-templates select="node()|@*"/></xsl:copy>',
    '    </xsl:template>',
    '</xsl:stylesheet>',
].join('\n'), 'application/xml');
function prettifyXml(sourceXml) {
    var xmlDoc = new DOMParser().parseFromString(sourceXml, 'application/xml');
    var xsltProcessor = new XSLTProcessor();
    // Error happens here:
    xsltProcessor.importStylesheet(xsltDoc);
    var resultDoc = xsltProcessor.transformToDocument(xmlDoc);
    var resultXml = new XMLSerializer().serializeToString(resultDoc);
    return resultXml;
};
Run Code Online (Sandbox Code Playgroud)

运行代码时出现错误,但错误没有任何消息。在 Firefox 控制台中看起来像这样:

在此输入图像描述

这是我在调试器中看到的:

在此输入图像描述

该错误也确实发生在原始答案的小提琴中。我想知道这是什么类型的错误以及如何修复它。

我包含 Firefox 标签,因为我认为这不是正常的浏览器行为。我的版本是61.0.2(64位)。

javascript xslt firefox domparser

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