小编sve*_*hie的帖子

如何使用嵌套元组或HList处理带有Slick的> 22列表?

我是Scala(使用2.10)和Slick(使用2.0-M2)的新手.我看到在Slick中绕过表的22列限制的方法之一是使用嵌套元组.尽管在GitHub上找到了这个部分代码,但我无法弄清楚如何做到这一点.

当前的dev分支Scala(2.11-M5)支持具有22个以上元素的case类,但不支持arity> 22的元组.而Slick尚未针对Scala 2.11预发行版进行分发.如何定义33列表(并使其与所有Slick的语法糖一起使用)?

NB,我正在尝试支持现有架构,无法更改表规范化.

scala tuples slick scala-2.11

20
推荐指数
2
解决办法
4463
查看次数

如何在JasperReports中使用另一个变量的值增加变量?

我需要在subReport中计算我正在计算的项目的总数.为此,我认为我需要将该变量的值添加到每个迭代的另一个变量中,或者用该值"递增"它.为每个组调用subReport,我得到该组的总数.我需要添加变量值,而不是数据库列/字段.

我收到一个整数returnValuesubReport,这本身就是在子报告的行数.我希望获得总计,因为subReport从我的主SQL查询中为不同的结果(每个为GROUP)调用多次.我想把所有的结果加起来,但我得到了一个null价值.我尝试添加一个操作subReport作为一个新的returnValue并选择Sum作为操作,但这也产生了一个null.


   <variable name="itemCount" class="java.lang.Integer" resetType="None"/>
   <variable name="grandCount" 
      class="java.lang.Integer" 
      incrementType="Group" 
      incrementGroup="ITEM_BUNDLE">
      <variableExpression><![CDATA[$V{itemCount}]]></variableExpression>
   </variable>

... <returnValue subreportVariable="countItems" toVariable="itemCount"/>

jasper-reports

17
推荐指数
1
解决办法
4万
查看次数

如何使用新的Slick 2.0 HList克服22列限制?

我目前正在编写Slick代码来定位具有两个表> 22列的旧模式.如何使用新的HList代码?在Scala 2.10.3下,我在其他方面有2.0-M3正常工作.这是我目前使用的案例类/元组的语法.如何使用文档中提到的新HList?

  case class Joiner(
      id: Int,
      name: Option[String],
      contact: Option[String]
  )

  class Joiners(tag: Tag) extends Table[Joiner](tag, "joiner") {
    def id = column[Int]("id", O.PrimaryKey, O.AutoInc, O.DBType("int(11)"))
    def name = column[Option[String]]("name", O.DBType("varchar(255)"))
    def contact = column[Option[String]]("contact", O.DBType("text"))
    def * = (id, name.?, contact.?) <> (Joiner.tupled, Joiner.unapply)
  }
  val joiners = TableQuery[Joiners]
Run Code Online (Sandbox Code Playgroud)

我在示例中没有看到任何内容,只是在最新更新的文档中提及了一下.我是Scala和Slick的新手.

scala tuples hlist slick

15
推荐指数
1
解决办法
4077
查看次数

13
推荐指数
2
解决办法
8万
查看次数

在Perl中制作PDF报告?

Perl的所有PDF库看起来都有些野蛮 - 卡在1980年代.您必须指定PostScript点才能进行布局.Java有JasperReports,Ruby有Prawn,Python有ReportLab.是否有一个非灭绝的库/模块可以让我在不到一周的编码时制作漂亮的PDF?(我对PDF :: API2,PDF :: Table等有点沮丧)我不想生成HTML并将其转换.Perl非常适合报告,但主报告文件格式无法以可用的方式提供.人们使用哪些图书馆?

我需要:

  • 图表(图片)
  • 颜色
  • 格式化(理想情况下是自动的,不是逐个像素)
  • 页眉/页脚

如果绝对需要,我稍微愿意包装外部(非Perl)开源工具.但对主要的Java服务器方法并不感兴趣.对于赏金,我想要一个纯粹的Perl方法,因为我想在一个我无法添加模块的服务器上运行它.如果你有一个运作良好的公开示例,请指出我.

pdf perl charts reporting

13
推荐指数
2
解决办法
2671
查看次数

