小编Pro*_*rof的帖子

我的枚举不是类或命名空间

嗨,我有名为MyCode.h和MyCode.cpp的文件

在我已经声明的MyCode.h中

enum MyEnum {Something = 0, SomethingElse = 1};

class MyClass {

MyEnum enumInstance;
void Foo();

}; 
Run Code Online (Sandbox Code Playgroud)

然后在MyCode.cpp中:

#include "MyCode.h"

void MyClass::Foo() {
    enumInstance = MyEnum::SomethingElse;
}
Run Code Online (Sandbox Code Playgroud)

但是当用g ++编译时,我得到错误'MyEnum'不是类或命名空间......

(在MS VS2010中工作正常,但不是linux g ++)

有任何想法吗?谢谢托马斯

c++ enums g++ c++11

59
推荐指数
3
解决办法
5万
查看次数

重新关联visual studio 2012的文件类型

我已经暂时安装了2012,但我还必须安装VS 2010.正如预期的那样,我所有的文件关联现在都指向VS2010并且图标不是那么直观.如果不通过资源管理器菜单手动执行每个文件,如何快速恢复/更改关联到VS2012?

file associations visual-studio-2010

22
推荐指数
1
解决办法
9354
查看次数

错误在./~/react-tap-event-plugin/src/injectTapEventPlugin.js

在这里反应菜鸟.尝试克隆并运行https://github.com/strangebnb/react-airbnb

克隆.运行npm install.然后webpack,但我明白了

ERROR in ./~/react-tap-event-plugin/src/injectTapEventPlugin.js
Module not found: Error: Cannot resolve module 'react/lib/EventPluginHub' in /Users/thomas/tom/node_modules/react-tap-event-plugin/src
 @ ./~/react-tap-event-plugin/src/injectTapEventPlugin.js 23:2-37

ERROR in ./~/react-tap-event-plugin/src/TapEventPlugin.js
Module not found: Error: Cannot resolve module 'react/lib/EventConstants' in /Users/thomas/tom/node_modules/react-tap-event-plugin/src
 @ ./~/react-tap-event-plugin/src/TapEventPlugin.js 22:21-56

ERROR in ./~/react-tap-event-plugin/src/TapEventPlugin.js
Module not found: Error: Cannot resolve module 'react/lib/EventPluginUtils' in /Users/thomas/tom/node_modules/react-tap-event-plugin/src
 @ ./~/react-tap-event-plugin/src/TapEventPlugin.js 23:23-60

ERROR in ./~/react-tap-event-plugin/src/TapEventPlugin.js
Module not found: Error: Cannot resolve module 'react/lib/EventPropagators' in /Users/thomas/tom/node_modules/react-tap-event-plugin/src
 @ ./~/react-tap-event-plugin/src/TapEventPlugin.js 24:23-60

ERROR in ./~/react-tap-event-plugin/src/TapEventPlugin.js
Module not found: Error: Cannot resolve module 'react/lib/SyntheticUIEvent' in …
Run Code Online (Sandbox Code Playgroud)

reactjs

13
推荐指数
3
解决办法
8118
查看次数

在 Postgres 中生成 UUID

我的表使用 UUID 值。我正在使用 SQL SQLWorkbench/J 插入行,但我不知道如何在执行 SQL 时生成 UUID INSERT INTO (-want-to-generate-uuid-here, '5', 'some value')。有没有办法使用 SQLWorkBench/J 生成 UUID?

谢谢

sql postgresql uuid

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

