有几个bilibili视频想下载下来, 网上找了个工具哔哩哔哩视频解析下载, 但是不支持多个视频下载, 为了快速下载, 打算利用puppeteer自动化下载.
如何知道 Node.js stream pipe 完成
Node.js 的流调用 pipe
方法之后会返回一个新的流, 监听这个新流的finish
事件就可以知道pipe完成了:
axios({
method: "GET",
url: "https://www.bilibili.com/",
responseType: "stream"
}).then((response: AxiosResponse<Stream>) => {
const newStream = response.data.pipe(fs.createWriteStream(`./save-file.html`));
newStream.on("finish", () => {
// 这里流pipe已经完成
});
});
DOM Attributes in React 16
在过去, React通常忽略未知的DOM属性。 如果你写的JSX使用了React不能识别的属性, React将会跳过它, 比如:
修改火狐浏览器开发者工具字体大小
Maybe an easier way will be to open about:config
and set devtools.toolbox.zoomValue
to bigger value.
Event Emitters in TypeScript
Ref: Event Emitters in TypeScript
从UI交互到Node.js的核心事件循环, 基于事件循环是JavaScript开发的一部分.
JavaScript创建指定数量的重复元素
JavaScript中,如果创建重复的元素, 原问题: https://stackoverflow.com/questions/12503146/create-an-array-with-same-element-repeated-multiple-times
使用Docker运行Apache Kafka
Ref Guide to Setting Up Apache Kafka Using Docker
前言
在软件领域,Docker是创建、打包、部署应用的最受欢迎的容器引擎之一。本教程我们会学习如何使用Docker运行Kafka。
Bash快捷键列表
解决 macOS 系统 xcrun error invalid active developer path 异常
Termux配置清华大学开源镜像
一个TypeScript类型复用的小技巧
分享一个TypeScript类型复用的小技巧:
macOS 允许打开任何位置下载的App
使用自定义的Spring MVC处理程序拦截器管理会话
原文 - Using a Custom Spring MVC’s Handler Interceptor to Manage Sessions
简介
本教程专注Spring MVC的 HandlerInterceptor.
我们展示一个使用拦截器的高级示例 - 模拟一个会话超时的逻辑, 通过设置自定义次数手动跟踪会话.
如果你想越多更多关于Spring HandlerInterceptor 的基础知识点击这里.
Spring MVC HandlerInterceptor 简介
原文 - Introduction to Spring MVC HandlerInterceptor
Spring MVC处理程序
为了理解拦截器, 让我们回头看一下HandlerMapping. 它把一个方法映射到一个URL上, 因此当一个请求进来时, DispatcherServlet能够调用对用的方法.
事实上, DispatcherServlet使用HandlerAdapter调用方法(Controller里定义的方法).