小编sur*_*gle的帖子

脚本标记 - 异步和延迟

我对标签的属性async和标签有几个问题,据我所知,只能在HTML5浏览器中使用.defer<script>

我的一个网站有两个外部JavaScript文件,目前位于</body>标签上方; 第一个是来自谷歌的,第二个是本地外部脚本.

关于网站加载速度

  1. 添加async到页面底部的两个脚本有什么好处吗?

  2. async选项添加到两个脚本并将它们放在页面顶部是否有任何优势<head>

  3. 这是否意味着他们下载页面加载?
  4. 我认为这会导致HTML4浏览器的延迟,但是它会加速HTML5浏览器的页面加载吗?

运用 <script defer src=...

  1. 是否会<head>使用与defer之前的脚本相同的属性加载内部的两个脚本 </body>
  2. 我再次假设这会降低HTML4浏览器的速度.

运用 <script async src=...

如果我有两个async启用的脚本

  1. 他们会同时下载吗?
  2. 或者与页面的其余部分一次一个?
  3. 脚本的顺序是否会成为问题?例如,一个脚本依赖于另一个脚本,因此如果下载速度更快,则第二个脚本可能无法正确执行等.

最后,我最好保留原样,直到HTML5更常用?

javascript html5

460
推荐指数
8
解决办法
18万
查看次数

自定义属性 - 是或不是?

最近我一直在阅读越来越多关于在HTML标签中使用自定义属性的人,主要是为了嵌入一些额外的数据用于javascript代码.

我希望收集一些关于是否使用自定义属性是一个好习惯的反馈,以及一些替代方案.

现在看来似乎真的可以简化服务器端和客户端的代码,但它也不是W3C标准.

我们应该在我们的网络应用程序中使用自定义HTML属性吗?为什么或者为什么不?

对于那些认为自定义属性是好事的人:使用它们时要记住哪些事项?

对于那些认为自定义属性是坏事的人:你用什么方法来完成类似的事情?

更新: 我最感兴趣的是各种方法背后的推理,以及为什么一种方法比另一种更好的原因.我想我们都可以用4-5种不同的方式来完成同样的事情.(隐藏元素,内联脚本,额外类,从ids解析信息等).

更新2: 似乎HTML 5 data-属性功能在这里有很多支持(我倾向于同意,它看起来像一个可靠的选项).到目前为止,我还没有看到这个建议的反驳方式.使用这种方法是否有任何问题/陷阱?或者它只是对当前W3C规范的"无害"失效?

html javascript xhtml custom-attribute

254
推荐指数
5
解决办法
6万
查看次数

Internet Explorer的CSS规则限制

我读过有关Internet Explorer愚蠢的CSS限制的相互矛盾的信息.我(我想)理解你只能拥有31个<style><link>标签(组合),并且每个工作表最多可以有31个@import(所以31个<link>,每个31个@import也很好,虽然很疯狂).

但是,4095规则不太清楚 - 每个文档或每张文件是4095规则吗?例如,我<link>可以使用两个样式表,每个样式表有4000个规则,并且可以使用它,还是会突破极限?

第三方编辑2018年

在这个msdn博客文章中,stylesheet-limits-in-internet-explorer给出了进一步的信息.

css internet-explorer stylesheet

150
推荐指数
5
解决办法
9万
查看次数

为什么Razor Pages是在Asp.net Core 2.0中创建Web UI的推荐方法?

学习新事物需要投入时间,空间和精力.我目前正在学习Asp.Net Core MVC 2.0.此ASP.NET核心教程概述指出:

Razor Pages是使用ASP.NET Core 2.0创建Web UI的推荐方法.

这个信息使我无法决定是否必须停止学习Asp.net Core MVC并开始学习Asp.net Core Razor Pages.

  • 为什么Razor Pages是在Asp.net Core 2.0中创建Web UI的推荐方法?

欢迎任何指示.

asp.net asp.net-core-mvc asp.net-core razor-pages asp.net-core-mvc-2.0

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

“不为空”和“!= null”有什么区别?

随着 C# 9.0 的发布,引入了否定空常量模式。

模式匹配的文档指出:

从 C# 9.0 开始,您可以使用否定 null 常量模式来检查非 null,如以下示例所示:

if (e is not null)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

除了语法之外,e is not null和之间还有什么区别吗?e != null

c# c#-9.0

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

在Google Chrome的inspect元素中复制HTML代码

我有一个网站,我想复制一个HTML代码 - 如何复制检查元素中的所有文本 - 所以我没有得到网站的HTML代码,但我已经改变的代码,所以我不要我在自己的网页上有我不想要的元素吗?

