小编and*_*ies的帖子

初始/第一个git提交内容的约定是什么?

我知道应该为每个逻辑更改提供Git提交,但第一次提交的约定是什么(如果存在)?

[注意:我不是就这个问题征求意见/讨论 - 如果没有共同的约定那就好了].

例如,我从头开始使用index.html创建一个网站 - 我的第一个"逻辑更改"提交可以是添加<head>元素,添加HTML结构或添加基本内容和CSS.或者第一次提交应该是第一个"工作"版本?

编辑:我不是指提交消息; 我的意思是文件的内容.

git

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

为什么在 AWS S3 中删除对象比创建对象慢得多?

我有一个监视 S3 存储桶的 AWS lambda 函数。当图像上传到存储桶时,lambda 函数会创建图像的缩略图。然而,我在函数中犯了一个错误,并将转换后的文件保存在正在监视的同一目录中,从而创建了无限循环。

它运行了大约一分钟,然后我停止了它,并在这段时间内创建了 600,000 张图像。但是,删除这些映像(使用 AWS 控制台)大约需要 20 分钟。

为什么会有这样的差异?我对其中的低级原因感兴趣。

performance amazon-s3 amazon-web-services coding-efficiency

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

如何让我的机器人将消息发布到Microsoft Teams频道?

我有一个与docs quickstart中演示的机器人相同的机器人。无论用户说什么(现在),它都会重复执行。

它当前在本地运行,并通过ngrok公开。我已经在Microsoft Bot Framework中注册了该机器人。

我已经在Microsoft Bot Framework中配置了Microsoft Teams频道,并且已经将我的机器人加载到了Teams中。我的机器人可以接收来自 Teams用户的消息。

目前,该机器人只是将收到的所有内容重复发送给用户,但我要执行的操作是发布到Microsoft Teams频道。我希望它发布到Teams频道- 而不是用户 -无需用户首先提示。因此,例如,在给定特定条件(例如,由某些事件(例如一天中的时间,提取请求等)触发)的情况下,它将在通道中发布消息。

我已经阅读了有关发送主动消息的文档,并且为了将消息发送到团队通道,我收集了该机器人需要知道用户的“地址”。此信息存储在session.message.address对象中,并从当前对话中获取该信息。但是,就我而言,我没有“当前保留”功能,因为我不想只回应用户,所以我想主动发布在频道中。

那么,如何为团队频道永久设置必要的凭据/地址/会话数据?

我调查过的事情:

  • Webhooks。我已经在Teams频道中配置了一个Webhook,并且可以使用轻松地(使用webhook网址)向其发送消息curl。因此,我可以向团队频道发送一条简单的消息,其中仅包含一个网址(无需身份验证),但是我不确定如何将该网址发送到我的机器人中。

  • 我们如何在Microsoft Bot Framework中为不同的用户维护不同的会话?我不确定这里的答案是否能回答我的问题。我的问题是,机器人正在发起“对话”,而不是Teams用户,因此我需要能够自己设置会话数据,以便机器人知道要去哪里。

App.js:

require('dotenv').config();
var restify = require('restify');
var builder = require('botbuilder');

// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
   console.log('%s listening to %s', server.name, server.url); 
});

// Create chat connector for communicating with the Bot Framework …
Run Code Online (Sandbox Code Playgroud)

node.js botframework microsoft-teams

5
推荐指数
2
解决办法
4390
查看次数

当条件涉及 Optional 时,如何避免使用两个过滤器

我有这样的代码:

myList.stream()
            .filter(item -> item.getName().isPresent())
            .filter(item -> item.getName().get().equalsIgnoreCase(otherName))
            .findFirst();
Run Code Online (Sandbox Code Playgroud)

(...item.getName()返回类型为Optional<String>)

我怎么能在这里将两个过滤器压缩成一个?

java optional

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

使用setTimeout()时如何使用call()设置`this`的值?

我在javascript中制作一个简单的游戏.这些是我的玩家方法(有问题的部分是在玩家击中水后半秒钟调用重置方法):

Player.prototype = {
    update : function(){
        // player control and edge of screen detection
        // TODO factor out hardcoding into sprite width constants
        if (this.keyPressed === 'right' && this.x < 400){
            this.x += 100;
        }
        if (this.keyPressed === 'left' && this.x > 10){
            this.x += -100;
        }
        if (this.keyPressed === 'up' && this.y > 10){
            this.y -= 83;
        }
        if (this.keyPressed === 'down' && this.y < 400){
            this.y -= -83;
        }
        // reset key press
        this.keyPressed = null;

        // …
Run Code Online (Sandbox Code Playgroud)

javascript prototype this settimeout

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