小编Che*_*rel的帖子

如何使用DynamoDB(NoSQL)为学生/类建模

我正在尝试使用DynamoDB和NoSQL.

对于我需要建立学生与班级关系这一事实,对学生表和班级表进行建模的最佳(对吗?)方法是什么?我考虑到DynamoDB中没有第二个索引可用.

该模型需要回答以下问题:

哪个学生在特定班级?

学生参加哪些课程?

谢谢

database data-modeling nosql amazon-dynamodb

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

如果表包含密钥(DynamoDB和Java),则快速查询表

我有一个带有散列和范围复杂键的表.
我可以使用GetItemAWS SDK for Java 查询项目.将GetItem返回null如果没有找到对象,或作为项目Map<String, AttributeValue>.
我正在寻找最快的方法来检查对象是否存在
我正在考虑提供.withAttributesToGet如下:

GetItemResult result =  dbClient.getItem(new GetItemRequest().
    withTableName(TABLE_NAME).
        withKey(new Key(new AttributeValue().withS(hashKey),
                        new AttributeValue().withS(rangeKey))).
        withAttributesToGet(new ArrayList<String>()));
Map<String, AttributeValue> item = result.getItem();
return (item != null);
Run Code Online (Sandbox Code Playgroud)

另一个优化是不使用SDK JSON解析器并自己解析响应以快速检查项目是否已返回.

谢谢

java amazon-web-services amazon-dynamodb

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

为枚举构建一个通用的DynamoDBMarshalling

我正在使用Amazon Web Services SDK for Java for DynamoDB; 试图满足@DynamoDBMarshalling的界面:

Class<? extends DynamoDBMarshaller<? extends Object>> marshallerClass();
Run Code Online (Sandbox Code Playgroud)

我建立了一个接收任何枚举的编组:

public class EnumMarshaller<T extends Enum<T>> implements DynamoDBMarshaller<T>
{
    @Override
    public String marshall(T getterReturnResult)
    {
        return getterReturnResult.toString();
    }

