小编dol*_*men的帖子

如何在MySQL函数中引发错误

我已经创建了一个MySQL函数,并且如果为参数传递的值无效,则会引发错误.在MySQL函数中引发错误的选项有哪些?

mysql stored-procedures exception function

62
推荐指数
5
解决办法
8万
查看次数

什么[[$ - =*i*]]在bash中意味着什么?

我安装liquidprompt及文档中他们要求你添加[[ $- = *i* ]] && source ~/liquidprompt/liquidprompt在你的.bashrc.

我试图理解这一行的第一部分,但像我这样的bash菜鸟很难.如果有人有一个很好的医生或答案......

bash

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

如何在perl中使用fork时在子进程和父进程之间共享变量

我在我的代码中使用fork.在我的代码中调用fork之前,父进程声明了一个全局变量.因此,在fork调用之后,子进程在其自己的线程堆栈上获取全局变量的单独副本,或者共享全局变量的现有父实例.所以我猜这里有三种可能性1)子进程获取父进程中声明的全局变量的单独实例2)子进程与父线程共享全局变量.(这可能不是真的)3)子进程没有任何关于父线程中的全局变量的信息

如果2或3选项都为真,我想知道在子进程中是否有任何方法可以获取全局变量及其在执行fork()时的"状态/值"在父线程中声明.

从广义上讲,有没有办法访问父进程变量,并且在使用fork()创建的子进程中有状态.

perl fork shared ipc global-variables

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

J2ME的JSON解析器

我需要一个适用于J2ME/CLDC 1.1的基本JSON解析器.

Google搜索会在此返回大量答案(有些甚至在stackoverflow上),但似乎都指向不再可用的库和解决方案(例如,批次指向应该在json.org上的实现)网站,但至少我找不到任何不是J2SE的东西).

到目前为止,我最大的希望是链接源:https://meapplicationdevelopers.dev.java.net/mobileajax.html,但是从那个我甚至找不到直接下载代码的方法.

鉴于Java在所有其他方面的成熟状态,肯定有一些地方我可以使用预编译的JAR来从J2ME解析JSON吗?

java json cldc java-me

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

在Ubuntu OpenJDK 7上启用了密码

我编写了以下Java程序来将已启用的密码转储到JVM中:

import java.security.KeyStore;

import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.TrustManagerFactory;

public class ListCiphers
{
    public static void main(String[] args)
    throws Exception
    {
        SSLContext ctx = SSLContext.getInstance("TLSv1");
        // Create an empty TrustManagerFactory to avoid loading default CA
        KeyStore ks = KeyStore.getInstance("JKS");
        TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
        tmf.init(ks);
        ctx.init(null, tmf.getTrustManagers(), null);
        SSLSocket socket = (SSLSocket) ctx.getSocketFactory().createSocket("mozilla.org", 443);
        printSupportedCiphers(socket);
        printEnabledCiphers(socket);
    }

    private static void printSupportedCiphers(SSLSocket socket)
    {
        printInfos("Supported cipher suites", socket.getSupportedCipherSuites());
    }

