小编Gnx*_*nxR的帖子

显示Java 8流处理的进度

Stream处理了几百万个元素.它背后的Map-Reduce算法需要几毫秒,因此任务完成大约需要20分钟.

Stream<MyData> myStream = readData();
MyResult result = myStream
    .map(row -> process(row))
    .peek(stat -> System.out.println("Hi, I processed another item"))
    .reduce(MyStat::aggregate);
Run Code Online (Sandbox Code Playgroud)

我想要一种显示整体进度的方法,而不是每个元素打印一行(这导致每秒数千行,需要时间,并且不提供有关整体进度的任何有用信息).我想展示类似于:

 5% (08s)
10% (14s)
15% (20s)
...
Run Code Online (Sandbox Code Playgroud)

最好(和/或最简单)的方法是什么?

java java-8 java-stream

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

限制高度与页面底部的距离

我有一个带按钮的webapp.当我单击其中一个按钮*JavaScript magic*时,旁边会出现一个菜单.该脚本对定位或样式一无所知,它只是找到一个目标元素,然后将HTML写入其中.

简而言之,我有一个相对于其父级的菜单(#pretty-target在此示例中).

<div class="container">
    <button class="my-pretty-button">@</button>
    <div class="menu-target" id="pretty-target"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

结果如下:

按钮旁边的浮动菜单

现在,当我减小页面高度时,我想限制此菜单的高度,具体取决于它与页面底部的距离.一个比理想的结果看起来像这样:

相同的菜单,但其高度神奇地限制

我知道最好的做法是拥有一个可滚动的页面主体,而不必担心这些元素的高度.但是,我的页面正文是一个地图,因此任何滚动它的尝试都只会移动地图.

我当然可以通过使用可滚动的叠加来制作一些替代的东西,或者更好的是,通过使用媒体查询来选择更好的方法来显示这些菜单.但是,它们不会以这种方式显示.

简单地说:我有一个与页面无关的div,我希望它受页面高度的限制.这怎么可行(不使用JS)?

css css-position css3

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

在另一个包上使用类型声明

我已经设置了一个私有 NPM 注册表,托管一个公开可用的包的分支(这是包的许可证允许的)。

源包中有一个由精彩的DefinitelyTyped项目提供的类型声明。

目前,在我的项目中,如果我写:

import mypackage from '@private/mypackage'
Run Code Online (Sandbox Code Playgroud)

DefinelyTyped ( ) 提供的类型@types/mypackage将不适用,我会得到错误:

错误 TS7016:找不到模块“@private/mypackage”的声明文件。“node_modules/@private/mypackage/index.js”隐式具有“any”类型。

在我的项目中,是否可以重新声明 fork 的源包类型,以便上面的示例能够工作?

typescript definitelytyped

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