小编Chi*_*ron的帖子

项目中Clojure的用例

当然我不是因为我可以而是在谈论使用Clojure.

我很想知道何时/何时使用Clojure以及它为项目带来的价值.

假设我正在进行Java Web开发,我可以在哪里使用Clojure?你脑子里有任何用例吗?

谢谢.

java clojure jvm-languages

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

学习核心图形

我正在进行iPhone编程,我需要了解Core Graphics.
它看起来Apple没有为Core Graphics提供编程指南,而且我很难遵循使用Core Graphics的代码.

您是否建议学习Core Graphics的参考书或书籍?

iphone core-graphics

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

如何共享不在Clojars中的依赖项

我需要使用mongo-storm库而Clojars没有.所以我克隆了项目,手工编译并将jar复制到我的lib文件夹中.但这是一个团队项目,每个成员手动完成这些步骤是不可接受的.

如何解决这个问题是否有更好,更标准的想法?

clojure dependency-management leiningen

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

预定学习如何编写Clojure/Lisp宏

我正在阅读"Programming Clojure",我对一本讨论如何尽可能广泛地创建宏的书感兴趣.

你为此推荐一本书吗?

谢谢.

lisp clojure jvm-languages

6
推荐指数
2
解决办法
1680
查看次数

Eclipse Virgo和Eclipse Gemini有什么区别?

嘿,
Eclipse Virgo和Eclipse Gemini有什么区别?
(我理解OSGI的一般做法).

java osgi eclipse-gemini eclipse-virgo

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

一种方法,将可变数据结构声明为输出并实际返回不可变数据结构

最近,我就这个问题进行了激烈的讨论.

让我们说我用Java创建了这个方法:

 public Set<String> getRich() {
    return ImmutableSet<String> ....;
 }
Run Code Online (Sandbox Code Playgroud)

每当我在拉动请求中看到它时,我会大喊并尝试解释它为什么是错误的.通过这样做,我通过承诺他们将得到一个Set来误导我的方法的消费者.这意味着他们可以删除或添加元素.javac很乐意编译它,但会抛出RuntimeException.除此之外,它违反了"利斯科夫替代原则".

就个人而言,我总是这样做:

public ImmutableSet<String> getRich() {
    return ImmutableSet<String> ....;
}
Run Code Online (Sandbox Code Playgroud)

这样,没有人会在脚下射击自己.

一种建议的方法是返回Iterable.我认为这很糟糕,因为该方法的使用者将失去HashSet,HashMap或其他任何东西(通过无法调用set.get(hash))的潜在能力.

另一种方法是 - 作为消费者 - 创建getRich()方法输出的副本.但是你如何确定消费者会这样做呢?

当然,你有那些坚持OOP设计原则的人说:"总是编程接口".对我来说 - 在这种特殊情况下 - 这是有史以来最糟糕的选择.

你会如何处理这个案子?

(非主题:这个案例是一个完美的例子,静态类型如何确保正确性,但永远不会确保正确性).

java oop inheritance design-patterns immutability

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

如何连接番石榴期货?

我正在尝试创建一个小服务来接受文件上传,解压缩然后删除上传的文件.这三个步骤应该被链接为期货.我正在使用Google Guava库.

工作流程是:

未来下载文件,如果操作完成,那么将来解压缩文件.如果解压缩完成,将来删除原始上传文件.

但说实话,我不清楚如何连接未来,甚至如何以番石榴的方式创造它们.文档简洁而且不清楚.好的,有transform方法,但没有具体的例子.chain方法已弃用.

我想念RxJava图书馆.

java future guava

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

Rails 中的模型是隐式的,这是一件烦人的事情吗?

考虑 Rails 中的模型:

class Organization < ActiveRecord::Base  
    belongs_to :OrgType  
end    
Run Code Online (Sandbox Code Playgroud)

Rails 中的模型不包含创建实体的字段,您是否对此感到困扰?我知道这样做是为了 DRY,但是每次您想要检查模型的字段时都必须检查数据库表架构。

ruby ruby-on-rails

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

“存储” REST原型如何不创建新资源和新URI?

REST API设计表明存在四种资源原型:文档,集合,存储和控制器。

商店不创建新资源;因此,商店永远不会生成新的URI。

一个例子:

PUT /users/12245/favorites/boston-celtics
Run Code Online (Sandbox Code Playgroud)

用户将波士顿凯尔特人队添加到他的收藏夹列表中。

但这不是在创建新资源吗?以及如何不生成新的URI?

rest api-design

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

将带连字符的字符串转换为CamelCase

我正在尝试将带连字符的字符串转换为CamelCase字符串.我关注这篇文章:将连字符转换为驼峰案例(camelCase)

(defn hyphenated-name-to-camel-case-name [^String method-name]
  (clojure.string/replace method-name #"-(\w)" 
                          #(clojure.string/upper-case (first %1))))


(hyphenated-name-to-camel-case-name "do-get-or-post")
==> do-Get-Or-Post
Run Code Online (Sandbox Code Playgroud)

为什么我还在输出字符串?

regex clojure

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