我在以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的约束,任何其他解决方案也非常感谢!
谢谢!
在我使用Akka掌握Actor模型的过程中,会弹出许多问题.这是另一个.假设我们有一个Actor,由于某些业务逻辑或可用资源,它必须在给定时间内停止处理消息.可能发生这种情况的情况可能是:
节流.可能有一个Actor发送电子邮件但被限制为每秒只发送一封电子邮件.
Actor可能会使用一些只能同时处理x-messages的系统.这可能是一个AsyncHttpClient,它有一个固定的线程池,我不想重载它.
处理消息所需的某些外部资源不可用(读取:外部REST-API)
我的大脑很可能尚未准备演员,我只需要提示如何以演员的方式解决这些问题.
我刚刚使用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?
非常感谢!
我有关于Scala的这个相当简单的问题.鉴于我必须遵循类定义:
class Foo(var bar: Int)
Run Code Online (Sandbox Code Playgroud)
能够构造实例的代码Foo必须能够传递初始值bar.但是,如果我定义bar为var用户也能够在运行时更改其值,这不是我想要的.用户应该只能阅读bar.bar本身是内部修改的,因此val不是一种选择.
我在网上搜索了如何srictfp在Scala中强制执行但却找不到任何暗示.有些人抱怨它,但找不到真正的解决方案.有一个关于它的bugtracker条目,差不多两年了.因为它似乎没有优雅的解决方案,我正在寻找解决方法.
我目前的想法是以ACC_STRICT某种方式在我生成的字节码中设置适当的方法标志,但我不知道这样做的最佳解决方案是什么.在十六进制编辑器中出现Scala编译器插件或者只是黑客标记.也许有人面临同样的挑战,可以告诉我他或她的解决方案?
我不太确定这是否是这个问题的正确堆栈交换站点,但我发现没有更合适的站点.
我打算在下一个项目中使用S3,但我不确定存储的价格是如何实际计费的.如果我只使用S3来投入千兆字节的数据并且几乎从不删除数据,我就没有问题.但事实并非如此.
如果我在S3中存储1兆字节的文件,1小时后将其删除并将另一个1兆字节的文件存入S3,该怎么办?我会为那个月1兆字节的存储空间收费,还是2兆字节?
亚马逊声明:
First 1 TB / month of Storage Used
我不认为他们只会在月底对我的S3帐户中存储的内容进行计费,并且会对此进行计费.另一种方式 - 向我收取每个商店请求,因为"使用的存储"也不起作用,因为存储的文件可能会在多个结算月份内存储很长时间.
我希望有人有答案,我找不到任何东西:-)
由于我发现根据RFC,HTTP标头是大小写密集的,我想知道如何使用Servlet以不区分大小写的方式访问HTTP标头.有一个#getHeader(String)方法来获取头,但事实证明这个方法将头字段区分大小写.
获取标题字段是否有"不区分大小写"的方法?或者我是否必须迭代所有标题字段以查找我正在寻找的标题字段?
我厌倦了所有这些无聊的样板代码来解析应用程序配置,如数据库连接,工作目录,API端点等等.Spring IoC看起来不错,但这会强制我的应用程序的用户修改XML文件,只是为了编辑数据库URL等等.这也可能在XML文件中非常分散,其中所有其他布线都会出现问题.
允许最终用户配置服务(不在应用程序服务器内运行)的最佳技术是什么?你们用的是什么?
我只是在commons-io库中挖掘并发现了这个:
Keeps track of files awaiting deletion, and deletes them when an associated marker object is reclaimed by the garbage collector.
这可以在FileCleaningTracker对象的文档中找到.
现在我很好奇我怎么能自己做到这一点?我的代码如何检测垃圾收集器何时回收对象?
我想允许在我的 XMLSchema 的某些元素中使用 xml:lang 属性。但我找不到任何描述如何操作的内容。是的,我的问题就这么简单。