小编b_e*_*erb的帖子

比较两个通用数字的值

我想比较两种类型的变量T extends Number.现在我想知道这两个变量中哪一个大于另一个或相等.不幸的是我还不知道确切的类型,我只知道它将是一个子类型java.lang.Number.我怎样才能做到这一点?

编辑:我试图用另一种解决方法TreeSets,这实际上自然排序工作(当然它的工作原理,所有的子类Number实现Comparable除的AtomicInteger和AtomicLong的).因此,我将丢失重复值.使用Lists时,Collection.sort()由于绑定不匹配,不接受我的列表.非常不满意.

java generics numbers comparable

55
推荐指数
5
解决办法
4万
查看次数

可扩展的图像存储

我目前正在为基于Web的应用程序设计架构,该架构还应提供某种图像存储.用户可以将照片上传为服务的关键功能之一.同时查看这些图像将是主要用途之一(通过网络).

但是,我不确定如何在我的应用程序中实现这种可伸缩的图像存储组件.我已经考虑过不同的解决方案,但由于缺少经验,我期待听到您的建议.除了图像之外,还必须保存元数据.以下是我最初的想法:

  1. 使用像HDFS这样的(分布式)文件系统,并将专用的Web服务器准备为"文件系统客户端",以便保存上传的图像和服务请求.图像元数据保存在附加数据库中,包括每个图像的文件路径信息.

  2. 在HDFS之上使用像HBase这样的面向BigTable的系统,并将图像和元数据保存在一起.同样,Web服务器桥接图像上传和请求.

  3. 使用像CouchDB这样的完全无模式数据库来存储图像和元数据.此外,使用基于HTTP的RESTful API将数据库本身用于上载和发送.(附加问题:CouchDB确实通过Base64保存blob.但它能否以image/jpeg等形式返回数据)?

storage hadoop hbase couchdb hdfs

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

RESTful API文档

我将很快设计一个RESTful API,因此我需要对其进行描述,以便让其他人开始使用它来实现客户端.

我看了一下,但不幸的是,我没有找到任何描述基于Web的RESTful服务的标准化形式.我正在寻找的东西就像JavaDoc,虽然它不必由任何类型的代码生成.我也不是在谈论类似WADL的东西,我宁愿想要一些我可以提供的人类可读的文档.

由于RESTful基于Web的服务的性质,标准化文档应该很容易.它应该只列出可用的资源,相应的URI,允许的方法,内容类型并描述可用的操作.你有什么建议吗?

在此先感谢您和Greets

documentation rest

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

JSON表示中的链接关系

我正在设计一个基于JSON表示的RESTful API.为了遵守HATEOAS,我广泛使用资源之间的链接.因此,我遵循这个建议,以非常类似于ATOM链接的方式序列化链接.

现在我有时会发现识别正确链接关系类型的问题.当资源包含指向自身的链接时,self关系是显而易见的.当资源是子资源的集合和聚合,或者包含许多指向相关资源的链接时,它会变得更加复杂.

以博客文章为例,考虑一个返回博客文章快照的资源 - 包括此博客文章的作者,标签和评论.显然,这个资源包含许多子资源,当然也应该提供单独的链接:

样本资源:

{
   "blogpost":{
      "link":{
         "rel":"self",
         "href":"http://blog/post/4711"
      },
      "author":{
         "name":"Bob",
         "link":{
            "rel":"???",
            "href":"http://author/uri"
         }
      },
      "title":"foobar",
      "content":"A long article here…",
      "comments":[
         {
            "comment":"great article",
            "link":{
               "rel":"???",
               "href":"http://blog/post/4711/comment/1"
            },
            "author":{
               "name":"John Doe",
               "link":{
                  "rel":"???",
                  "href":"http://author/uri"
               }
            }
         }
      ],
      "tags":[
         {
            "value":"foo",
            "link":{
               "rel":"???",
               "href":"http://blog/post/4711/tag/foo"
            }
         }
      ]
   }
}
Run Code Online (Sandbox Code Playgroud)

那么给定链接的适当关系是什么?我知道存在关系类型tag,但不是我的所有资源都与现有的关系类型相匹配.或者self在引用author/tag/comment时可以使用它,因为它与封闭的JSON(子)对象的上下文有关?什么是语义实体self指的是什么?

RFC 5988声明:

链接的上下文是提要IRI或条目ID,具体取决于它出现的位置