在PhoneGap应用程序中,Topcoat vs Bootstrap 3的性能

我正在编写混合HTML5应用程序.现在我正处于选择工具的阶段.我几乎没有怀疑你已经帮我清理了.但在发现Topcoat后,我有最后一个问题.

我已经知道,自从Twitter Bootstrap到达版本3并且您可以直接在网页中删除它,它会变得更加流畅.但是Topcoat只是CSS的事实让我想到了,因为很多人仍然抱怨Twitter Bootstrap + Phonegap表现......

这里有没有人做过真正的测试,以确定体验的流畅性和自然性,以及哪个处理得更好?

twitter-bootstrap cordova twitter-bootstrap-3 topcoat

13
推荐指数
1
解决办法
8353
查看次数

如何使用最新版本的ring/compojure环防伪/ CSRF令牌?

我复制了一些在compojure 1.1.18和其他旧库中运行的旧代码,但是使用最新版本我无法使用它.

这里是我的小例子,代码从复制这里的小例子来证明,用最新环的Compojure库,我得到一个错误,当我发送一个HTTP POST,甚至与报头组.

lein ring server 启动它,然后做

curl -X GET --cookie-jar cookies "http://localhost:3000/" 结果是这样的:

{"csrf-token":"7JnNbzx8BNG/kAeH4bz1jDdGc7zPC4TddDyiyPGX3jmpVilhyXJ7AOjfJgeQllGthFeVS/rgG4GpkUaF"}
Run Code Online (Sandbox Code Playgroud)

但是当我这样做的时候

curl -X POST -v --cookie cookies -F "email=someone@gmail.com" --header "X-CSRF-Token: 7JnNbzx8BNG/kAeH4bz1jDdGc7zPC4TddDyiyPGX3jmpVilhyXJ7AOjfJgeQllGthFeVS/rgG4GpkUaF" http://localhost:3000/send
Run Code Online (Sandbox Code Playgroud)

我明白了 <h1>Invalid anti-forgery token</h1>

难道我做错了什么?

我借用的代码旨在回答这个问题.

clojure compojure ring csrf-protection

7
推荐指数
1
解决办法
3046
查看次数

Derby/JavaDB _really_可以使用Triple DES而不是(普通)DES进行加密吗?

似乎令人困惑的是Triple-DES(> 128bit)和普通DES(64位).我正在尝试使用Java 1.5使用Triple DES(或DESede)加密Derby数据库

我发现这个讨论论坛的消息是关于JDK 1.5一个问题,所以检查确保它确实使用的是DESede而不是简单的DES.当我使用Triple DES(168位)URL创建数据库时

jdbc:derby:MySecureDB;dataEncryption=true;encryptionAlgorithm=DESede/CBC/NoPadding;bootPassword=$ecureC@deCanBr@kE0074242
Run Code Online (Sandbox Code Playgroud)

我仍然可以打开它并使用(普通)DES(64位)URL访问它

jdbc:derby:MySecureDB;dataEncryption=true;encryptionAlgorithm=DES/CBC/NoPadding;bootPassword=$ecureC@deCanBr@kE0074242
Run Code Online (Sandbox Code Playgroud)

这不是我期望的行为!我不应该用错误的加密算法打开它.如何确保使用正确的(> 128位)算法真正加密它?

Derby似乎使用JCECipherProvider.java中提到的Java 1.5的正确函数.我对代码的阅读表明Derby不像普通DES那样处理Triple DES ......我真的相信它使用强加密吗?

java derby encryption-symmetric

5
推荐指数
1
解决办法
1595
查看次数

Compojure handler friend/authenticate吃POST请求的主体

如何:body从compojure 安全地获取InputStream 的内容?

查看相关但不同的背景问题.

我正在尝试使用Friend使用我的环路径进行身份验证,compojure handler/site但是当我尝试:body从http POST请求(这是一个Java InputStream)读取时,它已关闭:

