小编Abe*_*ker的帖子

如何使用jq基于内部数组中的值过滤对象数组?

鉴于此输入:

[
  {
    "Id": "cb94e7a42732b598ad18a8f27454a886c1aa8bbba6167646d8f064cd86191e2b",
    "Names": [
      "condescending_jones",
      "loving_hoover"
    ]
  },
  {
    "Id": "186db739b7509eb0114a09e14bcd16bf637019860d23c4fc20e98cbe068b55aa",
    "Names": [
      "foo_data"
    ]
  },
  {
    "Id": "a4b7e6f5752d8dcb906a5901f7ab82e403b9dff4eaaeebea767a04bac4aada19",
    "Names": [
      "jovial_wozniak"
    ]
  },
  {
    "Id": "76b71c496556912012c20dc3cbd37a54a1f05bffad3d5e92466900a003fbb623",
    "Names": [
      "bar_data"
    ]
  }
]
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用jq构造一个过滤器,该过滤器返回内部数组中包含"data"的所有Ids 对象,输出为换行符.对于上面的数据,我想要的输出是Names

cb94e7a42732b598ad18a8f27454a886c1aa8bbba6167646d8f064cd86191e2b
a4b7e6f5752d8dcb906a5901f7ab82e403b9dff4eaaeebea767a04bac4aada19
Run Code Online (Sandbox Code Playgroud)

我想我跟这个有点接近:

(. - select(.Names[] contains("data"))) | .[] .Id
Run Code Online (Sandbox Code Playgroud)

select过滤器不正确,它不编译(get error: syntax error, unexpected IDENT).

arrays select json negation jq

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

在Redis中清空/删除一组?

也许我只是盲目,但我没有在Redis中看到一个显式的set命令,用于清空现有的一组(不清空整个数据库).目前,我正在对集合进行设置差异并将其存储回自身:

redis> SMEMBERS metasyn
1) "foo"
2) "bar"
redis> SDIFFSTORE metasyn metasyn metasyn
(integer) 0
redis> SMEMBERS metasyn
(empty list or set)
Run Code Online (Sandbox Code Playgroud)

但这看起来有点傻......有没有更好的方法呢?

set redis

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

使用Postgres适配器的Rails应用程序无法激活pg

在Rails应用程序中,pgGemfile中有一个简单的要求:

gem 'pg'
Run Code Online (Sandbox Code Playgroud)

您将收到以下错误:

Gem::LoadError can't activate pg (~> 0.18), already activated pg-1.0.0. Make sure all dependencies are added to Gemfile.
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

Prawn中的页眉和页脚PDF

我已阅读了有关Prawn的所有相关帖子,但未发现(即使在Prawn自己的文档中)页眉和页脚.

但是,我确实在Prawnto自己的网站上看到了有关页眉和页脚的演示.我复制了该演示的整个源代码,只是为了查看它是否有效但是未定义方法"header"的错误被抱怨了.我是否理解Prawn最近在宝石中取出了页眉和页脚或者我还需要先做其他什么才能使用页眉和页脚?

演示页面:http: //cracklabs.com/prawnto/code/prawn_demos/source/text/flowing_text_with_header_and_footer

关注代码的一部分:

Prawn::Document.generate("flow_with_headers_and_footers.pdf")  do

  header margin_box.top_left do 
      text "Here's My Fancy Header", :size => 25, :align => :center   
  end   

  text "hello world!"
end
Run Code Online (Sandbox Code Playgroud)

通过标题,以防万一,我的意思是通常出现在文档每个页面一角的单词片段.就像账单页面中的账号一样.

谢谢!

ruby-on-rails prawn prawnto

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

在backbone.js中创建向导过程

我是backbone.js的新手,并且遇到一些问题,我正在设计一个"向导"类型的过程(也就是多步​​骤形式).该向导应该能够处理不同的屏幕分支逻辑,具体取决于用户对问题的响应,在用户进行时将响应存储到每个屏幕,最后能够将所有表单响应(每个步骤)序列化为一个大对象(可能是JSON).向导问题每年都在变化,我需要能够同时支持多个类似的向导.

我已经掌握了创建屏幕的基础知识(使用骨干形式),但现在我想要保存用户输入,我想不出最好的方法.我见过的大多数示例都有一个特定类型的对象(例如Todo),你只是创建它们的集合(例如TodoList),但由于屏幕类型不同,我有一个混合的Backbone.Model定义包,所以它没有看起来很简单.有关如何实例化我的向导及其包含的屏幕以及记录用户响应的任何指示?

如果它有帮助我可以发布一个jsfiddle与我的视图代码,到目前为止只前进和后退屏幕(没有用户输入响应记录或屏幕分支).

