小编Vik*_*alk的帖子

来自Java的Apache FOP和XSLT 2.0 ......?

我在Apache FOP 1.0的嵌入式使用中使用XSLT 2.0的一些功能时遇到了问题.特别是在使用"current-group()"时我遇到异常.

我看到FOP正在使用xalan 2.6,它正在抛出异常.

我试图排除xalan 2.6的传递依赖,并将其替换为2.7.1,但它没有帮助.是否可以将Apache FOP与另一个支持更多2.0功能的XSLT处理器一起使用?

java xslt apache-fop

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

如何在Typescript中指定想要的重载函数?

我正在尝试分配标准节点fs.writeFile。我同时为node和bluebird键入内容,这是我在此处选择的Promise lib:

const f = Promise.promisify(fs.writeFile)
return f(file, content); // Should be a promise
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为:

[ts]提供的参数与呼叫目标的任何签名都不匹配。const f:(arg1:字符串)=> Promise <{}>

因此,我选择了错误的重载方法,因为promisify的调用无法真正知道我猜哪个。也许还不止如此,而是带有可选参数的东西,因为这是三个重载的writeFile:

export function writeFile(filename: string, data: any, callback?: (err: NodeJS.ErrnoException) => void): void;
export function writeFile(filename: string, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
export function writeFile(filename: string, data: any, options: { encoding?: string; mode?: string; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
Run Code Online (Sandbox Code Playgroud)

promisify对于args有很多重载,看起来像这样:

/**
 * Returns a function …
Run Code Online (Sandbox Code Playgroud)

node.js typescript

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

如何在 mongodb 的正则表达式 $match 中使用聚合中的字段?

我的用例的一个非常简化的版本是查找以作者姓名开头的所有帖子,如下所示:

\n\n
> db.users.find();\n{ "_id" : ObjectId("5c4185be19da7e815cb18f59"), "name" : "User1" }\n{ "_id" : ObjectId("5c4185be19da7e815cb18f5a"), "name" : "User2" }\n\ndb.posts.insert([\n  {author : ObjectId("5c4185be19da7e815cb18f59"), text: "User1 is my name"},\n  {author : ObjectId("5c4185be19da7e815cb18f5a"), text: "My name is User2, but this post doesn\'t start with it"}\n]);\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以我想识别所有以作者姓名开头的帖子。我正在尝试使用这样的聚合,但我不知道如何从聚合管道中提取用户名以在正则表达式匹配中使用:

\n\n
db.users.aggregate([\n  {\n    $lookup: {\n      from: "posts",\n      localField: "_id",\n      foreignField: "author",\n      as: "post"\n    }\n  },\n  {\n    $match: { "post.text": { $regex: "^" + name}}\n  }\n]).pretty();\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

这里的“名称”不是定义的东西,我需要从管道上一步的用户集合条目中提取名称。由于某种原因,我不明白该怎么做。

\n\n

这可能非常简单,我在这里绝对感觉像块砖一样厚\xe2\x80\xa6 任何帮助都非常感谢!

\n

mongodb aggregation-framework

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

如何将 Node --experimental-modules 与 Typescript 输出结合使用

可能是有史以来最愚蠢的问题,但我有一个 Node 项目正在使用 ES 模块和--experimental-modulesNode 12。

现在,我将一个内部包添加到由主节点应用程序使用的用 Typescript 编写的 monorepo 中。我正在努力处理我的 Typescript 构建设置,这些设置会生成可与--experimental-modules.

当前 tsconfig.json:

{
  "include": [
    "src/**/*ts"
  ],
  "exclude": [
    "node_modules",
    "**/*.spec.ts"
  ],
  "compilerOptions": {
    "module": "esnext",
    "esModuleInterop": true,
    "target": "esnext",
    "moduleResolution": "node",
    "sourceMap": true,
    "outDir": "dist"
  },
  "lib": ["es2015"]
}
Run Code Online (Sandbox Code Playgroud)

如果我index.ts从邻居 ts 文件导入:

import { schema } from './schema'
Run Code Online (Sandbox Code Playgroud)

构建的导入语句没有任何.js,这使我的节点应用程序窒息:

(node:78972) ExperimentalWarning: The ESM module loader is experimental.
internal/modules/esm/default_resolve.js:79
  let url = moduleWrapResolve(specifier, parentURL);
            ^

Error: Cannot find module …
Run Code Online (Sandbox Code Playgroud)

node.js typescript

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

Git在文件名中与ä混淆

由于带有ä的文件名,我的git情况很糟糕.这是一个很久以来可能存在的旧文件:

因此它被标记为未跟踪\ 303\244但是如果我将其删除,则将其标记为已删除,但使用\ 314\210.很混乱.我真的不关心文件,但想知道未来...

~/d/p/uniply ??? git status                                                                           master ?
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        "deployment/ec2/Prods\303\244ttning"

nothing added to commit but untracked files present (use "git add" to track)
~/d/p/uniply ??? rm deployment/ec2/Prodsättning                                                       master ?
~/d/p/uniply ??? git status                                                                           master ?
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will …
Run Code Online (Sandbox Code Playgroud)

filesystems git macos

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

将信用卡传递给gitlab-ci,以便能够推动码头图像...?

我正在建立一个gitlab-ci进程,但我无法理解如何管理我的秘密......

所以我已经成功启动了一个gitlab/gitlab-runner作为docker容器,并从gitlab/dind注册了一个docker runner.

我想在这种情况下构建的东西只是从Dockerfile构建一个docker镜像,填充缓存以供其他ci集成测试版本使用.这通过推送到我的私人码头注册表.在这种情况下,我的.gitlab-ci.yml定义只是:

build_image:
  script:
    - docker build -t ensime/ensime-atom-ci .
    - docker tag ensime/ensime-atom-ci docker.woodenstake.se/ensime/ensime-atom-ci
    - docker push docker.woodenstake.se/ensime/ensime-atom-ci
Run Code Online (Sandbox Code Playgroud)

看起来很简单,但当然我没有信誉,所以它失败了:

我只是来自无人机,我为此生成了一个.sec文件.

但在这里我应该登录,对吗?所以我在这里读到了

https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/configuration/advanced-configuration.md#using-a-private-docker-registry

问题是因为我在dockerized gitlab/gitlab-runner图像中运行gitlab-runner,那里似乎甚至没有docker cli?

viktor@i7:/var/lib$ sudo docker exec -it gitlab-runner docker login
exec: "docker": executable file not found in $PATH
Run Code Online (Sandbox Code Playgroud)

任何提示高度赞赏!

更新澄清:

所以gitlab-ci构建日志的尾部是:

012ca7ed9b62: Retrying in 1 seconds
173cd98367a6: Retrying in 1 seconds
92b0661193a5: Retrying in 1 seconds
c12ecfd4861d: Waiting
5f70bf18a086: Retrying in 5 seconds
no basic auth credentials

ERROR: Build failed: exit code 1
Run Code Online (Sandbox Code Playgroud)

主机以root身份登录到注册表.试图从docker容器登录我甚至没有docker …

gitlab-ci-runner

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