页面上有一个div
(棕色矩形).页面高于视口(橙色矩形),因此可以滚动它,这意味着div
可能仅部分显示或根本不显示.
什么是最简单的算法来判断div
视口中有多少%可见?
(为了简化操作,div
始终水平放入视口,因此在计算时只需要考虑Y轴.)
对我来说,预期的行为是,只要容器的宽度不超过500px,中间单元就会水平填充整个空间.但是,无论我缩放页面的大小,中间单元格总是填满100%,忽略max-width属性,巧克力永远不会显示:(
div.container {
width: 100%;
display: table;
}
div.container > * {
display: table-cell;
}
div.middle {
width: 100%; max-width: 500px;
background-color: black;
}
div.side {
width: auto;
background-color: chocolate;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div class="side"></div>
<div class="middle">.</div>
<div class="side"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
导致问题的原因是什么,以及可能的解决方法是什么?
我有一个Set<String>
的"hostname:port"
对和我想创建一个Set<InetSocketAddress>
.我试过它:
Set<InetSocketAddress> ISAAddresses = StrAddresses
.stream().map(addr -> new InetSocketAddress(
addr.split(":")[0],
Integer.parseInt(addr.split(":")[1])));
Run Code Online (Sandbox Code Playgroud)
但这会在IntelliJ中产生以下错误:
不兼容的类型.必需
Set<InetSocketAddress>
但"map"被推断为Stream<R>
:没有类型变量R的实例存在以便Stream<R>
符合Set<InetSocketAddress>
我如何使用地图和lambda一定有问题.
我一直在 Ubuntu 17.10 下构建网站并使用 Firefox 和 Chromium 进行测试。这两个浏览器显示的颜色完全不同(不仅是图像,而且是所有颜色),我一直认为是 Chromium 由于某种原因错误地使它们过度饱和,所以直到现在我总是选择在 Firefox 中看起来正确的颜色。
但是我开始收到越来越多关于网站背景太紫色的抱怨——在我看来这不应该是因为只有它的颜色 (#eeeeff) 的蓝色部分被“提升”,但它已经达到了一点是更多的人认为它是紫色而不是蓝色,这让我感到困惑。
这是 Firefox(左)和 Chromium(右)中显示的上述颜色。
这就是我看到一个网站的方式:
差异非常大(请注意,即使是 favicon 也是如此),我要您告诉我在选择网站颜色时我应该信任哪个浏览器,以及我是否可以做些什么来避免它被显示出来在不同的浏览器中不同。
(也有一些用户在 Firefox 中看到过度饱和的颜色。那么现在哪个是正确的,真的吗?)
我在dcm4che的源代码中进行了更深入的挖掘,发现IncompatibleConnectionException
如果
我不知道连接已“安装”是什么意思,但是可以手动设置此标志,因此我将其设置为本地和远程连接true
(甚至检查getInstalled()
是否已“安装”)-是的,现在-以前此属性为null
)。
至于协议,未指定它们,因此对于两个连接,我都将它们设置为DICOM
。
结果:我仍然收到相同的异常。
我想使用dcm4che(5.12.0)工具包在dcm4chee(2.18.3)和我的JAVA应用程序之间建立DICOM关联。
问题在于,似乎没有任何有关如何在JAVA应用程序中使用dcm4che的文档,因此,我所能做的就是阅读dcm4che的源代码,并尝试弄清其类和方法的用途,但是我卡住了 如果有人已经有了一个可行的例子,那将非常有帮助。
到目前为止,我有:
import org.dcm4che3.net.ApplicationEntity;
import org.dcm4che3.net.Association;
import org.dcm4che3.net.Connection;
import org.dcm4che3.net.Device;
import org.dcm4che3.net.pdu.AAssociateRQ;
import org.dcm4che3.net.pdu.PresentationContext;
...
ApplicationEntity locAE = new ApplicationEntity();
locAE.setAETitle("THIS_JAVA_APP");
Connection localConn = new Connection();
localConn.setCommonName("loc_conn");
localConn.setHostname("localhost");
localConn.setPort(11112);
localConn.setProtocol(Connection.Protocol.DICOM);
localConn.setInstalled(true);
locAE.addConnection(localConn);
ApplicationEntity remAE = new ApplicationEntity();
remAE.setAETitle("DCM4CHEE");
Connection remoteConn = new Connection();
remoteConn.setCommonName("rem_conn");
remoteConn.setHostname("localhost");
remoteConn.setPort(11112);
remoteConn.setProtocol(Connection.Protocol.DICOM);
remoteConn.setInstalled(true);
remAE.addConnection(remoteConn);
AAssociateRQ assocReq = new AAssociateRQ();
assocReq.setCalledAET(remAE.getAETitle());
assocReq.setCallingAET(locAE.getAETitle());
assocReq.setApplicationContext("1.2.840.10008.3.1.1.1"); …
Run Code Online (Sandbox Code Playgroud) 我有一个超级冗余的server.js文件,因为几乎所有属于REST API的方法都以这种方式启动,因为我必须检查API请求,以确保客户端是否有权要求特定的东西。
var jwt = require('jsonwebtoken');
// ...
app.get('/getsomething', function(req, res) {
"use strict";
var token = req.headers[tokenName];
if (token) {
jwt.verify(token, app.get('some_secret'), {
ignoreExpiration: false
}, function(err, decoded) {
if (err || typeof decoded === "undefined") {
res.json({
status: 401,
message: "unauthorized"
});
}
else { // actual code starts here...
Run Code Online (Sandbox Code Playgroud)
有什么更好的方法?
我有一个类似 JSON 的 JS 对象层次结构,格式如下:
[
{
subs: [ ...other objects... ]
},
...other objects...
]
Run Code Online (Sandbox Code Playgroud)
我编写了一个返回此类层次结构的级别数的方法:
/* Returns the depth of the tree. */
public getDepth(): number {
function f(obj: object): number {
let depth = 0;
if (obj['subs'].length > 0) {
obj['subs'].forEach((s: object) => {
const tempDepth = f(s);
if (tempDepth > depth) depth = tempDepth;
});
}
return depth + 1;
}
if (this.tree.length > 0)
return Math.max(...this.tree.map((s: object) => f(s)));
else return 0;
}
Run Code Online (Sandbox Code Playgroud)
它有效,但太复杂了。然后,我发现了这个更干净的代码:/sf/answers/1125318351/ …
这就是我想要实现的目标:
CREATE FUNCTION f() RETURNS trigger AS $$
BEGIN
SELECT COUNT(*) AS total_num, SUM(width) AS total_width
FROM some_table WHERE foo = NEW.foo;
IF total_num > 0 AND total_width > 100
THEN
RAISE EXCEPTION 'this is bad';
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
但它在语法上还不正确。
我读过我首先需要DECLARE
变量(在本例中total_num
为 和total_width
),以便我可以使用它们并使用SELECT INTO
,但我见过SELECT
仅包含单个变量/语句的示例。如果我有更多怎么办?
abstract class A {
// Here is an event listener that is called when an event occurs.
// However, this event I don't want to process here but in class C.
...
foo(processMe);
...
// So using this abstract method I'm trying to delegate it to class C.
public abstract void foo(String processMe);
}
class C extends A {
// This is the method in which I'd like to handle the event,
@Override
public void foo(String processMe) { ... processing …
Run Code Online (Sandbox Code Playgroud) 我可以这样做:
Map<String, String> mapA = ...;
Map<String, String> mapB = mapA.entrySet().stream()
.collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue
));
Run Code Online (Sandbox Code Playgroud)
但是当我尝试这样做时:
... mapA.entrySet().stream()
.collect(JsonCollectors.toJsonObject(
JsonObject.Entry::getKey,
JsonObject.Entry::getValue
));
Run Code Online (Sandbox Code Playgroud)
我明白了
不能从静态上下文中引用非静态方法
对于JsonObject.Entry::getKey, JsonObject.Entry::getValue
部分。
为什么?
java ×4
javascript ×2
lambda ×2
browser ×1
chromium ×1
colors ×1
css ×1
css-color ×1
dcm4che ×1
dicom ×1
express ×1
firefox ×1
graphql ×1
html ×1
java-8 ×1
java-stream ×1
javax.json ×1
jquery ×1
json ×1
jwt ×1
node.js ×1
plpgsql ×1
postgresql ×1
recursion ×1
typescript ×1