所以我在Scala中有一个这样的地图:
val m = Map[String, String](
"a" -> "theA",
"b" -> "theB",
"c" -> "theC",
"d" -> "theD",
"e" -> "theE"
)
Run Code Online (Sandbox Code Playgroud)
我想使用lift-json将此结构序列化为JSON字符串.
你们中的任何人都知道怎么做吗?
在SBT .7中,你可以做到
~jetty-run
Run Code Online (Sandbox Code Playgroud)
为了让您的文件自动编译并在发生变化时重新加载Web应用程序.在SBT .11中,你可以做到
~container:start
Run Code Online (Sandbox Code Playgroud)
每次更改时,它也会重新编译文件,但似乎不会重新加载Web应用程序.相反,我必须做一个
container:stop
container:start
Run Code Online (Sandbox Code Playgroud)
看到变化.这样做的问题是它需要~30s重新启动.有没有更好的方法呢?通过谷歌和SBT挖掘并没有找到任何答案
编辑:做一个
container:start
container:reload
Run Code Online (Sandbox Code Playgroud)
每次事情发生变化,似乎运作良好.但是,是否可以按顺序自动发生?就像是:
~(container:start, container:reload)
Run Code Online (Sandbox Code Playgroud)
这不起作用,但我希望它能做到
我发现自己有点难题.我正在构建一个新的,现代的,基于Web的应用程序,我不仅需要选择一种技术,我必须选择一种架构.我认为现在可以说这是一个艰难的选择,因为我们有比5年前更多的选择.
首先,我已经决定Scala将成为服务器端语言.我有我的理由,这不是Scala与XYZ的帖子 - 已经做出了选择.我也已经完成了这样一个事实,即我们在网络上,在云端,所以我甚至都不会试图摆脱Javascript.也许我会使用CoffeeScript,但我将编写浏览器托管的代码.
现在,假设Scala,大多数人可能会跳到Play!或提升.可能会玩!鉴于它得到了Typesafe的支持,但我认为我还有另一个需要首先回答的更重要的问题.什么是建筑?如果我想要一个非常富有的客户端,我真的需要的不仅仅是一个简单的无状态服务层,因为我们还有大量的Javascript吗?我不确定它会是一个单页的webapp,但像BlueEyes这样的东西可能是正确的选择吗?举起并玩!更重要的是他们承担更多的责任.他们生成HTML,对于这些框架,浏览器非常愚蠢.路由,验证,Ajax和Comet支持等都是服务器端的问题.由于浏览器今天功能更强大,因此通常通过从服务器生成和注入Javascript来实现丰富的交互式功能.
我的问题归结为这个.我是否选择传统的电梯/游戏!服务器承担客户端和服务器责任的框架,还是使用富客户端+ REST风格的服务层,客户端在应用程序中扮演更重要的角色?客户端处理路由,验证,绑定等的架构.我看到像KnockOut.js,Sammy.js,Sproutcore,Backbone.js这样的框架......我不打算将它们全部列出但只需要从客户端的角度来看,他们都采用了一些这些框架功能.
如果我选择Play!,我会放弃一些丰富的UI吗?那些我想为集成/混搭/移动目的提供服务API的情况呢?玩怎么玩!在这帮我?显然BlueEyes在这里发挥得很好.我想我无论如何都需要一个服务层.
如果我选择BlueEyes,我的客户端代码是什么样的?我需要有多少基于Javascript的框架才能满足我的需求?我仍然希望在我的服务层中使用大部分业务逻辑,但路由,绑定......所有UI内容都是客户关注的问题.
我不确定答案是对还是错,但我认为这个社区可能会指出我正确的方向.
我也把它发布到我的博客http://www.andyczerwonka.com/picking-a-web-technology-isnt-as-easy-as-it-u-45228
鉴于Scala语言的各种优点,我决定在Scala中编写我的下一个Web应用程序.但是,我应该使用Wicket还是Lift?我对Wicket很熟悉,并且很喜欢它,但对Lift的了解很少.在这种背景下学习Lift值得努力吗?
换句话说,Lift与Wicket相比如何?鉴于网络应用程序将在Scala中,使用Lift可以让我作为开发人员的生活更轻松吗?
我开始了解Scala,我非常喜欢它.
你如何定位自己以获得Scala开发人员的工作(假设那些变得更常见)?
Scala生态系统的哪些部分具有最佳工作潜力(Lift,Actors?).
如何在未能指向Scala工作经验的情况下获得未来雇主的信誉(也许是开源项目的经验?).
(上述问题有望引起Scala民众的普遍兴趣.如果你想将我的特定情况考虑在你的回答中,这里有一些关于我的细节:长期开发人员(主要是Java),拥有计算机科学博士学位;目前没有工作;我被绑在一个非锋利的位置(罗切斯特纽约),所以我可能只限于远程工作.)
更新2010/07/30:
谢谢你的回复.我想强调对位置问题的重视.我被家人绑在一个可能不会让Scala长时间在本地工作的位置.获取远程 Scala 是否有现实的前景,如果是这样,您如何定位自己以获得远程工作?(适度的旅行量是可行的,但不是一个全面的公路战士.)
另外,我想知道如何利用我的教学背景.在当地大学教授Scala课程会对一个人作为开发人员的市场性产生重大影响,还是只是转移更多的努力而不是价值?
如果我打电话,有一个jString : JString持有"abc"字符串的值.我该如何获得?"JString(abc)" : StringjString.toString"abc" : String
Web应用程序框架(如sinatra(ruby),play(scala),lift(scala))生成一个侦听特定端口的Web服务器.
我知道有一些原因,如安全性,群集以及在某些情况下的性能,可能会导致我在我的Web应用程序前面使用Apache Web服务器.
根据您的经验,您有任何理由吗?
我最近熟悉了Scala并发现它很漂亮.我愿意放弃使用PHP并使用Scala代替我的所有项目.现在我使用BlueHost来托管我的基于PHP的站点.你能推荐一个支持Scala的好选择吗?
我正在为Lift公司创建一个小应用程序.我是Scala/Lift的新手,所以我正在利用这个机会练习.现在,我对使用什么ORM系统有疑问.
一方面,Mapper是Lift默认值.另一方面,我已经读过它在某些领域并不好,并且会被Record取代(这还没有很好的文档记录,所以像我这样的新用户很难遵循).
与Mapper相反,我们有JPA:标准的Java,经过测试和强大的ORM以及像Hibernate这样的可信实现,但不完全是"scala-ish",并且由于它与Lift的集成,你放弃了Mapper默认提供的功能.
我已经在邮件列表上看到一些断言,JPA正在成为Lift的方式,但它似乎并不普遍.有人可以为这件事带来一些启示吗?
谢谢!
具体来说,我将文件上传保存到Lift Web应用程序中的本地文件.