小编Rob*_*een的帖子

字节顺序java/.net

通过套接字将信息从java应用程序发送到C#应用程序时,字节顺序是否不同?或者我可以只将C#中的整数发送到java应用程序并将其读取为整数?

(操作系统是否重要,或者对于java/.net是否相同,无论实际操作系统如何处理它?)

c# java sockets

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

play框架中的scala模板中的变量

我需要能够声明变量,稍后我需要引用它们.为了实现这一点,这是我的scala模板的简化版本:

@(map1: 
java.util.LinkedHashMap[String,java.util.LinkedHashMap[String,Object]]) 
@import scala.collection.JavaConversions._ 
@import play.Logger 
@for( (key,value) <- map1) { 
    <div> 
    @{ 
       val rmap = Foo.someMethod(value) 
       val baz = rmap.getOrElse("baz", null) 
    <table border="0"  cellpadding="0" cellspacing="0"  > 
    <tbody> 
    <tr> 
      <td rowspan="3"> 
        <div class="bar"> 
          @baz 
        </div> 
      </td> 
    </tr> 
    </tbody> 
  </table> 
  } 
  </div> 
} 
Run Code Online (Sandbox Code Playgroud)

是否高于有效的scala模板,如果不是,我如何声明baz并在标记中稍后引用它?我使用的是1.2.2RC2和scala 0.9.1

scala playframework

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

强制评估IORef:rnf,deepSeq或其他什么?

我有一个长时间运行的过程forkIO'd,它产生像素颜色值:

takesAgesToRun :: [[Color]]

myForkedProcess :: IORef [[Color]] -> IO ()
myForkedProcess ref = do let colors = takesAgesToRun
                         writeIORef ref colors
Run Code Online (Sandbox Code Playgroud)

(其中Color只包含三个Double值).

正如预期的那样,当读取"另一侧"时IORef,存储的值只是一个thunk,因此会阻止主进程.

我知道我需要完全评估[[Color]]正常形式的值,但似乎有两种方法可以实现这一点,而且,我不确定如何将其合并到我的代码中.

我该怎么做?我是否使用rnf,deepSeq或其他一些线程策略?这些是其中一个首选,其他人是否已被弃用?它如何适合我的代码?

(PS请忽略这样一个事实,即将图像存储为颜色列表列表是愚蠢的 - 这只是代码的简化版本).

multithreading haskell ioref

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

使用动态函数更新多个集合的元素

设置:

我有几个各种数据结构的集合,代表虚拟系统中模拟对象的状态.我还有许多函数可以转换(即基于原始对象和0或更多参数创建对象的新副本)这些对象.

目标是允许用户选择一些对象来应用转换(在模拟规则内),将这些函数应用于这些对象,并通过用新的对象替换旧对象来更新集合.

我希望能够通过将较小的变换组合成较大的变换来构建这种类型的函数.然后评估这个组合功能.

问题:

如何构建我的程序以使其成为可能?

我用什么样的组合来建立像这样的交易?

想法:

  1. 将所有集合放入一个巨大的结构中并传递这个结构.
  2. 使用状态monad来完成基本相同的事情
  3. 使用IORef(或其中一个更强大的表兄弟,如MVar)并构建一个IO动作
  4. 使用功能反应式编程框架

1和2看起来像是带着很多行李,特别是如果我想最终将一些集合移动到数据库中.(Darn IO Monad)

3似乎运作良好但开始看起来很像重新创建OOP.我也不确定在什么级别使用IORef.(例如IORef (Collection Obj)Collection (IORef Obj)data Obj {field::IORef(Type)} )

4感觉功能最强大,但它似乎也创造了很多代码复杂性而在表现力方面没有太大的回报.


我有一个网店前面.我维护了一系列产品,其中包括库存数量和价格(等等).我还有一些对商店有信用的用户.

用户出现并选择3个产品购买并使用商店信用结账.我需要创建一个新产品集合,其中有3个产品的库存量减少,创建一个新的用户集合,用户帐户借记.

这意味着我得到以下内容:

checkout :: Cart -> ProductsCol -> UserCol -> (ProductsCol, UserCol)
Run Code Online (Sandbox Code Playgroud)

但是生活变得更复杂,我需要处理税收:

checkout :: Cart -> ProductsCol -> UserCol -> TaxCol 
            -> (ProductsCol, UserCol, TaxCol)
Run Code Online (Sandbox Code Playgroud)

