知识碎片
[TOC]
知识碎片 定时整理
By:weimenghua
Date:2023.10.13
Description:
多租户
多租户(Multi-tenancy)是一种软件架构和部署模式,允许单个实例的应用程序同时为多个租户提供服务。租户是指使用该应用程序的一个组织或用户群体。
在多租户架构中,应用程序可以为每个租户提供独立的环境,以便他们可以自定义和管理其数据、配置和安全性需求,而不影响其他租户。这种架构通常会利用虚拟化技术和容器化技术等手段来隔离每个租户,从而确保各租户之间的数据和业务逻辑完全独立。
多租户架构可以提高应用程序的可伸缩性和资源利用率,并降低了成本和复杂性。它广泛应用于软件即服务(SaaS)和云计算领域,例如在在线视频流媒体、电子商务、社交媒体和协同办公等应用程序中都有大量的多租户实现。
需要注意的是,多租户架构也带来了一些挑战,如如何保证数据安全性、如何处理跨租户的共享资源和如何进行有效的租户管理等问题。因此,在设计和实现多租户系统时,需要认真考虑这些挑战并采取相应的措施来解决。
TMPL 模板
TMPL是一种模板文件格式,全称为Template Markup Language。它是一种用于定义和生成文本文件的标记语言。TMPL文件通常包含占位符和指令,用于在生成文件时插入动态内容或执行特定的操作。TMPL文件可以用于生成各种类型的文本文件,如网页、配置文件、邮件等。
toml 文件
conf.toml 是一种配置文件格式,它使用 TOML (Tom's Obvious, Minimal Language) 语言编写。TOML 是一种易于阅读和编写的配置文件语言,旨在成为 INI 文件的现代替代品。与 INI 文件不同,TOML 具有更强的表达能力,支持多级键、数组、嵌套表等功能,同时保持了简洁性和易读性。TOML 的语法规则比较简单,常用的数据类型包括字符串、整数、浮点数、布尔值和日期时间等。TOML 的文件扩展名通常为 .toml。
例子
# This is a TOML configuration file
[server]
host = "example.com"
port = 80
enabled = true
[database]
server = "db.example.com"
port = 5432
username = "admin"
password = "password123"
database = "exampledb"
Citrix Workspace 应用程序
Citrix Workspace 说明文档
Citrix Workspace Mac 下载地址
Citrix Workspace 应用程序提供对最终用户保持工作效率所需的所有资源的即时、安全和无缝访问。这包括访问虚拟桌面、虚拟应用程序、Web 和 SaaS 应用程序,以及嵌入式浏览和单点登录(从任何位置和任何设备)等功能。
Lua
Lua是一种轻量级、高效、可嵌入的脚本编程语言。它具有简单的语法、动态类型、自动内存管理和良好的扩展性。Lua最初由巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)的一个研究小组开发,并于1993年发布。
Lua的设计目标之一是作为扩展和嵌入式脚本语言使用。它可以轻松地嵌入到其他应用程序中,作为其扩展脚本语言,提供灵活的自定义和脚本化能力。因此,Lua被广泛应用于游戏开发、嵌入式系统、脚本插件、图形界面和其他需要脚本化的领域。
通过与Lua的集成,Nginx可以使用Lua脚本来自定义请求处理、访问控制、重定向、响应处理和其他高级功能。这种集成提供了更大的灵活性和可编程性,使开发人员能够通过编写Lua脚本来定制和扩展Nginx的行为。
网站 cookie 同意
当访问网站时,有些网站会在用户首次访问时显示一个弹出窗口或横幅,要求用户同意使用Cookie
- 改善网站性能和功能:使用Cookie可以帮助网站收集关于用户行为和偏好的信息。这些数据可以用于改进网站的性能、功能和用户体验。例如,通过分析Cookie数据,网站可以了解哪些页面受欢迎,哪些功能需要改进等。
- 广告定向和跟踪:某些Cookie用于提供定向广告和广告跟踪。当您同意使用Cookie时,网站可以根据您的兴趣和行为提供与您相关的广告,从而提供更有针对性的广告体验。
- 合规性和法律要求:许多国家和地区要求网站在收集和使用用户数据时获得明确的同意。同意使用Cookie可以帮助网站遵守相关的隐私和数据保护法律,确保合规性。
watchdog
Watchdog 配置是指在计算机系统中设置和配置 Watchdog(看门狗)功能的参数和选项。Watchdog 是一种硬件或软件机制,用于监视计算机系统的正常运行,并在系统出现故障或停止响应时采取相应的措施,例如自动重启系统或执行预定义的故障处理程序。
时区
时间类型 | 示例时间 | 说明 |
---|---|---|
UTC | Tue Jan 01 12:00:00 UTC 2024 | 协调世界时(Coordinated Universal Time),即 2024 年 1 月 1 日中午 12 点 |
GMT | Tue Jan 01 12:00:00 GMT 2024 | 格林威治标准时间(Greenwich Mean Time),通常与 UTC 相同 |
CST | Tue Jan 01 20:00:00 CST 2024 | 中国标准时间(China Standard Time),即 2024 年 1 月 1 日晚上 8 点 |
Linux
ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone
ln -sf /usr/share/zoneinfo/UTC /etc/localtime
echo "UTC" > /etc/timezone
ln -sf /usr/share/zoneinfo/GMT /etc/localtime
echo "GMT" > /etc/timezone
Mac
ln -snf /var/db/timezone/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone
ln -sf /var/db/timezone/zoneinfo/UTC /etc/localtime
echo "UTC" > /etc/timezone
ls -lh /etc/localtime
date
timedatectl
前端脚手架
前端脚手架(Frontend Scaffolding)是指一套工具和框架,旨在帮助开发者快速搭建和管理前端项目的结构和配置。脚手架通常会自动生成一个标准化的项目结构,包括文件夹和文件,如 src、dist、assets 等,帮助开发者组织代码。
例子:vue create vue-test-app
开源协议
- CLA(贡献者许可协议)
CLA,全称为 Contributor License Agreement(贡献者许可协议)。简单来说,项目接收贡献者提交的 Pull Request 之前,需要贡献者签署的一份协议,协议只需签署一次,对该贡献者的所有提交都生效。如果你想起诉开源违规行为,有了 CLA 授予的版权许可,就不必一一通知所有贡献者。
CLA 是约束开源项目和贡献者之间的关系,通常是要求贡献者在代码和专利做出声明或者承诺。
签署人是代码 (包含文档等其它内容) 和专利的拥有者 (或是被授权贡献),授权这些贡献在项目的开源许可证下进行再分发。
CLA 大体上包含这些内容:
- 关于签署该 CLA 的主体和贡献的定义;
- 授予版权许可给拥有该软件知识产权的企业或组织;
- 专利许可的授予;
- 签署者保证依法有权授予上述许可;
- 签署者确保所有的贡献内容均为原创;
- 签署者为贡献提供支持的免责描述;
- 说明贡献者提交非原创作品应该采用的方式;
- 保证在获悉任何方面不准确的事实或情况之时通知签约方。
- 木兰宽松协议
许可证内容以 中英文双语表述 ,中英文版本具有同等法律效力,方便更多的开源参与者阅读使用, 简化了中国使用者进行法律解释时的复杂度。
许可证明确授予用户永久性、全球性、免费的、非独占的、不可撤销的版权和专利许可,并针对目前专利联盟存在的互诉漏洞问题,明确+ 规定禁止“贡献者”或“关联实体”直接或间接地(通过代理、专利被许可人或受让人)进行专利诉讼或其他维权行动,否则终止专利授权。
许可证明确不提供对“贡献者”的商品名称、商标、服务标志等的商标许可,保护“贡献者”的切身利益。
许可证经技术专家和法律专家共同修订,在明确合同双方行为约束的前提下尽可能地精简条款、优化表述,降低产生法律纠纷的风险。
JSON Server
JSON Server 是一个基于 Node.js 的轻量级工具,用于快速搭建模拟的 RESTful API 服务。它允许开发者通过一个简单的 JSON 文件作为数据源,自动生成符合 REST 规范的 API 接口,支持常见的 CRUD(创建、读取、更新、删除)操作,并具备分页、排序、过滤等高级查询功能。
安装服务
npm install -g json-server
启动服务
json-server --watch db.json
{
"users": [
{ "id": 1, "name": "Alice", "age": 25, "isActive": true },
{ "id": 2, "name": "Bob", "age": 30, "isActive": false }
],
"posts": [
{ "id": 1, "title": "Hello World", "author": "Alice", "likes": 10 },
{ "id": 2, "title": "REST API Tips", "author": "Bob", "likes": 5 }
]
}
知识碎片
代码片段美化工具:https://carbon.now.sh/
密码校验工具:https://github.com/dropbox/zxcvbn
VPN(或称虚拟专用网络)会通过互联网在设备之间建立私有的网络连接。 VPN 用于通过公有网络安全且匿名地传输数据。它们的原理是通过掩蔽用户 IP 地址并加密数据,使未获得接收信息授权的人无法读取。
eml 格式文件是一封电子邮件文件,以 Foxmail 客户端为例,选择一封邮件后右键导出。
查询公网 ip:https://whatismyipaddress.com/
国内邮箱服务
- 163邮箱 示例:example@163.com
- 126邮箱 示例:example@126.com
- QQ邮箱 示例:example@qq.com
- 搜狐邮箱 示例:example@sohu.com
- 阿里云邮箱 示例:example@aliyun.com
- 百度邮箱 示例:example@baidu.com
国外邮箱服务
- Gmail 示例:example@gmail.com
- Yahoo Mail 示例:example@yahoo.com
- Outlook 示例:example@outlook.com
- ProtonMail 示例:example@protonmail.com
- Zoho Mail 示例:example@zoho.com
- iCloud Mail 示例:example@icloud.com
安装证书
# 将 CA 证书拷贝到系统信任目录
sudo cp my-root-ca.crt /usr/local/share/ca-certificates/
# 更新系统 CA 信任
sudo update-ca-certificates
# 查看证书信息
openssl x509 -in /usr/local/share/ca-certificates/my-root-ca.crt -text -noout
# 若成功返回数据且无SSL错误,则CA有效
curl --cacert /usr/local/share/ca-certificates/my-root-ca.crt https://example.com
使用 -k 或 --insecure 参数,让 curl 忽略所有 SSL 证书错误:
curl -k https://example.com/api
curl --insecure https://example.com/api