小编mpa*_*raz的帖子

为什么内部类可以访问私有方法?

我不明白为什么这会编译.f()和g()在内部类中是可见的,尽管是私有的.他们是特殊的,因为他们是内部阶级?

如果A和B不是静态类,它仍然是相同的.

class NotPrivate {
    private static class A {
        private void f() {
            new B().g();
        }
    }

    private static class B {
        private void g() {
            new A().f();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java inner-classes

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

这种延续传递方式Clojure函数发生器如何工作?

这是来自Clojure的Joy,第2版.http://www.manning.com/fogus2/

 (defn mk-cps [accept? kend kont] 
   (fn [n] 
     ((fn [n k] 
        (let [cont (fn [v] (k ((partial kont v) n)))] 
          (if (accept? n) 
            (k 1) 
            (recur (dec n) cont)))) 
      n kend))) 
Run Code Online (Sandbox Code Playgroud)

然后做一个阶乘:

(def fac (mk-cps zero? identity #(* %1 %2)))
Run Code Online (Sandbox Code Playgroud)

我的理解:

  • mm-cps生成一个函数,它接受n,fn [n]
  • 内部函数fn [nk]最初用nkend调用
  • 延续功能CONT [V]被定义为(主叫ķ用的局部应用KONTv作为第一个参数和)Ñ作为第二个参数.为什么要用partial而不是简单地写(k (cont v n))
  • 如果accept?函数通过,则完成递归,应用于k1.
  • 否则,使用递减的n recur重复返回 …

continuations clojure continuation-passing

12
推荐指数
1
解决办法
1634
查看次数

您使用哪些工具在组中的开发人员之间共享信息?

我们已经有指导,彼此分享信息,并定期举行技术会议.但是,我们希望将这些内容写下来,以备将来记录和新团队成员使用.现在我们大约有30名开发人员.

我们正在考虑内部博客和维基.

虽然在公共博客上分享内容(甚至可能有官方的公共开发者博客)会很棒,但现在我们想把它保持在内部.我们的商店主要是定制编程,而不是产品,所以那里会有很多专有的客户信息.对公共博客进行自我审查只会减慢我们的速度.

维基在概念上很好,但他们需要更多的组织和编辑,所以我不相信它会是可持续的.

您的组织如何做到这一点.

wiki blogs knowledge-management

11
推荐指数
2
解决办法
1292
查看次数

迭代和重复应用函数之间的差异

我正在研究Clojure Koans:

https://github.com/functional-koans/clojure-koans/blob/master/src/koans/10_lazy_sequences.clj

我被困在这一个:

"Iteration can be used for repetition"
  (= (repeat 100 :foo)
     (take 100 (iterate ___ :foo)))
Run Code Online (Sandbox Code Playgroud)

我不知道填充_空白的确切内置函数,所以我尝试编写自己的函数.我把它写成一个单独的函数作为测试.

我打算这样做:如果x是seq,那么只需重复它的第一个元素.否则,请将其设为seq.

(def f (fn [x] (if (seq? x) (cons (first x) x) (cons x '()))))
Run Code Online (Sandbox Code Playgroud)

当我明确地运行它时,它看起来很好:

user=> (f :abc)
(:abc)
user=> (f (f :abc))
(:abc :abc)
user=> (f (f (f :abc)))
(:abc :abc :abc)
Run Code Online (Sandbox Code Playgroud)

但是使用时iterate会添加一个额外的括号:

user=> (take 1 (iterate f :abc))(:abc)
user=> (take 2 (iterate f :abc))
(:abc (:abc))
user=> (take 3 (iterate f :abc))
(:abc …
Run Code Online (Sandbox Code Playgroud)

clojure

9
推荐指数
2
解决办法
2880
查看次数

如何在磁盘或数据库上存储稀疏可查询矩阵?

我需要在磁盘上存储稀疏矩阵.它就像一个包含数百万行和数千列的数据库表,其中许多或大多数列为空.它需要是可查询的,就像某些列上带有WHERE的SQL SELECT一样.

我的具体要求是Java.我首先想到使用Berkeley DB for Java来模拟表,但是它不支持基于值的查询.

然后,我考虑使用常规SQL数据库.例如,创建仅包含行ID,列ID和值的模式.虚拟行将是具有相同ID的所有实际行.但是,这看起来像数据库滥用.

有任何想法吗?

database-design data-structures

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

在Android中获取位图的尺寸而不读取整个文件

我想在Android中获取位图的尺寸而不读取整个文件.

我尝试使用推荐的inJustDecodeBoundsInputStream记录read()s 的自定义.不幸的是,基于此,Android BitmapFactory似乎读取了大量字节.

类似于: Java/ImageIO获取图像尺寸而不读取整个文件?对于Android,不使用ImageIO.

android

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

记录HTTP请求从嵌入式Android WebView开始和结束

我正在寻找一种方法来记录嵌入式webview所做的请求和开始/结束时间.到目前为止,除了生根电话和运行tcpdump之外,我无法找到办法.这对我有用,但我需要在现场运行,所以这不是真的可行.有很多方法可以记录URL和开始时间,但我看不到完成(或奖励,完整的响应元数据).

如果我可以包装当前请求,那么shouldLoadResource可以工作,但是我必须自己使用HTTP支持来获取它以便整体返回它,因为没有足够的API暴露给完全转发到内部请求.(我不想出于多种原因这样做,包括设备上的webview不使用与HTTP类相同的网络堆栈,因为它会改变子资源的时间.)

我一直试图找到打开chromium_net调试标志的方法来做到这一点,但我无法弄清楚如何在WebView或系统属性的上下文中这样做.

我真的不想运送我自己的webcore来做这件事,但如果需要必须......

performance android webview android-webview

6
推荐指数
1
解决办法
1332
查看次数

移植使用AWT和Swing的Java应用程序将电影绘制到服务器端

我正在使用一些代码,使用AWT和Swing功能将动画输出写入桌面.它使用2D图形绘制并以字体呈现文本.

此代码可以使用Java Media Framework将动画保存到电影文件.

我想将此代码移植到纯服务器端环境,以便使用Web UI.绘图代码可以在servlet容器内运行,也可以作为命令行程序在外部运行.(或者我可以选择不使用servlet容器,而是使用从命令行运行Java Web服务器的新方法.)

我可以在不启动服务器上的X Window系统的情况下使用AWT和Swing绘图功能吗?

java swing awt

6
推荐指数
1
解决办法
2076
查看次数

链接没有句点的方法调用时,Scala"不接受参数"

我有一节课:

class Greeter {
    def hi = { print ("hi"); this }
    def hello = { print ("hello"); this }
    def and = this
}
Run Code Online (Sandbox Code Playgroud)

我想打电话给new Greeter().hi.and.hellonew Greeter() hi and hello

但结果是:

hi (注意:插入符号在"hi"下)

我相信这意味着Scala会采用thisas and并尝试通过and.但apply不是一个对象.我可以传递什么and来链接调用new Greeter().hi.and.hello方法?

scala

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

使用 Spring Security OAuth 时 Spring Boot Reactive WebClient“serverWebExchange 必须为 null”

我想使用 Spring Boot WebFlux 应用程序中的 WebClient,该应用程序是使用 Spring Security OAuth 2 客户端凭据设置的。

但是,我得到:java.lang.IllegalArgumentException: serverWebExchange must be null

代码在这里: https: //github.com/mparaz/spring-apigee-client

当我通过从 中删除 Spring Security 来禁用它时pom.xml,它可以正常工作。

当我继续使用 Spring Security,但不是将webClient()链结果返回到控制器,而是将其打印出来时,它也可以工作。

使用 Spring Security 时,Reactive 客户端和服务器似乎无法协同工作。我怎样才能让他们一起运行?

spring-security spring-boot spring-webflux

6
推荐指数
2
解决办法
6089
查看次数