我现在正在使用mongodb.
我有blogpost集合,blogpost有一个标签,这是一个数组,例如
blogpost1.tags = ['tag1', 'tag2', 'tag3', 'tag4', 'tag5']
blogpost2.tags = ['tag2', 'tag3']
blogpost3.tags = ['tag2', 'tag3', 'tag4', 'tag5']
blogpost4.tags = ['tag1', 'tag4', 'tag5']
Run Code Online (Sandbox Code Playgroud)
我该怎么做这些搜索
我已根据此处概述的过程为新服务器安装生成了SSH密钥.但是,当我将内容复制id_rsa.pub
到GitHub上的我的键列表时,我收到错误消息"密钥无效.确保您已正确复制文件."
生成的密钥是有效的,我正在按原样复制它(所有在一行中,在开头/结尾没有空格).
有人知道会发生什么事吗?
我有一个有一堆参数的函数.我不想手动设置所有参数,而是要执行网格搜索.我有一个每个参数的可能值列表.对于每个可能的参数组合,我想运行我的函数,该函数报告我的算法在这些参数上的性能.我想将这个结果存储在一个多维矩阵中,以便后面我可以找到最大性能的索引,这反过来会给我最好的参数.以下是代码的编写方式:
param1_list = [p11, p12, p13,...]
param2_list = [p21, p22, p23,...] # not necessarily the same number of values
...
results_size = (len(param1_list), len(param2_list),...)
results = np.zeros(results_size, dtype = np.float)
for param1_idx in range(len(param1_list)):
for param2_idx in range(len(param2_list)):
...
param1 = param1_list[param1_idx]
param2 = param2_list[param2_idx]
...
results[param1_idx, param2_idx, ...] = my_func(param1, param2, ...)
max_index = np.argmax(results) # indices of best parameters!
Run Code Online (Sandbox Code Playgroud)
我想保留第一部分,我按原样定义列表,因为我希望能够轻松地操作我搜索的值.
我还希望最终得到结果矩阵,因为我将可视化更改不同参数如何影响算法的性能.
但是,中间的位是相当重复和笨重的(特别是因为我有很多参数,我可能想添加或删除参数),我觉得应该有一个更简洁/优雅的方式来初始化结果矩阵,迭代所有索引,并设置适当的参数.
那么,有吗?
在Ruby中,您可以将map函数应用于数组的每个元素:
@files.map { |f| f.read) }
Run Code Online (Sandbox Code Playgroud)
其中有语法糖:
@files.map(&:read)
Run Code Online (Sandbox Code Playgroud)
是否有任何等价物
@files.map { |f| read(f) }
Run Code Online (Sandbox Code Playgroud)
那是更像,与上面类似?
我正在将基于Backbone.js和jQuery的单页Web应用程序迁移到Chrome扩展.但是,pushState
基于hashbang的路由器模式似乎都不能很好地适应扩展中的环境.我得出的结论是,我最好直接渲染用户交互视图,window.location
完全绕过系统.但是,我不太确定如何在不改变对Router.navigate
几十个文件的调用的情况下实现它.
是否有可插拔/模块化方式来保持Backbone路由系统但绕过对URL的任何更改?
这是目前(到目前为止)iPhone 4S和iPhone 5上移动Safari上最快的Javascript SHA256实现.
/** @fileOverview Javascript SHA-256 implementation.
*
* An older version of this implementation is available in the public
* domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,
* Stanford University 2008-2010 and BSD-licensed for liability
* reasons.
*
* Special thanks to Aldo Cortesi for pointing out several bugs in
* this code.
*
* @author Emily Stark
* @author Mike Hamburg
* @author Dan Boneh
*/
/**
* Context for a …
Run Code Online (Sandbox Code Playgroud) 这是我的问题:
我想定位圆圈,使它们占据画布内可用的最大空间,而不会相互接触.我的目标是实现视觉上令人愉悦的效果,其中圆圈在画布内分布均匀.我不知道这是否真的是"空间填充",因为我的目标不是最小化元素之间的距离,而是最大化它.
这是我想要实现的一个例子:
我的第一个"蛮力"想法如下:
然而,这似乎并不优雅; 我确信有更好的方法来做到这一点.有没有现成的算法来实现这样的布局?我可以使用任何现有的库(JavaScript或Ruby)来实现这一目标吗?
编辑
这是接受答案的Javascript版本,它使用Raphael绘制圆圈.
我被问到为什么"我在我的视图中创建了复杂的Ruby变量.我的控制器不应该声明这些变量吗?"
我的sinatra控制器是我的.rb文件吗?我有一个.rb文件和视图视图.
我有一堆函数可以接受一个对象数组,或者一个对象被设计为一个包含一个对象的数组,我正在寻找一种更简洁的方法来完成它.基本上,我想知道如何使unless
以下函数中的部分更简洁:
def foo(bar_or_bars)
unless bar_or_bars.is_a?(Array)
bar_or_bars = [bar_or_bars]
end
bar_or_bars.each { |baz| ... }
end
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!谢谢.
给定一个定义顶级类的gem,它与我编写的一些代码冲突,是否可以以这样的方式要求gem,使其所有类都分组在我可以定义的模块中?例如,如果unsafe_gem定义了一个类:
class Word
# ... some code
end
Run Code Online (Sandbox Code Playgroud)
我需要这样的东西:
class Word
# My word class.
end
module SafeContainer
# This obviously doesn't work
# (i.e. the gem still defines ::Word).
require 'unsafe_gem'
end
Run Code Online (Sandbox Code Playgroud)
这样我就可以区分:
Word.new # => The class I defined.
SafeContainer::Word.new # => The class defined by the gem.
Run Code Online (Sandbox Code Playgroud)
一些进一步的细节:我的代码(例如'Word'类)已经包装在它自己的命名空间中.但是,我希望能够为用户提供启用"语法糖"形式的选项,这使得某些类可以在顶级命名空间下直接访问.但是,这会与我正在使用的一个宝石创建一个名称冲突,它定义了一个顶级类.目前提出的解决方案都不起作用,因为宝石实际上依赖于其全球定义的类; 因此,取消定义课程打破了宝石.当然,gem有多个文件,单独要求将其文件放入模块似乎是一个非常脆弱的解决方案.目前,我发现的唯一解决方法是:
begin
# Require the faulty gem.
require 'rbtagger'
rescue
# If syntactic sugar is enabled...
if NAT.edulcorated?
# Temporarily remove the sugar for the clashing class.
Object.const_unset(:Word); …
Run Code Online (Sandbox Code Playgroud) ruby ×5
javascript ×2
backbone.js ×1
gem ×1
geometry ×1
github ×1
hash ×1
hashbang ×1
iphone ×1
jquery ×1
layout ×1
mongodb ×1
namespaces ×1
numpy ×1
optimization ×1
parameters ×1
pushstate ×1
python ×1
safari ×1
sinatra ×1
ssh-keys ×1