小编Dou*_*oug的帖子

黑名单IP数据库

是否有针对Web的黑名单IP的开放数据库?有很多公共网络代理你知道...这样的全球阻止维基百科使用的黑名单.

security proxy wikipedia blacklist

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

HTTP HEAD动词的状态代码

根据RFC http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html:

HEAD方法与GET相同,只是服务器不能在响应中返回消息体.响应HEAD请求的HTTP头中包含的元信息应该与响应GET请求时发送的信息相同.该方法可用于获得关于请求所暗示的实体的元信息,而无需转移实体主体本身.此方法通常用于测试超文本链接的有效性,可访问性和最近的修改.

对于HEAD请求的响应可以是可缓存的,因为响应中包含的信息可以用于从该资源更新先前缓存的实体.如果新字段值指示缓存的实体与当前实体不同(如Content-Length,Content-MD5,ETag或Last-Modified中的更改所示),则缓存必须将缓存条目视为陈旧.

根据这个定义,我们是否应该返回200相应的GET操作,我们是否应该返回,204因为没有内容?

就个人而言,我认为更好的解释是使用204状态代码.你的解释是什么?

api rest http

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

201创建或303在POST请求后查看其他

在RESTful界面中,成功执行POST操作后应该是最佳状态代码?

  • 201创建
  • 303见其他

注意:考虑在HTTP服务器答案中,Location密钥可以存在.

我糊涂了.谢谢你的回答.

api rest

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

Rspec:在路由规范中添加一些头请求

