小编Hoo*_*ini的帖子

在C#中为大文件创建校验和的最快方法是什么?

我必须在一些机器上同步大文件.这些文件最大可达6GB.同步将每隔几周手动完成.我不能考虑文件名,因为它们可以随时更改.

我的计划是在目标PC和源PC上创建校验和,然后将所有尚未在目标中的校验和文件复制到目标.我的第一次尝试是这样的:

using System.IO;
using System.Security.Cryptography;

private static string GetChecksum(string file)
{
    using (FileStream stream = File.OpenRead(file))
    {
        SHA256Managed sha = new SHA256Managed();
        byte[] checksum = sha.ComputeHash(stream);
        return BitConverter.ToString(checksum).Replace("-", String.Empty);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是运行时:
- 使用带有1,6 GB文件的SHA256 - > 20分钟
- 使用带有1.6 GB文件的MD5 - > 6.15分钟

是否有更好 - 更快 - 获得校验和的方法(可能具有更好的散列函数)?

.net c# checksum large-files

125
推荐指数
6
解决办法
9万
查看次数

Chrome自动填充功能涵盖了Google Maps API v3的自动填充功能

我正在使用Google Maps Javascript v3在HTML输入字段上设置自动填充,如下所示:

http://imgur.com/Rm6X2FI.png - (没有自动填充)

我遇到的问题是Chrome的自动填充功能会覆盖地图自动填充功能,如下所示:

http://imgur.com/7a2QM7L.png - (带自动填充)

几个月前我在网上找到了一个解决方案(参考:禁用Chrome自动填充),但似乎这个解决方案不再有任何影响.

<input type="text" name="address" id="address_fake" autocomplete="off" style="display:none">
<input type="text" name="address" id="address" autocomplete="off" placeholder="Address" />
Run Code Online (Sandbox Code Playgroud)

有什么方法可以阻止Chrome的自动填充功能显示在Google地图自动填充列表的顶部吗?

编辑:停止谷歌铬自动填充输入不提供我当前问题的解决方案.问题在于输入字段上的Chrome自动填充下拉菜单,而不是自动填充自动填充值的输入字段.

html google-maps google-chrome google-maps-api-3

39
推荐指数
5
解决办法
9468
查看次数

jQuery事件处理程序如何排队和执行?

我有一个输入表单,带有一个提交按钮。我不希望用户能够双击提交按钮并再次提交表单...

因此,我将以下jQuery添加到了Form中:

var prevSubmitTime = new Date('2000-01-01');

function preventFromBeingDoubleSubmitted() {
    $('form').each(function () {
        $(this).submit(function (e) {
            if ($("form").valid()) {
                var curSubmitTime = new Date($.now());

                // prevent the second submit if it is within 2 seconds of the first submit
                if (curSubmitTime - prevSubmitTime < 2000) {
                    e.preventDefault();
                }
                prevSubmitTime = new Date($.now());
            }
        });
    });
}

$(document).ready(function () {
    preventFromBeingDoubleSubmitted();
});
Run Code Online (Sandbox Code Playgroud)

上面的代码存储了提交时间并阻止了第二次提交,如果为时过早(少于2秒),我不想永久禁用提交按钮,以防服务器端发生错误...

这段代码可以实现我想要的功能,但是在调试代码时,e.preventDefault();即使双击提交按钮,也永远无法达到断点。

看起来第二个提交事件正在等待第一个提交事件完成,然后再触发。

但是,如果删除preventFromBeingDoubleSubmitted()功能,则可以通过双击提交按钮来两次提交表单。

谁能解释为什么有时候提交事件被一个接一个地触发……有时候却不是这样吗?将事件处理程序放进去.each(),会影响它们的执行行为吗?

html javascript jquery form-submit

18
推荐指数
1
解决办法
401
查看次数

(ESLint)未找到规则'react/jsx-sort-prop-types'的定义

我刚刚更新了VS 2017(版本15.8.2).现在当我打开任何 .js文件时,我在文件的第一行看到一条红色的波浪线......这是警告信息:

未找到规则'react/jsx-sort-prop-types'的定义

在此输入图像描述

当我将鼠标悬停在波浪线上时:

在此输入图像描述

我不知道为什么我突然得到这么多.js错误?

javascript visual-studio eslint visual-studio-2017

16
推荐指数
2
解决办法
6914
查看次数

如果在 [basic] 许可证上启用了安全性,则必须启用传输 SSL

我已经在 Ubuntu 上安装了 Elasticsearch 7.1。我想用密码保护集群,所以我设置了:xpack.security.enabled: trueelasticsearch.yml文件中。现在,当我重新启动 Elasticsearch 时,我收到消息:

如果在 [basic] 许可证上启用了安全性,则必须启用传输 SSL。请将 [xpack.security.transport.ssl.enabled] 设置为 [true] 或通过设置 [xpack.security.enabled] 禁用安全性

我正在使用基本许可证。我看过这个指南,它解释了如何elasticsearch-certutil在节点上安装 SSL 证书。

问题:

  1. 是否可以在不设置xpack.security.transport.ssl.enabled为 true 的情况下对集群进行密码保护?

  2. 如果我有上面提到的指南并在 elasticsearch 集群上安装 SSL 证书,我的网络服务器上是否需要任何 ssl 证书?我不希望 Web 服务器和 elasticsearch 之间的通信使用 SSL。

elasticsearch

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

与跨站点资源关联的 cookie 设置时没有“SameSite”属性

Chrome 给了我以下警告:

http://quilljs.com/上的跨站点资源关联的 cookie 设置为没有该SameSite属性。未来版本的 Chrome 将仅在跨站点请求中使用SameSite=None和设置 cookie 时才传送 cookie Secure

请注意,quilljs.com 是第 3 方域。

我看过这些 问题,这两个问题的答案是相似的,有些人是这样说的:

与您的代码无关。这是他们的网络服务器必须支持的东西。

而其他人提供了这样的答案:

response.setHeader("Set-Cookie", "HttpOnly;Secure;SameSite=Strict");
Run Code Online (Sandbox Code Playgroud)

我不确定这是我需要在我的网站上修复的问题,还是应该在 3rd 方库中修复的问题?

javascript cookies google-chrome cross-site samesite

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

如果CDNJS不可用,则加载本地

我有几个JavaScript文件,我在每个项目上使用,目前使用CDNJS加载它们.

但是,我试图查看是否有一种很好的方法来检查CDN是否可用,或者是否可以从CDN获得这些文件.当然,如果CDN上没有这些文件,我会在本地加载它们.

这是我目前使用的JS文件:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>window.jQuery || document.write('<script type="text/javascript" src="./scripts/jquery.min.js">\x3C/script>')</script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/retina.js/1.0.1/retina.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.3.0/respond.js"></script>

<!--[if (gte IE 6)&(lte IE 8)]>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/selectivizr/1.0.2/selectivizr-min.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,如果我有加载jQuery的后备,而不是任何其他文件.

任何帮助将不胜感激!

javascript jquery cdn local

13
推荐指数
1
解决办法
4789
查看次数

利用控制器和视图中的继承

我刚才在codereview.stackexchange.com上发布了这篇评论 ...我觉得它可能更适合stackoverflow,因为它更像是一个问题,而不是代码审查.

它需要一些解释,请耐心等待.


我正在ASP.NET MVC中开发一个电子商务网站.用户可以在网站上发布不同类型的广告.

我使用继承来定义我的广告类型,这个问题是利用层次结构来删除控制器和视图中重复的代码.

我有不同的广告类型:SimpleAd,CarRealEstateRental.

每个广告都源自AdBase,其具有所有常见属性:

public abstract class AdBase
{
    public long AdBaseId { get; set; }
    public bool IsActive { get; set; }
    public long UserId { get; set; }
    public string Title { get; set; }
    public short AdDurationInDays { get; set; }
    public string PhotosFolder { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,其他广告来自此基类:

public class SimpleAd : AdBase
{
    public decimal Price { get; set; }
} …
Run Code Online (Sandbox Code Playgroud)

oop asp.net-mvc inheritance repository unit-of-work

13
推荐指数
1
解决办法
400
查看次数

您无法从此屏幕登录,因为此应用不符合 Google 的嵌入式 webview 政策

我正在一个电子商务网站上工作。我们的网站提供使用 google 帐户(使用 OAuth)注册的选项。

我们的网站是响应式的,可以使用移动设备访问,但它不是嵌入式的,我们没有任何 Andriod 或 iOS 应用程序。

今天,我从我们的一位用户那里收到以下错误。这就是我得到的全部信息,但听起来她正在尝试注册我们的网站,这时她收到以下错误:

您无法从此屏幕登录,因为此应用不符合 Google 的嵌入式 webview 政策。如果此应用有网站,您可以打开网络浏览器并尝试从那里登录。

在此输入图像描述

我查过这个谷歌页面,上面写着:

Google Identity 团队不断致力于提高 Google 帐户的安全性,并为我们的用户创造更安全的体验。作为这项工作的一部分,我们最近引入了一项新的安全浏览器策略,禁止在嵌入式浏览器库(通常称为嵌入式 Web 视图)中发出 Google OAuth 请求。自 2021 年 9 月 30 日起,所有嵌入式 Web 视图都将被屏蔽。

这很奇怪,因为今天是9 月 29 日!不完全确定此错误是否是由于 Google 对 OAuth 的更改所致?不确定如何解决这个问题?

oauth webview google-openid oauth-2.0 google-oauth

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

如何在一处更改解决方案中所有项目的 C# 语言版本?

我有一个包含 20 个项目的解决方案,我想将所有项目的 C# 版本更改为 C# 7.3

有没有一种方法可以一次性更改所有项目的版本?我知道我可以从项目属性更改语言版本,但我不想重复此操作 20 次。

在此输入图像描述

c# visual-studio visual-studio-2017

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