小编0cd*_*0cd的帖子

什么是Google的Colaboratory中的"游乐场模式"?

我最近发现了Colaboratory.玩了几分钟后,我知道"游乐场模式"是什么 - 在该模式下没有保存输出,但在常见问题解答或其他帮助材料(介绍笔记本)中找不到正式的说明我位于.我想知道是否有更多细节可以了解这种模式以及何时建议使用?

谢谢.

google-colaboratory

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

你如何让杰克逊使用Kotlin默认参数来表示缺失值?

我有一个看起来像这样的Kotlin数据类,

data class SomeData(
   private val notInJson: String = "some default value",
   private val inJson: String
)
Run Code Online (Sandbox Code Playgroud)

和一个json字符串,我希望反序列化为这个类的一个实例 -

{
    "inJson" : "value"
}
Run Code Online (Sandbox Code Playgroud)

当我尝试反序列化此数据时,我得到一个错误,该参数notInJson不能为null.看起来杰克逊正在为它传递一个空值,因为它在json字符串中丢失了.

有没有办法让杰克逊不为它传递任何值,以便可以使用类定义中指定的默认值?

- 编辑 -

我用映射器注册了KotlinModule().使用版本2.7.8或所有涉及的jackson包.

以下代码 -

@Test fun jackson_kotlin_module() {
    val mapper = ObjectMapper().registerModule(KotlinModule())
    println(
        mapper.readValue("""{ "inJson" : "some value" }""",     SomeData::class.java))
}
Run Code Online (Sandbox Code Playgroud)

给我 -

