问题列表 - 第265570页

如何唯一标识ASP.NET Core 2应用程序中的每个请求(用于记录)

在ASP.NET Core 2应用程序中,我需要为每个请求提供唯一标识符(例如Guid),以便我可以在每个日志中包含该ID,并了解每个请求的日志顺序.

这不难写自己,但我想知道是否有一个内置功能,我可以使用或ASP.NET Core 2实现这一点.

asp.net-core asp.net-core-2.0

12
推荐指数
2
解决办法
8402
查看次数

Kafka Streams内部数据管理

在我的公司,我们广泛使用Kafka,但出于容错原因,我们一直使用关系数据库来存储多个中间转换和聚合的结果.现在我们正在探索Kafka Streams,这是一种更自然的方式.通常,我们的需求很简单 - 就是这样的一个例子

  • 听取输入队列 <K1,V1>, <K2,V2>, <K1,V2>, <K1,V3>...
  • 对于每条记录,执行一些高延迟操作(调用远程服务)
  • 如果在时间<K1,V1>被处理,并且两者<K1,V2>, <K1,V3>都已经生成,那么我应该处理V3,因为V2已经变得陈旧

为了达到这个目的,我正在阅读这个主题KTable.代码如下所示

KStreamBuilder builder = new KStreamBuilder();
KTable<String, String> kTable = builder.table("input-topic");
kTable.toStream().foreach((K,V) -> client.post(V));
return builder;
Run Code Online (Sandbox Code Playgroud)

这可以按预期工作,但我不清楚Kafka如何自动实现这一目标.我假设Kafka创建了内部主题来实现这一目标,但我没有看到任何内部主题被创建.该方法的Javadoc似乎证实了这一观察结果.但后来我遇到了这个官方页面,似乎表明Kafka使用了一个单独的数据存储区,即RocksDB以及一个更改日志主题.

现在我很困惑,因为在哪种情况下创建了changelog主题.我的问题是

  1. 如果官方页面建议的状态存储的默认行为是容错的,那么该状态存储在哪里?在RocksDB?在更改日志主题或两者?
  2. 在生产中依赖RocksDB有什么影响?(编者)
    1. 据我所知,对rocksdb的依赖是透明的(只是一个jar文件)而rocksdb将数据存储在本地文件系统中.但这也意味着在我们的情况下,该应用程序将在运行应用程序的存储上维护分片数据的副本.当我们用KTable替换远程数据库时,它具有存储意义,这是我的观点.
    2. Kafka发布会注意RocksDB将继续在各种平台上运行吗?(因为它似乎是依赖于平台的,而不是用Java编写的)
  3. 使输入主题日志压缩是否有意义?

我使用的是0.11.0

apache-kafka apache-kafka-streams

3
推荐指数
1
解决办法
677
查看次数

Python:将API结果保存到json文件中?

这是我能够使用 python 3 通过 API 访问的数据的预览。

   [{'DBNOs': 2,
  'assists': 0,
  'boosts': 0,
  'damageDealt': 129.820038,
  'deathType': 'byplayer',
  'headshotKills': 0,
  'heals': 0,
  'killPlace': 35,
  'killPoints': 1295,
  'killPointsDelta': 3.15819788,
  'killStreaks': 0,
  'kills': 1,
  'lastKillPoints': 0,
  'lastWinPoints': 0,
  'longestKill': 3,
  'mostDamage': 0,
  'name': 'Esskedit',
  'playerId': 'account.7a54835609584b9c943b213345ea7ffb',
  'revives': 1,
  'rideDistance': 2023.24707,
  'roadKills': 0,
  'teamKills': 1,
  'timeSurvived': 655,
  'vehicleDestroys': 0,
  'walkDistance': 1113.72375,
  'weaponsAcquired': 0,
  'winPlace': 17,
  'winPoints': 1281,
  'winPointsDelta': -6.71400356}]
Run Code Online (Sandbox Code Playgroud)

我能够使用 json.dumps(variablename) 转储它并使其成为 json 对象,但如何将其保存为 json 文件?

谢谢

python api

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

条件类型中的TypeScript类型推断

在以下示例中,我对如何推断类型感到困惑

type RetType<T> = T extends (...args: (infer I)[]) => infer R ? [I, R] : any;
type X = (a: number, b: string) => void;
type Q = RetType<X>;
Run Code Online (Sandbox Code Playgroud)

如果将鼠标悬停Q在操场上的类型上,您将得到[number & string, void]。之所以令人困惑,是因为我希望I将其推断为number | string(联合)而不是number & string(交集)。

有谁知道为什么将输入参数推断为交集而不是并集?

types type-inference typescript

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

单例变量错误

我正在阅读 Ivan Bratko 的《人工智能编程》一书,我陷入了一个基本问题并遇到了错误,并且之前关于堆栈溢出的答案似乎没有帮助。

我试图使用先前的事实作为参数来编写规则并收到错误

Single variables: [Y]
Run Code Online (Sandbox Code Playgroud)

我试图运行的代码是这样的

parent(myfather,me).
parent(mymother,me).

happy(X) :- 
  parent(X,Y).
Run Code Online (Sandbox Code Playgroud)

我过去曾成功制定过这样的规则,但我认为我只是错过了一些非常明显的东西,说明为什么这不起作用。我认为当编译并运行时

happy(myfather).
Run Code Online (Sandbox Code Playgroud)

