std::forward当我将它们用作参数时,我应该使用我的函数参数std::forward_as_tuple吗?
template<class ... List>
void fn(List&& ... list){
// do I need this forward?
call_fn( forward_as_tuple( forward<List>(list)... ) );
}
Run Code Online (Sandbox Code Playgroud)
我知道它们将被存储为右值引用,但还有什么我应该考虑的吗?
我们最近更新了我们的日志记录以使用Azure表存储,由于它在行和分区查询时非常适合于此目的而具有低成本和高性能.
我们正在尝试遵循为Azure表存储设计可扩展分区策略文档中给出的准则.由于我们正在为此表格进行大量插入(并且希望随着我们的扩展而增加数量),我们需要确保不会达到我们的限制,从而导致日志丢失.我们的设计结构如下:
我们在每个环境(DEV,TEST,PROD)上都有一个Azure存储帐户.
我们每个产品都有一张桌子.
我们对Row Key使用TicksReversed + GUID,这样我们就可以在特定时间内以高性能查询结果块.
我们最初选择使用Logger对表进行分区,对于我们来说,这是产品的广泛领域,如API,应用程序,性能和缓存.然而,由于分区数量较少,我们担心这导致所谓的"热"分区,其中在给定时间段内在一个分区上执行了许多插入.所以我们改为上下文分区(对我们来说,类名或API资源).
然而,在实践中我们发现这不太理想,因为当我们一目了然地查看我们的日志时,我们希望它们按时间顺序出现.我们最终会得到按上下文分组的结果块,如果我们想按时间排序,我们必须得到所有分区.
我们有一些想法
使用时间块(比如1小时)分区键按时间排序(导致热分区1小时)
使用一些随机的GUID进行分区键尝试分发日志(我们无法快速查询Context等功能).
由于这是Azure表存储的常见应用程序,因此必须有某种标准过程. 分区用于存储日志的Azure表的最佳做法是什么?
使用便宜的Azure存储(表存储似乎是显而易见的选择)
快速,可扩展的写入
丢失日志的可能性很小(即,超过Azure表存储中每秒2000个实体的分区写入速率).
阅读按日期排序,最近一次.
如果可能的话,对可能对查询有用的东西进行分区(例如产品区域).
我正在将图像从jpg转换为png,但它正在给出错误.下面是代码和错误.
gm('E:/image1.jpg').write('E:/image2.png', function(err){
if (err){
console.log(err);
} else{console.log('image converted.')}
})
Run Code Online (Sandbox Code Playgroud)
错误是:
[Error: Could not execute GraphicsMagick/ImageMagick: gm "convert" "E:/image1.jpg" "E:/image2.png" this most likely means the gm/convert binaries can't be found]
Run Code Online (Sandbox Code Playgroud)
我需要npm graphicsmagick和imagemagick吗?
我正在使用Spark 1.4版和Cassandra 2.18运行Spark工作.我从主人那里telnet,它适用于cassandra机器.有时工作运行正常,有时我得到以下异常.为什么有时会发生这种情况?
"线程中的异常"main"org.apache.spark.SparkException:作业因阶段失败而中止:阶段0.0中的任务0失败4次,最近失败:阶段0.0中丢失任务0.3(TID 7,172.28.0.162): java.io.IOException:无法在{172.28.0.164}打开与Cassandra的本机连接:9042 at com.datastax.spark.connector.cql.CassandraConnector $ .com $ datastax $ spark $ connector $ cql $ CassandraConnector $$ createSession( CassandraConnector.scala:155)"
它有时也会给我这个例外以及上面的例外:
引起:com.datastax.driver.core.exceptions.NoHostAvailableException:所有尝试查询的主机都失败了(尝试:/172.28.0.164:9042(com.datastax.driver.core.TransportException:[/ 172.28.0.164: 9042]连接已关闭))
我有一个MongoDB数据库,其中有一个名为的集合fooCollection.该集合中包含文档,其中包含边界多边形的地理空间数据.我在我的应用程序中使用C#MongoDB驱动程序.我注意到它没有查找具有某些空间查询的文档,尽管它适用于大多数文档.我删除了除了一个违规文档之外的集合,我试图通过直接执行查询来找到它.
我的文档看起来像这样:
{
"_id" : UUID("12345678-62d9-4024-86dc-123456789012"),
"polygon" : {
"type" : "Polygon",
"coordinates" : [ [
[ 18.414846, -33.9699577 ],
[ 18.414846, -26.0991189 ],
[ 31.0330578, -26.0991189 ],
[ 31.0330578, -33.9699577 ],
[ 18.414846, -33.9699577 ]
] ]
},
"foo": "bar"
}
Run Code Online (Sandbox Code Playgroud)
我在该集合上也有这个索引:
[
1,
{
"polygon" : "2dsphere"
},
"polygon_2dsphere",
"data.fooCollection",
3
]
Run Code Online (Sandbox Code Playgroud)
以下查询正确返回此文档:
db.getCollection('fooCollection').find( {
"polygon": {
$geoIntersects: {
$geometry: {
type: "LineString",
coordinates: [[24.7698287, -28.7353533],[28.0423, -26.19793]]
}}}})
Run Code Online (Sandbox Code Playgroud)
但是,此查询不会:
db.getCollection('fooCollection').find( {
"polygon": {
$geoIntersects: {
$geometry: …Run Code Online (Sandbox Code Playgroud) 假设我将www.abc.com放入浏览器,浏览器会自动重定向到www.xyz.com.我需要从服务器端获取该重定向URL.也就是说,如果www.abc.com返回重定向网址www.xyz.com,我该如何从原始网址(www.abc.com)请求此重定向网址(www.xyz.com)?
我有一些调用Rotativa的代码,它调用了wkhtml2pdf.我怀疑从行为中我看到wkhtml2pdf.exe导致损坏的状态异常(CSE)被抛出.我想抓住并记录CSE,如果抛出,我可以追踪它发生的位置.
当我在调试器中让应用程序一夜之间运行时,当我回来时VS已关闭.有时它已重新启动,有时不会.怀疑内存腐败我开始研究并偶然发现CSE处理.
我正在做这样的事情:
[HandleProcessCorruptedStateExceptions]
void DoStuff()
{
try
{
DOThatThingThatMakesTheDebuggerHaltAndShutDown();
}
catch(Exception ex)
{
//how do I detect that it's a CSE in here, so I can log it especially blatantly
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法检测例外是否是General Catch中的CSE?
我看到一个kludge,他们有2个一般的例外条款.内部的不处理CSE并设置标志.如果在没有旗帜的情况下调用外部,那么它就是CSE,但我希望能有更清洁的东西.我想做的是记录这个糟糕的状态,然后将它传递给应用程序以正常冒泡.
当我查看事件日志中导致VS2013失败的错误时,我得到了这个:
应用程序:devenv.exe Framework版本:v4.0.30319描述:由于未处理的异常,进程已终止.异常信息:异常代码0000005,异常地址4DA44C1F堆栈:在Microsoft.VisualStudio.Debugger.Clr.NativeDkmClrModuleInstance.ProcF4BC786AEBAC294EE9C4C0BB1B0F56A7(IntPtr的,IntPtr的为ByRef)在Microsoft.VisualStudio.Debugger.Clr.DkmClrModuleInstance.GetMetaDataImport()在Microsoft.IntelliTrace.Concord Microsoft.IntelliTrace.Concord.Integration.CpdeNotifyPointServiceAdapter.InstallBreakpoint中的.MetadataHelper..ctor(Microsoft.VisualStudio.Debugger.Clr.DkmClrModuleInstance)(Microsoft.VisualStudio.Debugger.Clr.DkmClrModuleInstance,Microsoft.VisualStudio.Debugger.Interop.Internal.NP_INSTALL_REQUEST )
在Microsoft.IntelliTrace.Concord.Integration.CpdeNotifyPointServiceAdapter.BindToModule(Microsoft.VisualStudio.Debugger.Clr.DkmClrModuleInstance)在Microsoft.IntelliTrace.Concord.IntelliTraceProcessState.AlertModuleLoad(Microsoft.VisualStudio.Debugger.DkmModuleInstance)在Microsoft.IntelliTrace.Concord. NotifyPoints.NotifyPointManager.OnModuleInstanceLoad(Microsoft.VisualStudio.Deb Microsoft.VisualStudio.Debugger.EntryPoint.IDkmModuleInstanceLoadNotification_OnModuleInstanceLoad(IntPtr,IntPtr,IntPtr,IntPtr)中的ugger.DkmModuleInstance,Microsoft.VisualStudio.Debugger.DkmWorkList,Microsoft.VisualStudio.Debugger.DkmEventDescriptorS)
接下来是这样的:
错误应用程序名称:devenv.exe,版本:12.0.30501.0,时间戳:0x5361f453错误模块名称:vsdebugeng.impl.DLL,版本:12.0.30501.0,时间戳:0x5361f482异常代码:0xc0000005错误偏移量:0x00094c1f错误进程ID: 0x1c9c错误应用程序启动时间:0x01cfe7cc0cf50465错误应用程序路径:C:\ Program Files(x86)\ Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe错误模块路径:C:\ Program Files(x86)\ Microsoft Visual Studio 12.0\Common7\Packages\Debugger\vsdebugeng.impl.DLL报告ID:097b17c6-5438-11e4-8409-001f2904053c
我的end2end测试有问题.有时他们通过没有任何问题,但三分之二的时间他们失败.我使用以下代码的量角器:
describe('Admin dashboard delete Exports', function () {
it('create export', function () {
browser.get(e2GUrl + '/admin/studies');
ptor.wait(function() {
return ptor.isElementPresent(by.id('export'));
}, 5000, 'wait for study list page to be loaded.');
element(by.id('export')).click();
});
Run Code Online (Sandbox Code Playgroud)
HTML(请注意,此元素是可见的,并且不会被ng-if或ng-show隐藏):
<ul>
<li data-ng-repeat="study in studies">
<div data-ng-controller="ExportController" class="btn-group">
<a id="export" class="btn btn-small dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fw-icon fw-icon-cloud-download"></i>Export
<span class="caret"></span>
</a>
<ul class="dropdown-menu export-list">
<li class="excel"><a data-ng-click="excel(study.Code)">Export to Excel</a>
</li>
</ul>
</div>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我收到错误:
E2E:管理仪表板删除导出创建导出消息:NoSuchElementError:找不到使用定位器找到的元素:By.id("export")
“参考像素”是什么意思,它和“硬件像素”有什么区别?是“CSS 像素”还是另一回事?参考像素如何增强智能手机上的网页浏览量?
我们正在使用Ionic框架开发android应用程序.
当我们点击输入文本框时,我们需要显示下一个按钮而不是返回按钮.在原生Android API中,我们可以选择显示下一个按钮.但在Ionic框架工作中,我们没有显示下一个按钮的选项.
如果选择输入文本框字段,如何在软键盘中添加下一个按钮?
c# ×3
android ×1
angularjs ×1
apache-spark ×1
asp.net ×1
azure ×1
c++ ×1
c++11 ×1
cassandra ×1
css ×1
e2e-testing ×1
exception ×1
geojson ×1
geospatial ×1
imagemagick ×1
ionic ×1
javascript ×1
logging ×1
mongodb ×1
node.js ×1
partitioning ×1
pixel ×1
protractor ×1
templates ×1
tuples ×1