    @Override
    public T unmarshall(Class<T> clazz, String obj)
    {
        return Enum.valueOf(clazz, obj);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我试图在我的字段上使用注释时,我无法弄清楚:

public static enum MyEnum {BLA, BLA2}

@DynamoDBMarshalling(marshallerClass=EnumMarshaller<MyEnum>.class)
    public MyEnum getStatus()
    {
        return status;
    }
Run Code Online (Sandbox Code Playgroud)

我无法在泛型类型上调用.class,而其他一些尝试则出现了不同的错误.亚马逊的合同我开始认为这是不可能的......

java generics annotations amazon-web-services amazon-dynamodb

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

Linkedin url功能

我在Quora上发表了一篇文章,解释了为什么LinkedIn *1_*1_*1_*1_*1_*在他们的网址中使用令牌.提到的答案有助于跟踪用户来自哪里以使用户能够返回他来自的地方.

URL如何存储这种类型的信息,为什么他们会使用该令牌而不是更传统的东西,例如?last=this-page

url query-string

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

JavaCompiler具有自定义ClassLoader和FileManager

我希望在没有机器上存在依赖关系的情况下编译源代码.
示例:文件A.java:

import some.pkg.B; 
public class A extends B {...}
Run Code Online (Sandbox Code Playgroud)

我没有B源存在,我希望挂钩JavaFileManager或自定义ClassLoader以获取有问题的符号(包'some.package'和B类)然后使用我有的服务检索源串.

编译代码:(inputFiles有A.java)

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
CustomClassLoader classLoader = new CustomClassLoader();
StandardJavaFileManager standardfileManager = compiler.getStandardFileManager(this, null, null);
JavaFileManager fileManager = new CustomFileManager(standardfileManager, output, classLoader);
CompilationTask task = compiler.getTask(null, fileManager, this, null, null, inputFiles);
boolean result = task.call();
Run Code Online (Sandbox Code Playgroud)

JavaFileManager(getFileForInput ..)和我的类加载器(findClass,loadClass ..)上的钩子在编译时没有触发,我收到错误消息:

A.java:#: package some.pkg does not exist
A.java:#: cannot find symbol
symbol: class B
Run Code Online (Sandbox Code Playgroud)

编辑

在使用API​​之后,浏览JavaCompiler(旧版本)源代码并阅读编译概述我仍然找不到可以用来向语法树提供符号的API钩子.似乎API需要根据kschneid建议的包名获取所有资源.
我想到的一个解决方法是运行JavaCompiler并分析缺失符号的错误消息.这样我就会知道需要哪些符号,获取它们并重新编译.
还有其他解决方法/解决方案吗?

java classloader java-compiler-api

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

Cassandra没有地理空间支持的原因吗?

由于Cassandra基于Dynamo论文(分布式,自平衡哈希表)+ BigTable,并且有一些空间索引可以很好地适应该范例(quadkeygeohash).是否有理由没有实施地理空间支持?

您可以将GeoPoint数据类型添加为具有内部geohash的元组,并将CF指定为包含地理数据.从那里,您可以选择将地理数据作为二级索引或非规范化SCF的行为.这可以为地理空间开发奠定基础,你可以从实现一些低悬的水果开始,例如.nearby(),它可以返回共享相同geohash的列.(我知道这不会给你"最近的",你必须散步周围的地理位置,或者使用形状和空间填充曲线,以便稍后实现,但这是一个寻找一些的一般操作附近的专栏)

我知道SimpleGeo/Urban Airship为Cassandra建立了地理支持,但它看起来并不像是开放的那样.另外,让我知道是否有更好的地方问这个(quora,邮件列表等...)

geolocation geospatial cassandra nosql

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

在Linux上的C中,popen/system到"ps all> file"会将所有行截断为80个字符

我正在使用Ubuntu 11.10.如果我打开终端并打电话:ps all我将结果截断(即每行最多100个字符)到终端窗口的大小.
如果我调用ps all > file行不被截断,所有信息都在文件中(有一行有~200个字符)

在C中,我试图实现相同但线条被截断.
我尝试
int rc = system("ps all > file"); 过和popen的变种一样.
我假设系统使用的shell(和popen)将每行的输出默认为80,如果我使用popen解析它,这是有道理的,但是由于我将它传递给文件,我希望它忽略它的大小像我在shell中做的那样经历了shell.

TL; DR
如何ps all > file从C应用程序调用时确保不截断行?

c c++ linux ubuntu system

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

开发Jenkins post-build插件

我目前正在开发一个简单的插件,可以从Jenkins构建中检索结果.我正在扩展通知程序并使用build.getResults()获取信息.但是,当我上传我的插件时,我无法将其设置为后构建操作.
当我运行我的构建时,它们会中断,build.getResults()因为我在构建仍在运行时尝试获取结果.

我该怎么做才能正确获得构建结果?

java hudson post-build jenkins jenkins-plugins

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

有没有TTPickerTextField替代品?也许在iOS4?

在iOS4中是否存在类似的替代或新内容 TTPickerTextField

我正在寻找一种方法来重新创建"新邮件"控件视图,我已经读过了TTPickerTextField.Three20是我的最后一个选项(特别是因为它没有iPad版本),我想知道iOS4是否提供了一些新的UI控件来执行此操作.

iphone cocoa-touch three20 ios4

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

亚马逊CloudFront在中国的带宽很差.有什么建议?

嗨我正在使用Amazon CloudFront(文件在S3上)用于我的SaaS应用程序,而且我在中国的连接速度很慢.我没有找到关于此事的太多信息,任何人都遇到过这种问题?

我联系ChinaCache可能会将它们用于中国的CDN,但他们还没有回复.

有什么建议?

amazon cdn amazon-cloudfront

5
推荐指数
0
解决办法
3755
查看次数