小编Mar*_*ouf的帖子

JavaScript属性访问:点符号与括号?

除了显而易见的事实,即第一种形式可以使用变量而不仅仅是字符串文字,是否有任何理由使用其中一种,如果是这样,在哪种情况下呢?

在代码中:

// Given:
var foo = {'bar': 'baz'};

// Then
var x = foo['bar'];

// vs. 
var x = foo.bar;
Run Code Online (Sandbox Code Playgroud)

上下文:我编写了一个生成这些表达式的代码生成器,我想知道哪个更好.

javascript syntax

380
推荐指数
10
解决办法
14万
查看次数

JAX-RS/Jersey如何自定义错误处理?

我正在使用Jersey学习JAX-RS(又名JSR-311).我已经成功创建了一个Root资源并正在使用参数:

@Path("/hello")
public class HelloWorldResource {

    @GET
    @Produces("text/html")
    public String get(
        @QueryParam("name") String name,
        @QueryParam("birthDate") Date birthDate) {

         // Return a greeting with the name and age
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好用,并处理当前语言环境中的任何格式,日期(字符串)构造函数(如YYYY/mm/dd和mm/dd/YYYY)可以理解这种格式.但是,如果我提供的值无效或无法理解,我会得到404响应.

例如:

GET /hello?name=Mark&birthDate=X

404 Not Found
Run Code Online (Sandbox Code Playgroud)

我该如何自定义此行为?也许是一个不同的响应代码(可能是"400 Bad Request")?记录错误怎么样?也许在自定义标题中添加问题描述("错误日期格式")以帮助排除故障?或者返回包含详细信息的完整错误响应以及5xx状态代码?

java rest error-handling jax-rs jersey

210
推荐指数
6
解决办法
16万
查看次数

用于处理REST Web服务中的批处理操作的模式?

REST样式Web服务中的资源批处理操作存在哪些经过验证的设计模式?

我试图在性能和稳定性方面在理想与现实之间取得平衡.我们现在有一个API,所有操作都从列表资源(即:GET /用户)或单个实例(PUT/user/1,DELETE/user/22等)中检索.

在某些情况下,您希望更新整组对象的单个字段.向前后发送每个对象的整个表示来更新一个字段似乎非常浪费.

在RPC样式API中,您可以使用以下方法:

/mail.do?method=markAsRead&messageIds=1,2,3,4... etc. 
Run Code Online (Sandbox Code Playgroud)

什么是REST等效的?或者可以偶尔妥协.它是否会破坏设计以在一些特定的操作中添加它真正提高性能等?现在所有情况下的客户端都是Web浏览器(客户端的javascript应用程序).

rest web-services

167
推荐指数
5
解决办法
8万
查看次数

拼图:找到最大的矩形(最大矩形问题)

什么是最有效的算法找到适合空白区域的最大面积的矩形?

假设屏幕看起来像这样('#'代表填充区域):

....................
..............######
##..................
.................###
.................###
#####...............
#####...............
#####...............
Run Code Online (Sandbox Code Playgroud)

一个可能的解决方案是:

....................
..............######
##...++++++++++++...
.....++++++++++++###
.....++++++++++++###
#####++++++++++++...
#####++++++++++++...
#####++++++++++++...
Run Code Online (Sandbox Code Playgroud)

通常我会喜欢找出解决方案.虽然这次我想避免浪费时间自己摸索,因为这对我正在研究的项目有实际用途.有一个众所周知的解决方案吗?

Shog9写道:

您的输入是一个数组(如其他响应所暗示的那样),还是一个以任意大小的定位矩形形式的遮挡列表(在处理窗口位置时窗口系统中可能就是这种情况)?

是的,我有一个跟踪屏幕上放置的一组窗口的结构.我还有一个网格,可以跟踪每条边之间的所有区域,无论它们是空的还是填充的,以及它们左边或顶边的像素位置.我认为有一些修改后的形式可以利用这个属性.你知道吗?

language-agnostic algorithm math geometry

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

是否可以使用WebKit在清晰的背景上呈现Web内容?

我正在尝试测量WebKit补丁的可能性,这将允许所有渲染的图形渲染到完全透明的背景上.

所需的效果是呈现没有任何背景的Web内容,它应该浮动在桌面上(或浏览器窗口后面显示的任何内容).

有没有人看过应用程序这样做?(我可以想到一些终端模拟器可以.)如果有人在WebKit内部工作(或者可能是Gecko?)你认为有可能这样做吗?


更新:我已经意识到Mac OSX仪表板小部件使用这种确切的技术.所以,这一定是可能的.


更新2:我在linux上编译了WebKit并注意到配置选项包括:

--enable-dashboard-support
enable Dashboard support default=yes
Run Code Online (Sandbox Code Playgroud)

我越走越近了.有人可以帮忙吗?


更新3:我继续在各种相关邮件列表的帖子中找到对此的引用.

transparency webkit alphablending widget

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

Java调用图的静态分析

我想要做的是扫描一组Java类,并从抽象类的特定方法跟踪所有方法调用,并在该上下文中,构建执行某些操作的所有代码的列表(在本例中,实例化)某个类的实例).我想知道,行号和提供的参数.

我已经开始关注BCEL,但它似乎没有内置调用图形跟踪?我犹豫要写自己的,因为获得重载,类型签名和多态分派权可能是棘手的.

我一半期望存在一个工具或示例代码,但我还没有找到任何东西.我真的觉得我要重新发明一个轮子.但是,如果我这样做将是一个开源轮,可在GitHub上使用;-)

