小编Par*_*ker的帖子

捕获多行输出到Bash变量

我有一个脚本'myscript',输出如下:

abc
def
ghi
Run Code Online (Sandbox Code Playgroud)

在另一个脚本中,我打电话给:

declare RESULT=$(./myscript)
Run Code Online (Sandbox Code Playgroud)

$RESULT获得价值

abc def ghi
Run Code Online (Sandbox Code Playgroud)

有没有办法用换行符或'\n'字符存储结果,所以我可以输出' echo -e'?

variables bash

542
推荐指数
5
解决办法
26万
查看次数

如何在mongo中有条件地插入文档?

我有一份文件

{ key : 'key1', value : 'value1', update_time : 100 }
Run Code Online (Sandbox Code Playgroud)

我想更改最近(更长)的更新时间.我现在正在做的是:

def update_key1(new_value, new_time):
    record = find_one( { key : 'key1' } )
    if not record or record['update_time'] < new_time:
        update( { key : 'key1', value : new_value, update_time : new_time }, upsert=True)
Run Code Online (Sandbox Code Playgroud)

显然,这是一个额外的往返到数据库,但更重要的是有对文档没有锁,并发呼叫可能导致剩余的分贝较低NEW_TIME的价值.有没有办法在条件成立时执行upsert?

编辑:只是为了澄清,目的不是为每个键创建多个文档,然后对查找进行排序.虽然这可以解决我的问题,但这些值会发生很大变化并且会浪费很多空间.

mongodb pymongo

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

SQL中的离散导数

我在表格中有传感器数据:

Time      Value
10        100
20        200
36        330
46        440
Run Code Online (Sandbox Code Playgroud)

我想提取每个时间段的值的变化.理想情况下,我想得到:

Starttime Endtime   Change
10        20        100
20        36        130
36        46        110
Run Code Online (Sandbox Code Playgroud)

我的SQL技能非常简陋,所以我倾向于将所有数据都输出到处理它的脚本然后将其推回到新表中,但我想我会问是否有一种灵活的方式来完成这一切在数据库中.

sql postgresql time-series

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

UTF-8使用Tomcat编码servlet表单提交

我正在尝试将包含unicode字符的简单表单发布到servlet操作.在Jetty上,一切都没有障碍.在Tomcat服务器上,utf-8字符会被破坏.

我得到的最简单的案例:

形成:

<form action="action" method="post">
  <input type="text" name="data" value="It’s fine">`
</form>`
Run Code Online (Sandbox Code Playgroud)

行动:

class MyAction extends ActionSupport {   
  public void setData(String data) {
    // data is already mangled here in Tomcat
  } 
}
Run Code Online (Sandbox Code Playgroud)
  • <Connector>在server.xml中有URIEncoding ="UTF-8"
  • 动作的第一个过滤器调用request.setCharacterEncoding("UTF-8");
  • 包含表单的页面的内容类型是"text/html; charset = UTF-8"
  • 在表单中添加"accept-charset"没有任何区别

我能使其工作的唯一两种方法是使用Jetty或将其切换为method ="get".这两个都导致角色没有问题.

java tomcat servlets jetty utf-8

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

引用Date时的Ruby NameError

我使用以下代码获得"未初始化的常量日期(NameError)":

class Test
  attr_accessor :reqs

  def initialize()
    @reqs = []
  end
end


class TestBuilder

  def test(&block)
    @current = Test.new
    block.call
    @current
  end

  def older_than_days(age)
    @current.reqs << lambda { |email| ::Date.parse(email[:date]) < ::Date.today - age }
  end

end


b = TestBuilder.new
x = b.test { b.older_than_days(1) }

p x.reqs[0].call( {:date => "Mon, 5 Apr 2010 03:17:46 -0400"} )
Run Code Online (Sandbox Code Playgroud)

在阅读了这个问题的答案之后添加了双冒号: 未初始化的常量... NameError因为ruby试图在TestBuilder中找到Date.Date不在全局命名空间中吗?或者我在这里做错了什么?

ruby scripting

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

mongo查询中的字段值是否有长度限制?

我在一个集合中有一个文档:

{
  _id: ObjectId("508836afea5cea2ccec11a0d"),
  created_at: 1348657869.204,
  name: "Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx Abcdefghijklmnopqrstuvwx …
Run Code Online (Sandbox Code Playgroud)

mongodb

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

播种连续编号的java.util.Random

我已经将我遇到的一个错误简化为以下几行代码:

    int[] vals = new int[8];
    for (int i = 0; i < 1500; i++)
        vals[new Random(i).nextInt(8)]++;
    System.out.println(Arrays.toString(vals));
Run Code Online (Sandbox Code Playgroud)

输出为:[0,0,0,0,0,1310,190,0]

这只是选择连续数字来种子随机然后使用功率为2的nextInt的工件吗?如果是这样,我是否应该注意到这样的其他陷阱,如果没有,我做错了什么?(我不是在寻找上述问题的解决方案,只是对其他可能出错的一些理解)


丹,写得很好的分析.由于javadoc非常清楚如何计算数字,所以为什么会发生这种情况并不是一个谜,就像还有其他类似的异常需要注意 - 我没有看到任何关于连续种子的文档,而我我希望有一些java.util.Random经验的人可以指出其他常见的陷阱.

至于代码,需要几个并行代理具有可重复的随机行为,这些行为恰好从枚举8个元素中选择,只要它们的第一步.一旦我发现了这种行为,种子都来自一个从已知种子创建的主随机对象.在程序的前一个(顺序播种)版本中,所有行为在第一次调用nextInt后迅速分散,因此我花了很长时间才将程序的行为缩小到RNG库,我想避免未来的情况.

java random

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