小编Lau*_*ren的帖子

Swing的IDE

是否有任何IDE可以简化创建Swing应用程序(理想情况下是Visual Studio的内容)

java ide swing

46
推荐指数
10
解决办法
3万
查看次数

清理HTML输入

我正在考虑添加一个富文本编辑器,以允许非程序员改变文本的方面.但是,有一个问题是,如果标记不正确,则可能会扭曲呈现页面的布局.什么是一个很好的轻量级方法来消毒HTML?

html php sanitization

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

如何进行CSS转换会影响其他元素的流动

我正在使用带有transform属性的CSS过渡来在添加和删除元素时缩小元素.

然而,这个问题的一个问题是这个属性不会影响其他元素的流动,所以看起来被删除的元素会缩小,然后其余的元素突然跳跃.

如果我要为高度属性设置动画而不是使用变换,那就没问题,但是在实际使用中我使用的是可变高度的元素,所以我不知道我可以在它们之间设置动画的高度.


编辑:人们建议动画height属性(不会如上所述)或max-height属性.该max-height物业将努力在一定程度上,但你不能对齐定时完美的过渡将继续调整max-height过去元素的实际高度财产,直到过渡时间结束.

这些方法的另一个问题是它不使用您可以使用transform属性实现的平滑动画.对象的变换将顺利进行,但是随着浏览器以不同方式呈现这些过渡,以下元素的移动将会断断续续.


这是一个JSFiddle我的意思(尝试添加然后删除元素,并看到元素被删除时的跳转):

var button = document.querySelector("button");
var box = document.createElement("div");

box.className = "box";
box.appendChild(document.createTextNode("Click to delete"));

button.addEventListener("click", function(e) {
  var new_box = box.cloneNode(true);

  new_box.addEventListener("click", function(e) {
    this.className = "box deleting";
    window.setTimeout(function(e) {
      new_box.remove();
    }, 1000);
  });

  this.parentNode.appendChild(new_box);
});
Run Code Online (Sandbox Code Playgroud)
button {
  font-size: 20pt;
}
.box {
  font-size: 20pt;
  margin: 10px;
  width: 200px;
  padding: 10px;
  background: pink;
  transform: scale(1, 1);
  transform-origin: top left;
}
.deleting …
Run Code Online (Sandbox Code Playgroud)

javascript css css3 css-transitions css-transforms

8
推荐指数
1
解决办法
3561
查看次数

在DOM属性的文档中查找文本偏移量

如何使用PHP DOM扩展(或必要时的其他扩展或库)查找特定节点或属性的偏移量.

例如,假设我有这个HTML文档:

<html><a href="/foo">bar</a></html>
Run Code Online (Sandbox Code Playgroud)

并使用以下代码(进行适当修改):

$dom = new DOMDocument;
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$nodes = $xpath->query('//a/@href');
foreach($nodes as $href) {
    // Find start of $href attribute here
    echo $href->something;
}
Run Code Online (Sandbox Code Playgroud)

我希望看到输出15或其他东西,以表明属性从字符15开始进入文档.

似乎有DOMNode::getLineNo()返回行号的方法- 这与我想要的类似,但我找不到文本中一般偏移的替代方法.

php dom

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

您可以使用路径参数作为 AWS API Gateway 的身份源吗?

我有一个带有自定义授权者 lambda 的 AWS API Gateway (v2/HTTP) 设置。

网关的路由键类似于:

ANY /{project_id}/{uri+}
Run Code Online (Sandbox Code Playgroud)

我的授权者 lambda 检查给定用户是否有权获得所提供的权限project_id。不幸的是,这意味着我无法缓存结果,因为获得一个项目 ID 授权的用户随后会为其他项目 ID 缓存该授权。

我看到AWS 为网关提供了一个“身份源”参数,它将用作缓存密钥

您可以通过指定authorizerResultTtlInSeconds 为Lambda 授权方启用缓存。当为授权者启用缓存时,API Gateway 使用授权者的身份源作为缓存密钥。如果客户端在配置的 TTL 内的身份源中指定相同的参数,API Gateway 将使用缓存的授权方结果,而不是调用您的 Lambda 函数。

因此,我想使用我的“project_id”路径参数,但对于我来说,是否可以使用支持的身份源来实现这一点并不明显:

显示支持的身份源的屏幕截图

是否可以project_id使用这些表达式来引用路径参数?

amazon-web-services aws-lambda aws-api-gateway

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

如何使用 Jackson JSON 序列化空值但不序列化空值?

Jackson ObjectMapper 有一个功能可以删除空值:

class Car {
   Optional<String> ownerName;
   String manufacturer;

   public Optional<String> getOwnerName() { return ownerName; }
   public String getManufacturer() { return manufacturer; }
}

Car batMobile = new Car();
batMobile.owner = Optional.of("Batman");
batMobile.manufacturer = null;

Car stolenCar = new Car();
stolenCar.owner = Optional.empty();
stolenCar.manufacturer = "Tesla";

ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.NON_ABSENT);

mapper.writeValueAsString(batMobile);
/*
{
  "ownerName": "Batman"
}
*/
mapper.writeValueAsString(stolenCar);
/*
{
  "manufacturer": "Tesla"
}
*/
Run Code Online (Sandbox Code Playgroud)

我想要的是删除Optional.empty值,但保留空值:

mapper.writeValueAsString(batMobile);
/*
{
  "ownerName": "Batman",
  "manufacturer": null
}
*/
mapper.writeValueAsString(stolenCar);
/*
{ …
Run Code Online (Sandbox Code Playgroud)

java json jackson

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

在TypeScript中定义类型安全的通用对象访问器函数

我正在尝试为实用程序功能编写类型定义:

function getter<T>(field1, field2?, field3?) {
    if (field3 !== undefined) {
        return (obj: T) => obj[field1][field2][field3];
    } else if (field2 !== undefined) {
        return (obj: T) => obj[field1][field2];
    } else {
        return (obj: T) => obj[field1];
    }
}
Run Code Online (Sandbox Code Playgroud)

这样,给定以下接口:

interface Contact { phone: string; }
interface Author { name: string; contact: Contact; }
interface Book { id: number; author: Author; }
Run Code Online (Sandbox Code Playgroud)

和示例实例:

const lordOfTheRings: Book = { id: 1, author: { name: 'JRR Tolkien', contact: { phone: '222222' } } …
Run Code Online (Sandbox Code Playgroud)

types typescript

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