var Wizard = Backbone.Model.extend({

    initialize: function(options) {
        this.set({
            pathTaken: [0]
        });
    },

    currentScreenID: function() {
        return _(this.get('pathTaken')).last();
    },

    currentScreen: function() {
        return this.screens[this.currentScreenID()];
    },

    isFirstScreen: function(screen) {
        return (_(this.screens).first() == this.currentScreen());
    },

    // This function should be overridden by wizards that have
    // multiple possible "finish" screens (depending on path taken)
    isLastScreen: function(screen) {
        return (_(this.screens).last() == this.currentScreen());
    },

    // This function should be overridden by non-trivial wizards
    // for complex path handling …
Run Code Online (Sandbox Code Playgroud)

backbone.js

14
推荐指数
2
解决办法
6825
查看次数

使用JRuby的Rails控制台问题:没有提示字符,没有选项卡完成,箭头键错误等

我在JRuby下的Rails控制台遇到了各种各样的问题,包括

  • 没有提示字符
  • Tab 完成不起作用(插入文字标签)
  • 向上/向下箭头不会浏览历史记录(^[[A^[[B分别插入)
  • 左/右箭头不移动光标(^[[D^[[C分别插入)
  • Home/ Endkeys不将光标移动到行的开头/结尾(分别代替1~4~插入); Ctrl+ a/ Ctrl+ e虽然工作
  • Ctrl+ c杀死控制台而不是杀死我正在进入的线路
  • Ctrl+ d没有任何影响,直到我点击Enter(然后执行我在Ctrl+ dEnter我的Unix shell 之间输入的任何内容).

我从rvm安装了我的JRuby解释器,如下所示:

rvm install jruby-1.6.8 --1.9
Run Code Online (Sandbox Code Playgroud)

我的Rails项目是使用Bundler(而不是rvm gemsets)管理的,所以我使用我的Rails控制台bundle exec rails c.有趣的是,原始irb以及bundle exec irb没有上述大部分问题,除了Home/ Endkeys和Ctrl+ c需要一个Enter之前我得到一个新的提示行.

我可以用准系统Rails复制这个问题Gemfile:

source …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails jruby rails-console

10
推荐指数
2
解决办法
1525
查看次数

是否可以使用带有类型参数的`case object`?

我目前正在学习Scala,并希望复制这个Haskell代数数据类型:

data Tree = Empty
          | Leaf Int
          | Node Tree Tree
Run Code Online (Sandbox Code Playgroud)

这就是我在Scala中提出的:

sealed trait Tree[T]
case class Empty[T]() extends Tree[T]
case class Leaf[T](value: T) extends Tree[T]
case class Node[T](left: Tree[T], right: Tree[T]) extends Tree[T]
Run Code Online (Sandbox Code Playgroud)

然而,有人告诉我,我应该使用case objectfor Empty,我认为它是真的,因为它不接受参数 - 但是它再次需要一个类型参数.

我尝试了以下但没有编译:

case object Empty[T] extends Tree[T]
case object Empty extends Tree[T]
case object Empty extends Tree
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否有一种方法可以case object在这个实例中使用.

scala

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

在多级自连接的图形式查询上改进Postgres性能(与Neo4j比较)

Neo4j在其营销中提出的一个主张是关系数据库不擅长做多级自联接查询:

在此输入图像描述

我发现代码库对应于索赔的书,并将其翻译成Postgres:

CREATE TABLE t_user (
  id bigserial PRIMARY KEY,
  name text NOT NULL
);

CREATE TABLE t_user_friend (
  id bigserial PRIMARY KEY,
  user_1 bigint NOT NULL REFERENCES t_user,
  user_2 bigint NOT NULL REFERENCES t_user
);

CREATE INDEX idx_user_friend_user_1 ON t_user_friend (user_1);
CREATE INDEX idx_user_friend_user_2 ON t_user_friend (user_2);

/* Create 1M users, each getting a random 10-character name */
INSERT INTO t_user (id, name)
  SELECT x.id, substr(md5(random()::text), 0, 10)
  FROM generate_series(1,1000000) AS x(id); …
Run Code Online (Sandbox Code Playgroud)

sql postgresql neo4j

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

DVCS Repo设计 - 使用分支机构或单独的回购单独分离dev?

我正在制定一项"行动计划",将源代码控制从SourceSafe 6.0(ugh)迁移到DVCS,如git或Mercurial(最好是git ATM).现在我正在研究未来的存储库设计,即分支布局以及如何配置'中央'/祝福的存储库.

现在,我只是真的使用git作为将业余爱好开源代码推送到GitHub的手段,并且最近用于保持我自己的私人仓库工作,这样我对代码修订的控制比SourceSafe允许的更细粒度.不幸的是,除了使用简单的功能分支之外,我还没有在我的回购中体验到广泛的分支/合并场景或其他半复杂的git用法.换句话说,我没有很多关于DVCS的整体经验,所以我认为我不能预测我们将在这里使用的典型工作流程,因此我无法自己创建匹配的存储库设计.

相反,我花了很多时间阅读其他人的git工作流程,并尝试将这些策略应用于我们在工作中发布代码的方式.无论如何,我认为这是一个开始的地方,我们可以随着时间的推移改变它.

现在,在看了很多git工作流之后,我真的很喜欢Vincent Driessen概述的一个特定的工作流,它似乎有一个非常干净的分支布局,几乎适合我们在工作中的部署(或者应该,无论如何):

使用分支单独开发/稳定


使用分支单独开发/稳定

但是,我在Joel Spolsky的HgInit网站上看到一个不同的例子后,我承认有点困惑,它似乎更多地关注单独的存储库而不是分支开发和稳定代码的分支:

使用Repos分离Dev/Stable


使用Repos分离Dev/Stable

问题


这个以存储库为中心的分离层是否只是一个与git没有太多用处的Mercurial事物?如果没有,那么使用这种方法比使用分支来分离dev/stable代码有什么优点/缺点?或者我只是完全误解了这里发生了什么?:-)

任何输入将不胜感激; 如果这个问题由于我沉浸在无知中而浪费时间,我会事先道歉.

git workflow mercurial dvcs repository

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

在用户的.rvmrc中设置rvm默认解释器?

我很好奇是否可以在我的$HOME/.rvmrc文件中设置我的默认Ruby解释器(即相当于a rvm --default use 1.9.2).

我尝试设置rvm_ruby_interpreterrvm_ruby_version,但没有运气.

ruby rvm

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