在我们公司,我们有许多不同的模块构建为单独的战争.每个客户都可以挑选他想要购买的模块.由于所有模块共享相同的会话,安全上下文等,因此将它们合并为单个战争是有意义的.
是否可以自动化此过程?例如,它应该合并web.xml,计算每个wars依赖项,复制像.jsp和.class等文件.顺便说一句,我们使用的是Maven,但是无法找到解决这个问题的方法.
我正在尝试在xcode 7 beta中使用UI测试.我有一个带有两个文本字段的故事板.两个文本字段都有出口和不同的恢复ID.我记录了测试,但生成的代码是不可读的,它不起作用:
app.otherElements.containingType(.TextField, identifier:"y").childrenMatchingType(.TextField).elementBoundByIndex(0).typeText("hello")
Run Code Online (Sandbox Code Playgroud)
我也尝试了以下内容,并将根据占位符文本工作?!?
app.textFields["PlaceholderText"].typeText("hello")
Run Code Online (Sandbox Code Playgroud)
在UI测试中获取TextField引用的正确方法是什么?
我的应用程序是多线程的,具有密集的字符串处理.我们正在经历过多的内存消耗,并且分析已经证明这是由于String数据.我认为使用某种flyweight模式实现甚至缓存可以大大节省内存消耗(我知道Strings经常是重复的,尽管我在这方面没有任何硬数据).
我查看了Java Constant Pool和String.intern,但它似乎可能引发一些PermGen问题.
在java中实现应用程序范围的多线程字符串池的最佳替代方法是什么?
编辑:另见我以前的相关问题:java如何实现引擎盖下的字符串的flyweight模式?
我正在寻找在html 5中创建应用程序的wysiwyg设计器(基于任何主要的JavaScript库,如JQueryUI或其他).
到目前为止,我发现的唯一的东西是Ext Designer:http: //www.sencha.com/products/designer/ 但是它仍然处于非常早期阶段并且存在严重的限制(例如,自定义组件无法添加到工具箱中) .
任何替代品?
我通过调用以下方式访问Gradle脚本中的Jenkins内部版本号:
def buildNumber = System..getenv('BUILD_NUMBER')
Run Code Online (Sandbox Code Playgroud)
它在我第一次运行构建时工作正常.第二次运行构建时,数字不会增加,它与之前的构建运行保持不变.我正在使用4.4.1版本的Gradle.我不记得早期版本遇到同样的问题.
我目前的解决方法是将--no-daemon切换到Gradle.但是,这样我就无法从守护进程功能中受益.有没有办法使用守护进程ans仍然在Gradle构建中获得正确的内部版本号?
作为开发人员,我经常对可以让您的生活更轻松的新语言功能感兴趣.例如,java 5为该语言带来了泛型和注释,这些功能绝对可以提高您的工作效率.
然而,当我回顾近十年来在java平台上工作时,我发现与版本相关的问题是非生产性和不必要的努力的最大罪魁祸首.寻找正确版本的jar的小时和小时,试图协调一些版本冲突,升级依赖库等.当我开始使用java时,事情并不那么困难,你有几个第三方库,就是这样.今天,您可以轻松使用典型的Web应用程序:Spring Framework,Hibernate,Struts,您可以使用它.所有这些都带有许多依赖的第三方库.今天,我的耳档将通常包括大约40个或更多第三方库.一个真正的罐子地狱!
使用注释,我不必管理Hibernate的配置文件.一个很好的功能,但我没有看到由于我将描述符保存在单独的文件中而引起的许多问题.使用泛型,我不会编写演员语句,但在我的整个编程载体中,我记不起一个可以通过使用类型安全容器来防止的错误.版本问题的解决方案不是更有价值吗?
所有这些问题导致了许多工具,如Maven,Ivy,One Jar,Jar Jar Links(不是开玩笑!),甚至恰当地命名为Jar Hell等.即使你使用其中一些工具,你也远远不能免疫问题.我使用Maven 2,这是一个很好的帮助.不过,它本身就是一个世界.新手程序员可能需要一段时间来学习它.将您的遗留项目迁移到Maven结构也很痛苦.
似乎在.Net中他们已经学会了dll地狱的教训,并且.Net程序集的管理要简单得多.
似乎有计划为java平台和OSGI等替代方案解决这个问题.我认为非常需要一些基本的和平台强制的版本控制机制
我开始买入BDD了.基本上,正如我所理解的那样,您编写的场景描述了某些故事的良好接受标准.你从简单的测试开始,从外到内,使用模拟代替你尚未实现的类.随着进步,你应该用实际类替换模拟.从BDD简介:
首先,使用模拟来实现片段,以将帐户设置为信用卡或卡有效.这些构成了实施行为的起点.在实现应用程序时,将更改givens和results以使用您已实现的实际类,以便在方案完成时,它们已成为正确的端到端功能测试.
我的问题是:当你完成一个场景时,你使用的所有类都应该是真实的,比如在集成测试中吗?例如,如果您使用DB,您的代码是否应该写入真实(但轻量级的内存)数据库?最后,你的端到端测试中是否应该进行任何模拟?
我正在尝试创建加密的 S3 存储桶。执行 terraform apply 后,一切看起来都不错,但是当我查看 AWS 控制台中的存储桶时,它并未加密。我也知道上一个问题。
这是我的 terraform 版本:
Terraform v0.11.13
+ provider.aws v2.2.0
Run Code Online (Sandbox Code Playgroud)
这是我的 tf 文件:
resource "aws_s3_bucket" "test-tf-enc" {
bucket = "test-tf-enc"
acl = "private"
tags {
Name = "test-tf-enc"
}
server_side_encryption_configuration {
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "AES256"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我执行命令后的输出:
aws_s3_bucket.test-tf-enc: Creating...
acceleration_status: "" => "<computed>"
acl: "" => "private"
arn: "" => "<computed>"
bucket: "" => "test-tf-enc"
bucket_domain_name: "" => "<computed>"
bucket_regional_domain_name: "" => "<computed>"
force_destroy: "" => …Run Code Online (Sandbox Code Playgroud) java ×3
amazon-s3 ×1
android ×1
asp.net ×1
bdd ×1
daemon ×1
dependencies ×1
gradle ×1
html5 ×1
jar ×1
java-ee ×1
javascript ×1
jenkins ×1
maven-2 ×1
mocking ×1
obout ×1
packaging ×1
pool ×1
string ×1
swift ×1
tdd ×1
terraform ×1
uitest ×1
unit-testing ×1
versioning ×1
war ×1
wysiwyg ×1
xcode ×1
xcode7 ×1