摘要:
一、Redis 在 Redis 中实现用户离线期间的消息接收,可以通过组合使用 Redis 的发布/订阅(Pub/Sub)功能和 List 数据结构来实现。具体来说,当用户离线时,可以将发送给该用户的消息存储在 List 中,待用户上线后再从 List 中读取消息。 下面是一个详细的实现方案: 1. 阅读全文
摘要:
经常有小伙伴对一些计算机技术和概念不太清楚,产生很多误区,甚至张冠李戴,在一起聊天时又很难给对方解释清楚,经过苦思冥想,终于想到一些比喻,能够很好地阐述了“硬件、操作系统、跨平台、应用软件、开发语言、代码”之间的关系。 1、硬件 陆地(Intel)与海洋(AMD):硬件就像是一个广阔的自然环境,其中 阅读全文
摘要:
使用 `vscode` 打开一个`json`文件,如果有单行或多行注释,则会显示红色下划线,解决办法如下: ## 方法1 点击底部的`JSON`,选择 `JSON with Comments` 即可,然后红色下划线消失,底部显示如下 ![](https://img2023.cnblogs.com/b 阅读全文
摘要:
方法一 import {menus} from './menus.ts' function listToTree(list: any = [], options = {}, data = null) { const { rootWhere, childsWhere, addChilds } = Ob 阅读全文
摘要:
Promise.resolve() 有时需要将现有对象转为 Promise 对象,Promise.resolve方法就起到这个作用。 const jsPromise = Promise.resolve($.ajax('/whatever.json')); 上面代码将 jQuery 生成的deferr 阅读全文
摘要:
Pinia和Vuex一样都是是vue的全局状态管理器。其实Pinia就是Vuex5,只不过为了尊重原作者的贡献就沿用了这个看起来很甜的名字Pinia。 本文将通过Vue3的形式对两者的不同实现方式进行对比,让你在以后工作中无论使用到Pinia还是Vuex的时候都能够游刃有余。 既然我们要对比两者的实 阅读全文
摘要:
vue3提供了getCurrentInstance ,通过这个属性,直接使用ctx是错误的,需要找到全局属性globalProperties import { getCurrentInstance } from 'vue' const instance = getCurrentInstance() 阅读全文
摘要:
一、思路 在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。常用的方法有 使用内存映射文件 通过共享内存DLL共享内存 使用SendMessage向另一进程发送WM_COPYDATA消息 比起前两种的复杂实现来,WM_COPYDATA消息无疑是一种经济实惠的一中方法。WM_COPY 阅读全文
摘要:
console.log( [] == ![] ) // true console.log( {} == !{} ) // false 在比较字符串、数值和布尔值的相等性时,问题还比较简单。但在涉及到对象的比较时,问题就变得复杂了。 比较规则 最早的ECMAScript中的相等和不相等操作符会在执行比 阅读全文
摘要:
"&&" 操作符 1、如果第一个操作数是对象,则返回第二操作数 var res = {} && "Hello";//Hello 2、如果第二个操作数是对象,则在第一个操作数求值为true时,才返回第二个操作数 var res2 = 0 && {};//0 var res3 = null && {}; 阅读全文