第二十七篇 数据仓库与维度建模指南:从理论到实战的进阶之路
声明:文章内容仅供参考,需仔细甄别。文中技术名称属相关方商标,仅作技术描述;代码示例为交流学习用途,部分参考开源文档(Apache 2.0/GPLv3);案例数据已脱敏,技术推荐保持中立;法规解读仅供参考,请以《网络安全法》《数据安全法》官方解释为准。
目录
- 一、数据获取与数据分析:OLTP与OLAP的本质差异
- 1.1 操作型系统 vs 分析型系统
- 1.2 典型技术栈对比(国内版)
- 二、企业级数据仓库架构深度解析
- 2.1 Kimball总线架构增强版
- 2.2 现代混合架构实践(电商案例)
- 三、维度建模高级技巧与实战
- 3.1 星型模式优化策略(增强版)
- 3.2 缓慢变化维(SCD)工业级实现
- 四、现代ETL系统架构设计(国产化版)
- 4.1 流批融合架构
- 4.2 数据质量保障体系
- 五、商业智能实战案例(国内场景)
- 5.1 社区团购GMV预测
- 5.2 数据大屏技术栈
- 六、企业级最佳实践
- 6.1 性能优化Checklist
- 七、工具矩阵更新
- 八、常见问题深度解析
一、数据获取与数据分析:OLTP与OLAP的本质差异
1.1 操作型系统 vs 分析型系统
某新零售企业案例(覆盖3000+门店)
OLTP系统(操作型):
- 每秒处理5000+交易事务(含移动支付)
- 使用 阿里云PolarDB(国产分布式数据库)
-- 典型OLTP表设计(支持JSON字段)
CREATE TABLE orders (order_id VARCHAR(36) PRIMARY KEY COMMENT '雪花算法ID',user_id VARCHAR(24),product_info JSON COMMENT '商品快照(含实时价格)',payment_data JSON COMMENT '支付渠道数据',create_time DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6)
) ENGINE=InnoDB PARTITION BY HASH(order_id);
OLAP系统(分析型):
- 分钟级延迟处理PB级行为分析数据
- 使用 Apache Doris 2.0 + 对象存储OSS
-- 行为分析宽表设计
CREATE TABLE user_behavior_wide (user_id VARCHAR(24),item_id INT,behavior_type SMALLINT COMMENT '1:浏览 2:加购 3:购买',province_code VARCHAR(6),timestamp DATETIME,INDEX idx_user (user_id) USING BITMAP
) ENGINE=OLAP
DUPLICATE KEY(user_id)
PARTITION BY RANGE(timestamp)()
DISTRIBUTED BY HASH(user_id) BUCKETS 10
PROPERTIES ("storage_type"="column");
1.2 典型技术栈对比(国内版)
类别 | OLTP系统 | OLAP系统 |
---|---|---|
数据库 | 阿里云PolarDB/TiDB | Apache Doris/AnalyticDB |
存储引擎 | InnoDB/RocksDB | 列存+对象存储OSS |
索引策略 | 自适应哈希索引 | 智能索引(倒排+布隆过滤) |
典型延迟 | <10ms | 亚秒级~分钟级(按场景分级) |
国产化认证 | 等保三级+信创适配 | 金融级容灾认证 |
二、企业级数据仓库架构深度解析
2.1 Kimball总线架构增强版
核心组件升级:
- 统一元数据中心:基于Apache Atlas实现字段级血缘追踪
- 智能维度管理:自动识别维度变更并触发SCD处理
2.2 现代混合架构实践(电商案例)
架构演进:
关键实现:
- 流批一体:Flink SQL统一处理实时与离线数据
- 湖仓联动:Iceberg表自动同步到Doris加速查询
- 国产化适配:全链路支持ARM服务器与麒麟OS
三、维度建模高级技巧与实战
3.1 星型模式优化策略(增强版)
维度降维技术:
-- 基于特征工程的维度压缩(Hologres示例)
CREATE TABLE dim_user_embedding AS
SELECT user_id,pgml.train('user_features', 'embedding_model', ARRAY[age, gender, purchase_freq]) AS feature_vector
FROM raw_user_data;
事实表压缩方案:
原始方案 | 优化技术 | 压缩率(实测) |
---|---|---|
存储完整JSON日志 | Protobuf编码+ZSTD压缩 | 15:1 |
明细级用户行为 | 聚合预计算(RoaringBitmap) | 100:1 |
3.2 缓慢变化维(SCD)工业级实现
SCD2完整实现(含国产数据库适配):
-- 达梦数据库语法示例
BEGIN TRANSACTION;-- 关闭旧记录UPDATE DMHR.DIM_EMPLOYEE SET END_DATE = SYSDATE - 1/86400, IS_CURRENT = 'N'WHERE EMPLOYEE_ID = ? AND IS_CURRENT = 'Y';-- 插入新记录INSERT INTO DMHR.DIM_EMPLOYEE(EMPLOYEE_KEY, EMPLOYEE_ID, DEPT_CODE, START_DATE, END_DATE, IS_CURRENT)VALUES(NEXTVAL('SEQ_EMP_SK'), ?, ?, SYSDATE, NULL, 'Y');
COMMIT;
SCD类型选择决策树:
是否需完整历史追溯?
├─ 是 → SCD2或SCD4
└─ 否 → 是否仅需最新值?├─ 是 → SCD1└─ 否 → SCD3(保留有限历史)
四、现代ETL系统架构设计(国产化版)
4.1 流批融合架构
推荐技术栈:
层级 | 组件 | 国产替代方案 |
---|---|---|
数据采集 | Flink CDC | TapData Connector |
流处理 | Apache Flink | 阿里云实时计算Blink |
批处理 | Spark 3.x + Iceberg | 腾讯云Oceanus |
任务调度 | Apache DolphinScheduler | 阿里云DataWorks调度 |
4.2 数据质量保障体系
三位一体质量监控:
# 使用Great Expectations国产化改造示例
from great_expectations_provider.adapters.alibaba import MaxComputeCheckbatch = context.get_batch(datasource_name="odps_prod",data_connector_name="daily_sales",data_asset_name="fact_sales"
)# 定义质量规则
rules = {"amount_not_null": {"type": "expect_column_values_to_not_be_null", "column": "amount"},"valid_date_range": {"type": "expect_column_values_to_be_between","column": "sale_date","min_value": "2025-01-01","max_value": "2025-12-31"}
}# 执行校验
results = context.run_validation(batch, rules)
五、商业智能实战案例(国内场景)
5.1 社区团购GMV预测
-- 基于Doris的时序预测(兼容MySQL语法)
SELECT city_id,GMV,TS_PREDICT_ARIMA(GMV, 'period=7, p=3, d=1, q=2') OVER (PARTITION BY city_id ORDER BY sale_date) AS predicted_gmv
FROM dwd_daily_city_gmv
WHERE sale_date BETWEEN '2025-01-01' AND '2025-06-30';
5.2 数据大屏技术栈
组件类型 | 国产化方案 | 核心能力 |
---|---|---|
实时计算 | 阿里云Flink | 百万级TPS事件处理 |
可视化渲染 | 火山引擎VeDI | WebGL级地理数据渲染 |
数据服务 | 百度OpenAPI | 身份证/MD5加密数据脱敏 |
权限控制 | 华为云IAM | 字段级数据权限管控 |
六、企业级最佳实践
6.1 性能优化Checklist
云原生优化专项:
- 启用AnalyticDB弹性并行查询(EPQ)
- 配置OSS生命周期自动降冷(热/温/冷数据分层)
- 使用Colocation Group优化关联查询
- 开启智能压缩(根据数据类型自动选择ZSTD/LZ4)
安全控制方案:
-- 数据脱敏示例(达梦数据库)
CREATE MASKING POLICY phone_mask AS (phone VARCHAR(20) RETURNS VARCHAR(20) BEGINRETURN CONCAT(SUBSTR(phone,1,3), '****', SUBSTR(phone,8));
END;ALTER TABLE customer_info
MODIFY COLUMN phone SET MASKING POLICY phone_mask;
七、工具矩阵更新
领域 | 开源方案 | 商业方案 | 选型建议 |
---|---|---|---|
数据集成 | SeaTunnel | 阿里云DataWorks | 政务云项目必选 |
实时计算 | Apache Flink | 火山引擎流式计算 | 短视频场景首选 |
数据湖 | Apache Iceberg | 腾讯云Tencent Lake | AI训练推荐 |
BI工具 | Superset | 帆软FineBI | 传统企业报表首选 |
八、常见问题深度解析
Q1:如何实现跨境数据仓库合规?
- 采用 "两地三中心"架构:境内AnalyticDB+境外AWS Redshift
- 通过 隐私计算中间件 实现数据可用不可见
Q2:实时数仓如何保障Exactly-Once语义?
- 国产化方案:
🎯下期预告:《数据获取与数据分析》
💬互动话题:你在学习SQL时遇到过哪些坑?欢迎评论区留言讨论!
🏷️温馨提示:我是[随缘而动,随遇而安], 一个喜欢用生活案例讲技术的开发者。如果觉得有帮助,点赞关注不迷路🌟
相关文章:
第二十七篇 数据仓库与维度建模指南:从理论到实战的进阶之路
声明:文章内容仅供参考,需仔细甄别。文中技术名称属相关方商标,仅作技术描述;代码示例为交流学习用途,部分参考开源文档(Apache 2.0/GPLv3);案例数据已脱敏,技术推荐保持…...
定时任务引起的死锁
定时任务引起的死锁 前言:Java面试题 死锁的场景有哪些?你们是怎么解决的? 锁有哪些特性? 问题现象 1,文件上传报当前功能正在使用,请稍后再试 2,其他账号登录系统,登录不上去&a…...
NewStar CTF web wp
文章目录 week1headach3会赢吗智械危机谢谢皮蛋PangBai 过家家(1) week3include meblindsql1臭皮的计算机臭皮踩踩背这照片是你吗 week4Pangbai过家家四blindsql2chocolateezcmsssezpollute隐藏的密码 weeek5pangbai过家家(5)redissqlshell臭皮吹泡泡臭皮…...
Docker运行postgreSQL,由于异常启动或者退出后,提示could not locate a valid checkpoint record
pg_resetwal 是 PostgreSQL 的“急救工具”,用于在极端情况下修复因 WAL 或控制文件损坏导致的启动问题。 但需注意: 风险极高,可能导致数据不一致。必须立即转储并恢复,避免直接在修复后的数据库中执行写操作。仅在备份后使用&…...
Leetcode 刷题笔记1 图论part01
图论的基础知识: 图的种类: 有向图(边有方向) 、 无向图(边无方向)、加权有向图(边有方向和权值) 度: 无向图中几条边连接该节点,该节点就有几度࿱…...
文件管理系统
前言:之前我们讨论的是被打开文件的管理,那么未被打开的文件是如何管理的呢? 1.认识磁盘设备 1.1磁盘的物理结构 磁盘是由盘片(盘面,扇区,磁道,柱面),磁头,…...
荣耀手机卸载应用商店、快应用中心等系统自带的
1.下载abd ADB Download - Get the latest version of ADB and fastboot 2.手机打开开发者选项 3.手机接电脑打开USB调试 4.下载MT管理器查看系统包名 D:\1.LFD\ADB\platform-tools-latest-windows\platform-tools>adb shell adb.exe: no devices/emulators found 这边是…...
结合基于标签置信度的特征选择方法用于部分多标签学习-简介版
假设 部分多标签学习(PML)假设:假设样本的标签集合中存在伪正标签,即某些标签可能是错误的。目标是从候选标签集中识别出真实标签。特征与标签的关系假设:假设不同的标签对应的特征子空间可能是不同的,而不…...
【小白向】Word|Word怎么给公式标号、调整公式字体和花括号对齐
【小白向】Word|Word怎么给公式标号、调整公式字体和花括号对齐 我的版本:Word 2021 如需快速查看关键步骤,请直接阅读标红部分。 如果遇到无法调整的情况,可以直接下载我的示例文档进行参考:花括号和其他的示例公式.…...
基于香橙派 KunpengPro学习CANN(2)——Ascend Extension for PyTorch 配置与安装
将 PyTorch 网络迁移到昇腾平台并执行训练或推理,直接使用昇腾提供的构图接口构图。Ascend Extension for PyTorch插件用于适配PyTorch框架,可以使用昇腾AI处理器的算力。 1 pip 安装 # 下载PyTorch安装包 wget https://download.pytorch.org/whl/cpu/…...
【备赛】遇到的小问题-1
问题描述-1 想实现的功能是,通过ADC实时测量某引脚的电压及其占空比。 可以通过旋转电位器,更改其电压。 首先我定义了这几个变量 uint32_t adc_value;//HAL库函数里面得出的采样值(实时更新) uint32_t percentage6;//占空比,随着adc_val…...
Browser Use的安装和使用
文章目录 一、介绍二、安装教程1、使用Conda创建虚拟环境2、激活环境3、安装browser use4、安装Playwright5、克隆git仓库6、安装项目的依赖 三、使用教程1、启动WebUI2、案例13、案例2 一、介绍 背景 Browser Use:用AI控制你的浏览器,你可以使用它帮你…...
碰一碰发视频saas系统技术源头一站式开发文档
碰一碰发视频系统技术源头一站式开发文档 一、引言 在数字化信息传播高速发展的当下,如何让视频分享更便捷、高效,成为商家和开发者们关注的焦点。“碰一碰发视频”系统以其独特的交互方式和强大的功能优势,为视频分享领域带来了革命性变革。…...
Spring Boot 静态访问配置属性的解决方案
前言 在Spring Boot开发中,静态访问配置信息是一个常见需求,尤其是在工具类、常量类或非Bean类中直接获取配置值。 问题背景 假设我们的应用需要从application.yml中读取配置项app.logotype,并在工具类、静态方法或非Bean类中直接访问该值。…...
NLP高频面试题(四)——BN和LN的区别与联系,为什么attention要用LN
在深度学习模型中,Normalization是一种极为重要的技巧,Batch Normalization(BN)和Layer Normalization(LN)是其中最为常用的两种方法。然而,二者在实际应用中有着明显的区别与联系,尤…...
深度学习定义与分类【详细易懂 初学者友好~】
深度学习(Deep Learning)是机器学习的一个子领域,它基于人工神经网络(Artificial Neural Networks,ANN)的理论和架构,通过构建多层(即“深度”)的神经网络结构来学习数据…...
二、小白学JAVA-认识数据类型【变量】
1、实际案例类比 初中以上数学,就知道有有理数、正数、负数、0、小数、大写的数字、语文。 2、数据类型介绍 public class Main {public static void main(String[] args) {// 数据类型byte i_byte 12; // 标识数据范围小,但是节省内存>网络传输…...
UNI-APP uts插件 支持ANDROID 监听手机状态
插件地址 https://ext.dcloud.net.cn/plugin?id22646 模块 import {startPhoneListener,stopPhoneListener,checkIsAutoRecord,toCallAutoRecorderPage,navigateToCallRecordingSettings,jumpToPermissionPage,makePhoneCall,allRecorderFilesAction,registerSmsReceiver,} f…...
AI入门7:python三种API方式调用本地Ollama+DeepSeek
回顾 书接上篇:各种方式搭建了本地知识库: AI入门:AI模型管家婆ollama的安装和使用-CSDN博客 AI入门2:本地AI部署,用ollama部署deepseek(私有化部署)-CSDN博客 AI入门3:给本地d…...
SQL SERVER日常运维巡检系列—结构设计
前言 做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。 本系列旨在解决一些常见的困扰: 不知道巡检哪些东西 不知道怎么样便捷体检 机器太多体检麻烦 生成报告…...
前端剪贴板操作:从传统方法到现代方案
一、传统复制实现原理 这个copy函数展示了经典的剪贴板操作方案: function copy(color) {const input document.createElement("input");input.value color;document.body.appendChild(input);input.select();document.execCommand("copy")…...
E1-数组的平衡点2(前缀和)
题目描述 给定一个长度为 n 的数组 nums,若其中存在某个位置 index,使得 [0, index - 1] 范围的元素之积 等于 [index 1, n - 1] 范围的元素之积,则称 index 位置是数组 nums 的平衡点。 请你找出数组 nums 的平衡点位置,若存在…...
【Maven-plugin】有多少官方插件?
之前疏理了容器底层原理,现在回归主题,在阅读 next-public时发现 parent 将从多基础插件集成到 parent 仓库中单独维护,数量众多,故在此将所有插件分类整理。以达观其全貌,心中有数。 以下是 Apache Maven 官方维护的核心插件列表…...
10-BST(二叉树)-建立二叉搜索树,并进行前中后遍历
题目 来源 3540. 二叉搜索树 - AcWing题库 思路 建立二叉搜索树(注意传参时用到了引用,可以直接对root进行修改),同时进行递归遍历;遍历可以分前中后三种写,也可以用标志来代替合在一起。其余详见代码。…...
企业培训APP如何迈向AI时代?智能化在线教育系统源码开发解析
2025年,AI驱动的企业培训系统将成为主流,企业可以借助智能化在线教育系统源码构建高效的培训体系,提高员工学习效率,优化培训成本。本文将详细解析AI如何赋能企业培训,并探讨智能化在线教育系统源码的关键技术与开发实…...
CXSMILES介绍
Chemaxon 扩展 SMILES/SMARTS 用于在 SMILES 字符串后存储分子的特殊特征。任何信息都可以存储在 SMILES 字符串后,只要它们由空格或制表符字符分隔,因为 SMILES 解析器会忽略这些信息,或者将它们作为注释使用。扩展特征以以下格式存储: SMILES_String |<feature1>,…...
麒麟服务器操作系统Sqlite部署手册
软件简介 SQLite****介绍 SQLite是一个进程内的轻量级嵌入式数据库,它的数据库就是一个文件,实现了自给自足、无服务器、零配置的、事务性的SQL数据库引擎。它是一个零配置的数据库,这就体现出来SQLite与其他数据库的最大的区别:SQLite不需要在系统中配置,直接可以使用。…...
【GPT-SoVITS】GPT-SoVITSAPI调用:让二次元角色开口说话,打造专属语音合成系统
介绍 GPT-SoVITS 是一个强大的语音合成系统,它结合了 GPT(生成式预训练转换器)和 SoVITS(Soft-VC VITS)两种先进技术: GPT: 负责文本理解和语音生成的控制,能够根据上下文生成自然的语音内容S…...
Deepseek API+Python测试用例一键生成与导出-V1.0.2【实现需求文档图片识别与用例生成自动化】
在测试工作中,需求文档中的图片(如界面设计图、流程图)往往是测试用例生成的重要参考。然而,手动提取图片并识别内容不仅耗时,还容易出错。本文将通过一个自研小工具,结合 PaddleOCR 和大模型,自…...
防火墙双机热备(主备分担)
目录 引言 主备备份实验 1、基本配置 2、双机热备配置 查看双机热备状态 主备切换 路由影响 引言 传统VRRP方式无法实现主、备用防火墙状态信息和多组VRRP状态的一致性,所以可能会导致流量的回包不从首包通过的防火墙回包,防火墙会因为状态检测机…...
记Redis集群挂掉后,尝试重启集群但失败问题
前期尝试解决:将redis集群中所有redis节点都关闭后,又重新启动服务并且试图用命令建立集群通讯,报错[ERR] Node 192.168.75.128:7001 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some…...
c++--vector
1.定义vector vector的定义分为四种 (1)vector() ——————无参构造 (2)vector(size_t n,const value_type& val value_type()) ——————构造并初始化n个val (3)vector(const vector& v1) ———————拷贝构造 (4)vector(inputiterator first,inpu…...
计算机视觉——深入理解卷积神经网络与使用卷积神经网络创建图像分类算法
引言 卷积神经网络(Convolutional Neural Networks,简称 CNNs)是一种深度学习架构,专门用于处理具有网格结构的数据,如图像、视频等。它们在计算机视觉领域取得了巨大成功,成为图像分类、目标检测、图像分…...
c++题目_翻译家
题目描述 grang是一个帅气的翻译家他的任务是把摩斯密码翻译成2进制数,他要上课所以想请你帮他一下,他会给你 一段摩斯密码有“.”和“-”组成让你输出个二进制数。 翻译规则是:不用管-,看每一个.有几个"."组成如果有奇…...
【解析 ECharts 图表样式继承与自定义】
解析 ECharts 图表样式继承与自定义 本文将详细介绍 ECharts 的样式继承机制,从其原理、演进到实际应用场景,并结合实际开发经验分享一些实战技巧,帮助开发者在构建数据可视化页面时实现更统一、灵活的样式管理与高效开发。 一、背景与来龙…...
Python IP解析器 ip2region使用
说明:最近需要在python项目内使用IP定位所在城市的需求,没有采用向外部ISP服务商API请求获取信息的方案,则翻了翻,在搞Java时很多的方案,在Python端反而可选择范围很小。 # 示例查询 ips ["106.38.188.214"…...
Java Stream 流的介绍
介绍 在 Java 8 中,引入了 Stream API,它为处理集合(如 List、Set 等)提供了一种更简洁、声明式的方式。Stream 流的设计目标是支持对数据集合的高效操作,尤其是能够进行链式操作、并行处理等,极大地提升了…...
C++从入门到入土(八)——多态的原理
目录 前言 多态的原理 动态绑定与静态绑定 虚函数表 小结 前言 在前面的文章中,我们介绍了C三大特性之一的多态,我们主要介绍了多态的构成条件,但是对于多态的原理我们探讨的是不够深入的,下面这这一篇文章,我们将…...
BFS,DFS带图详解+蓝桥杯算法题+经典例题
1.BFS和DFS的定义与实现方式 1.1 深度优先搜索(DFS) 基本概念:DFS 是一种用于遍历或搜索图或树的算法。它从起始节点开始,沿着一条路径尽可能深地探索下去,直到无法继续或者达到目标节点,然后回溯到上一个…...
【RHCE实验】搭建主从DNS、WEB等服务器
目录 需求 环境搭建 配置nfs服务器 配置web服务器 配置主从dns服务器 主dns服务器 从dns服务器 配置客户端 客户端测试 需求 客户端通过访问 www.nihao.com 后,能够通过 dns 域名解析,访问到 nginx 服务中由 nfs 共享的首页文件,内容…...
有哪些开源的智慧园区项目?
作为专注于数字孪生技术的开发者团队,我们一直在数字孪生圈分享开源项目。但最近一次与AI助手Deepseek的对话,却让我们“又惊又喜”。 ——当询问“有哪些开源的智慧园区项目”时,Deepseek的回答中竟包含了我们自己的开源项目! 这…...
prometheusalert对阿里云短信服务不适配问题处理
背景 想通过prometheusalert实现阿里云短信告警。结果在配置完altermanager和prometheusalert,以及阿里云短信服务中的各种签名和短信模板之后,在prometheusalert web ui上测试模板时一直报“模板变量JSON格式错误 或 JSON变量属性与模板占位符不一致”…...
NFC 碰一碰发视频源码搭建,支持OEM
一、引言 NFC(Near Field Communication)近场通信技术,以其便捷、快速的数据交互特性,正广泛应用于各个领域。其中,NFC 碰一碰发视频这一应用场景,为用户带来了新颖且高效的视频分享体验。想象一下&#x…...
浅谈鸿蒙跨平台开发框架ArkUI-X
之前写过使用uniapp的跨平台开发鸿蒙项目,今天分享一下开发体验更友好的跨平台开发框架ArkUI-X。 ArkUI-X看起来像是鸿蒙官方的框架,在DevEco中就可以安装和使用,而且会ArkUI就可以开发安卓和、iOS和鸿蒙三个平台的app,下面简单介…...
LLVM学习-- 构建和安装
一 LLVM版本 二 适用预构建的二进制文件安装LLVM 三 适用包管理器安装LLVM 四 从源码构建用于Linux的LLVM 五 从源码构建用于Windows和Visual Studio的LLVM 六 从源码构建用于MacOS 和XCode的LLVM 1.1 LLVM项目从10年前第一次发布到版本3.4,其SVN存储库包含了超过20…...
总结Solidity 的数据类型
数据类型 在 Solidity 中,类型系统非常丰富,主要分为 值类型(Value Types)和 引用类型(Reference Types)。此外,还有一些特殊类型和全局变量。 一.值类型 布尔型(bool)…...
C# 中泛型(Generics)的核心概念
在 C# 中,泛型(Generics) 是一种强大的编程特性,允许你编写可重用、类型安全的代码,而无需为不同类型重复编写相似的逻辑。泛型的核心思想是参数化类型,即通过占位符(如 T)表…...
ubuntu 根据src 包从新打包
下边以onnxruntime示例: 1. 安装必要的依赖 确保你的系统已安装 devscripts、dpkg-dev 和 build-essential: sudo apt update sudo apt install devscripts dpkg-dev build-essential equivs2. 解压源码 进入存放源码包的目录,并解压: #c…...
如何启用 HTTPS 并配置免费的 SSL 证书
引言 HTTPS 已成为现代网站安全性的基础要求。通过 SSL/TLS 证书对数据进行加密,不仅可以保护用户隐私,还能提升搜索引擎排名并增强用户信任。本指南将详细介绍如何通过 Lets Encrypt(免费、自动化的证书颁发机构)为您的网站启用…...
Python数据与变量、进制转换、输入输出函数、基本运算,基础语法编程练习
第一节 数据与变量 程序 数据 指令 1.1 内置基本数据类型 (1)数值型 整数(int):用于表示整数,注意一点Python中int数据可以存储任意大小整数,不会像其他语言(C\C Java࿰…...