我正在开发一个Rails应用程序,它具有JSON格式的REST API并且版本化(根据这个优秀的Ryan演员:http://railscasts.com/episodes/350-rest-api-versioning).

例如,有一个spec/requests规范:

require 'spec_helper'

describe "My Friends" do
  describe "GET /my/friends.json" do
    it "should get my_friends_path" do
      get v1_my_friends_path, {}, {'HTTP_ACCEPT' => 'application/vnd.myapp+json; level=1'}
      response.status.should be(401)
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

它运作良好.但是(保持这个例子)我们如何编写路由规范?例如,这个规范是不正确的:

require 'spec_helper'

describe "friends routing" do
  it "routes to #index" do
    get("/my/friends.json", nil, {'HTTP_ACCEPT' => 'application/vnd.myapp+json; level=1'}).
      should route_to({ action: "index",
                    controller: "api/v1/private/my/friends",
                        format: "json" })
  end
end
Run Code Online (Sandbox Code Playgroud)

我尝试不同的方法(如request.headers['Accept']@request.headers['Accept'],其中request是未定义和@request为零); 我真的不明白该怎么做.

我使用的是Ruby 1.9.3,Rails 3.2.6和rspec-rails 2.11.0.谢谢.

rspec ruby-on-rails rspec-rails

10
推荐指数
4
解决办法
3659
查看次数

空集合和HTTP标头内容范围

我们如何使用Content-Range的项目标题处理RESTful接口上的空集合?

例如,拥有42条记录,请求Range: items=0-41将返回所有内容,响应标头将为:Content-Range: items 0-41/42.

但是,Content-Range如果没有任何记录,我们如何处理标题?谢谢你的帮助.

编辑:

我的意思是,返回一个空集合,服务器可能想要返回Content-Range: items x-y/0,其中xy是一个不同于0的值.但是哪一个?我认为这是一个棘手的问题,规范没有提到它.

rest paging pagination http http-headers

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

从Elixir中的列表中查找索引

有了Enum.find_index/2,我们可以找到元素的索引.但是,如果同一个元素多次出现,我们该怎么办?

我想有这样的行为:

iex> find_indexes(["a", "b", "c", "b", "b"], fn(x) -> x == "a" end)
[0]

iex> find_indexes(["a", "b", "c", "b", "b"], fn(x) -> x == "c" end)
[2]

iex> find_indexes(["a", "b", "c", "b", "b"], fn(x) -> x == "b" end)
[1, 3, 4]
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何想法.

arrays functional-programming elixir

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

多个Rails ORM

我们有一个Rails 3应用程序,它有一个映射的PostgreSQL数据库(有~10个表)activerecord.一切都很好.

但是,我们也可以使用:

  • 一个MongoDB数据库,以存储图像(可能与mongoidgem).
  • 一个Neo4j的数据库(可能与neo4j-rails创业板),而不是PostgreSQL的用于一些表.

使用带有一个Rails ORM的数据库很简单,多亏了database.yml.但是当有多个ORM时,我们如何处理?有这么好的方法吗?例如,ActiveHash(和ActiveYaml)可以很好地与ActiveRecord配合使用.我认为有可能让不同的ORM协同工作.谢谢你的任何提示.

orm activerecord mongodb neo4j ruby-on-rails-3

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

按接近度排序结果(带坐标和半径)

给定一个包含4个圆圈的数据库,其中每个圆圈都有一个半径和一个地理位置中心:

id | radius | latitude | longitude
---+--------+----------+----------
 1 |      3 |    40.71 |    100.23
 2 |     10 |    50.13 |    100.23
 3 |     12 |    39.92 |    100.23
 4 |      4 |    80.99 |    100.23
Run Code Online (Sandbox Code Playgroud)

注意:每个圆的经度是相同的,以保持简单.

假设我们是在圆2,我想找到附近的每一个圆圈,根据latitude/ longitude坐标和radius每圈.

例如,根据纬度/经度坐标,我们有这样的顺序:

  1. 圈1(因为接近度:9.42 <- 50.13 - 40.71)
  2. 圈3(因为接近度:10.21 <- 50.13 - 39.92)
  3. 圆4(因为接近度:30.86 <- 80.99 - 50.13)

但根据纬度/经度坐标和每个圆的半径,我们应该:

  1. 圈3(因为接近度:1.79 <- 12 - 10.21)
  2. 圈1(因为接近度:6.42 <- 9.42 - …

mysql sql postgresql geolocation neo4j

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

将数组转换为某些数组

我想将Ruby数组(可能包含一些子数组)扩展到另一个数组数组中,就像在这些示例中一样:

例1: [:foo, :bar]

[
  [:foo, :bar]
]
Run Code Online (Sandbox Code Playgroud)

例2: [:foo, :bar, [:ki, :ku]]

[
  [:foo, :bar, :ki],
  [:foo, :bar, :ku]
]
Run Code Online (Sandbox Code Playgroud)

例3: [:foo, :bar, :baz, [:a, :i, :u, :e, :o], :qux]

[
  [:foo, :bar, :baz, :a, :qux],
  [:foo, :bar, :baz, :i, :qux],
  [:foo, :bar, :baz, :u, :qux],
  [:foo, :bar, :baz, :e, :qux],
  [:foo, :bar, :baz, :o, :qux]
]
Run Code Online (Sandbox Code Playgroud)

例4: [:foo, :bar, :baz, [:a, :i, :u, :e, :o], [1, 2], :qux]

[
  [:foo, :bar, :baz, :a, 1, :qux],
  [:foo, :bar, :baz, …
Run Code Online (Sandbox Code Playgroud)

ruby arrays algorithm ruby-1.9.3

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

使用Ruby和RVM 1.12

我刚刚安装了Ubuntu 11.10和RVM 1.12.4(稳定版):

doug@doug-OnixN53SM:~$ curl -L get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   185  100   185    0     0    223      0 --:--:-- --:--:-- --:--:--   968
100  8545  100  8545    0     0   5888      0  0:00:01  0:00:01 --:--:--  5888
Downloading RVM from wayneeseguin branch stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   125  100 …
Run Code Online (Sandbox Code Playgroud)

ruby gnome-terminal rvm ubuntu-11.10

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

Web API 服务器应该使用会话 ID 和/或身份验证令牌吗?

根据@Veraticus 对这个问题的回答,Web 身份验证框架将 current_user 的 ID 保存在会话 ID中,以便快速轻松地从数据库中检索用户(无需每次都在数据库上进行新查询时获取用户) .

这很棒,因为这正是我想要通过我正在编写的 API 对我自己的服务器(出于性能原因)执行的操作。

但我想知道session id ......我的意思是,如果服务器处理会话,客户端必须向他提供session id

但是,我还想知道另一件事:一般来说,Web API 使用的是API 密钥(例如,https://api-docs.heroku.com/)。对于客户端来说,使用API 密钥会话 ID可能很复杂......

我希望 Heroku 不会在每个 HTTP 请求中使用收到的 auth-token 执行数据库查询。但是如果他们不这样做,他们如何在没有会话 ID 的情况下对用户进行身份验证?

我糊涂了。非常感谢您的任何想法。

api rest concurrency web-services ruby-on-rails

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

Sinatra和AngularJS之间的CORS问题

我有一个非常基本的网络应用程序的麻烦.这是我的文件:

公共/ index.html的

<!DOCTYPE html>

<html lang="en" data-ng-app>
  <body>

    <div data-ng-controller="PlayersCtrl">
      <div data-ng-repeat="player in players">
        {{player.id}}
      </div>
    </div>

    <script src="/angular.min.js"></script>
    <script src="/players.js"></script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

公共/ players.js

function PlayersCtrl($scope, $http) {
  $scope.players = [];

  $http({
    method: 'GET',
    url: 'http://localhost:9292/hi'
  }).success(function(data) {
    $scope.players = data;
  });
}
Run Code Online (Sandbox Code Playgroud)

client.rb

require 'sinatra'

get '/' do
  headers 'Access-Control-Allow-Origin' => '*'
  headers 'Access-Control-Allow-Headers' => 'Authorization,Accepts,Content-Type,X-CSRF-Token,X-Requested-With'
  headers 'Access-Control-Allow-Methods' => 'GET,POST,PUT,DELETE,OPTIONS'

  send_file File.join(settings.public_folder, 'index.html')
end
Run Code Online (Sandbox Code Playgroud)

api.rb

require 'sinatra'
require 'json'

get '/hi' do
  headers 'Access-Control-Allow-Origin' => '*'
  headers …
Run Code Online (Sandbox Code Playgroud)

rest xmlhttprequest cross-domain sinatra angularjs

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

如何查找数组的所有可能索引

假设我们有一个具有这种形状的数组:[2, 5].可能的指数组合是:

[
  [0, 0],
  [0, 1],
  [0, 2],
  [0, 3],
  [0, 4],
  [1, 0],
  [1, 1],
  [1, 2],
  [1, 3],
  [1, 4]
]
Run Code Online (Sandbox Code Playgroud)

如果数组有n维度,有没有一种简单的方法在Ruby中生成索引?

ruby multidimensional-array

-2
推荐指数
1
解决办法
76
查看次数