小编Mal*_*lax的帖子

迭代列表,返回当前,下一个和当前之前的元素

我在以scala-esque和优雅的方式编写特定应用程序时遇到问题.我现在尝试了一段时间,但我找不到这个问题的"好"解决方案:

鉴于我有以下列表:

List("foo", "bar", "baz", "blah")
Run Code Online (Sandbox Code Playgroud)

我想迭代这个列表,不仅给出了每个迭代的当前元素,还给出了当前元素之前和之后的元素.这可能是一个Tuple3但不是必需的.这可能是元组签名:

(Option[T], T, Option[T])
Run Code Online (Sandbox Code Playgroud)

为了澄清我的意思,这是针对a的每次迭代的建议元组List[String],在第四次之后结束.

迭代1: (None, "foo", Some("bar"))

迭代2: (Some("foo"), "bar", Some("baz"))

迭代3: (Some("bar"), "baz", Some("blah"))

迭代4: (Some("baz"), "blah", None)

我怎么能达到这样的结果?再说一遍:我不受Tuple3的约束,任何其他解决方案也非常感谢!

谢谢!

iteration scala tuples list

11
推荐指数
1
解决办法
6221
查看次数

Akka 2:如何暂停处理消息?

在我使用Akka掌握Actor模型的过程中,会弹出许多问题.这是另一个.假设我们有一个Actor,由于某些业务逻辑或可用资源,它必须在给定时间内停止处理消息.可能发生这种情况的情况可能是:

  • 节流.可能有一个Actor发送电子邮件但被限制为每秒只发送一封电子邮件.

  • Actor可能会使用一些只能同时处理x-messages的系统.这可能是一个AsyncHttpClient,它有一个固定的线程池,我不想重载它.

  • 处理消息所需的某些外部资源不可用(读取:外部REST-API)

我的大脑很可能尚未准备演员,我只需要提示如何以演员的方式解决这些问题.

actor akka

10
推荐指数
1
解决办法
2623
查看次数

Guice的依赖注入:任何教程都没有涉及的东西

我刚刚使用Google Guice for Dependency Injection,并开始将其集成到我现有的应用程序中.到现在为止还挺好.我有许多类,除了它们的依赖项,还需要Strings,DataSources等等.我知道有NamedBindings,但我真的不想为每个简单的字符串创建一个注释,我必须传递给每个类的构造函数.然后,有一个名为AssistedInject的东西,为我创建Factory实现.哇,但我还是要定义工厂的界面.这对于具有依赖关系的类是否可以,但是这个示例类呢:

public class FooBarClass {
    public FooBarClass(String name, String anotherOne) {
        // Some stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我怀疑如何使用Guice,或者更一般地说,DI是正确的方式."我经常听到:XYZ框架是新的." 但这暗示我必须使用DI框架创建每个实例.

只需要一个实例

如果我只需要这个类的一个实例怎么办?除了两个字符串之外,这个类绝对没有依赖性.想想一个Shutdown Hook,它只会被实例化一次并作为我的Shutdown Hook传递给JVM.我应该用Guice创建这个实例吗?这看起来非常愚蠢,因为没有什么可注入,但我必须编写工厂接口来传递Guide两个参数,并且必须为我的FooBarClass创建一个接口来使用DI.

需要多个实例

同样的事情适用于我需要这个类的多个实例的情况.没有依赖关系,但我必须创建一堆样板代码才能从中获取任何东西.这对我来说似乎不对.

那么,我应该如何使用DI和/或Guice?

非常感谢!

java dependency-injection guice

8
推荐指数
1
解决办法
2098
查看次数

如何将构造函数变量(sic!)公开为只读?

我有关于Scala的这个相当简单的问题.鉴于我必须遵循类定义:

class Foo(var bar: Int)
Run Code Online (Sandbox Code Playgroud)

能够构造实例的代码Foo必须能够传递初始值bar.但是,如果我定义barvar用户也能够在运行时更改其值,这不是我想要的.用户应该只能阅读bar.bar本身是内部修改的,因此val不是一种选择.

scala

8
推荐指数
1
解决办法
1582
查看次数

Scala中没有strictfp - 解决方法?

我在网上搜索了如何srictfp在Scala中强制执行但却找不到任何暗示.有些人抱怨它,但找不到真正的解决方案.有一个关于它的bugtracker条目,差不多两年了.因为它似乎没有优雅的解决方案,我正在寻找解决方法.

我目前的想法是以ACC_STRICT某种方式在我生成的字节码中设置适当的方法标志,但我不知道这样做的最佳解决方案是什么.在十六进制编辑器中出现Scala编译器插件或者只是黑客标记.也许有人面临同样的挑战,可以告诉我他或她的解决方案?

scala strictfp

8
推荐指数
1
解决办法
446
查看次数

如何计算S3(亚马逊简单存储系统)存储价格?

我不太确定这是否是这个问题的正确堆栈交换站点,但我发现没有更合适的站点.

我打算在下一个项目中使用S3,但我不确定存储的价格是如何实际计费的.如果我只使用S3来投入千兆字节的数据并且几乎从不删除数据,我就没有问题.但事实并非如此.

如果我在S3中存储1兆字节的文件,1小时后将其删除并将另一个1兆字节的文件存入S3,该怎么办?我会为那个月1兆字节的存储空间收费,还是2兆字节?

亚马逊声明: First 1 TB / month of Storage Used

我不认为他们只会在月底对我的S3帐户中存储的内容进行计费,并且会对此进行计费.另一种方式 - 向我收取每个商店请求,因为"使用的存储"也不起作用,因为存储的文件可能会在多个结算月份内存储很长时间.

我希望有人有答案,我找不到任何东西:-)

amazon-s3 amazon-web-services cloud-hosting

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

HttpServletRequest和getHeader():如何正确处理不区分大小写的标头?

由于我发现根据RFC,HTTP标头是大小写密集的,我想知道如何使用Servlet以不区分大小写的方式访问HTTP标头.有一个#getHeader(String)方法来获取头,但事实证明这个方法将头字段区分大小写.

获取标题字段是否有"不区分大小写"的方法?或者我是否必须迭代所有标题字段以查找我正在寻找的标题字段?

java servlets http-headers

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

应用程序配置(Spring?)

我厌倦了所有这些无聊的样板代码来解析应用程序配置,如数据库连接,工作目录,API端点等等.Spring IoC看起来不错,但这会强制我的应用程序的用户修改XML文件,只是为了编辑数据库URL等等.这也可能在XML文件中非常分散,其中所有其他布线都会出现问题.

允许最终用户配置服务(不在应用程序服务器内运行)的最佳技术是什么?你们用的是什么?

java spring

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

等待特定对象的垃圾收集

我只是在commons-io库中挖掘并发现了这个:

Keeps track of files awaiting deletion, and deletes them when
an associated marker object is reclaimed by the garbage collector.

这可以在FileCleaningTracker对象的文档中找到.

现在我很好奇我怎么能自己做到这一点?我的代码如何检测垃圾收集器何时回收对象?

java garbage-collection

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

如何在 XMLSchema 中允许 xml:lang 属性?

我想允许在我的 XMLSchema 的某些元素中使用 xml:lang 属性。但我找不到任何描述如何操作的内容。是的,我的问题就这么简单。

xml xsd

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