小编sha*_*awn的帖子

Swagger,NswagStudio,c#,Required = Newtonsoft.Json.Required.DisallowNull,如何处理

鉴于:我在更改方面影响有限的 api,构建在 net core 2.2 上。使用标准 netCore 招摇。某些 DTO 类中的字段标记为 [System.ComponentModel.DataAnnotations.Required]但由于某些原因(这也是可以讨论的),某些方法返回此类的对象,在此字段中为空值。注释导致

"required": [
        "given",    - this field for example
        "family",
        "email",
        "postCode"
      ],
      "type": "object",
      ...
Run Code Online (Sandbox Code Playgroud)

在 swagger 规范中,然后导致

[Newtonsoft.Json.JsonProperty("given", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] 
Run Code Online (Sandbox Code Playgroud)

在 c# 生成的代码中(我使用的是具有非常标准设置的 nswag studio 和 c# 客户端)。然后,当我尝试使用生成的 c# 客户端从 api 获取此类对象的列表时,如果其中一些属性为 null,它显然会引发 newtonsoft 反序列化异常。那么我们如何处理呢?我想到了客户端和服务器端的解决方案:

1) 在服务器上,我们可以配置为不公开有关 swagger 规范所需的信息。

2) 在客户端上,我们可以配置将该 Required 块转换为 Required = Newtonsoft.Json.Required.Default 的行为

3) 忘记所有这些并坚持这样 api 将不会返回具有空值的对象,这些属性市场需要。

c# json.net swagger nswag

7
推荐指数
0
解决办法
1337
查看次数

为什么这个Fibonacci数函数不能在O(log N)中起作用?

所以log(N)的Fibonacci数 - 没有矩阵.

Ni // i-th Fibonacci number
= Ni-1 + Ni-2              // by definition
= (Ni-2 + Ni-3) + Ni-2     // unwrap Ni-1
= 2*Ni-2 + Ni-3            // reduce the equation
= 2*(Ni-3 + Ni-4) + Ni-3   //unwrap Ni-2
                           // And so on
= 3*Ni-3 + 2*Ni-4
= 5*Ni-4 + 3*Ni-5
= 8*Ni-5 + 5*Ni-6

= Nk*Ni-k + Nk-1*Ni-k-1
Run Code Online (Sandbox Code Playgroud)

现在我们编写一个递归函数,在每一步我们取k~ = I/2.

