-
搭建whatsapp机器人
在今天的数字时代,智能机器人和自动化任务的需求不断增长。此次分享将深入探讨如何使用 whatsapp-web.js 框架来实现与 WhatsApp Web 客户端的互动,从而创建一个功能强大的 WhatsApp 智能机器人。 还会揭示技术实现原理,媒体数据解密方法,以及如何接入 ChatGPT,使机器人更具智能化。先来看下半成品机器人的效果智能回复手机远程发送锁屏指令智能回复本地知识库媒体资源 背景:WhatsApp 个人管理是目前主站正在做的一个新的产品方向。许多外贸人员联系海外客户的...…
-
React 的快与慢
在 React 出现之前,web 的性能瓶颈是 js 和 DOM 交互这块,当时很多优化大多集中在如何减少不必要的 DOM 操作,这些优化都是点状的优化,缺乏一个大而全的优化体系,直到 React 出现。众所周知 React 使用 Virtual DOM 来描述 UI 界面,开发者只需要操作改变 Virtual DOM。React 通过对比前后两个 Virtual DOM 的差异(diff 的过程),精准的拿到要发生变化的 UI 描述,这样就避免了不必要的 DOM 操作,减少了页面重绘的次...…
-
Node event loop 扒皮
时间循环的流程如下┌───────────────────────┐┌─>│ timers ││ └──────────┬────────────┘│ ┌──────────┴────────────┐│ │ I/O callbacks ││ └──────────┬────────────┘│ ┌──────────┴────────────┐│ │ idle, prepare ││ └──────────...…
-
Mybatis explore for taste
数据库连接池使用的是Druid。Mybatis与spring-boot的集成与mybatis与Spring的集成并没有什么不同的地方。可以看这里:demo多了一个@ImportResource("mybatis.xml")注解。如果要引用多个配置,那么就需要自定义配置的引入方式。不然每一个都要去@ImportResource…
-
NAPI
Node 7.9之后, C++ Addon有了优雅的写法,需要参考Nan项目,研究了之后发现这也是给写过C++ Addon的人提高效率的,有较多的既定规则,且需要对v8有一定理解。新泽西学院有教授即时跟进布道。…
-
Tree Shaking
Rich Harris 的模块打包器 Rollup 普及了 JavaScript 圈内一个重要的特性:Tree-shaking,即从模块包中排除未使用的 exports 项。Rollup 基于 ES6 模块的静态结构(引入和导出不会在运行时改变)来检测哪一个模块没有被使用。Webpack 的 Tree-shaking 特性目前正在 beta 阶段,这篇博文解释了它是如何工作的,相关的项目代码可以在 Github 上查看:Tree-shaking Demo。1. Webpack 2 如何消除...…
-
specs of Promise/A+
Promise/A+规范摘录promise.then相关的部分如下: promise.then(onFulfilled, onRejected) 2.2.4 onFulfilled or onRejected must not be called until the execution context stack contains only platform code. [3.1]. Here “platform code” means engine, environment, an...…
-
Canvas Profile
…
-
Node Events
…
-
caches
缓存实践对于各种HTTP缓存控制头部的对比以及用户可能出现的浏览器刷新行为,当我们在一个项目上做http缓存的应用时,我们实际上还是会把可能的大多数首部字段均使用上。1. Expires / Cache-ControlExpires用时刻来标识失效时间,不免收到时间同步的影响,而Cache-Control使用时间间隔很好的解决了这个问题。 但是 Cache-Control 是 HTTP1.1 才有的,不适用于 HTTP1.0,而 Expires 既适用于 HTTP1.0,也适用于 HTTP...…