PS:你会发现现有的问题" 如何生成Java调用图 ",因为它听起来完全一样,但它根本不是我需要的.

java static analysis call-graph

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

比较Java中的两个基元数组?

我知道Arrays.deepEquals(Object [],Object [])但这对原始类型不起作用(由于数组和自动装箱的限制,请参阅此相关文章).

考虑到这一点,这是最有效的方法吗?

boolean byteArrayEquals(byte[] a, byte[] b) {
    if (a == null && b == null)
        return true;

    if (a == null || b == null)
        return false;

    if (a.length != b.length)
        return false;

    for (int i = 0; i < a.length; i++) {
        if (a[i] != b[i])
            return false;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

java arrays compare primitive-types

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

登录ID用什么?

我们正处于对产品进行重大改写的早期设计阶段.现在我们的客户主要是企业.我们管理帐户.帐户的用户名各自都在其自己的命名空间中,但这意味着我们无法在服务器之间移动资产.

我们想要移动到单个命名空间.但这带来了唯一用户名的问题.

那么最好的想法是什么?

  • 电子邮件地址(带验证)?
  • 唯一的字母数字字符串("johnsmith9234")?
  • 我们应该看看OpenID吗?

authentication account web-applications

17
推荐指数
2
解决办法
5505
查看次数

如何通过命令管理here-document并将结果捕获到变量中?

现在,这将输出我在stdout上需要的值.如何将其捕获到变量中,以便我可以在脚本的其余部分中使用它?

要求:

  • 该脚本需要全部在一个文件中.
  • 如果可能的话,我宁愿不写任何临时文件.

.

#!/bin/bash

cat << EOF | xsltproc - ../pom.xml | tail -1
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/"><xsl:value-of select="/project/version"/></xsl:template>
</xsl:stylesheet>
EOF
Run Code Online (Sandbox Code Playgroud)

bash shell heredoc

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

有没有人和Guice一起使用ServiceLoader?

我一直希望通过我们的应用程序+构建系统在更大范围内尝试这一点,但更高的优先级继续将其推向次要地位.这似乎是加载Guice模块的一种很好的方式,并避免了关于"硬编码配置"的常见抱怨.单个配置属性很少自行更改,但您几乎总是会有一组配置文件,通常用于不同的环境(调试,生产等).

ServiceLoader允许您提取定义为给定类型的服务的所有实现的列表.把它与Guice放在一起,你最终得到:

import java.util.ServiceLoader;

import com.google.inject.AbstractModule;
import com.google.inject.Module;

public class ModuleLoader<M extends Module> extends AbstractModule {

    private final Class<M> type;

    public ModuleLoader(Class<M> type) {
        this.type = type;
    }

    public static <M extends Module> ModuleLoader<M> of(Class<M> type) {
        return new ModuleLoader<M>(type);
    }

    @Override
    protected void configure() {
        ServiceLoader<M> modules = ServiceLoader.load(type);
        for (Module module : modules) {
            install(module);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

用法示例(作为guice-servlet项目中的动态servlet加载器):

import com.google.inject.servlet.ServletModule;

public class ServletLoader extends GuiceServletContextListener {
    @Override
    protected final Injector getInjector() {
       return Guice.createInjector(ModuleLoader.of(ServletModule.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

服务(打包为模块)将打包在单独的jar文件中.在每个内容中,您将在元数据中定义类: …

java dependency-injection guice

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