static long N(long i)
{
    if (i < 2) return 1;
    long k=i/2;
    return N(k) * N(i …
Run Code Online (Sandbox Code Playgroud)

fibonacci

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

Bazel - 导入静态库时包含目录中的所有标头

我是 Bazel 的新手,正在尝试将静态库添加到我的构建中。

举个简单的例子,我有以下内容。

cc_import(
  name = "my_test_lib"
  static_library = "lib\my_test_lib\test.lib"
  hdrs = ["lib\my_test_lib\include\headerA.h", 
          "lib\my_test_lib\include\headerB.h"]
  visibility = ["//visibility:public"],
)
Run Code Online (Sandbox Code Playgroud)

现在这工作正常。

但是,如果我有大量包含文件并且包含目录中有许多子目录,该怎么办?我是否必须单独输入我的主项目所依赖的每个标头,或者我可以执行类似以下操作来基本上使该目录/子目录中的所有标头可用吗?

 hdrs = [ "lib\my_test_lib\include\*"]
Run Code Online (Sandbox Code Playgroud)

c++ windows bazel

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

写一个方法来计算前n个奇数之和

首先让我说我是编程的新手,这是我开始以来的第二周,如果你发现任何不良做法或代码错误请接受我的道歉.

我想打印前n个奇数的总和.但到目前为止,我只能将奇数的总和达到给定的数字.善意的帮助.

public static void main(String[] args) 
{
    Scanner userInput = new Scanner(System.in);

    System.out.print("Please enter the number : ");
    int num1 = userInput.nextInt();

    int sum = sumOfOdd(num1);
    System.out.println("sum of first " +num1 + " odd numbers is " + sum);

    userInput.close();
}

static int sumOfOdd(int num)
{
    int sum = 0;
    for (int i = 0; i <= num; i++)
    {
        if(i % 2 != 0)
        {
            sum += i;
        }
    }
    return sum;
}
}
Run Code Online (Sandbox Code Playgroud)

java loops sum

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

为什么printf说明符格式%n不起作用?

这是我的代码:

#include <stdio.h>

int main(void) {
    int n;

    fprintf(stdout, "Hello%n World\n", &n);
    fprintf(stdout, "n: %d\n", n);

    return 0;
} 
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

Hellon: 0
Run Code Online (Sandbox Code Playgroud)
  1. 为什么fprintf格式说明符"%n"不起作用?
  2. 为什么要打印的字符串被中断?

ISO/IEC 9899:201x C11 - 7.21.6.1 - fprintf功能

转换说明符及其含义是:

(......)

%n参数应该是一个指向有符号整数的指针,其中写入到目前为止通过调用fprintf写入输出流的字符数.没有参数被转换,但是消耗了一个参数.如果转换规范包括任何标志,字段宽度或精度,则行为未定义....

(......)

这是我在Code :: Blocks上使用的编译器版本:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev
0/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-8.1.0/configure --host=x86_64-w64-mingw32 --bu
ild=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysr
oot=/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 --enable-shared --enable
-static --disable-multilib --enable-languages=c,c++,fortran,lto --enable-libstdc
xx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-
lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --
enable-version-specific-runtime-libs --disable-libstdcxx-pch …
Run Code Online (Sandbox Code Playgroud)

c printf specifier

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

NodeJS Commander 结构化子命令

我是指挥官的新手,我正在尝试实现这样的命令树:

|- build
|    |- browser (+ options)
|    |- cordova (+ options)
|    |- no subcommands, just options
|- config
|    |- create (+ options)
Run Code Online (Sandbox Code Playgroud)

是否可以将这些命令拆分成多个文件,例如有点像这样:

中央档案:

|- build
|    |- browser (+ options)
|    |- cordova (+ options)
|    |- no subcommands, just options
|- config
|    |- create (+ options)
Run Code Online (Sandbox Code Playgroud)

构建命令的文件:

program.command('browser').description(...);
program.command('cordova').description(...);
program.option(...);
Run Code Online (Sandbox Code Playgroud)

配置命令的文件:

program.command('create').description(...);
Run Code Online (Sandbox Code Playgroud)

我知道 Git 风格的子命令,但这些似乎需要可执行文件(我只有常规的 JS 文件)

node.js node-commander

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

PHP_EOL和"\n"将第一行留空

我有简单的代码来保存数据:

$data = $_POST["data"];
$userID = $_POST["userID"]; 

if (empty($data)){
   } else {
    $theFile = fopen("Data/" . $userID . ".txt", "a+");
    fwrite($theFile, PHP_EOL.$data);
    fclose($theFile);      
}
Run Code Online (Sandbox Code Playgroud)

数据可以很好地保存数据,但第1行总是有一个空行.我尝试切换到"\n",问题仍然存在.还有什么我可以尝试的吗?

php blank-line

0
推荐指数
1
解决办法
223
查看次数

这个算法是 O(n^2) 还是 O(n)

我有 2 个列表:

  • 事件列表(可以具有从 1 个元素到无穷大的可变大小)
  • EventTypesToFilter 列表(始终固定/恒定大小为 1 到最多 3 个元素)

该算法需要按事件类型过滤事件。

问题是,algo1 O(n^2) 和 algo2 O(n)?或者他们都是O(n)?

我还在代码中标记了代码各个点的 O 复杂度,请确认它们是否正确p1.1 、 p1.2 、 p2.1 、 p2.2

我根据每个算法的最高复杂度确定每个算法的最终 O 复杂度,我的假设是它们都是 O(n)。

请添加任何进一步的观察,也与可能看起来不同的 O 复杂性的糖代码相关。

我假设 select 语句没有并行运行,或者代码的任何其他部分正在并行运行。

有 2 次主要列表迭代发生,一个循环迭代固定数量的元素(EventType 列表),而另一个循环迭代多个理论上可以被认为是无限的元素(事件列表)。出于这个主要原因,我认为 ALGO1 和 ALGO2 都是 O(n)。如果我错了,请纠正我。

using System;
using System.Collections.Generic;
using System.Linq;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            //Algo 1 is O(n) or O(n^2)?
            var resp1 = FilterEventsAlgo1(GetEvents(), GetEventTypesToFilter());
            //Algo 2 is O(n) …
Run Code Online (Sandbox Code Playgroud)

c# algorithm big-o

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

为什么javascript不用\n打印新行?

我有一个JS问题,每当我在脚本标签中写"\n"时,它都不会打印新行.我是Javascript的新手所以有人可以向我解释这是什么问题?

这是我练习的代码:

<html>
<head>
  <meta charset="utf-8">
  <script>
    var output;
    var number = window.prompt("Enter mobile no:  \n");
    if( number>10000000 && number<99999999){
     var ps = parseInt(number/1000000);
     var vs = parseInt((number/1000)%1000);
     var ts = number%1000;
     output = "0" + ps + "/" + vs + "-" + ts +" ";
      document.write("Mobile no. is : " + output + " "  + "\n");


   if( ps == 70 || ps == 71 || ps == 72 ){
      document.write("Mobile no. is T-Mobile " + "\n");
   } …
Run Code Online (Sandbox Code Playgroud)

javascript newrow

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