人们使用Clojure的真实应用是什么?
我使用Groovy作为胶水,Java用于大型系统,Python/Perl脚本用于解析和粘合.我可以看到自己从Java调用Clojure,但我无法看到我自己在哪里使用它.令我感到震惊的是,几乎任何脚本语言都可以更容易地用于特殊任务.
无论如何我不是Groovy专家或粉丝,但它让我觉得它有更好的支持框架,工具和许多语言结构(闭包,函数式编程).Scala也是如此.
难道它的未来是作为嵌入其他系统的语言吗?
我想使用Hibernate的标准api来制定一个连接两个实体的特定查询.假设我有两个实体,Pet和Owner,拥有许多宠物,但关键是这种关联没有映射到Java注释或xml中.
使用hql,我可以通过在查询中指定连接来选择拥有名为'fido'的宠物的所有者(而不是将一组宠物添加到所有者类).
可以使用休眠标准完成相同的操作吗?如果是这样的话?
谢谢,J
我知道类和结构之间的区别之一是结构实例存储在堆栈上,类实例(对象)存储在堆上.
由于类和结构非常相似.有人知道这种特殊区别的区别吗?
我正在开发将使用clickonce(在网站foo.com上)部署的软件,然后使用带有加密传输的WCF连接到我的服务器
所以我需要一个SSL证书,它将:
我还希望我的SSL证书由公众所知的权限签名(即,firefox或windows不会要求用户首先安装权限证书!)
你会买什么SSL证书?
我浏览过Verisign网站,"安全网站EV"证书每年花费1150欧元("Pro"版本似乎只对旧版浏览器的兼容性有用)
我已经阅读了很多关于在Java中调优GC的文章,并且经常想知道有多少人真正使用了一些更高级的功能.
我总是尽可能地避免调整,并专注于编写尽可能简单的代码(Brian Goetz的建议) - 到目前为止,这似乎对我有用.
这些调整策略是否适应VM版本的变化,还是需要不断重新评估?
我使用的一个调整是-server标志.
如何使用在mySQL上运行的JdbcTemplate以可伸缩的方式执行以下SQL .在这种情况下,可扩展意味着:
这是声明:
INSERT INTO myTable (foo, bar) VALUES ("asdf", "asdf"), ("qwer", "qwer")
Run Code Online (Sandbox Code Playgroud)
假设我有一个POJO的列表foo
和bar
字段.我意识到我可以迭代列表并执行:
jdbcTemplate.update("INSERT INTO myTable(foo, bar) VALUES (?, ?)", paramMap)
Run Code Online (Sandbox Code Playgroud)
但这并不能完成第一个标准.
我相信我也可以执行:
jdbcTemplate.batchUpdate("INSERT INTO myTable(foo, bar) VALUES (?, ?)", paramMapArray)
Run Code Online (Sandbox Code Playgroud)
但据我所知,这只会编译SQL一次并多次执行,再次失败第一个标准.
似乎通过这两个标准的最终可能性是简单地用a构建SQL StringBuffer
,但我想避免这种情况.
有没有人在OSGi中部署企业应用程序并发现它有用?
我可以看到好处,强制模块化,良好的依赖关系定义等.但这些似乎主要是构建相关的改进.
有没有人发现动态替换现有模块很有用?我们倾向于按流程拆分我们的应用程序,说实话,使用更新的库启动应用程序的新实例并不困难.OSGi会对此有用吗?
更换模块的可靠性如何?令我感到震惊的是,如果你有一个非常繁忙的过程,那么更换正在运行的模块就会充满危险.
这可能是一个愚蠢的问题,但我应该在Mac上使用32位或64位版本的Eclipse吗?
我完全了解Snow Leopard和所有补丁,我有一个非常新的iMac(30",双核,3GB)
我认为Snow Leopard上的Java现在只有64位,所以无法理解为什么有32位下载.是旧版本的OSX显示32位的Eclipse下载页面吗?
我刚刚开始阅读关于Erlang的Joe Armstrongs的书,并听取了他关于软件工程广播的精彩演讲.
它是一个有趣的语言/系统,其时间似乎随着多核机器的出现而出现.
我的问题是:有什么可以阻止它被移植到JVM或CLR?我意识到两个虚拟机都没有设置为运行Erlang所要求的轻量级进程 - 但是这些虚拟机不能被线程模拟?我们可以在非Erlang VM上看到Erlang的轻量级或缩减版本吗?
我正在学习Haskell,作为练习,我正在尝试将代码后面的read_from函数转换为Haskell.取自Peter Norvig的Scheme翻译.有这么简单的方法吗?
def read(s):
"Read a Scheme expression from a string."
return read_from(tokenize(s))
parse = read
def tokenize(s):
"Convert a string into a list of tokens."
return s.replace('(',' ( ').replace(')',' ) ').split()
def read_from(tokens):
"Read an expression from a sequence of tokens."
if len(tokens) == 0:
raise SyntaxError('unexpected EOF while reading')
token = tokens.pop(0)
if '(' == token:
L = []
while tokens[0] != ')':
L.append(read_from(tokens))
tokens.pop(0) # pop off ')'
return L
elif ')' == token:
raise SyntaxError('unexpected )') …
Run Code Online (Sandbox Code Playgroud)