com.fasterxml.jackson.databind.JsonMappingException: Instantiation of [simple 
type, class SomeData] value failed (java.lang.IllegalArgumentException): 
Parameter specified as non-null is null: method SomeData.<init>, parameter 
notInJson
at [Source: { "inJson" : "some value" …
Run Code Online (Sandbox Code Playgroud)

json jackson kotlin

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

在Python线程中,我如何跟踪线程的完成?

我有一个python程序产生了许多线程.这些线程持续2秒到30秒之间的任何时间.在主线程中,我想跟踪每个线程何时完成并打印消息.如果我只是顺序.join()所有线程和第一个线程持续30秒而其他线程更快完成,我将无法更快地打印消息 - 所有消息将在30秒后打印.

基本上我想阻塞,直到任何线程完成.一旦线程完成,就打印一条关于它的消息,如果任何其他线程仍处于活动状态,则返回阻塞状态.如果所有线程都已完成,则退出程序.

我能想到的一种方法是将队列传递给所有线程并阻塞queue.get().每当从队列接收到消息时,打印它,使用threading.active_count()检查是否有其他线程处于活动状态,如果是,则返回到queue.get()上的阻塞.这可以工作,但是这里所有线程都需要遵循在终止之前向队列发送消息的规则.

我想知道这是否是实现这种行为的传统方式还是有其他/更好的方法?

python multithreading

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

Datastax DevCenter在启动时冻结

刚刚安装(从下载的dmg上的应用程序复制)我的Mac上的DevCenter 1.6,运行macO Sierra 10.12.6并安装了jdk 8u152.该应用程序加载一个UI(启动屏幕,然后在窗口中的几个复选框,以便开始)但UI被冻结(启动屏幕仍然存在).没有响应鼠标点击或键盘.也无法单击菜单栏中的应用程序名称.但应用程序未被活动监视器标记为"未响应".

到目前为止我已经尝试过 -

  1. 查看app文件夹和〜/ .devcenter中的日志.没有什么可腥的
  2. 从其他用户帐户运行应用程序 - 同样的问题
  3. 在我的机器上删除所有数据共享和devcenter相关文件(按名称搜索)并重新开始 - 仍然是同一个问题

任何想法我能在这做什么?

我在之前的Mac上使用相同的配置/操作系统版本运行DevCenter,但是稍微旧的JDK,从来没有遇到过问题.

cql datastax

8
推荐指数
3
解决办法
4223
查看次数

基于TCP和消息框架的JSON / XML-RPC

我正在考虑通过HTTP和TCP进行JSON / XML-RPC。在使用HTTP的情况下,HTTP请求和响应提供了消息框架机制。但是,由于TCP是流,

  1. RPC消息如何构架?
  2. RPC规范规定了这一点吗?
  3. 还有其他定义帧机制的标准吗?
  4. 有没有一种机制比另一种机制更常用?

我试图在发明成帧机制之前对此进行说明。

tcp json-rpc

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

我应该在请求中创建 executorService 还是在 Web 应用程序中共享一个实例?

我正在向基于 Jersey 的 Web 服务添加一个新端点。支持端点的逻辑需要对另一个服务进行 10 到 50 次调用。这些调用是独立的并且可以并行化,因此我正在考虑使用执行器服务来跨多个线程分配工作。

我想知道是否应该为每个请求实例化一个 executorService 或者是否应该在 web 应用程序中存在一个共享的 executorService 实例。在后一种情况下,我将如何决定它应该运行的线程数?

java concurrency executorservice java.util.concurrent

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

batchUpdate 调用如何计入使用限制?

spreadsheets.batchUpdate类似 和的调用spreadsheets.values.batchUpdate可以在一次调用中执行多个更新操作。

我在https://developers.google.com/sheets/api/limits上阅读了有关 google Sheets api 使用限制的信息,但是尚不清楚这些调用是否算作一个或多个请求。你能解释一下吗?

谢谢

google-api-python-client google-sheets-api

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

Javascript UI渲染技术

我正在构建一个AJAX"Web应用程序",一旦加载了UI,对服务器的调用仅用于"数据交换".因此,许多UI操作将使用Javascript完成.假设Javascript使用AJAX从服务器检索包含多个字段的一些数据.把它放在屏幕上我可以想到多种方法 -

  1. 调用createElement()和appendChild()等方法来构建一个接口来显示检索到的数据
  2. 填充容器元素的.innerHTML,然后为每个数据字段查找新添加的HTML中的容器并填充它.进入.innerHTML的数据可以存储在JS变量中或包含在隐藏节点中,或者使用单独的AJAX调用获取.
  3. 将接口存储在隐藏节点中.克隆它(使用cloneNode())并将其放入实际容器中(使用appendChild()),然后使用方法2中的字段填充它.

而且可能还有更多方法.

您是否可以从跨浏览器支持,性能和编码复杂性的角度分享这些方法中的优缺点和缺点?

一些相关的问题:通过Javascript进行客户端UI渲染是一个好主意吗?

谢谢.

javascript css user-interface dom

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

通用换行模式是否应该是Python 2.7中open()的默认行为?

我在Windows 7上运行Python 2.7.2(64位).我对这里记录的'通用换行模式'有点困惑:http://docs.python.org/library/functions.html#open

除非在open()的mode参数中指定'U',否则从文档中看起来"通用换行模式"不应该有效.但是我认为这是默认行为!文档确实具有误导性,或者我遗漏了什么?

f = open("c:/Temp/test.txt", "wb")
f.write("One\r\nTwo\r\nThree\r\nFour"); f.close()

f = open("c:/Temp/test.txt", "rb")
f.read(); f.close()
'One\r\nTwo\r\nThree\r\nFour'

f = open("c:/Temp/test.txt", "r")
f.read(); f.close()
'One\nTwo\nThree\nFour'

f = open("c:/Temp/test.txt", "rt")
f.read(); f.close()
'One\nTwo\nThree\nFour'

f = open("c:/Temp/test.txt", "rU")
f.read(); f.close()
'One\nTwo\nThree\nFour'
Run Code Online (Sandbox Code Playgroud)

似乎"r","rt","rU"都有相同的行为?

python python-2.7

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