使用防火墙与 fail2ban 防止公网服务器被攻击
1. 自查服务器是否正在遭受攻击我们将服务器的端口直接暴露在公网环境是比较危险的,服务器可能一直在遭受外部网络的扫描,你可以通过应用日志或者防火墙日志来自查端口是否有人在尝试进行密码爆破或者端口扫描。 以 SSH 登录为例,你可以执行 sudo tail -f /var/log/auth.log ...

常用在线直播协议的对比与介绍
参考视频 1. 初识在线直播分为推流和拉流两个基础概念: 推流是指用户使用手机、摄像机、监控等设备将视频实时推送到服务端,常见的协议有 RTMP、RTSP; 拉流则是指当用户访问直播平台后,从应用内拉取服务器上的视频流并播放,常见的拉流协议有 HLS、HTTP-FLV 等。 2. RTMP (R ...

整理浏览器的自动播放策略
1. Chrome 浏览器的自动播放策略 我们将 Chrome 的自动播放策略视为标准策略,与其有出入的我们在文章中会重点提示。 Chrome 66 之后的版本中,只有静音的自动播放是被允许的: 1<vide src="xxx" muted autoplay>< ...

家庭网络开启 IPv6 指南
1. 为什么要开启 IPv6互联网点对点通信的基础是知晓双方的 IP,然后就可以互相发送数据,然而在传统的 IPv4 网络中,由于 IPv4 资源逐渐稀缺,因此运营商需要借用 NAT 技术将民用网络按照地理位置区块,划分成一个个子网,让子网间共用一个 IPv4 地址。由于 NAT 的层层嵌套,点对点 ...

veben-admin 项目设计鉴赏
第三方包 radix-vue:Radix UI 的 Vue 实现 shadcn-ui:其并非是一个组件库(不通过 npm 发布),而是一组可重用的组件实践,用户需要将组件源码直接复制到项目中使用; defu:轻量级的对象属性合并函数(mesrge) 使用 catalog 统一 monorepo 项 ...

现有的 QQ Bot 实现方案调研
QQ 目前已有官方机器人可以供普通用户申请使用,但是在 QQ 群中只能主动接收到 At 消息,可以参考官方的接入方案:文档 1. 被历史遗弃的 QQ 机器人项目CQHTTP项目地址 CQHTTP 插件是 2017 年初出现的基于 CKYU 机器人平台的一款开源免费插件,它使用户能够通过 HTTP ...

MacOS Python 环境搭建
1. 环境管理pyenvpyenv 是用来管理 python 版本的工具。 功能: 允许您基于每个用户更改全局 Python 版本。 提供对每个项目的 Python 版本的支持。 允许您使用环境变量覆盖 Python 版本。 一次搜索来自多个版本的 Python 的命令。这可能有助于使用 tox ...

Deno 2 特性概览
基于视频:Announcing Deno 2 Typescript supportDeno 无需配置即支持 Typescript。 许多 npm 包附带类型,您可以导入它们并直接将它们与类型一起使用: 1import chalk from "npm:chalk@5"; 有些软件 ...

学习屏幕色域、色彩管理相关的知识笔记
什么是色域、色彩空间下图是人眼可见的颜色通过数学关系映射到平面中,也叫马蹄图。 对于显示器来说,不可能百分百显示出人眼可见的颜色,只能显示一部分。并且显示器能力不一样,显示出的范围也不一致,为了规范显示器显示颜色的范围,就有了 sRGB、Adobe RGB、display P3 等各种各样的规范来 ...

使用 Rollup 构建 Vue2 & 3 的通用组件库
1. 背景Vue3 在 Vue2 的基础之上做了很大的变更,因此编译后的 Vue2 组件并不能适用到 Vue3 项目中,这对团队将来升级 Vue 框架会是一种极大的限制,同时新项目也可能因为无法复用旧项目的资产而导致放弃使用全新的框架。 好在 Vue3 的 Composition API 移植到了 ...