小编sta*_*tox的帖子

如何使用带电子的sqlite3模块?

我想使用电子开发桌面应用程序,该电子使用通过npm通过命令安装的sqlite3软件包

npm install --save sqlite3
Run Code Online (Sandbox Code Playgroud)

但它在电子浏览器控制台中出现以下错误

Uncaught Error: Cannot find module 'E:\allcode\eapp\node_modules\sqlite3\lib\binding\node-v45-win32-x64\node_sqlite3.node'
Run Code Online (Sandbox Code Playgroud)

我的开发环境是Windows 8.1 x64节点版本12.7

我的package.json文件如下所示:

{
  "name": "eapp",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "electron ."
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "electron-prebuilt": "^0.32.1"
  },
  "dependencies": {
    "angular": "^1.3.5",   
    "sqlite3": "^3.1.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

index.js文件

var app = require('app');
var BrowserWindow = require('browser-window'); 
require('crash-reporter').start();
var mainWindow = null;


app.on('window-all-closed', function() {  
    if (process.platform != 'darwin') {
        app.quit();
    }
});

app.on('ready', …
Run Code Online (Sandbox Code Playgroud)

sqlite node.js npm electron

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

使用捕获组作为参数,sed替换为bash命令的输出

我正在尝试使用sed进行一些base64替换.

我想要做的是这样的:

sed -i "s|\(some\)\(pattern\)|\1 $(echo "\2" | base64 -d)|g" myFile
Run Code Online (Sandbox Code Playgroud)

在英语中将是:

  • 数学模式
  • 捕获组
  • 在bash命令中使用捕获的组
  • 使用此命令的输出作为替换字符串

到目前为止,我的命令不起作用,因为\2只有sed而不是我正在调用的bash命令才知道.

我有什么优雅的解决方案将捕获组传递给我想要使用输出的命令?


编辑

这是我正在尝试做的最小例子:

我有以下文件:

someline
someline
Base64Expression stringValue="Zm9v"
someline
Base64Expression stringValue="YmFy"
Run Code Online (Sandbox Code Playgroud)

我想用纯文本替换base64:

someline
someline
Base64Expression stringValue="foo"
someline
Base64Expression stringValue="bar"
Run Code Online (Sandbox Code Playgroud)

将来我将不得不做后向操作(在解码文件的base64中编码字符串)

我已经开始使用awk,但我可以使用sed更简单(更优雅).到目前为止,我有awk($bundle我正在编辑的文件在哪里):

#For each line containing "Base64Expression"
#Put in the array $substitutions[]:
# The number of the line (NR)
# The encoded expression ($2)
# The decoded expression (x)
substitutions=($(awk -v bd=$bundle '
    BEGIN {
        # Change the separator from …
Run Code Online (Sandbox Code Playgroud)

bash sed

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

Vim在替换命令中使用感叹号有什么用处

我最近为vim找到了一个替代命令,其中作者被这样的/替换!::%s!foo!bar我不明白与传统的区别:%s/foo/bar.

我搜索了一些关于这种语法的文档,但是我找不到任何相关内容,所以我试着自己试验,我无法弄清楚这两种形式之间的区别.这是我发现的:

  • 你不能混用/!在同一个命令.例如::%s/foo!bar会失败.
  • 符号!可用于包括a的模式/.例如,如果我想更换</%我的文件,我可以做:%s!</!%!g,而不是:%s/<\//%/g:我不需要逃跑/的第一个命令,但我会感到惊讶,如果这是唯一使用的!.
  • 一些正则表达式似乎失败/并且有效地工作!但是因为我不是一个正则表达式大师,所以我不确定这一点.

所以我的问题是:是什么样的区别/,并!在VIM替代时,我应该使用一个,而不是其他?

regex vim substitution

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

如何在JasperReport中将java Hashmap用作变量

我想java.util.HashMap在JasperReport中使用as变量来保存报表的组名.

我累了并声明了一个类型的变量,java.util.HashMap它的表达式字段是:

$V{variable1}.put($F{GROUPCOLUMNVALUE}, $F{GROUPCOLUMNVALUE})
Run Code Online (Sandbox Code Playgroud)

但是null当我在报告的组页脚上打印它时,它不起作用.

我正在使用iReport 3.7.3

java dictionary jasper-reports

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

vim如何突出显示当前缓冲区:ls

我最近在vim中发现了缓冲区的使用,我想知道是否有可能在窗口中突出显示:ls结果的当前缓冲区的行?

我知道当前缓冲区已标记,%但突出显示该行更容易看到.

任何vim-master都可以帮我解决这个问题?

vim

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

KafkaStreams 如何在流聚合中指定Serdes?

我正在开发 Kafka 流应用程序,但在弄清楚如何使聚合工作时遇到了一些麻烦。

我有一个 KStream bankTransactions,其中键的类型String和类型的值,JsonNode所以我配置了我的应用程序的 Serdes

// Definition of the different Serdes used in the streams
final Serde<String> stringSerde = Serdes.String();
final Serde<JsonNode> jsonSerde = new JsonSerde();
final Serde<Long> longSerde = Serdes.Long();

config.put(StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG, stringSerde.getClass().getName());
config.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, jsonSerde.getClass().getName());
Run Code Online (Sandbox Code Playgroud)

我想聚合 aKTable<String, Long>中的值,其中键将相同,但值Long将从我的 Json 中提取。

所以首先我写道:

KTable<String, Long> totalBalances = bankTransactions
        .groupByKey()
        .aggregate(
                () -> 0L,
                (key, transaction, balance) -> (Long)((Long)balance + transaction.get("amount").asLong()),
                Materialized.as("bank-total-balance")
        );
Run Code Online (Sandbox Code Playgroud)

我在运行时收到以下错误:

Caused by: org.apache.kafka.streams.errors.StreamsException:
A serializer (value: org.apache.kafka.connect.json.JsonSerializer) is …
Run Code Online (Sandbox Code Playgroud)

java apache-kafka apache-kafka-streams

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

我是如何得到关于我正在写的模块的信息的?

我正在用Vim编写我的第一个完整的python项目.当我修改文件时,我不小心碰到了几个我找不到的键,我得到了这个提示:

帮助我的模块

我不知道有可能在我正在编写的模块上得到这种帮助而且我不知道我是如何得到它的,所以我的问题是:

哪些命令或工具允许在模块信息上生成此类?

几个笔记

  • 该命令不是Vim命令,因为输出在外部shell中(所以我可能使用等效的:![command].

  • 我没有安装任何与python相关的Vim插件,所以它可能不是由插件生成的.

  • 因为我从bash提示符启动了vim,所以在交互式python提示符中没有发出该命令.

  • 我不知道我用了多少次击键.

  • 我的Vim命令历史记录和我的bash历史记录没有发生的事情.

  • 我正在使用zsh和oh-my-zshell

我知道这个问题可能听起来很愚蠢,但我不知道哪个工具可以做到这一点,我无意找到我使用的按键序列.

python shell

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