它将返回true,因为它将用myfather替换happy规则中的X,然后用parent(myfather,Y)检查parent(X,Y)。然后尝试查看是否有一个事实表明父母(我的父亲,其他......)。

如果相关的话,我也在 macOS 上使用 swipl,谢谢。

编辑:

我没有检查,但程序实际上可以正常工作,但仍然发出警告,这是有道理的,但是有没有办法消除错误或理解为什么会出现错误?

prolog

3
推荐指数
1
解决办法
5486
查看次数

如何序列化返回Promises的Javascript函数数组?

我的问题与非常相似,但我无法让它起作用:(

问题:

  1. 我有一个需要在IE11和Chrome中运行的Javascript程序.

  2. 它有一个我需要按顺序执行的函数列表.

  3. 每个函数都返回一个Promise.Promise.all(promisesArray)工作到我可以"等待",直到所有功能完成后再继续.但它并不保证每个功能按顺序运行.这很重要.

  4. 我尝试过使用Array.prototype.reduce(),但我无法弄清楚如何正确使用它.

  5. 因为我需要在IE11中运行,所以我不能使用像"箭头功能"这样的ES6功能.

这是我的代码:

<script>
var fn = function(arg) {
  return new Promise (function (resolve, reject) {
    console.log("fn(" + arg + ")...");
    resolve("OK");
  });
}

var p = fn("A").then(function(r) {
  console.log("promise resolved: " + r + ".");
})

var chain = [];
chain.push(fn("3"));
chain.push(fn("1"));
chain.push(fn("2"));
console.log("Built chain:", chain);
Promise.all(chain);

chain.length = 0;
chain[2] = fn("30");
chain[1] = fn("20");
chain[0] = fn("10");
chain.reduce(function(promise, item) {
  return promise.then(function() {
    console.log("then:", item);
  }), …
Run Code Online (Sandbox Code Playgroud)

javascript es6-promise

2
推荐指数
1
解决办法
317
查看次数

试图让 Material-UI 裁剪的抽屉在 flex 布局中工作

我从剪辑的抽屉示例代码开始,并尝试围绕它进行构建。在样本中插入组件时(即,将“{'你认为水移动得很快?你应该看到冰。'}替换为其他内容),内容受到抽屉高度的限制。尝试在示例之外插入内容时,所有内容都从抽屉下方开始。

预期行为:能够将内容放置在抽屉周围的任何位置。我有不同的组件根据抽屉菜单选择隐藏/变得可见

我最初是从永久抽屉示例开始的,除了我需要将抽屉定位在应用程序栏下方之外,一切都很好。

drawer material-ui

2
推荐指数
1
解决办法
2611
查看次数

cmake中的find_dependency和find_package之间的区别?

在package-Config.cmake中,如果我使用find_package而不是find_dependency,对我的应用程序会有什么影响?在什么情况下会破裂?

cmake

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

如何让 FlyWay 运行我的迁移?“架构是最新的。无需迁移。”

我有一个现有的数据库。我创建了两个迁移

$ ls src/main/resources/db/migration/
V1__create_stats.sql  V2__create_sources.sql
Run Code Online (Sandbox Code Playgroud)

我设置了以下内容 application.properties

# Prevent complaints when starting migrations with existing tables.
flyway.baselineOnMigrate = true
Run Code Online (Sandbox Code Playgroud)

否则它会给出错误org.flywaydb.core.api.FlywayException: Found non-empty schemagalaxybadgewithout metadata table! Use baseline() or set baselineOnMigrate to true to initialize the metadata table.

当我尝试启动应用程序时,它会跳过迁移并且不执行它们!我show tables;在 MySQL 中使用,看到它们不在那里!

>mvn spring-boot:run
...
2018-05-09 18:43:03.671  INFO 24520 --- [  restartedMain] o.f.core.internal.util.VersionPrinter    : Flyway 3.2.1 by Boxfuse
2018-05-09 18:43:04.420  INFO 24520 --- [  restartedMain] o.f.c.i.dbsupport.DbSupportFactory       : Database: jdbc:mysql://localhost:3306/galaxybadge (MySQL 5.5)
2018-05-09 18:43:04.486  INFO 24520 …
Run Code Online (Sandbox Code Playgroud)

java flyway spring-boot

8
推荐指数
1
解决办法
5414
查看次数

是否可以以编程方式初始化 constexpr std::array 成员

让我们假设我想写一个结构体,它有一个成员 constexpr std::array ,它包含前 N 个 fibs,其中 N 是一个模板参数。

类似这样的东西,但 vals 在编译时可用:

template <int N>
struct first_n_fibs {
    static_assert(N>0);
    static const std::array<int, N> vals;
    static std::array<int, N> init_fibs(){
        std::array<int,N> result;
        if (N==1) {
            return std::array<int,N>{1};
        } else {
            result[0]=1;
            result[1]=1;
            for(int i =2; i<N;++i) {
                result[i]=result[i-2]+result[i-1];
            }
        }
        return result;
    }
};

template<int N>
const std::array<int, N> first_n_fibs<N>::vals=init_fibs();


int main(){
    std::cout << first_n_fibs<2>::vals.back() << std::endl;
    std::cout << first_n_fibs<5>::vals.back() << std::endl;
    std::cout << first_n_fibs<6>::vals.back() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我怀疑没有解决方法,因为 std::array 构造函数不是 constexpr,所以如果有人知道任何涉及 …

c++ constexpr stdarray

3
推荐指数
1
解决办法
3390
查看次数