无法运行RSpec(未初始化的常量用户(NameError)

尝试运行bundle exec rspec spec/models/user_spec.rb但未能执行(参见下面的错误).

user_spec.rb的内容:

require 'rails_helper'

describe User do
  pending "add some examples to (or delete) #{__FILE__}"
end
Run Code Online (Sandbox Code Playgroud)

如果我删除最后3行,则完成0个示例和0个失败.但是,当最后3行存在时,会产生错误

/spec/models/user_spec.rb:4:in `<top (required)>': uninitialized constant User (NameError)
    from /var/lib/gems/1.9.1/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:1057:in `load'
    from /var/lib/gems/1.9.1/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:1057:in `block in load_spec_files'
    from /var/lib/gems/1.9.1/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:1057:in `each'
    from /var/lib/gems/1.9.1/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:1057:in `load_spec_files'
    from /var/lib/gems/1.9.1/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:97:in `setup'
    from /var/lib/gems/1.9.1/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:85:in `run'
    from /var/lib/gems/1.9.1/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:70:in `run'
    from /var/lib/gems/1.9.1/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:38:in `invoke'
    from /var/lib/gems/1.9.1/gems/rspec-core-3.0.3/exe/rspec:4:in `<top (required)>'
    from /usr/local/bin/rspec:23:in `load'
    from /usr/local/bin/rspec:23:in `<main>'
Run Code Online (Sandbox Code Playgroud)

它似乎不知道用户是什么,并将其视为常量,而这实际上是一个模型.我已经在ruby沙箱中验证了我可以在数据库中创建新用户.有任何想法吗?


答:从.rspec中删除--warnings后(感谢kirti),目前的错误是关于水豚版本太低(需要2.2).安装最新版本(修改gemfile和bundle install)后,rspec似乎正在正确执行.感谢大家的意见.

ruby rspec-rails ruby-on-rails-4

6
推荐指数
2
解决办法
9413
查看次数

触摸 git 存储库中的所有文件,以便 git 认为它们是更改

我需要“触摸”(我认为)我的 git 存储库(很多文件)中的所有文件,以便运行 git status 将对它们进行修改(然后我可以添加并提交它们)。我需要这样做,因为我们的内部工具使用 git commit 中的文件来生成报告......我被要求这样做

在 posix 环境中,我想我可以直接触摸一个目录并从那里开始。

windows git

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

尽管启用了本机代码调试,但无法从托管调试本机代码

我有一个托管项目(.net 4.6.2),它调用本机 dll。如果我在本机代码中放置一个断点,它就会命中它,但是如果我尝试检查堆栈变量,我会得到一个相当烦人的结果

检查非托管类型“MyTypeInHere*”需要启用非托管调试。请将调试器类型设置为“混合”,然后重试

我按照https://learn.microsoft.com/en-us/visualstudio/debugger/how-to-debug-management-and-native-code?view=vs-2019中的步骤进行操作,在调试托管代码时调试非托管代码,但是我仍然无法检查类型。

在托管项目属性中,在“调试”下我已启用enable native code debugging,在“构建”页面下我已检查allow unsafe code。此外,在 launchSettings.json 中,我有"nativeDebugging": true

另请注意,在本机项目属性设置中,我已将调试器类型设置为mixed.

有谁知道是什么阻止我调试本机代码?

谢谢

mixed-mode visual-studio-debugging

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

DynamoDB 是否适合我需要访问记录和摘要(聚合)信息的每天 100 万事件的场景

来自 C 世界的软件工程师闯入云空间。我试图了解我是否可以将 DynamoDB 用于我的所有场景需求,如果我根本不应该使用它,或者我是否应该将 DynamoDB 用于某些场景然后卸载到另一个数据库(可能是更传统的 RDMS)以用于其他场景。

我有一堆机器向我的 AWS API 发送遥测数据。我目前的想法是将这些事件放在 DynamoDB 表中。在第一年,我预计每天表中总共有大约 100 万个新条目(平均 > 10 个每秒),峰值时间接近每秒 100 个事件。遥测事件的大小将为 0.5-1KB。首先,我只想捕获每个遥测数据并记录下来。这大约是每天 1GB。

我会使用 RDMS,但我担心 ACID 属性,随着数据库大小的增长,我们每秒有 10 到 100 次写入,数据库访问将显着减慢。我的担心是否正确,或者传统的 RDMS 是否适合我的需求?我不觉得我需要 RDMS 的原子保证(我可以接受最终的一致性),尤其是对于读取/聚合查询。

我在想我的主键是机器 ID(分区)和时间 unix 毫秒纪元(排序键)之间的复合键。这应该支持关键场景场景,例如检索特定时间范围和一组机器的所有遥测事件列表。

但是,我还希望做其他事情,例如能够获取各种遥测事件的每日总数,例如触发机器传感器的次数(即计数)。或者列出一组机器的温度高于某个值时记录的所有遥测事件。遥测事件是异构的 - 有许多类型,例如温度、触发等,我需要能够针对给定的一组机器 ID 和时间窗口快速过滤特定类型的遥测事件。

所以你可以想象我的一个查询可能看起来像“对于这个时间窗口和这组机器,列出记录了超过 70 度的温度的所有温度(类型)遥测事件”。前 2 个约束来自我的分区 (machineId) 和排序键 (time),但后一个将查询温度和值大于 70 的所有遥测类型。这是我约束的 4 个字段。我是否应该接受可以查询 machineId 和 time 的现实,但必须从该查询返回的结果中扫描遥测类型和值?

此外,这个 dynamodb 表摄取遥测数据,但前端需要提供诸如上次接收遥测事件、上次机器服务时间、特定遥测事件的每日计数等事物的摘要信息。我不想每次在前端重新加载摘要页面时都重新查询它们。是否应该在遥测到达时计算这些聚合,然后将其存储在单独的表中(或者,如果性能需要,可以在内存中类似于 redis)。这在技术上是流处理吗?

我在网上读到好的设计通常只使用一张桌子(单桌设计),但我发现很难理解如何到达那里。在我希望能够查看单个遥测事件但也可以快速访问聚合信息的场景中,这可能没有意义。

写出这个问题后,这是我的直觉现在告诉我的:

  1. 使用 dynamodb
  2. 在您摄取遥测事件时,为最常见的用户场景(每小时、每天、每周、每月总计)创建聚合并将它们存储在某处以便快速访问。在此处调查流处理和/或运动。
  3. 对于需要聚合的不太常见的用户场景,请使用另一种技术,如 Redshift、Athena

谢谢,托马斯

data-modeling amazon-web-services amazon-dynamodb aws-iot

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

使用ForEach lambda修改列表中的元素

我想过滤一个字符串数组:

string[] args
Run Code Online (Sandbox Code Playgroud)

从命令行,例如:" - command1 xy -command2 ab -command3 c d"

在开头用" - "表示所有单词,然后将这些单词转换为大写.

var commands = args.Where(x => x.StartsWith("-")).ToList<String>();
commands.ForEach(x => {
    x.ToUpper()
    });
commands.ToString();
Run Code Online (Sandbox Code Playgroud)

这将返回带有以" - "小写字母开头的单词的args列表 - 即lambda未被应用.为什么是这样?是为lambda捕获创建的列表的副本,是否已修改,而不是原始列表本身?

c# linq

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

调整大小后元素值的unordered_map指针是否有效?

如果我有 unordered_map<key, someNiceObject>

(注意someNiceObject不是指针)

我有一个API,它插入一个新元素,然后someNiceObject在地图中返回一个指向现在的指针.

如果我在地图中执行进一步插入,则可能会有容量更改.如果发生这种情况,指针仍然有效?

我尝试阅读 基本问题:指向unordered_maps(C++)中的对象, std :: unordered_map指针/引用失效http://eel.is/c++draft/unord.req#9

并找不到必要的信息

谢谢大家

编辑:似乎指针有效(https://www.thecodingforums.com/threads/do-insert-erase-invalidate-pointers-to-elements-values-of-std-unordered_map.961062/)

虽然会感谢来自这里的某人的第二次确认.

c++ iterator stl unordered-map

5
推荐指数
2
解决办法
619
查看次数