我怎样才能用JSON来解释这个?每个新对象{…}都是新的上下文吗?

谢谢!

rest json rel hateoas

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

缩短/重组UUID

首先,我想确保我意识到这一事实,重新发布是一个明智的话题.但是我想听听你的一些意见,你会采取什么方法.

我正在构建一个分布式应用程序,其中节点远程创建由UUID标识的实体.最终,应该在专用的漏极节点处收集所有实体,该节点通过使用这些UUID来存储所有实体.

现在我想创建额外的标识符,这对人类用户来说更方便.编码UUID的Base64仍会创建22个字符的ID,这不适合人类使用.所以我需要像URL缩短服务这样的东西.应用双射函数无济于事,因为它们不会降低信息价值.当然,我知道我需要丢失信息才能缩短身份.而且我也知道任何哈希信息的减少都会增加冲突的可能性.我被卡住了,为了给人类创造更短的ID,减少信息的最合适的方法是什么.

以下是一些先决条件:我将提供通过我的数据存储映射{UUID,缩短ID}的功能.我仍然更喜欢非集中式解决方案.我可能永远不会需要超过大约一百万的ID(~2 ^ 20).

以下是我想到的想法:

  • 自动递增的ID:如果我使用某种自动递增的ID,我可以将此id转移到混淆的字符串并传递它.这将是最简单的方法,只要周围的键很少,键就不会很长.但是,我必须引入一个我不想要的集中实体.
  • 缩短UUID:我可以只取一些原始的128位uuid.然后我应该至少考虑UUID的版本.或者这有什么不对吗?
  • 重新划分UUID:我可以在我的初始UUID上应用第二个哈希算法并存储映射.

还有其他方法吗?有利的是什么?

提前致谢!

hash url-shortener

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

CouchDB中的UUID

我想知道在CouchDB中默认表示UUID的格式.虽然RFC 4122描述了类似的UUID 550e8400-e29b-11d4-a716-446655440000,但CouchDB使用连续的字符3069197232055d39bc5bc39348a36417.我在他们的wiki和他们的文档中搜索了一下这实际上是什么,但没有任何结果.

你知道这是否是一个不符合RFC的格式,-或者是一个完全不同的128位表示.

背景是我正在使用RFC UUID,其格式如RFC中所述.我发现CouchDB风格可能更适合构建内部树,但我希望确保使用一致的实现.

uuid couchdb

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

从Base64编码的字符串长度计算实际数据大小

给定编码为Base64编码字符串的数据,我能以某种方式计算通过查看Base64编码字符串的长度编码的原始数据的实际长度吗?

如果没有必要,我不想遍历字符串(这还包括对编码字符串的trailling字符进行字符串操作以检查填充).

base64

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

addListener在node.js中做了什么?

我试图理解node.js中addListener的目的.有人可以解释一下吗?谢谢!一个简单的例子是:

var tcp = require('tcp');
var server = tcp.createServer(function (socket) {
  socket.setEncoding("utf8");
  socket.addListener("connect", function () {
    socket.write("hello\r\n");
  });
  socket.addListener("data", function (data) {
    socket.write(data);
  });
  socket.addListener("end", function () {
    socket.write("goodbye\r\n");
    socket.end();
  });
});
server.listen(7000, "localhost");
Run Code Online (Sandbox Code Playgroud)

javascript listeners javascript-events node.js

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

使用jQuery Mobile进行仪表板导航

我想使用jQuery Mobile在移动Web应用程序中实现仪表板式导航:http://mobile-patterns.com/dashboard-navigation

有没有有用的模板或好的方法呢?当然,我可以构建一个基于网格的内容页面,其中包含图标和链接.但是由于仪表板导航的普及,我期待着一个更简单的解决方案.

提前致谢

html mobile jquery-mobile

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

CouchDB视图中的范围键

我正在使用CouchDB存储有关事件的数据.每个活动都有开始日期/时间和结束日期/时间.我现在想创建一个视图,它允许我获取在特定日期/时间发生的所有事件的列表.但是这些事件没有一个日期,它们可以在几天内完成.

现在我不知道如何在我的视图功能中反映这一点.不幸的是,我需要在分钟级别上进行粒度分析,因此每分钟发出一个密钥可能不是一个有效的解决方案.那我该怎么办呢?

提前致谢!

couchdb

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