小编TPP*_*PPZ的帖子

与Sinon一起使用stub moment.js构造函数

在使用moment函数调用它时,我无法存根构造format函数以返回预定义的字符串,这是我想要运行的示例规范mocha:

it('should stub moment', sinon.test(function() {
  console.log('Real call:', moment());

  const formatForTheStub = 'DD-MM-YYYY [at] HH:mm';
  const momentStub = sinon.stub(moment(),'format')
                      .withArgs(formatForTheStub)
                      .returns('FOOBARBAZ');

  const dateValueAsString = '2025-06-01T00:00:00Z';

  const output = moment(dateValueAsString).format(formatForTheStub);

  console.log('Stub output:',output);
  expect(output).to.equal('FOOBARBAZ');

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

我能够看到这个输出使用console.log:

Real call: "1970-01-01T00:00:00.000Z"
Stub output: 01-06-2025 at 01:00
Run Code Online (Sandbox Code Playgroud)

但是测试失败导致01-06-2025 at 01:00 !== 'FOOBARBAZ' 我怎样才能正确存根moment(something).format(...)

mocha.js sinon momentjs chai

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

使用Go模块组织软件包中的本地代码

main.go当在之外使用Go模块(go版本> = 1.11)时,找不到在本地包中分解出某些代码的方法$GOPATH

我没有导入任何需要包含的外部依赖项go.mod,我只是想在本地组织此Go模块的源代码。

文件main.go

package main

// this import does not work
import "./stuff"

func main() {
    stuff.PrintBaz()
}
Run Code Online (Sandbox Code Playgroud)

该文件./stuff/bar.go(假装为本地软件包):

package stuff

import "log"

type Bar struct {
    Baz int
}

func PrintBaz() {
    baz := Bar{42}
    log.Printf("Bar struct: %v", baz)
}
Run Code Online (Sandbox Code Playgroud)

文件go.mod(命令go mod init foo):

module foo

go 1.12
Run Code Online (Sandbox Code Playgroud)

执行时go run main.go

  • 如果是我import "./stuff",那么我明白了build command-line-arguments: cannot find module for path …

go go-packages go-modules

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

setup.py 与 conda 安装的依赖项(不是 pip)

我正在研究一个现有的 Python 3 代码库,它提供了一个,setup.py所以代码被安装为一个 Python 库。我试图让与自己的依赖安装了这个内部库(通常的数据科学的人,例如pandaspyodbcsqlalchemy等)。

我希望有这个内部库来处理这些依赖项,并假设如果安装了该库,则假定已安装所有可传递的依赖项。我还想要conda包的 Anaconda ( ) 版本而不是pip版本。

我从 开始requirements.txt,但很快就转移到了这个领域setup.py

  install_requires=[
      "pyodbc>=4.0.27",
      "sqlalchemy>=1.3.8",
      "pandas>=0.25.1",
      "requests>=2.22.0",
      "assertpy>=0.14",
      "cycler>=0.10.0",
  ]
Run Code Online (Sandbox Code Playgroud)

但是,当我运行安装过程时:

  • 要么与 python setup.py install --record installed_files.txt
  • 或与 pip install .

我看到有一些gcc/ C++ 编译正在进行,显示有关 Python 轮子的日志(我不完全理解 Python 蛋和 Python 轮子的含义,但 AFAIK 如果conda可用,那么我应该使用该conda版本而不是蛋/轮子因为那样我就不必处理 Python 代码下面的 C++ 代码了)。

我真的更喜欢必须conda安装这些包含在一些 Python 代码中的 C++ blob …

pip setup.py python-3.x transitive-dependency conda

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

Hyper 找不到服务器模块

我正在使用 Hyper 编写一个“hello world”HTTP 服务器,但是在尝试导入它们时我无法找到Server和模块。rt

调用时cargo run,我看到以下错误消息:

26 |     let server = hyper::Server::bind(&addr).serve(router);
   |                         ^^^^^^ could not find `Server` in `hyper`
Run Code Online (Sandbox Code Playgroud)

我肯定遗漏了一些关于 Rust 和 Hyper 的明显内容。我想做的是编写尽可能干/简单的东西,只使用 HTTP 层和一些基本路由。我想包含尽可能少的第三方依赖项,例如避免 Tokio,我认为它涉及异步行为,但我不确定上下文,因为我是 Rust 新手。

看起来我必须使用 futures,所以我包含了这个依赖项,也许 futures 只适用于async保留字(我不确定它是来自 Tokio 还是 Rust 本身)。

令我困惑的是,在 Hyper 示例中,我确实看到了像 之类的导入use hyper::{Body, Request, Response, Server};,因此该Server东西一定存在于某处。

这些是以下依赖项Cargo.toml

hyper = "0.14.12"
serde_json = "1.0.67"
futures = "0.3.17"
Run Code Online (Sandbox Code Playgroud)

这是以下代码main.rs

26 |     let server = …
Run Code Online (Sandbox Code Playgroud)

http rust hyper

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

从命令行运行Spring Batch作业

我不知道如何调用Spring Batch中定义的Job CommandLineJobRunner,文档详细信息对我来说还不够.

我遵循Spring Batch官方指南,使用Java注释在Spring Batch中编写Jobs,例如@EnableBatchProcessing因为我想避免使用XML配置文件来描述作业,步骤等.

到目前为止,我有:

  • 配置类(com.package.bla.bla.ClassContainingTheBatchConfiguration见下文),我已经把所有定义的东西ItemReader,ItemProcessor,ItemWriter,Job,和Step(与return jobs.get("nameOfTheJob")使用见下文)@Beanannotaion.
  • 一个main带有SpringApplication.run(...)and和annotation 方法的类,用于@ImportResource("classpath:META-INF/spring/applicationContext.xml")在处理Job中的数据时导入一些我需要的bean.

在Maven方面,我目前正在使用一些插件:

  • maven-jar-plugin指定<addClasspath>true</addClasspath>和包含标记中main方法的类<mainClass>
  • maven-assembly-plugin因为我想要一个jar包含依赖项中所有内容的唯一可执行文件,我正在使用<phase>package</package>能够在package阶段中构建jar ,我也正在使用<goal>single</goal>它来正确构建jarassembly
  • maven-compiler-plugin 指定我正在使用Java 1.7

我想我已经配置了所有需要配置的东西,但是在拥有Maven后BUILD SUCCESS我无法从命令行运行该作业:

java -cp ./target/JAR_FILE_NAME.jar org.springframework.batch.core.launch.support.CommandLineJobRunner com.package.bla.bla.ClassContainingTheBatchConfiguration nameOfTheJob
Run Code Online (Sandbox Code Playgroud)

IOException因为java.io.FileNotFoundException关于投掷com.package.bla.bla.ClassContainingTheBatchConfiguration.我应该如何在命令行中指定参数以便执行作业?

spring maven-plugin maven spring-batch

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

将 LilyPond 文件导出到 MusicXML,然后将其导入到 MuseScore

我正在尝试使用 MuseScore 3 作为小音乐片段的编辑器,例如从 MusicXML 文件打开的童谣。

然而,我尝试使用 Frescobaldi Python 库python-ly似乎导致使用该库生成的 MusicXML 文件出现一些非常奇怪的导入错误。

我该怎么做呢?有可能吗?

我为例如“老麦克唐纳有一个农场”编写了一些 LilyPond 文件,其中包括主旋律(音符)、歌词、尤克里里谱和和弦:

% command `lilypond --version`
\version "2.20.0"

mymelody = {
  \time 4/4
  \tempo 4 = 70
  \key g \major
  g'4 g'4 g'4 d'4 \bar "|" e'4 e'4 d'2 \bar "|" b'4 b'4 a'4 a'4 \bar "|" g'1
}

mychords = \chordmode {
  g'1 \bar "|" c'2 d'2 \bar "|" g'2 d'2 \bar "|" g'1
}

mylyrics = \lyricmode {
  old Mac -- Do …
Run Code Online (Sandbox Code Playgroud)

python latex lilypond musicxml

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

在node.js中的AWS lambda函数之间共享代码

似乎不可能在另一个AWS lambda函数中传递作为AWS lambda函数调用的某些代码(包含数据和函数)。

举个例子customConfigLambda

var callbackPayload = {};

callbackPayload.fooData = 'fooFromData';
callbackPayload.fooFunction = function() {return 'fooFromFunction'; };

exports.handler = (event, context, callback) => {
    callback(null, callbackPayload);
};
Run Code Online (Sandbox Code Playgroud)

当我在另一个AWS lambda函数中调用之前的AWS lambda函数时,如下所示:

var AWS = require('aws-sdk');
AWS.config.update({accessKey: '123', secretAccessKey: 'abc', region: 'us-east-1' });
var lambda = new AWS.Lambda({region: 'us-east-1'});

exports.handler = (event, context, callback) => {
    var params = {FunctionName: 'customConfigLambda'};
    lambda.invoke(params, function(err, callbackPayload) {
        if (err) {
            // do nothing
        }
        else {
            console.log('callbackPayload:', JSON.stringify(callbackPayload, null, 2));
        }
    }); …
Run Code Online (Sandbox Code Playgroud)

callback amazon-web-services node.js aws-lambda

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

使用共享 ConfigMap 时自定义覆盖

我有一个由 Pod 组成的环境,它根据一个名为 、 或 的环境变量来处理CONF_ENVtest目标stage环境prod

\n

Pod 内运行的应用程序跨环境具有相同的源代码,配置文件是根据CONF_ENV环境变量选择的。

\n

我将其封装CONF_ENV*.properties文件中只是因为稍后我可能需要添加更多环境变量,但我确保每个属性文件包含预期的CONF_ENV例如:

\n
    \n
  • test.properitesCONF_ENV=test
  • \n
  • prod.propertiesCONF_ENV=prod, 等等...
  • \n
\n

我很难使用 Kustomize 覆盖来完成这项工作,因为我想将 a 定义ConfigMap为同一覆盖内所有 Pod 的共享资源,例如test(每个 Pod 都在自己的目录中,需要时与其他内容一起)。

\n

所以想法是:

\n
    \n
  • base/(共享)与 的定义NamespaceConfigMap(以及潜在的其他共享资源
  • \n
  • base/pod1/定义 pod1 从共享中挑选ConfigMap(默认为test,但原则上可能不同)
  • \n
\n

然后是叠加:

\n
    \n
  • overlay/test …

environment-variables kubernetes kubectl configmap kustomize

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

使用Spring MVC在REST HTTP GET请求中传递JSON对象

根据这个REST模型以及我认为对REST的共识:每个REST 检索都应该作为HTTP GET请求执行. 现在的问题是如何将复杂的JSON对象作为Spring MVC的GET请求中的参数处理. 还有另一个共识,我发现说"使用POST进行检索!" 仅仅因为"大公司这样做!",但我被要求尝试坚持"REST级别2规则".

第一个问题:我想做一些有意义的事吗?

我想通过GET请求发送JSON对象的数组/列表/集合,在Java中使用Spring MVC. 我无法弄清楚我的尝试有什么问题,我试图添加/删除双引号,使用URL参数,但我无法实现这一目标.

以下代码有什么问题?代码片段来自MVC控制器.

@RequestMapping(
        value = "/parseJsonDataStructures",
        params = {
                "language",
                "jsonBeanObject"

        }, method = RequestMethod.GET, headers = HttpHeaders.ACCEPT + "=" + MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public HttpEntity<ParsedRequestOutputObject> parseJsonDataStructures(

        @RequestParam String language,
        @RequestParam CustomJsonBeanObject[] customJsonBeanObjects){

    try {
        ParsedRequestOutputObject responseFullData = customJsonBeanObjectService.parseJsonDataStructures(customJsonBeanObjects, language);

        return new ResponseEntity<>(responseFullData, HttpStatus.OK);
    } catch (Exception e) {
        // TODO
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了多种方法来构建URL请求(总是得到HTTP代码400 Bad Request),这是一个例子:

http://[...]/parseJsonDataStructures?language=en&jsonBeanObject={"doubleObject":10, "enumObject":"enumContent", "stringObject":"stringContent"}
Run Code Online (Sandbox Code Playgroud)

类型的JSON对象变量ar:

  • 双(不是原始的)
  • 枚举

我假设我可以jsonBeanObject一个接一个地传递多个参数.

在 …

java rest spring json spring-mvc

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

通过Azure资源管理器(ARM)模板创建SQL Server

我正在尝试创建SQL Server的新Azure实例,然后在其中创建一些新数据库。

我从Azure门户知道,某种管理员用户可能是:

  • SA用户(我认为这意味着“服务器管理”,它看起来像某种管理SQL Server实例的老办法,但同时非常“基本”,并证明工作)
  • 一个Active Directory用户(此处不确定Azure术语,但看起来可能是整个Azure平台的“广泛用户”,例如我自己的Azure Portal登录用户,这并不特定于数据库世界)。

我想创建一个具有SA用户的SQL Server来管理服务器。在Azure门户中,我找不到为SQL Server实例的SA用户生成ARM模板的方法

我要从10000行的ARM模板复制粘贴,以获得很长的SQL服务器和数据库列表,但是我无法隔离基本步骤,以期获得一个希望干净且简短的ARM模板。

这是我正在尝试在Azure上部署的ARM模板:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "location": {
          "type": "string",
          "defaultValue": "westeurope"
        },
      "foo_sql_server_name": {
          "defaultValue": "foo-sql-server",
          "type": "String"
      }
    },
    "resources": [
      {
          "type": "Microsoft.Sql/servers",
          "kind": "v12.0",
          "name": "[parameters('foo_sql_server_name')]",
          "apiVersion": "2015-05-01-preview",
          "location": "[parameters('location')]",
          "scale": null,
          "properties": {
              "administratorLogin": "<MY_SA_USER_THAT_I_CAN_NOT_CREATE>",
              "version": "12.0"
          },
          "dependsOn": []
      }
    ]
}
Run Code Online (Sandbox Code Playgroud)

使用以下命令运行以上命令时:

az group deployment create \
  --name "deployDBs" \
  --resource-group "MyCustomResourceGroup" \
  --template-file ./templates/db.json …
Run Code Online (Sandbox Code Playgroud)

sql-server azure azure-resource-manager azure-cli azure-sql-database

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