html google-chrome copy google-chrome-devtools inspect-element

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

极端分片:每个用户一个SQLite数据库

我正在开发一个介于电子邮件服务和社交网络之间的Web应用程序.我觉得它有可能在未来发展壮大,所以我担心可扩展性.

我决定为每个活跃用户创建一个单独的SQLite数据库,而不是使用一个集中式MySQL/InnoDB数据库然后对其进行分区:每个"分片"一个活跃用户.

这样,备份数据库就像每天一次将每个用户的小型数据库文件复制到远程位置一样简单.

扩展将像添加额外的硬盘来存储新文件一样简单.

当应用程序超出单个服务器时,我可以使用GlusterFS在文件系统级别将服务器链接在一起并运行应用程序,或者构建一个简单的SQLite代理系统,允许每个服务器操作相邻服务器中的sqlite文件.

并发问题将是最小的,因为每个HTTP请求一次只能触及一个或两个数据库文件,成千上万,而SQLite只会阻止读取.

我敢打赌,这种方法可以让我的应用程序优雅地扩展,并支持许多很酷和独特的功能.我打错了吗?我错过了什么吗?

更新我决定采用一种不太极端的解决方案,到目前为止工作正常.我正在使用固定数量的分片 - 准确地说是256个sqlite数据库.通过简单的散列函数将每个用户分配并绑定到随机分片.

我的应用程序的大多数功能每个请求只需要访问一个或两个分片,但有一个特别需要在256到10个不同的分片上执行简单查询,具体取决于用户.测试表明,如果所有数据都缓存在RAM中,则需要大约0.02秒或更短的时间.我想我可以忍受这个!

UPDATE 2.0我移植应用到MySQL/InnoDB和能够得到有关规则请求相同的性能,但对于需要碎片步行一个请求时,InnoDB快4-5倍.出于这个原因,以及其他原因,我正在放弃这种架构,但我希望某个地方找到它的用途......谢谢.

database architecture sqlite scalability sharding

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

你如何扩展像谷歌这样的HTTP服务器?

我经常惊叹于我可以随时随地访问www.google.com,并快速获取返回的页面.

当然,他们压缩他们的输出并保持最小的设计 - 这有所帮助.

但他们必须同时拥有数以百万计的点击量,这些点击是网站上DNS列为"www.google.com"的.

所有设置了Apache或其他Web服务器的人都知道事情很棒且超快,直到你开始获得几千个同时连接,更不用说数百万了!

那么,他们是如何做到的呢?我猜他们有一整套服务器机器,但你永远不会知道它.刚才我去Verizon的网址是www22.verizon.com.你永远也看不到"www22.google.com",从来没有.

任何想法他们使用什么特定技术,或者我们非谷歌凡人可以使用哪些技术来做同样的事情?

webserver scalability http

31
推荐指数
4
解决办法
7954
查看次数

安全问题是否使用基于https的GET请求发送密码有效?

我们有使用 -framework建立网页.浏览器和服务器之间的通信使用.登录页面的交互如下:

  1. 用户通过https://myserver.com在浏览器中输入来打开网站
  2. 将显示一个登录对话框,其中包含两个用于取消名称和密码的表单字段.
  3. 进入后username,并password和按login-button
  4. ajax-request使用GETURL 发送:https://myusername:myPassword@myserver.com/foo/bar/metadata

根据我的理解,使用GET发送敏感数据绝不是一个好主意.但这个对HTTPS的回答是url字符串安全说明如下

HTTPS Establishes an underlying SSL conenction before any HTTP data is
transferred. This ensures that all URL data (with the exception of
hostname, which is used to establish the connection) is carried solely
within this encrypted connection and is protected from
man-in-the-middle attacks in the same way that any HTTPS data is.
Run Code Online (Sandbox Code Playgroud)

在同一个帖子中的另一个答案: …

security authentication ssl https sapui5

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

如何在Heroku上使用自动缩放网络dynos?

使用Heroku,当需要时,一个AUTO如何在web dynos方面扩大规模?假设我们每2-3分钟就会吸引100名并发用户.如果我们的应用程序卡在5-6网络dynos上.我们搞砸了.

其次,我无法在24小时内监控流量,以确定是否需要向上或向下扩展.

到目前为止,我已经看过http://hirefireapp.com/http://www.heroscale.com/ 有关这两个的任何建议吗?

scalability heroku ruby-on-rails-3

21
推荐指数
4
解决办法
9867
查看次数