小编Ada*_*tan的帖子

Java:初始化错误的恰当例外

当静态工厂方法无法初始化新对象时,我应该抛出哪个异常?我更喜欢提出一个有意义的例外而不是回归null.

java error-handling initialization exception

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

svn:如何设置文件的可执行位?

如何在svn存储库中的文件上设置可执行位?

我试过了:

chmod +x sync.py
svn commit sync.py -m "Make sync.py executable"
Run Code Online (Sandbox Code Playgroud)

但这种变化没有传播.

如何在svn存储库中设置可执行位?

svn executable chmod

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

JSON Schema - 需要所有属性

requiredJSON Schema中的字段

JSON模式的特点properties,requiredadditionalProperties领域.例如,

{
    "type": "object",
    "properties": {
        "elephant": {"type": "string"},
        "giraffe": {"type": "string"},
        "polarBear": {"type": "string"}
    },
    "required": [
        "elephant",
        "giraffe",
        "polarBear"
    ],
    "additionalProperties": false
}
Run Code Online (Sandbox Code Playgroud)

将验证JSON对象,如:

{
    "elephant": "Johnny",
    "giraffe": "Jimmy",
    "polarBear": "George"
}
Run Code Online (Sandbox Code Playgroud)

但如果属性列表不完全, 则会失败elephant, giraffe, polarBear.

问题

我经常将列表复制粘贴properties到列表中required,并且由于拼写错误和其他愚蠢错误而导致列表不匹配时会遇到恼人的错误.

是否有更短的方法来表示所有属性都是必需的,而没有明确命名它们?

jsonschema

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

PostgreSQL:创建一个索引以快速区分NULL和非NULL值

考虑具有以下WHERE谓词的SQL查询:

...
WHERE name IS NOT NULL
...
Run Code Online (Sandbox Code Playgroud)

namePostgreSQL中的文本字段在哪里.

没有其他查询检查此值的任何文本属性,只是它是否是NULL.因此,完整的btree索引似乎是一种矫枉过正,即使它支持这种区别:

此外,索引列上的IS NULL或IS NOT NULL条件可以与B树索引一起使用.

什么是正确的PostgreSQL索引来快速区分NULLs和非NULLs?

sql postgresql indexing null

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

如何在Python中拆分一次或多次分隔符?

我有一个日志文件中的格式化字符串,如下所示:

>>> a="test                            result"
Run Code Online (Sandbox Code Playgroud)

也就是说,测试和结果被一些空格分开 - 它可能是使用格式化的字符串创建的,它给出了test一些恒定的间距.

简单拆分不会起作用:

>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']
Run Code Online (Sandbox Code Playgroud)

split(DELIMITER, COUNT) 清除一些不必要的值:

>>> a.split(" ",1)
['test', '                           result']
Run Code Online (Sandbox Code Playgroud)

这有帮助 - 但当然,我真的需要:

['test', 'result']
Run Code Online (Sandbox Code Playgroud)

我可以使用split()后跟map+ strip(),但我想知道是否有更多的Pythonic方法来做到这一点.

谢谢,

亚当

更新:这么简单的解决方案!谢谢你们.

python string split delimiter

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

将Java Date转换为UTC String

java.util.Date toString()方法显示本地时区的日期.

有几种常见的情况我们希望以UTC格式打印数据,包括日志,数据导出和与外部程序的通信.

  • java.util.Date在UTC中创建字符串表示形式的最佳方法是什么?
  • 如何用更好的toString()格式替换juDate的格式,这是不可排序的(谢谢@JonSkeet!)?

附录

我认为以自定义格式和时区打印日期的标准方法非常繁琐:

final Date date = new Date();
final String ISO_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS zzz";
final SimpleDateFormat sdf = new SimpleDateFormat(ISO_FORMAT);
final TimeZone utc = TimeZone.getTimeZone("UTC");
sdf.setTimeZone(utc);
System.out.println(sdf.format(date));
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个单线像:

System.out.println(prettyPrint(date, "yyyy-MM-dd'T'HH:mm:ss.SSS zzz", "UTC"));
Run Code Online (Sandbox Code Playgroud)

java datetime utc string-formatting

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

在PostgreSQL中将<integer>秒添加到<timestamp>

我有一个包含以下列的项目表:

  • start_time专栏(timestamp without time zone)
  • expiration_time_seconds专栏(integer)

例如,一些值是:

SELECT start_time, expiration_time_seconds 
   FROM whatever 
       ORDER BY start_time;

         start_time         | expiration_time_seconds
----------------------------+-------------------------
 2014-08-05 08:23:32.428452 |                  172800
 2014-08-10 09:49:51.082456 |                    3600
 2014-08-13 13:03:56.980073 |                    3600
 2014-08-21 06:31:38.596451 |                    3600
 ...
Run Code Online (Sandbox Code Playgroud)

如何将以秒为单位的到期时间添加到start_time?

我试图格式化interval命令的时间间隔字符串,但失败了:

blah=> SELECT interval concat(to_char(3600, '9999'), ' seconds');
ERROR:  syntax error at or near "("
LINE 1: SELECT interval concat(to_char(3600, '9999'), ' seconds');
Run Code Online (Sandbox Code Playgroud)

time casting timedelta

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

Java中的线程安全循环缓冲区

考虑一些并行运行的Web服务器实例.每个服务器都拥有对单个共享"状态管理器"的引用,其作用是保留N所有服务器的最后请求.

例如(N=3):

Server a: "Request id = ABCD"        Status keeper=["ABCD"]
Server b: "Request id = XYZZ"        Status keeper=["ABCD", "XYZZ"] 
Server c: "Request id = 1234"        Status keeper=["ABCD", "XYZZ", "1234"]
Server b: "Request id = FOO"         Status keeper=["XYZZ", "1234", "FOO"]
Server a: "Request id = BAR"         Status keeper=["1234", "FOO", "BAR"]
Run Code Online (Sandbox Code Playgroud)

在任何时间点,可以从监视应用程序调用"状态管理器",该应用程序读取NSLA报告的最后请求.

在Java中实现此生产者 - 消费者方案的最佳方法是什么,使Web服务器的优先级高于SLA报告?

CircularFifoBuffer似乎是保存请求的适当数据结构,但我不确定实现高效并发的最佳方法是什么.

java thread-safety circular-buffer

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

使用GCM发送消息时,我不断收到响应'MismatchSenderId'

我正在使用GCM实现推送通知服务器.我发送的帖子请求包含我从Google API控制台获取的发件人ID(应用程序密钥),以及我从GCM服务获得的注册ID.

发布的JSON包含一个注册ID.我总是得到同样的回答:

{
  "multicast_id":8546528660791862014,
  "success":0,
  "failure":1,
  "canonical_ids":0,
  "results":[
    {
      "error":"MismatchSenderId"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?我究竟做错了什么?

google-cloud-messaging

27
推荐指数
4
解决办法
6万
查看次数

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