PHP或Lift框架的网络应用程序?
我目前正在使用PHP开发Web应用程序,但是我正在考虑使用Lift Framework开发Web应用程序,因为Twitter和Foursquare已经实施了它.我知道使用Lift/Scala有一些好处,但是,与PHP相比,你们能提到一些好处吗? 非常感谢 解决方案 如果您遇到了枚举scala/lift在PHP上使用Scala/Lift的原因,则可能要坚持使用PHP. PHP是一个更加成熟和支持的平台 - 文档,庞大的社区,大量工具和图书馆. . Scala是一种很好的语言,但是Twitter和Foursquare使用的主要原因是它可以在水平缩放架构上使用大量数据集.这些是这些公司非常具体的问题,并且非常故意为此目的选择了Scala. 作为最近开始学习Scala的人,与PHP相比,社区和文档是微小的.尤其是有关升降机的地方.诸如IDE支持之类的事情仍处于早期阶段. 确实没有办法比较两种技术(非常不同的方法).如果要使用Scala,请使用它,但是如果您还没有熟练
0 2023-06-02
编程技术问答社区
调用Java(Scala)的PHP代码并获取结果
这似乎是在几个地方问的,并被标记为"封闭"和"偏离主题".但是,人们似乎不断遇到这个问题 从Java 调用PHP方法(封闭) 从java中调用php (封闭) 如何在Java中运行PHP代码应用程序?(关闭) 这个答案在最后一个问题中,部分回答了这一点,但没有澄清如何读取输出. 我终于找到了问题的答案: 如何从Java内部运行PHP程序,获得其输出? 为了提供更多上下文,有人给了我一个PHP文件,其中包含某种返回字符串的方法foo的代码.我们如何从JVM调用? 在Google上搜索没有帮助,因为我发现的所有文章都不解释如何从Java致电PHP,而是从PHP中拨打Java. . 下面的答案说明了如何使用php/java桥. 答案在Scala中,但对于Java程序员来说很容易阅读. 解决方案 由创建的代码bridge.sourceforge.net/doc/examples/source.php?source=phpthreads.
0 2023-06-01
编程技术问答社区
在Play框架规范中设置PhantomJSDriver的接受语言
如何在Play Framework 2.2规范中使用特定的接受语言标头配置Phantomjsdriver? 给定此代码: import org.specs2.mutable._ import org.specs2.runner._ import org.junit.runner._ import play.api.i18n._ import play.api.test._ import play.api.test.Helpers._ import org.openqa.selenium.phantomjs.PhantomJSDriver @RunWith(classOf[JUnitRunner]) class IntegrationSpec extends Specification { "Application" should { "work from within a browser" in new WithBrowser(webDriver = cla
0 2023-05-25
编程技术问答社区
了解flink的保存点和检查点
考虑使用这样的管道考虑Apache Flink流式应用: Kafka-Source -> flatMap 1 -> flatMap 2 -> flatMap 3 -> Kafka-Sink 其中每个flatMap函数都是非国家运算符(例如,Datastream的正常.flatMap函数). 如果传入消息将在flatMap 3上进行待处理,则检查点/保存点如何工作?从flatMap 1开始重新启动后,该消息会被重新处理,还是会跳至flatMap 3? 我有点困惑,因为,或者将在失败/重新启动后重新处理整个管道? 这是故障( - > Flink恢复检查点)和使用SavePoint的手动重新启动之间的差异吗? 我试图通过将Thread.sleep()放置在flatMap 3中,然后用SavePoint取消作业,从而发现自己(使用EXACTLY_ONCE和RocksDB-Backend的启用检查点).但是,这导致flink命令行工具悬挂在sleep结束之前,即使
0 2023-05-25
编程技术问答社区
如何在DDD中完成无视持久性的工作?
我正在处理涉及Workspace的项目的持久性层,每个项目都可能包含零,一个或更多Document. (我正在尝试遵循 domain-drivin-driven-driven-design-design原理但是我的问题可能不是直接的与此有关.) 问题1:我应该将持久性分开吗?即,您是否以您可以 的方式设计您的实体和价值课程 在内存中创建实体和价值,就像您无坚持不懈(可能使用工厂方法Workspaces.newWorkspace(...))和 呼叫单独的persist()方法(可能在存储库中)来照顾持久性? 或我的工厂方法Workspaces.newWorkspace()创建A 持续存在实体(交易结束后将持续存在)? 如果这个问题的答案是"分离,伙计!" ,那么我想知道如何以优雅的方式完成此操作.我的第一种方法是(在 scala pseudocode)中: class Workspace(title: String, documents: List[Docum
2 2023-05-25
编程技术问答社区
反序列化会抛出'ClassNotFoundException。JavaConversions$SeqWrapper'在Scala 2.10中。
我有一个从Scala-2.9序列化的相当复杂的对象图,我需要将其读取到Scala-2.10中.但是,对象图中的某个地方scala-2.10投掷: ! java.lang.ClassNotFoundException: scala.collection.JavaConversions$SeqWrapper ! at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_21] ! at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_21] ! at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_21] ! at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~
4 2023-05-25
编程技术问答社区
如何使用新的scala 2.8.0的嵌套注解
看起来像Scala 2.8.0熄灭时,我们可以在持久层中使用嵌套的@Annotations.但是如何?谁能将其从Java转变为Scala?谢谢. @NamedQueries({ @NamedQuery(name = "findAll", query="select p from Person p"), @NamedQuery(name = "findTheOne", query="select p from Person p where p.name = 'Neo'") }) 解决方案 您必须将元素包裹在Array()中,然后像构造函数一样写嵌套注释: @NamedQueries(Array( new NamedQuery(name = "findAll", query="select p from Person p"), new NamedQuery(name = "findTheOne", quer
0 2023-05-25
编程技术问答社区
对于使用Scala和PostgreSQL的Play框架来说,哪个是最好的数据访问选项?
我们有较早的经验和许多可重复使用的代码/组件,主要是使用Spring MVC,Hibernate,PostgreSQL数据库完成的. ,但最近我们计划开始一个新项目.我们决定使用Scala使用游戏框架.我们与Scala是新的游戏框架.因此,我们无法决定要使用哪些ORM(对象相关映射)框架.由于有许多可重复使用的代码,我们希望选择Hibernate. 我们发现关于休眠的可怕单词是"使用Scala中的Hibernate在玩游戏中使用Hibernate的JPA可能不是最好的方法,应将其视为遗产和弃用".我们真的很困惑使用什么? 在寻找可能性时,我们发现了厌恶和冬眠.我们还不知道还有其他框架. 所以请建议我们与Scala和PostgreSQL一起使用什么? 预先感谢! 解决方案 如果您绝对想要一个ORM,那么JPA可能是要走的路.这将迫使您拥有可变的域模型类等.但是也许这是您愿意接受的权衡. (就我个人而言,我不会) 如果您愿意与数据库交谈的替代方法,
0 2023-05-25
编程技术问答社区
如何使用Slick'的带有外键的映射表?
我正在为Slick的举起的嵌入和映射桌子而苦苦挣扎. API对我来说很奇怪,也许只是因为它以我不熟悉的方式结构. 我想构建一个任务/待办事项.有两个实体: 任务:每个任务都有对下一个任务的可选参考.这样,链接列表就是构建.目的是用户可以通过其优先级订购任务.该顺序由任务到任务的引用表示. 任务列表:代表具有标签的任务列表,并引用了列表的第一个任务. case class Task(id: Option[Long], title: String, nextTask: Option[Task]) case class TaskList(label: String, firstTask: Option[Task]) 现在,我尝试为这两个实体编写数据访问对象(DAO). import scala.slick.driver.H2Driver.simple._ import slick.lifted.MappedTypeMapper implicit val
0 2023-05-25
编程技术问答社区
Scala的最佳方式是用排列组合列表进行统一交叉操作?
我搜索在Scala功能中制作GA交叉操作员的最佳和最优雅的方法(否"循环,如果可能的话,只有不变的类型),例如,此列表: val A = IndexedSeq (5,4,8) val B = IndexedSeq (3,2,6) 我想在我的索引Seeq中的每个元素之间进行随机的比特币置换(例如rng.nextBoolean),最后我在其元素置换后得到了两个列表a'and b'. 执行示例: rng.nextBoolean if (z) Seq(x, y) else Seq(y, x)).transpose 将布尔人用作第三个参数: scala> val
0 2023-05-25
编程技术问答社区
普及 "下一个排列组合 "函数
以下是返回词法下一个排列的函数的实现.这在欧拉问题之一中很有用. 这是写在弦上工作的(我需要的).但是,它应该在任何可比较值的索引序列上使用.我尝试通过将字符串的两次出现更改为索引Seq [char]来概括它,但这会有一个错误: euler-lib.scala:26: error: type mismatch; found : IndexedSeq[Char] required: String ((n.slice(pivot+1, successor):+ n(pivot)) + n.drop(successor+1)).reverse ^ 为什么类型推断器在那里推断字符串?我似乎没有做任何需要字符串的操作? ,我可以通过拥有索引Seq [" something sometherable'']来使其更加笼统?我无法做这项工作.
2 2023-05-25
编程技术问答社区
更快的排列组合生成器
我为Scala列表写了一个置换生成器,该列表生成了给定列表的所有排列.到目前为止,我得到了以下内容,基于 haskell >(我认为这比我尝试过的其他几种选择更有效).有什么方法可以使它更加高效,或者我涵盖了所有基础? /** For each element x in List xss, returns (x, xss - x) */ def selections[A](xss:List[A]):List[(A,List[A])] = xss match { case Nil => Nil case x :: xs => (x, xs) :: (for( (y, ys)
0 2023-05-25
编程技术问答社区
在Scala中列举排列组合的代码
我编码了一个函数,以列举给定列表的所有排列.您如何看待下面的代码? def interleave(x:Int, l:List[Int]):List[List[Int]] = { l match { case Nil => List(List(x)) case (head::tail) => (x :: head :: tail) :: interleave(x, tail).map(head :: _) } } def permutations(l:List[Int]):List[List[Int]] = { l match { case Nil => List(List()) case (head::tail) => for(p0 <- permutations(tail); p1 <- interleave(head, p0)) yield p1 } } 解决方案 给定一个SEQ,一个人可
2 2023-05-25
编程技术问答社区
如何在Gatling脚本中添加状态=KO?
是否有可能失败我的请求? 我想将status = ko放在aslongas()部分中.我的病情就像,如果我得到WorkflowFailed = True或Count > 8,那么我想使用status = ko. 失败该请求. 我在某个地方看到了session.markAsFailed,但是如何以及在哪里使用? 谢谢. 这是代码, class LaunchResources extends Simulation { val scenarioRepeatCount = Integer.getInteger("scenarioRepeatCount", 1).toInt val userCount = Integer.getInteger("userCount", 1).toInt val UUID = System.getProperty("UUID", "24d0e03") val username = System.getProp
0 2023-05-24
编程技术问答社区
调试会话
作为我的性能测试的一部分,我需要调试会话等.如果我删除session =>,则运行相同的代码.当我补充说它说在模拟过程中没有发送请求,因为它没有发送任何请求. val scn1 = scenario("LaunchAction").exec{ session => http("Poll report status page report") .get("myURL/rest/reports") .queryParam("applicationId", "123") .queryParam("id", "1") .check(xpath("//status").saveAs("responseStatus")) session } 我需要在两者之间添加几个印刷品等.您能提供一些信息吗? 解决方案 我刚从盖特林开始,我遇到了完全相同的问题. 对我来说,最简单的调试方法是添加入门点对象,我用来通过
0 2023-05-24
编程技术问答社区
使用Gatling向ActiveMQ发布消息
我一直在使用 gatling 将消息发布到ActiveMQ服务器.我得到" java.lang.securityException:无效的用户名:null或空" 我使用有效的用户名和密码.这是我的测试代码,例外被抛出.有关如何解决此问题的任何输入都将有所帮助. import io.gatling.core.Predef.Simulation import io.gatling.core.Predef._ import io.gatling.jms.Predef._ import io.gatling.core.config.Credentials import org.apache.activemq.ActiveMQConnectionFactory import org.apache.activemq.jndi.ActiveMQInitialContextFactory import javax.jms._ class WebProducer extends Simu
2 2023-05-24
编程技术问答社区
如何在Gatling中从一个对象向另一个对象传递会话变量?
我正在在Objecta中提取会话变量,并希望将其传递给ObjectB,实现此目的的最佳方法是什么? object ObjectA { val foo = exec(jsfPost("Request1", "/something.xhtml") .formParam("SUBMIT", "1") .check(regex("""Count:([^:]*),""").saveAs("Count")) ) .pause(1) .exec { session => val Count = session("Count").as[String].toInt val GroupName = SomeCustomFunc(Count) } .exec(ObjectB.bar) } object ObjectB{ val ba
4 2023-05-24
编程技术问答社区
如何从代码中运行Gatling
我想从代码运行Gatling测试.如何做? 教程仅说命令行和SBT. 上下文:我想扩展测试.在背景中,我需要进行自定义套接字通信,需要模拟.从该模拟中,我需要将一些生成的ID传递给GATLING测试.我可以通过使用参数的模拟应用程序运行它来做到这一点(但我还不知道如何).其他解决方案也是一个很好的答案. 我可以通过文件和 http://gatling.io/docs/2.1.6/cookbook/passe_parameters.html ,但很丑陋.. 也许有从Scala代码运行SBT任务的方法? 解决方案 import io.gatling.app.Gatling import io.gatling.core.config.GatlingPropertiesBuilder object Engine extends App { val props = new GatlingPropertiesBuilder props.simulationCla
2 2023-05-24
编程技术问答社区
Scala性能:为什么这个Scala应用程序比同等的Java应用程序慢30倍?
我是一个非常熟练的C#开发人员,但是需要开始编写在JVM上使用的代码.与C#相比,Java语言的特点很差,因此我对Scala提供的功能感兴趣. 但是,当在Scala中听到所有操作员只是方法时,我对对数学繁重计算的性能影响感到怀疑(这对于我的团队所写的应用程序类型很重要) 因此,我进行了一些简单的基于INT的测试,发现Scala比等效的Java代码慢30倍.不好!谁能告诉我我做错了什么?或如何提高与Java相当的Scala示例的计算性能? update1:​​正如前两个答案所指出的那样,我是一个超级诺布,并在IntellijIDE中运行.我不知道如何通过Java命令行运行Scala应用程序,这可能是Intellij问题.感谢您的帮助,我需要在继续进行完美测试之前对Scala进行简单的命令行执行,因为IDE给出的结果显然太不准确了. update2:在评论中说,在Intellij中说他的时间相等,所以我的野性差异似乎不是由于Intellij造成的吗?关于这可能是什么想
0 2023-05-24
编程技术问答社区
使用Scala'的REPL进行性能比较基准测试是否合理?
Scala的Repl是一个很棒的操场,可以交互测试某些代码.最近,我一直在使用REPL进行一些性能比较,以反复执行操作并相对测量壁时钟时间. 这是我最近创建的一个示例,以帮助回答一个问题[1] [2]: // Figure out the perfomance difference between direct method invocation and reflection-based method.invoke def invoke1[T,U](obj:Any, method:Method)(param:T):U = method.invoke(obj,Seq(param.asInstanceOf[java.lang.Object]):_*) match { case x: java.lang.Object if x==null => null.asInstanceOf[U] case x => x.asInstanceOf[U] } def tim
0 2023-05-24
编程技术问答社区