小编Ale*_*nov的帖子

为什么make认为目标是最新的?

这是我的Makefile:

REBAR=./rebar
REBAR_COMPILE=$(REBAR) get-deps compile

all: compile

compile:
    $(REBAR_COMPILE)

test:
    $(REBAR_COMPILE) skip_deps=true eunit

clean:
    -rm -rf deps ebin priv doc/*

docs:
    $(REBAR_COMPILE) doc

ifeq ($(wildcard dialyzer/sqlite3.plt),)
static:
    $(REBAR_COMPILE) build_plt analyze
else
static:
    $(REBAR_COMPILE) analyze
endif
Run Code Online (Sandbox Code Playgroud)

我可以make compile多次运行并获得

aromanov@alexey-desktop:~/workspace/gm-controller/lib/erlang-sqlite$ make compile
./rebar get-deps compile
==> erlang-sqlite (get-deps)
==> erlang-sqlite (compile)
Run Code Online (Sandbox Code Playgroud)

但是,出于某种原因,跑步make test总是给出

aromanov@alexey-desktop:~/workspace/gm-controller/lib/erlang-sqlite$ make test
make: `test' is up to date.
Run Code Online (Sandbox Code Playgroud)

即使文件没有编译.问题是,为什么?

直接运行相同的命令:

aromanov@alexey-desktop:~/workspace/gm-controller/lib/erlang-sqlite$ ./rebar get-deps compile skip_deps=true eunit
==> erlang-sqlite (get-deps)
==> erlang-sqlite (compile)
Compiled src/sqlite3_lib.erl …
Run Code Online (Sandbox Code Playgroud)

makefile

197
推荐指数
4
解决办法
9万
查看次数

Google Guice与PicoContainer的依赖注入

我的团队正在研究依赖注入框架,并试图决定使用Google-Guice和PicoContainer.

我们正在寻找框架中的几件事:

  1. 代码占用空间小 - 我的意思是代码占用空间很小,我们不希望代码库中的依赖注入代码丢失.如果我们需要在路上进行重构,我们希望它尽可能简单.
  2. 性能 - 创建和注入对象时每个框架有多少开销?
  3. 易于使用 - 是否有很大的学习曲线?我们是否必须编写大量代码才能使简单的工作变得简单?我们想要尽可能少的配置.
  4. 社区规模 - 较大的社区通常意味着将继续维护项目.我们不想使用框架并且必须修复我们自己的错误;)我们在此过程中遇到的任何问题都可以(希望)由框架的开发人员/用户社区来回答.

将非常感谢两个框架与所列标准的比较.任何有助于比较两者的个人经历也会非常有帮助.

免责声明:我对依赖注入相当新,如果我问一个与本次讨论无关的问题,请原谅我的新闻.

java dependency-injection guice picocontainer

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

你更喜欢在Vim中的缓冲区之间切换?

我已经尝试过MiniBufExplorer,但我通常会在几个窗口显示它或完全关闭它.我喜欢的是像LustyJuggler这样的增量搜索,我在Emacs中的缓冲区之间切换的方式.肯定有这样的剧本?

vim buffer editor

92
推荐指数
8
解决办法
6万
查看次数

映射Scala Map的键和值

斯卡拉的MapLike特质有一种方法

mapValues [C] (f: (B) ? C): Map[A, C] 
Run Code Online (Sandbox Code Playgroud)

但我有时想要一种不同的类型:

mapKeysAndValues [C] (f: (A, B) ? C): Map[A, C] 
Run Code Online (Sandbox Code Playgroud)

有一种简单的方法可以做到这一点,我错过了吗?当然,这可以通过折叠来完成.

scala

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

良好的Haskell编码标准

有人可以为Haskell提供良好编码标准的链接吗?我发现了这个这个,但它们远非全面.更不用说HaskellWiki包含诸如"谨慎使用类"之类的"宝石","定义符号中缀标识符应仅留给图书馆作者".

haskell coding-style conventions

74
推荐指数
4
解决办法
1万
查看次数

Scala Hoogle相当于?

Hoogle允许您通过函数名称或近似类型签名搜索许多标准Haskell库.我发现它非常有用.对于Scala有什么类似Hoogle的吗?在ScalaDoc 2中搜索仅按名称查找类型和包.

haskell type-systems scala

64
推荐指数
4
解决办法
2814
查看次数

如何在Scala中从导入中排除/重命名某些类?

语言FAQ

import scala.collection.mutable.{_, Map => _, Set => _}
Run Code Online (Sandbox Code Playgroud)

应该从包中导入所有类scala.collection.mutable,除了MapSet.但它给了我这个错误:

error: '}' expected but ',' found.
       import scala.collection.mutable.{_, Map => _, Set => _}
Run Code Online (Sandbox Code Playgroud)

还有办法吗?

scala scala-2.8

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

QuickCheck 2有哪些新功能?

QuickCheck 1和QuickCheck 2有哪些主要区别?通过查看Haddock文档,我可以看到它被拆分为更多模块,coarbitrary已被新Fun类型和FunArbitrary类替换(这对我来说似乎更容易理解),现在支持测试monadic代码.我还应该注意什么?

haskell quickcheck

40
推荐指数
1
解决办法
2647
查看次数

紧凑的方式来创建番石榴Multimaps?

如果我想用简单的默认值创建一个新的Multimap,我需要做类似的事情:

private final Multimap<Key, Value> providersToClasses = Multimaps
        .newListMultimap(
                new HashMap<Key, Collection<Value>>(),
                new Supplier<List<Value>>() {
                    @Override
                    public List<Value> get() {
                        return Lists.newArrayList();
                    }
                });
Run Code Online (Sandbox Code Playgroud)

因为如果Maps.newHashMap用于支持映射,Java无法推断出正确的类型.当然,这可以重构为一个单独的方法,但是有没有办法更简洁地编写它?

java generics guava

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

31
推荐指数
2
解决办法
4990
查看次数