在我的Play 2.0项目中,我已经集成了Bootstrap(因为较少的文件,Play可以在飞行中编译它们)但现在我找到了Boilerplate,我认为使用它也是一个不错的主意.
经过一番谷歌搜索后,我发现了这个:http: //www.quora.com/Is-Bootstrap-a-complement-OR-an-alternative-to-HTML5-Boilerplate-or-viceversa
因此,看起来集成应该是可能的,甚至有两个项目试图这样做.唯一的问题是他们做了完全不同的事情,我不确定哪一个是正确的.
https://gist.github.com/1422879处于当前状态似乎只是忽略styles.css来自Boilerplate的文件.它被重命名为h5bp.css,但我没有看到h5bp.css包含在任何地方.
https://github.com/elgreg/html5-boilerstrap,另一方面利用他们两个,只是分裂styles.css的文件分为两个部分(h5bp_normalize.css及styles.css,bootstrap.css包括它们之间).但Boilerplate和Bootstrap之间没有这种冲突吗?
所以我有点迷茫.在这种情况下,做事的正确方法是什么?
对我来说,如果它们具有功能,它们看起来都非常相似,但是如果不使用它们就很难说(但是).所以我几乎没有问题:
1)它们真的具有可比性(或多或少)吗?
2)有没有使用其中任何一个的企业或大型开源系统的例子?
3)我的印象是Squeryl有更好的文档,在ScalaQuery实际问题的情况下缺少文档?
4)其中哪一个增长更快和/或更快修复错误?
5)它们中的任何一个更容易使用/更高效吗?
我正在使用SBT和Play Framework.
我创建了一个自定义TaskKey来在我的项目中运行JavaScript测试:
import sbt._
import sbt.Process._
import PlayProject._
object ApplicationBuild extends Build {
val testJsTask = TaskKey[Unit]("testJs", "Run javascript tests.") := {}
val main = PlayProject("xxx", 1.0, Seq())
.settings(defaultScalaSettings: _*)
.settings(testJsTask)
}
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.
我testJsTask总是在有人执行test任务时运行它.
我想它应该是如下:
test in Test <<= (test in Test).dependsOn(testJsTask)
Run Code Online (Sandbox Code Playgroud)
我不知道应该如何准确定义.如何将依赖项添加到现有任务,如"test"或"build"?
UPDATE
在@Christian提出更改之后,构建定义如下所示:
object ApplicationBuild extends Build {
val testJsTask = TaskKey[Unit]("testJs", "Run tests for javascript client.")
def testJs = {}
val main = PlayProject("xxx", 1.0, Seq())
.settings(defaultScalaSettings: _*)
.settings(testJsTask := …Run Code Online (Sandbox Code Playgroud) 我想用gradle构建运行Jetty 7+,但不幸的是看起来没有办法用jettyRun来做这件事.因此,实现我想要的最简单的想法是使用自定义目标:
task runJetty << {
def server = new Server()
// more code here
server.start()
server.join()
}
Run Code Online (Sandbox Code Playgroud)
不幸的是我刚从gradle开始,我也不知道groovy,所以我很难创建合适的目标.我正在寻找互联网,但我找不到任何解决方案.任何人都可以用一些样本groovy代码打我,可以用jetty运行现有的jar吗?
在第410页的"Scala编程,第二版"中,您可以找到具有以下方法的类Simulation:
private def next() {
(agenda: @unchecked) match {
case item :: rest =>
agenda = rest
curtime = item.time
item.action()
}
}
Run Code Online (Sandbox Code Playgroud)
我很好奇为什么Odersky用模式匹配实现了这个,而不仅仅是这样:
private def next() {
val item = agenda.head
agenda = agenda.tail
curtime = item.time
item.action()
}
Run Code Online (Sandbox Code Playgroud)
模式匹配是否如此高效以至于根本没有关系?或者它只是不是那么完美的例子?
我正在使用一些静态库构建我的程序(实际测试).
这个库包含一个文件,我在其中有这样的函数:
string& GetString() {
static string strFilename;
return strFilename;
}
void PrintToScreen() {
printf("String: %s\n", GetString().c_str())
}
Run Code Online (Sandbox Code Playgroud)
然后在我的main.cpp(库外)我正在做:
GetString() = "abc";
printf("String: %s\n", GetString().c_str());
PrintToScreen();
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
String: abc
String:
Run Code Online (Sandbox Code Playgroud)
所以看起来像是对函数的第二次调用(但是从库中的不同文件完成)以某种方式清除以前的值,重新初始化它,或者使用它自己的副本.
我更改了GetString函数以使用'new'但结果完全相同(btw.程序从不崩溃).
但我不明白热可能吗?
我有什么想法我做错了吗?
-------------------------------更新------------------ ------------
0000000000000030 T _Z16GetLogprintfFilev
0000000000000008 b _ZGVZ16GetLogprintfFilevE16strLogprintfFile
0000000000000018 b _ZZ16GetLogprintfFilevE16strLogprintfFile
U _Z16GetLogprintfFilev
并且在我的基础库上使用nm(由最终的lib使用),我得到:
0000000000000030 T _Z16GetLogprintfFilev
0000000000000008 b _ZGVZ16GetLogprintfFilevE16strLogprintfFile
0000000000000018 b _ZZ16GetLogprintfFilevE16strLogprintfFile
我需要的是:
我想找到一些至少有3个以上正确实现的东西.如果他们可以帮助我,我也可以看看像Dojo或JQuery这样的js框架,但是我能够保持它足够小吗?
我已经有一个带有一个迁移脚本的简单项目:
# --- !Ups
create table user (
name varchar(255) not null primary key,
password varchar(255) not null
);
insert into user values ('demo', 'demo');
insert into user values ('kuki', 'pass');
# --- !Downs
drop table if exists user;
Run Code Online (Sandbox Code Playgroud)
我正在使用的数据库是内存中的H2:
db.default.driver=org.h2.Driver
db.default.url=jdbc:h2:mem:play
Run Code Online (Sandbox Code Playgroud)
然后我显然想查询一些数据.当我使用anorm时,一切正常:
case class User(name: String, password: String)
object User {
val simple = {
get[String]("user.name") ~/
get[String]("user.password") ^^ {
case name~password => User(name, password)
}
}
def findByName(name: String): Option[User] = {
DB.withConnection { implicit connection =>
SQL("select …Run Code Online (Sandbox Code Playgroud) 我想创建Web应用程序,同时学习一些很酷的新框架/技术.起初我在看Spring-Roo和Vaadin,但后来我认为使用纯java以外的东西会更有趣(也可能更有效).
到目前为止,我决定使用scala.但是必须说我真的很喜欢Vaadin的gui,如果可能的话我想用它.可能我可以使用纯vaadin + scala来构建一些简单的Web应用程序,但如果它有意义,那么我宁愿使用一些现有的框架来帮助我安全,强制执行适当的mvc或mvp等等.
使用Play是否有意义!还是以Vaadin为前端?或者别的什么?是否有任何教程或文档(我没有找到任何东西)?
或者也许我会更好地使用标准的Spring(Spring-Roo)和java?