    private static void printEnabledCiphers(SSLSocket socket)
    {
        printInfos("Enabled cipher suites", socket.getEnabledCipherSuites());
    } …
Run Code Online (Sandbox Code Playgroud)

java ubuntu ssl openjdk

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

AnyEvent计时器问题

我怎么能让计时器"可见"?这个例子返回(始终与睡眠时间相关)2(我期望类似于睡眠时间).

#!/usr/local/bin/perl
use warnings;
use 5.014;
use AnyEvent;

my $c = 0;
my $cv = AnyEvent->condvar;

my $once_per_second = AnyEvent->timer (
    after => 0,
    interval => 1,
    cb => sub {
        $c++;
        $cv->send;
    },
);

sleep 5;

$cv->recv;

say $c;
Run Code Online (Sandbox Code Playgroud)

perl timer event-handling anyevent

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

在Perl中干净地捕获信号

我有一个简单的Perl脚本,它只是将一行文本打印到stdout.我想要完成的是,当这个脚本运行时,如果我(或其他人)向该进程发出信号停止,我希望它捕获该信号并干净地退出.我的代码如下所示

#!/usr/bin/perl -w

$| = 1;
use sigtrap 'handler' => \&sigtrap, 'HUP', 'INT','ABRT','QUIT','TERM';
while(1){
 print "Working...\n";
 sleep(2);
}
sub sigtrap(){
 print "Caught a signal\n";
 exit(1);
}
Run Code Online (Sandbox Code Playgroud)

虽然这在我从命令行实际命中ctrl-c时效果很好,但如果我发出一个

kill -9 <pid>
Run Code Online (Sandbox Code Playgroud)

它就死了.如何让它在退出前执行某些操作?我的一般想法是使用此框架捕获此脚本在服务器上因服务器重新启动而导致维护或故障时死亡的情况.

非常感谢提前

unix perl signals daemon

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

如何在Perl 5中保留YAML文档中的布尔类型?

我有一个包含布尔值的YAML文档:

---
ok: false
Run Code Online (Sandbox Code Playgroud)

我想在Perl 5中加载它并保留'boolean'类型,以便以后能够使用true/ falsevalues,而不是""/ 将文档正确地序列化为JSON "1".

我写的以下转换器无法保留布尔值:

#!/usr/bin/env perl

use strict;
use warnings;

use YAML::XS qw<LoadFile>;
use JSON::MaybeXS ();

print JSON::MaybeXS->new->ascii->pretty->canonical->encode(LoadFile shift)
Run Code Online (Sandbox Code Playgroud)

这是(损坏的)输出:

{
   "fine" : ""
}
Run Code Online (Sandbox Code Playgroud)

我希望在某些YAML加载器中存在一些钩子来映射true/ falseJSON::true/ JSON::false$Types::Serialiser::true/ $Types::Serialiser::false.

perl json yaml boolean

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

使用“go list”如何仅列出二进制文件中使用的Go模块?

我想列出在最终可执行文件(而不是其他依赖项)中编译的模块(及其版本)。

我可以这样做:

$ go build -o a.out
$ go version -m a.out
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能做到这一点go list(它有一个方便的 JSON 输出)?

我试过这个:

$ go list -m -f '{{define "M"}}{{.Path}}@{{.Version}}{{end}}{{if not .Main}}{{if .Replace}}{{template "M" .Replace}}{{else}}{{template "M" .}}{{end}}{{end}}' all
Run Code Online (Sandbox Code Playgroud)

但它列出了许多传递依赖项,这些依赖项仅在测试套件中使用。我不知道如何过滤掉这些依赖项。

这是一个查看问题的示例项目(可在 Go Playground 上找到):

main.go:

$ go build -o a.out
$ go version -m a.out
Run Code Online (Sandbox Code Playgroud)

main_test.go:

$ go list -m -f '{{define "M"}}{{.Path}}@{{.Version}}{{end}}{{if not .Main}}{{if .Replace}}{{template "M" .Replace}}{{else}}{{template "M" .}}{{end}}{{end}}' all
Run Code Online (Sandbox Code Playgroud)

go.mod:

module play.ground

go 1.15

require github.com/google/go-cmp v0.5.2
Run Code Online (Sandbox Code Playgroud)
$ …
Run Code Online (Sandbox Code Playgroud)

go go-toolchain go-modules

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

Swagger 2.0:接受任何(复杂)JSON值的模式

我正在编写Swagger 2.0规范的API基本上是任何JSON值的存储.

我想要一个读取值的路径和一个存储非预定义深度的任何JSON值(null,数字,整数,字符串,对象,数组)的路径.

不幸的是,似乎Swagger 2.0对输入和输出的模式非常严格,并且不允许JSON Schema允许的整套模式.Swagger编辑器不允许使用示例混合值(例如,可以是布尔值或整数的属性)或松散定义的数组(必须严格定义项的类型)和对象.

所以我正在通过定义MixedValue架构来尝试解决方法:

---
swagger: '2.0'
info:
  version: 0.0.1
  title: Data store API
consumes:
- application/json
produces:
- application/json
paths:
  /attributes/{attrId}/value:
    parameters:
    - name: attrId
      in: path
      type: string
      required: true
    get:
      responses:
        '200':
          description: Successful.
          schema:
            $ref: '#/definitions/MixedValue'
    put:
      parameters:
      - name: value
        in: body
        required: true
        schema:
          $ref: '#/definitions/MixedValue'
      responses:
      responses:
        '201':
          description: Successful.
definitions:
  MixedValue:
    type: object
    properties:
      type:
        type: string
        enum:
        - 'null'
        - boolean
        - number
        - integer
        - …
Run Code Online (Sandbox Code Playgroud)

api json swagger-2.0 openapi

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

类型强制绑定

我正在尝试在签名中使用类型强制。

如何修复该my Chars(Str) @a := 'hello';行以使此代码正常工作?

class Chars is Array {
        submethod new(Str:D $s) {
                nextwith(|$s.comb);
        }
}

use MONKEY-TYPING;
augment class Str {
    method Chars { Chars.new(self) }
}


say Chars.new("hello").raku;
say "hello".Chars.raku;

my Chars(Str) @a := 'hello';

@a.raku.say;
Run Code Online (Sandbox Code Playgroud)

raku

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

强制实施Maven皮肤依赖

我想在我的Maven项目中使用Fluido皮肤.如果我只是将它添加src/site/site.xmlmvn site失败,因为神器下落不明.它要求手动安装工件,但我想避开同事的那一步.

我已将以下依赖项添加到我的pom.xml:

<dependency>
  <groupId>org.apache.maven.skins</groupId>
  <artifactId>maven-fluido-skin</artifactId>
  <version>1.2.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

它似乎有效:当我这样做时,皮肤会被maven自动下载mvn site.但是我不希望我的项目被标记为该工件的依赖项; 我不希望在编译,测试等过程中该包在类路径中.

我没有看到任何依赖范围会限制依赖性site:site.

我是否错过了依赖范围?对这种关系使用依赖是正确的吗?

java dependencies skin maven-3 maven

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