然后我需要确保将订单添加到发货队列:

checkout :: Cart 
         -> ProductsCol 
         -> UserCol 
         -> TaxCol
         -> ShipList
         -> (ProductsCol, UserCol, TaxCol, ShipList)
Run Code Online (Sandbox Code Playgroud)

等等...

我想写的是类似的东西

checkout …
Run Code Online (Sandbox Code Playgroud)

haskell data-modeling ioref

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

如何从 Eclipse 调试远程 Glassfish Web 应用程序?

我尝试调试的 Web 应用程序仅在特定的 Glassfish 服务器上出现错误,因此我想远程调试该 Web 应用程序。但是 Web 应用程序是在 Eclipse 中为 Java SE 开发的,我不知道该怎么做。

我有:

  1. 为 Java EE 安装了 Eclipse 3.7
  2. 安装 Glassfish 适配器
  3. 配置服务器以进行安全登录和 JPDA 调试
  4. 在 Eclipse 中添加服务器作为服务器

但是,我在 Eclipse 的运行菜单中没有看到“在服务器上运行”或“在服务器上调试”。如果做Debug as,我可以创建一个新的Glassfish配置,但是我不能选择服务器,所以我不能配置配置。

eclipse glassfish

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

&lt;:&lt; 在 Scala 中是什么意思?

可能的重复:
<:<、<%< 和 =:= 在 Scala 2.8 中是什么意思,它们在哪里记录?

例如,在本例中,来自 Scala-arm 1.0:

def toTraversable[B](implicit ev: R <:< TraversableOnce[B]): Traversable[B] = 
  new ManagedTraversable[B,R] {
    val resource = self
    override protected def internalForeach[U](resource: R, g : B => U) : Unit = 
      ev(resource).foreach(g) 
  }
Run Code Online (Sandbox Code Playgroud)

scala

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

在Java中的App Engine数据存储区中按键过滤

你会认为这是一个容易回答的问题.

在Java中,我如何按实体的密钥过滤(不是恰好属于类型的属性Key,而是其实际密钥 - 我们称之为关系数据库域中的"主键")?

我不希望使用特定密钥获得单个实体.我实际上确实想要做一个过滤器并返回实体的子集.

google-app-engine

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

如何找出调用方法的接口?

我有一个简单的Java问题.考虑以下接口:

interface A { 
    void work();
    void a();
}

interface B {
    void work();
    void b();
}
Run Code Online (Sandbox Code Playgroud)

所以当一个类要实现它们时,它应该是这样的:

class Impl implements A, B {
    void work() {
        /*some business*/
    }

    void a() {}
    void b() {}
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,在work方法中,我如何发现它,它是由类型调用A还是B

C#中的上述类就是这样,这样可以很好地区分两个实现:

class Impl : A, B
{
    void B::work() {}
    void A::work() {}
    void a() {}
    void b() {}
}
Run Code Online (Sandbox Code Playgroud)

但是我如何在Java中实现类似C#模型的东西?!

提前致谢.

java

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

在 Java 中像电子表格一样递增字符超过“Z”

我不久前开始编程,目前我需要一种方法来生成一个数组,其中包含前一个字符之后的字符。它应该以 0 处的“A”开头,然后是“1”处的 B 等。困难的部分是使其在“Z”之后是“AA”。

我想出了什么:

public static String[] charArray(int length)
{   
    String[] res = new String[length];
    for(int i = 0; i < length; i++)
    {
        String name = "";
        int colNumber = i;
        while(colNumber > 0)
        {
            char c = (char) ('A' + (colNumber % 26));
            name = c + name;
            colNumber = colNumber / 26;
        }
        res[i] = name;
    }
    return res;
}
Run Code Online (Sandbox Code Playgroud)

这对于字母表的前 26 个字母来说效果很好,但它会生成“... Y, Z, BA, BB, BC...”而不是“... Y, Z, AA, AB, AC...” ”

怎么了?或者有没有更有效或更简单的方法来做到这一点? …

java spreadsheet char

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

在 OCaml 中写入和读取内存映射文件

我正在 OCaml 中进行实验,看看如何从内存映射文件读取/写入数值数组。

我想我需要使用 Bigarray 但不确定如何将 Bigarray 数组写入内存映射文件,然后读回?

我似乎在任何地方都找不到例子。我检查了Jane St. core的源代码但没有结果。

ocaml memory-mapped-files

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