Git忽略规则(.gitignore配置)不生效原因和解决

第一种方法:
.gitignore中已经标明忽略的文件目录下的文件,git push的时候还会出现在push的目录中,或者用git status查看状态,想要忽略的文件还是显示被追踪状态。
原因是因为在git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,
这时候我们就应该先把本地缓存删除,然后再进行git的提交,这样就不会出现忽略的文件了。…

    

为什么 Rust 是开发者中最受推崇的语言

Rust 作为最受开发者推崇和渴望的语言继续位居榜首,在这篇文章中,我们将更深入地探讨 Rust 如何(以及为何)赢得世界各地开发者的青睐。

在Stack Overflow 的年度开发者调查中, Rust连续第八年位居“最受欢迎的编程语言”榜首。超过 80% 的开发人员表示他们希望明年再次使用该语言,您不得不想知道一种不到 20 年前创建的语言如何俘获了世界各地开发人员的心。

在本文中,我们将了解 Rust 的历史、它的常用用途、为什么开发人员如此喜爱它,以及一些可帮助您开始学习 GitHub 上增长最快的语言之一的资源

ServiceWorker、MessageChannel 和 postMessage

上周我写了一篇关于渐进式网络的缓存策略的文章,该策略首先使用缓存,然后进入网络,在网页之间共享消息并ServiceWorker协调对缓存内容的更新。swivel今天我将描述用于简化 ServiceWorkers 消息传递的库的内部工作原理。

事实证明,您可以通过多种不同的方式在 aServiceWorker及其控制的网页之间共享消息。
  • 客户端可能想要向a 发送消息ServiceWorker、询问某事或通知某事– 这是“单播”(1 对 1)
  • A可能想要向客户端ServiceWorker发送回复– 单播
  • AServiceWorker可能想要向其控制下的每个客户端发送更新– 一条“广播”(一对多)消息
  • AServiceWorker可能想要向发起请求的客户端发送更新– 单播

客户端页面和 Service Worker 之间的双向通信

Workbox 和 Preact 都与这个问题没有太大关系。Workbox 允许您在 Service Worker 中使用您想要的任何其他代码,而 Preact 也应该适用于您的客户端应用程序。)

此示例页面演示了使用 来从客户端页面向服务工作人员发送消息,然后进行响应MessageChannel。客户端页面上使用的相关帮助程序代码如下所示:

function sendMessage(message) {
  return new Promise(function(resolve, reject) {
    const messageChannel = new MessageChannel();
    messageChannel.port1.

Service worker 如何与客户端通信

问题:

我一直在尝试从服务人员向客户发送消息,但是如果我使用

self.clients.matchAll()
.then((clients) => {
  clients.forEach(function(client) {
    client.postMessage({msg: 'Hello from SW'})
  })
})

即使我在浏览器中打开了一个选项卡,它也不会发送到任何客户端,但是如果我从客户端服务工作者发送消息

// client
navigator.serviceWorker.controller.postMessage({title: 'Send message from client'})

并在服务人员中

self.addEventListener('message', function(event) {
  self.clients.fetchAll()
    .then((clients) => {
      clients.forEach(function(client) {
        client.postMessage({msg: 'Hello from SW'})
     })
  

WebSocket 安全性:8 大漏洞及其解决方法

什么是 WebSocket?

WebSocket 变得越来越流行,因为它们极大地简化了客户端和服务器之间的通信。 

WebSocket 协议使用 OSI 模型应用层(第 7 层)来允许客户端和服务器执行双向(全双工)通信。这使得创建动态、实时的 Web 应用程序(例如即时消息和照片共享应用程序)成为可能。

Input elements should have autocomplete attributes

浏览器console 报

[DOM] Input elements should have autocomplete attributes (suggested: "current-password"): 

解决:

尝试改变

<input type="password" name="password">

<input type="password" name="password" autocomplete="on">

自动完成功能可让 Web 开发人员指定用户代理在填写表单字段值时提供自动帮助的权限(如果有),以及向浏览器提供有关字段中预期信息类型的指导。

 …