小编Dav*_*ron的帖子

在JavaScript中定义枚举的首选语法是什么?

在JavaScript中定义枚举的首选语法是什么?就像是:

my.namespace.ColorEnum = {
    RED : 0,
    GREEN : 1,
    BLUE : 2
}

// later on

if(currentColor == my.namespace.ColorEnum.RED) {
   // whatever
}
Run Code Online (Sandbox Code Playgroud)

还是有更优选的成语?

javascript syntax enums

1982
推荐指数
23
解决办法
95万
查看次数

在Java中创建泛型类型的实例?

是否可以在Java中创建泛型类型的实例?我正在考虑基于我所看到的答案是no(由于类型擦除),但如果有人能看到我缺少的东西,我会感兴趣:

class SomeContainer<E>
{
    E createContents()
    {
        return what???
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:事实证明,超级类型标记可用于解决我的问题,但它需要大量基于反射的代码,如下面的一些答案所示.

我会把这个开放一段时间,看看是否有人提出了与Ian Robertson的Artima文章截然不同的任何东西.

java generics

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

Gzip的JavaScript实现

我正在编写一个Web应用程序,需要通过AJAX将JSON数据存储在一个小的,固定大小的服务器端缓存中(想想:Opensocial配额).我无法控制服务器.

我需要减少存储数据的大小以保持服务器端配额,并且希望能够在将其发送到服务器之前在浏览器中对字符串化JSON进行gzip.

但是,我找不到Gzip的JavaScript实现方式.有关如何在发送之前压缩客户端数据的任何建议吗?

javascript compression ajax gzip

204
推荐指数
7
解决办法
15万
查看次数

Java数组反射:isArray与instanceof

使用时是否存在偏好或行为差异:

if(obj.getClass().isArray()) {}
Run Code Online (Sandbox Code Playgroud)

if(obj instanceof Object[]) {}
Run Code Online (Sandbox Code Playgroud)

java arrays reflection

173
推荐指数
4
解决办法
12万
查看次数

阻塞套接字:确切地说,"send()"何时返回?

确切地说,BSD套接字send()函数何时返回给调用者?

非阻塞模式下,它应该立即返回,对吗?

至于阻止模式,手册页说:

当消息不适合套接字的发送缓冲区时,send()通常会阻塞,除非套接字已置于非阻塞I/O模式.

问题:

  1. 这是否意味着send()如果内核发送缓冲区中有空间,则调用将始终立即返回?
  2. send()TCP和UDP 的呼叫行为和性能是否相同?如果没有,为什么不呢?

sockets udp tcp

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

确定Python模块中是否有可用的函数

我正在使用一些使用该socket.fromfd()函数的Python套接字代码.

但是,此方法并非在所有平台上都可用,因此在未定义方法的情况下,我正在编写一些回退代码.

确定方法是否在运行时定义的最佳方法是什么?以下是否足够或有更好的成语?

if 'fromfd' in dir(socket):
    sock = socket.fromfd(...)
else:
    sock = socket.socket(...)
Run Code Online (Sandbox Code Playgroud)

我有点担心文档dir()似乎不鼓励使用它.将getattr()是一个更好的选择,如:

if getattr(socket, 'fromfd', None) is not None:
    sock = socket.fromfd(...)
else:
    sock = socket.socket(...)
Run Code Online (Sandbox Code Playgroud)

思考?

编辑正如Paolo所指出的,这个问题几乎与确定属性存在的问题重复.但是,由于使用的术语是不相交的(lk的"对象有一个属性" vs我的"模块有一个函数"),保留这个问题以获得可搜索性可能会有所帮助,除非两者可以组合.

python

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

宏替换C++运算符new

是否有可能创建宏来替换operator new包含额外args的所有形式的重载...说__FILE____LINE__

麻烦似乎operator new可以用括号括或不用括号编码,因此:

不幸的是,尝试使用相同的标识符声明两个宏是错误的,即使它们的类型不同,因此以下操作失败:

#define new new(__FILE__, __LINE__)
#define new(A) new (A, __FILE__, __LINE__) // Error: "new" already defined
Run Code Online (Sandbox Code Playgroud)

由于我正在使用g ++,我希望使用它们的可变参数宏的语法会产生成功,但遗憾的是没有.下列:

#define new(...) new(__FILE__, __LINE__, ## __VA_ARGS__)
Run Code Online (Sandbox Code Playgroud)

只匹配new(xyx) A(),而不是new A().

我知道有些文章是关于为什么不可能写的 …

c++ gcc c-preprocessor

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

是否有工具可以发现类路径中的多个jar中是否存在相同的类?

如果类路径中有两个包含同一类的不同版本的jar,则classpath顺序变得至关重要.

我正在寻找一种工具,可以检测和标记给定类路径或文件夹集中的此类潜在冲突.

当然是一个开始的脚本:

classes=`mktemp`
for i in `find . -name "*.jar"`
do
    echo "File: $i" > $classes
    jar tf $i > $classes
    ...
done
Run Code Online (Sandbox Code Playgroud)

有一些聪明的排序/ uniq/diff/grep/awk以后有潜力,但我想知道是否有人知道任何现有的解决方案.

java jar classpath

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

Oracle将常量合并到单个表中

在Oracle中,给出一个简单的数据表:

create table data (
    id       VARCHAR2(255),
    key      VARCHAR2(255),
    value    VARCHAR2(511));
Run Code Online (Sandbox Code Playgroud)

假设我想"插入或更新"一个值.我有类似的东西:

merge into data using dual on 
    (id='someid' and key='testKey')
when matched then 
    update set value = 'someValue' 
when not matched then 
    insert (id, key, value) values ('someid', 'testKey', 'someValue');
Run Code Online (Sandbox Code Playgroud)

有比这更好的方法吗?这个命令似乎有以下缺点:

  • 每个文字需要输入两次(或通过参数设置添加两次)
  • "使用双重"语法看起来很糟糕

如果这是最好的方法,有没有办法在JDBC中设置两次每个参数?

oracle merge jdbc

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

为什么用两个参数调用sizeof运算符?

我最近遇到了一些看起来像的代码:

if(sizeof(var,2) == 4) { ... }
Run Code Online (Sandbox Code Playgroud)

(哪里var是一种类型)

我很惊讶地发现看起来似乎是sizeof运营商的两个论点.快速扫描ISO/ANSI C99标准并没有产生任何秘密.我无法想出任何允许在那里使用逗号的语法.

在搜索Google Code时,我能够在某些PPC代码中找到此语法的示例.

这是一些特定于PPC的语法吗?这是什么意思?

编辑:事实证明,我所看到的 - 以及链接代码 - 都是WindRiver Diab编译器特有的语法:

sizeof(type,int-const):

如果int-const为0,则sizeof返回类型的字节大小.

如果int-const为1 sizeof,则返回类型的对齐方式.

如果int-const为2 sizeof,则返回一个指定类型类型的整数常量.在Diab C/C++用户指南中查找"sizeof operator" 了解值.

哇,他们真的超载了sizeof运营商的意义.

编辑2:完整文档在这里:http://www.vxdev.com/docs/vx55man/diab5.0ppc/c-additi.htm#3001432

c sizeof

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

标签 统计

java ×3

javascript ×2

ajax ×1

arrays ×1

c ×1

c++ ×1

c-preprocessor ×1

classpath ×1

compression ×1

enums ×1

gcc ×1

generics ×1

gzip ×1

jar ×1

jdbc ×1

merge ×1

oracle ×1

python ×1

reflection ×1

sizeof ×1

sockets ×1

syntax ×1

tcp ×1

udp ×1