小编Ron*_*nze的帖子

将参数传递给新的sinatra app

简单的问题:我希望能够在config.ru中将选项传递到我的sinatra应用程序中.怎么可能?我的config.ru看起来像这样:

run MyApp
Run Code Online (Sandbox Code Playgroud)

但我想在我的MyApp类中使用它来获取参数:

class MyApp < Sinatra::Base
  def initialize(config)
    @config = config
  end
end
Run Code Online (Sandbox Code Playgroud)

但我无法想办法做到这一点.想法?

ruby rack sinatra

20
推荐指数
2
解决办法
6419
查看次数

编程挑战:编写此网格的最简单方法?

做好了!看看帖子的底部!!!

聪明人世界......

我正在尝试使用Processing(java)绘制这个网格,但是我很难找到最聪明的方法.我基本上可以在重复部分中绘制每个点,但我确信它有更好的方法.

格

任何算法和语言都可以.我只需要看到这个概念.

编辑

更新了徽标的图像.这基本上显示了我需要能够"知道"哪些区域是邻居,以便从网格创建生成形状:

商标

编辑2

网格被设计者称为"准周期八折网格".

编辑3

好吧,那比我想象的要难.我已经取得了很大的进步,你可以在这里找到代码:https://gist.github.com/3682600

我对这两种形状都进行了细分工作,但是,当我开始递归时,会发生一些奇怪的事情.这是我现在的输出:

测试

任何帮助表示赞赏!

编辑4

好的,这变成了一个史诗般的任务.我已经发现当递归变得太深时问题就出现了.这是元素旋转的问题,或者是我无法弄清楚的另一件事.无论如何,这是我现在的工作草图:

工作的

编辑5

我做到了!我弄乱了立方体的旋转,这使得它全部搞砸了.我改变它并且它正在工作:https://gist.github.com/3682600.那里可能有一些东西,但它完全有效.证明:

leve1 (第二级) 3级

algorithm processing grid

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

缓存Github API调用

我有一个与缓存API调用有关的一般问题,在这个实例中调用Github API.

假设我的应用程序中有一个页面,其中显示了repo的文件名和README的内容.这意味着我必须执行一些API调用才能检索它.

现在,假设我想在两者之间添加类似memcached的内容,所以如果我不需要,我不会一遍又一遍地进行这些调用.

你通常会怎么做?如果我没有在Github上启用webhook,我无法知道缓存是否会过期.我总是可以进行一次调用来获取HEAD的当前sha,如果没有更改,请使用cache.但这是在回购级别,而不是在文件级别.

我可以想象我可以使用object-sha进行类似的操作,但是如果我需要调用API来获取它们,它就会失去缓存的目的.

你会怎么做?我知道像prose.io这样的服务现在没有缓存,但如果它应该,那么这种方法会是什么?

谢谢

api caching github github-api

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

在resque队列中查找特定作业

在我的应用程序中,我使用Resque来调整图像大小.如果图像在调整大小队列中,我想显示"调整大小图像"图标.

这意味着我需要能够找到与队列中特定模型ID相关的所有当前作业.现在我这样做:

Resque.peek(:resize, 0, 100).find_all { |job| /#{model.id}/.match(job["args"][0]) }
Run Code Online (Sandbox Code Playgroud)

这是愚蠢的.但有没有办法查询Resque队列以找到第一个参数等于[id]的所有作业?

提前致谢.

ruby ruby-on-rails resque redis

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

Heroku队列时间

我昨天对我的Rails应用程序进行了负载测试,运行8个dynos,每个都有3个并发的Unicorn进程.这是New Relic输出:

NewRelic的

正如您所看到的,我的Rails堆栈本身具有相当好的响应时间(DB,Web等),但队列时间非常糟糕.

我该怎么办?这是Heroku表演中固有的,还是只是意味着我需要添加更多的dynos?

任何建议表示赞赏

performance ruby-on-rails heroku

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

在golang和Javascript中生成相同的SHA1 UUID

我有我认为是一个非常简单的问题.我正在使用此代码在Golang中生成SHA1 uuid:

namespace := uuid.Parse("b9cfdb9d-f741-4e1f-89ae-fac6b2a5d740")
sha := uuid.NewSHA1(namespace, []byte("something"))
fmt.Println(sha.String())
Run Code Online (Sandbox Code Playgroud)

现在我想在javascript中生成相同的UUID,我认为它会像这样简单:

var hash = CryptoJS.SHA1("b9cfdb9d-f741-4e1f-89ae-fac6b2a5d740" + "something")
// chomp the hash into a UUID string
Run Code Online (Sandbox Code Playgroud)

但是,我遇到了严重的问题.好像是uuid.Parse Golang函数正在运行这个解析函数,它将命名空间转换为16字节数组,所以即使我在Javascript中使用相同的SHA1算法,我也没有得到相同的输出.

我一直在搞乱JS中做同样的事情,但我很难过.

这里的任何聪明的加密人都可以帮助我吗?

javascript cryptography sha go

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

SQL Query用于选择具有包空间的储物柜

我正在使用以下Postgres表构建智能储物柜预订系统:

CREATE TABLE lockers (
  id serial primary key
)

CREATE TABLE doors (
  id serial primary key,
  locker_id integer NOT NULL,
  size integer
);

CREATE TABLE packages (
  id serial primary key,
  locker_id integer NOT NULL,
  size integer
);
Run Code Online (Sandbox Code Playgroud)

可以通过设置locker_id包的列来将包保留到储物柜.这些包最终会door_id在送到储物柜时获得,但这超出了这个问题的范围.现在,我只对预订感兴趣,这个设置给了我很大的灵活性(例如,如果在预订时有一个大门的储物柜保留一个小包装,但是储物柜有较小的门可用在交货时,我不需要重写a door_id.我只是将它分配给尽可能小的门).

一切都工作得很好,但现在我想写一个查询,可以选择所有有一个给定大小的新包的空间的储物柜.我的问题是我不能只JOIN选择空门,因为包装只知道储物柜.对于每个储物柜,我基本上需要做类似的事情Find the smallest possible door for each package, and see if the new package fits in any of the remaining doors.我可以像这样在JavaScript中轻松编写:

const canFitPackage = (reservations, doors, newPackage) => { …
Run Code Online (Sandbox Code Playgroud)

sql postgresql associations

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

使用RSpec测试@current_user方法

我一直试图这样做几天,但我无法弄明白.我的控制器中有以下代码:

@some_object = @current_user.some_method
Run Code Online (Sandbox Code Playgroud)

在我的规范中,我想在该方法上附加一个should_receive钩子,但我不能使它工作.我已经尝试了所有这些,但它们都不起作用:

assigns[:current_user].should_receive(:some_method).at_least(:once) # expected 1, got 0
User.should_receive(:some_method).at_least(:once) # expected 1, got 0
Run Code Online (Sandbox Code Playgroud)

如何正确测试这个?我在我的规范中运行它,登录正在运行:

setup :activate_authlogic
...
UserSession.create(users(:rune))
Run Code Online (Sandbox Code Playgroud)

谢谢!

ruby unit-testing rspec authlogic

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

Rails多个连接返回空集.为什么?

我在多个关联上使用.joins时遇到了问题.这是我的模型设置:

class Article
  has_many :comments
  has_many :tags
end

class Comment
  belongs_to :article
end

class Tag
  belongs_to :article
end
Run Code Online (Sandbox Code Playgroud)

我正在尝试查找所有带有特定评论正文的评论或带有特定标记文本的标记的文章.这是我的查询:

Article.joins(:tags, :comments).where("(\"tags\".\"tag\" = 'awesome') OR (\"comments\".\"body\" = 'hello')
Run Code Online (Sandbox Code Playgroud)

它总是返回一个空结果.最奇怪的是这会起作用:

Article.joins(:tags).where(:tags => {:tag => "awesome:})
Run Code Online (Sandbox Code Playgroud)

但是当我添加其他连接符号时,不会返回任何内容:

Article.joins([:tags, :comments]).where(:tags => {:tag => "awesome"})

这有意义吗?我做了些蠢事吗?

ruby-on-rails associations rails-activerecord

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