23:01:20.505 ERROR [io.undertow.request] (XNIO-1 task-3) Undertow request failed HttpServerExchange{ POST /paypal/ipn}
java.io.IOException: UT000034: Stream is closed
    at io.undertow.io.UndertowInputStream.read(UndertowInputStream.java:84) ~[undertow-core-1.1.0.Final.jar:1.1.0.Final]
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[na:1.8.0_45]
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[na:1.8.0_45]
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[na:1.8.0_45]
    at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[na:1.8.0_45]
    at java.io.BufferedReader.fill(BufferedReader.java:161) ~[na:1.8.0_45]
    at java.io.BufferedReader.read(BufferedReader.java:182) ~[na:1.8.0_45]
    at clojure.core$slurp.doInvoke(core.clj:6650) ~[clojure-1.7.0-beta1.jar:na]
    at clojure.lang.RestFn.invoke(RestFn.java:410) ~[clojure-1.7.0-beta1.jar:na]
Run Code Online (Sandbox Code Playgroud)

如果我删除处理程序,问题就会消失.我找到了一个名为groundhog的可能解决方案,它捕获并存储所有请求.我正在使用的库,clojure-paypal-ipn最初reset在流上调用,但是Undertow(或者其他几个Java/Clojure服务器)不支持它,所以我解决了它.

这是与compojure的作者weavejester的相关讨论.

以下是我的代码的一些片段:

(defroutes routes
  ...
  (POST "/paypal/ipn" [] (payment/paypal-ipn-handler 
                          payment/paypal-data …
Run Code Online (Sandbox Code Playgroud)

clojure http-post compojure ring undertow

5
推荐指数
0
解决办法
726
查看次数

如何在iOS上的VLC中播放音乐文件的URL?

我想通过我的网站向iPhone和iPad用户提供MP3和其他文件格式.VLC的iOS应用似乎符合要求,但他们说

Additionally, third party websites and apps 
may include links to open streams directly in VLC for iOS.
Run Code Online (Sandbox Code Playgroud)

这是提供的官方文档

我怎样才能做到这一点?我似乎无法找到任何有关它的文档.我正在考虑制作一个自定义应用程序来实现它,但这看起来很愚蠢.

html url mp3 vlc ios

3
推荐指数
1
解决办法
4192
查看次数

如何将第n和第(n + 1)个元素折叠到Scala中的新列表中?

假设我有List(1,2,3,4,5),我想获得List(3,5,7,9),即元素和前一个的总和(1 + 2,2 +) 3,3 + 4,4 + 5)

我尝试通过制作两个列表来做到这一点:

val list1 = List(1,2,3,4)
val list2 = (list1.tail ::: List(0))                   // 2,3,4,5,0
for (n0_ <- list1; n1th_ <- list2) yield (n0_ + n1_)
Run Code Online (Sandbox Code Playgroud)

但是它将所有元素彼此组合在一起,就像交叉产品一样,我只想成对地组合元素.我是函数式编程的新手,我以为我会使用map()但似乎无法这样做.

scala list fold

2
推荐指数
1
解决办法
239
查看次数

使用模式将Clojure地图条目提取到地图列表中?

我有这样的地图(有1个或多个项目混合在一起):

{:item_name_1 "Great Deal"
 :item_options_2 "blah: 2"
 :item_name_2 "Awesome Deal" 
 :item_options_1 "foo: 3" 
 :item_quantity_1 "1"
 :item_price_2 "9.99" 
 :item_price_1 "9.99"
 :itemCount "2"}
Run Code Online (Sandbox Code Playgroud)

我想把它变成这样:

[{:item_quantity "1"
  :item_options "blah" 
  :item_name "Great Deal"
  :item_price "9.99"}
 {:item_name "Awesome Deal" 
  :item_options "foo"
  :item_quantity "1" 
  :item_price "9.99"}]
Run Code Online (Sandbox Code Playgroud)

所以,我想通过项目键将它们分开:

(def item-keys [:item_name :item_options :item_price :item_quantity])
Run Code Online (Sandbox Code Playgroud)

我猜我可能会以某种方式使用map或者walk我看不到该怎么做 - 我对Clojure很新.

我先说

(defn parse-items
  [mixed-map]
  (let [num-items (Integer/parseInt (:itemCount mixed-map))]
    (into []
      (do-something mixed-map))))
Run Code Online (Sandbox Code Playgroud)

dictionary functional-programming clojure

0
推荐指数
1
解决办法
322
查看次数