当前位置: 首页 > news >正文

MySQL数据库初体验

目录

前言

数据库基础概念

一、数据库的基本概念

二、数据库的类型与适用场景

三、数据库核心模型

四、数据库设计核心原则

五、SQL 语言基础

六、事务与并发控制

七、数据库安全与备份

八、主流数据库系统对比

MySQL服务基础部署

MySQL 的作用与意义

1. ‌核心作用‌

2. ‌核心意义‌

 Mysql二进制安装部署

1.基础环境准备

2.二进制安装

3.设定配置文件

 4.配置systemctl方式启动


前言

    一日不见,如隔三秋。家人们,想死你们了~(冯巩音)多久没写这些前言了,我也不记得了。但真的...我很想通过前言来表达我的想法,生活?

    其实我今天是来给支持我的大家分享一个好消息——我入选运维圈里的第三名了!(提前截个图,以防名次降低【doge】)

     我也没想到我的帖子可以得到这么高的名次,不得不说...情绪价值满满!很开心,而且最近的上课时虽然晕沉沉的,但上课的质量也在逐步提高。没错,有了一些目标。B站、蛮啾之类的公司,我在努力个3~5年,再把学历往上搞搞,应该就有机会进去吧。(胡思乱想ing)不久就要面向工作了,我会进入什么公司,又会获得什么工作呢?
    这些我都不知道,虽然我前期的学习确实相当或者十分的摸鱼,但这也是为我提供了相当好的生活心态。坦然接受自己的错误,需要很大的勇气去面对。很多事情,又没有对于错之分,所以很多时候我是分不清对错的。毕竟人与人之间三观(世界观、人生观、价值观)不同,所以现在说的就是当一缕浮烟便是。

    那么就不说没用的东西,今天就这样吧。具体下次的前言什么时候出... ...随缘吧。

数据库基础概念


一、数据库的基本概念

‌    数据库(Database, DB)‌是‌结构化数据的有序集合‌,旨在通过计算机系统高效存储、管理和检索数据。其核心作用包括:

  • 持久化存储‌:长期保存业务数据(如用户信息、订单记录)。
  • 数据共享‌:支持多用户、多应用并发访问。
  • 安全性控制‌:通过权限管理和加密保护敏感数据。
  • 一致性保障‌:通过事务机制确保数据的完整性和可靠性。

二、数据库的类型与适用场景
类型特点典型系统适用场景
关系型数据库数据以二维表形式存储,支持 SQL 和 ACID 事务MySQL、PostgreSQL、Oracle结构化数据、复杂查询、事务处理
非关系型数据库数据以键值、文档、图等形式存储,灵活扩展MongoDB、Redis、Neo4j非结构化数据、高并发、快速读写
时序数据库针对时间序列数据优化,高效存储时间戳相关数据InfluxDB、TimescaleDB物联网(IoT)、监控日志
内存数据库数据存储在内存中,读写速度极快Redis、MemSQL实时缓存、高频交易系统

三、数据库核心模型
  1. 关系模型(Relational Model)

    • 数据以‌行(记录)和列(字段)‌的二维表形式组织。
    • 核心概念:‌表(Table)、主键(Primary Key)、外键(Foreign Key)‌。
    • 示例:
      CREATE TABLE users (id INT PRIMARY KEY,name VARCHAR(50),email VARCHAR(100) UNIQUE 
      ); 
  2. 文档模型(Document Model)

    • 数据以 JSON 或 BSON 格式存储,支持嵌套结构。
    • 示例(MongoDB):
      {"_id": "user001","name": "Alice","address": {"city": "Beijing","zipcode": "100000"} 
      } 
  3. 图模型(Graph Model)

    • 数据以节点(Node)和边(Edge)表示关系,适合社交网络、推荐系统。
    • 示例(Neo4j 查询语言 Cypher):
      CREATE (alice:User {name: "Alice"})-[:FRIEND]->(bob:User {name: "Bob"}); 

四、数据库设计核心原则
  1. 实体关系模型(ER Model)

    • 实体(Entity)‌:独立存在的对象(如“用户”、“订单”)。
    • 属性(Attribute)‌:实体的特征(如用户的“姓名”、“年龄”)。
    • 关系(Relationship)‌:实体间的关联(如“用户”下单“订单”)。

    示例 ER 图‌:

    +---------+       +---------+| User |<--(1:n)--| Order |+---------+      +---------+|id (PK) |       | id (PK) || name   |       | user_id || email  |       | amount |+---------+      +---------+ 
  2. 范式理论(Normalization)

    • 第一范式(1NF)‌:列的原子性(每列不可再分)。
    • 第二范式(2NF)‌:消除部分依赖(所有非主键字段完全依赖主键)。
    • 第三范式(3NF)‌:消除传递依赖(非主键字段直接依赖主键)。
    • 反范式化‌:为提高查询性能,允许少量冗余(需权衡读写效率)。

五、SQL 语言基础
  1. 数据定义语言(DDL)

    CREATE TABLE employees (emp_id INT PRIMARY KEY,emp_name VARCHAR(50) NOT NULL,salary DECIMAL(10,2)); 
    ALTER TABLE employees ADD COLUMN department VARCHAR(20); 
    DROP TABLE employees; 
  2. 数据操作语言(DML)

    INSERT INTO employees (emp_id, emp_name, salary) 
    VALUES (1, 'Alice', 50000.00);UPDATE employees SET salary = 55000.00 WHERE emp_id = 1;DELETE FROM employees WHERE emp_id = 1; 
  3. 数据查询语言(DQL)

    SELECT emp_name, salary 
    FROM employees 
    WHERE salary > 50000 
    ORDER BY salary DESC 
    LIMIT 10; 

六、事务与并发控制
  1. ACID 特性

    • 原子性(Atomicity)‌:事务内的操作要么全部成功,要么全部失败。
    • 一致性(Consistency)‌:事务前后数据库状态保持一致。
    • 隔离性(Isolation)‌:并发事务互不干扰。
    • 持久性(Durability)‌:事务提交后数据永久保存。
  2. 事务隔离级别

    级别脏读不可重复读幻读
    READ UNCOMMITTED可能可能可能
    READ COMMITTED不可能可能可能
    REPEATABLE READ(默认)不可能不可能可能
    SERIALIZABLE不可能不可能不可能

七、数据库安全与备份
  1. 权限管理

    -- 创建用户并授权 
    CREATE USER 'dev_user'@'%' IDENTIFIED BY 'SecurePass123!'; 
    GRANT SELECT, INSERT ON mydb.* TO 'dev_user'@'%'; 
  2. 数据加密

    • 传输加密‌:使用 SSL/TLS 保护数据传输。
    • 静态加密‌:对磁盘上的数据文件加密(如 MySQL 的 innodb_encrypt_tables)。
  3. 备份与恢复

    # 使用 mysqldump 逻辑备份 
    mysqldump -u root -p mydb > mydb_backup.sql # 恢复数据 
    mysql -u root -p mydb < mydb_backup.sql 

八、主流数据库系统对比
数据库类型核心优势适用场景
MySQL关系型开源、轻量、易扩展Web 应用、中小企业系统
PostgreSQL关系型支持复杂查询、JSON 数据类型地理信息系统(GIS)、数据分析
MongoDB文档型 NoSQL灵活模式、水平扩展内容管理、实时分析
Redis键值型 NoSQL内存存储、超高性能缓存、会话管理、排行榜

MySQL服务基础部署

    MySQL 是一款‌开源关系型数据库管理系统‌(RDBMS),采用客户端/服务器(C/S)架构,支持 SQL 语言操作,广泛应用于 Web 开发、数据分析、企业级系统等领域。其核心特性包括:

  • ACID 事务支持‌:通过 InnoDB 存储引擎实现数据操作的原子性、一致性、隔离性和持久性。
  • 高性能与可扩展性‌:支持主从复制、分片技术(Sharding)和集群部署,适应高并发场景。
  • 多存储引擎‌:如 InnoDB(支持事务)、MyISAM(高性能读)、Memory(内存存储)等,按需选择。
  • 跨平台兼容‌:支持 Windows、Linux、macOS 等操作系统。

MySQL 核心架构

    MySQL 的架构分为四层,各层协同工作以实现数据管理:

  1. 客户端层
    • 用户通过命令行工具(如 mysql)或图形化界面(如 MySQL Workbench)与数据库交互。
  2. 连接管理层
    • 负责管理客户端连接,采用线程池技术处理并发请求。
  3. 服务层
    • 查询解析器‌:解析 SQL 语句的语法和语义。
    • 优化器‌:生成高效的执行计划(如索引选择、JOIN 顺序优化)。
    • 缓存‌:缓存查询结果(需注意命中率和内存管理)。
  4. 存储引擎层
    • 负责数据存储与检索。InnoDB 是默认引擎,支持行级锁、事务和外键约束。

MySQL 的作用与意义

1. ‌核心作用

    MySQL 是一款开源的关系型数据库管理系统(RDBMS),主要用于高效存储、管理和检索结构化数据。其核心作用包括:

  • 数据持久化‌:长期存储业务数据(如用户信息、订单记录等)。
  • 结构化查询‌:通过 SQL 语言实现复杂的数据查询、聚合和分析。
  • 事务支持‌:支持 ACID(原子性、一致性、隔离性、持久性)事务,确保数据操作的可靠性。
  • 多用户并发控制‌:提供锁机制和事务隔离级别,处理高并发读写请求。
2. ‌核心意义
  • 开源免费‌:社区版(Community Edition)可免费使用,适合中小企业和开发者。
  • 高性能‌:优化存储引擎(如 InnoDB)支持高吞吐量和低延迟。
  • 可扩展性‌:支持主从复制、分片(Sharding)和集群部署,适应业务增长。
  • 生态系统完善‌:与主流编程语言、ORM 框架(如 Django、Hibernate)无缝集成。

 Mysql二进制安装部署

1.基础环境准备

安装Mysql依赖的软件包

[root@localhost ~]#dnf install -y libaio numactl openssl ncurses-compat-libs

创建运行Mysql程序的用户

[root@localhost ~]#useradd -M -s /sbin/nologin mysql

关闭SELinux和防火墙

[root@localhost ~]#sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@localhost ~]#setenforce 0
[root@localhost ~]#systemctl  disable firewalld
[root@localhost ~]#systemctl stop firewalld
2.二进制安装
[root@localhost ~]#tar xf mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz
[root@localhost ~]#mv mysql-8.0.36-linux-glibc2.28-x86_64 /usr/local/mysql
[root@localhost ~]#mkdir /usr/local/mysq;/data
[root@localhost ~]#chown -R mysql:mysql /usr/local/mysql
[root@localhost ~]#cd /usr/local/mysql/bin
[root@localhost ~]#./mysqld --initialize --user=mysql --basedir=/usr/local/nysql --datadir=/usr/local/mysql/data

    此次初始化没有采用无密码模式,因此会生成初始随机密码,需要保存,用以后续登录MySQL数据库使用。

3.设定配置文件
[root@localhost ~]#vi /etc/my.cnf[client]
socket=/usr/local/mysql/data/mysql.sock
[mysqld]
socket=/usr/local/mysql/data/mysql.sock
bind-address=0.0.0.0
skip-name-resolve
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
max_connections=2048
character=set-server=utf8
default-storage-engine=INNODB
max_allowed_packet=16M

将MySQL的可执行文件写入环境变量中:

[root@localhost ~]#echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
[root@localhost ~]#. /etc/profile
 4.配置systemctl方式启动

    将Mysql添加成为系统服务,通过使用systemctl来管理。在/usr/local/mysql/support-files目录下找到mysql.server文件,将其复制到/etc/rc.d/init.d目录下,改名为mysqld并赋予可执行权限。

[root@localhost ~]#cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost ~]#chmod +x /etc/rc.d/init.d/mysqld

 编辑生成mysqld.service服务,通过systemctl方式来管理。

[root@localhost ~]#vim /lib/systemd/system/mysqld.service[Unit]
Description=mysqld
After=network.target[Service]
Type=forking
ExecStart=/etc/rc.d/init.d/mysqld.start
ExecReload=/etc/rc.d/init.d/mysqld restart
ExecStop=/etc/rc.d/init.d/mysqld stop
PrivateTmp=true[Install]
WantedBy=multi-user.target[root@localhost ~]#systemctl daemon-reload
[root@localhost ~]#systemctl enable mysqld
[root@localhost ~]#systemctl start mysqld

相关文章:

MySQL数据库初体验

目录 前言 数据库基础概念 一、数据库的基本概念 二、数据库的类型与适用场景 三、数据库核心模型 四、数据库设计核心原则 五、SQL 语言基础 六、事务与并发控制 七、数据库安全与备份 八、主流数据库系统对比 MySQL服务基础部署 MySQL 的作用与意义 1. ‌核心作用…...

5G + AR:让增强现实真正“实时交互”起来

5G AR&#xff1a;让增强现实真正“实时交互”起来 随着 5G 技术的普及&#xff0c;增强现实&#xff08;AR&#xff09;正迎来一场技术革新。过去&#xff0c;我们的 AR 体验往往受到网络延迟、数据传输瓶颈、计算能力不足等限制&#xff0c;但如今&#xff0c;5G 的超低延迟…...

Oracle EBS AP发票被预付款核算创建会计科目时间超长

背景 由于客户职能部门的水电、通信和物业等等费用统一管理或对接部门报销费,在报销费的时候,用户把所有费用分摊到各个末级部门,形成AP发票行有上千行, 问题症状 1、用户过账时,请求创建会计科目一直执行20多个小时未完成,只能手工强行取消请求。 2、取消请求以后,从后…...

【嵌入式开发-SDIO】

嵌入式开发--SDIO ■ SDIO-简介■■■■■ ■ SDIO-简介 SDIO(Secure Digital Input and Output)&#xff0c;即安全数字输入输出接口。它是在SD卡接口的基础上发展而来&#xff0c;它可以兼容之前的SD卡&#xff0c;并可以连接SDIO接口设备&#xff0c;比如&#xff1a;蓝牙、…...

智能边缘计算系统:基于Python的创新应用

智能边缘计算系统:基于Python的创新应用 本文深入探讨了基于Python开发的智能边缘计算系统,该系统通过融合深度学习框架(例如TensorFlow或PyTorch)与边缘计算技术,在诸如树莓派等边缘设备上成功部署了轻量级的深度学习模型,有效解决了传统云计算模式在物联网应用中面临的…...

前端面经--网络通信与后端协作篇--XMLHttpRequest、axios、fetch、AbortController

一、XMLHttpRequest 1、什么是 XMLHttpRequest&#xff1f; XMLHttpRequest&#xff08;简称 XHR&#xff09;是浏览器提供的一个异步通信接口&#xff0c;允许网页在不刷新页面的情况下&#xff0c;与服务器交换数据。 它是AJAX&#xff08;Asynchronous JavaScript and XML&…...

缓存套餐-03.功能测试

一.功能测试 点击小程序&#xff0c;就会触发根据分类id查询套餐方法&#xff0c;根据分类id查询套餐。 第一次查询&#xff0c;redis中没有数据&#xff0c;就会发sql进行sql数据库查询。 redis当中就有了对应的缓存。 再次点击&#xff0c;发现sql根本没有执行&#xff0c;…...

Django进阶:用户认证、REST API与Celery异步任务全解析

前言 在掌握了Django基础开发后&#xff0c;如何构建更强大、更专业的Web应用&#xff1f;本文将带你深入Django的三大高级特性&#xff1a;allauth用户认证系统、DRF&#xff08;Django REST framework&#xff09;API开发&#xff0c;以及Celery异步任务处理。这些技术栈是构…...

【基础复习笔记】计算机视觉

目录 一、计算机视觉基础 1. 卷积神经网络原理 2. 目标检测系列 二、算法与模型实现 1. 在PyTorch/TensorFlow中实现自定义损失函数或网络层的步骤是什么&#xff1f; 2. 如何设计一个轻量级模型用于移动端的人脸识别&#xff1f; 3. 描述你使用过的一种注意力机制&…...

65.微服务保姆教程 (八) 微服务开发与治理实战

微服务开发与治理实战:搭建一个简单的微服务系统 在这个实战中,我们将使用以下技术栈来搭建一个简单的微服务系统: 注册中心和配置中心:使用 Nacos。服务开发框架:使用 Spring Boot。服务间通信:使用 Feign。API 网关:使用 Spring Cloud Gateway。依赖管理工具:使用 M…...

【愚公系列】《Manus极简入门》026-市场分析专家:“市场洞察家”

&#x1f31f;【技术大咖愚公搬代码&#xff1a;全栈专家的成长之路&#xff0c;你关注的宝藏博主在这里&#xff01;】&#x1f31f; &#x1f4e3;开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主&#xff01; &#x1f…...

day23-集合(泛型Set数据结构)

1.泛型 1.1泛型概述 泛型的介绍 泛型是JDK5中引入的特性&#xff0c;它提供了编译时类型安全检测机制泛型的好处 把运行时期的问题提前到了编译期间避免了强制类型转换 泛型的定义格式 <类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如:<…...

印度股票市场API对接文档

一、概述 StockTV提供全球股票、外汇、期货及加密货币的实时行情数据接口&#xff0c;支持印度、美国、日本、东南亚等多国市场。本文档重点介绍印度股票市场的API对接流程&#xff0c;包含市场列表、指数、K线、IPO数据、实时行情等核心功能。 二、准备工作 1. 获取API Key …...

【前端基础】8、CSS的选择器

一、什么是选择器&#xff1f; 根据一定的规则选出符合条件的HTML元素&#xff0c;从而为他们添加各种特定的样式。 二、选择器分类 通用选择器元素选择器类选择器id选择器属性选择器后代选择器兄弟选择器选择器组伪类 三、通用选择器&#xff08;*&#xff09; 作用&…...

Redis支持哪些数据类型?各适用于什么场景?

Redis&#xff08;C语言实现&#xff09;支持以下9种核心数据类型及其适用场景&#xff1a; String&#xff08;字符串&#xff09; 场景&#xff1a;缓存、计数器、分布式锁示例&#xff1a;SET user:1001 "John" EX 60&#xff08;缓存用户信息60秒&#xff09;优势…...

两种方法求解最长公共子序列问题并输出所有解

最长公共子序列&#xff08;Longest Common Subsequence, LCS&#xff09;是动态规划领域的经典问题&#xff0c;广泛应用于生物信息学&#xff08;如DNA序列比对&#xff09;、文本差异比对&#xff08;如Git版本控制&#xff09;等领域。本文将通过​​自顶向下递归记忆化​​…...

Linux下的c/c++开发之操作Sqlite3数据库

libsqlite3-dev 介绍&#xff08;Linux 下的 SQLite3 C/C 开发包&#xff09; libsqlite3-dev 是一个开发包&#xff0c;在 Linux 环境下为使用 SQLite3 C API 进行开发的 C/C 程序员提供头文件&#xff08;如 sqlite3.h&#xff09;和静态库/动态库的链接信息&#xff08;如 …...

设计模式-策略模式

概念 策略模式主要是定义一系列算法&#xff0c;把它们封装起来&#xff0c;并且使它们可以互相替换。这样客户端可以根据需要选择不同的策略&#xff0c;而不需要改变使用策略的上下文。 策略模式的核心思想&#xff1a; 解耦策略定义&#xff1a;把各种支付方式&#xff0…...

Lost connect to debugger on ‘iphone‘

跑项目的时候&#xff0c;遇到这样一个报错&#xff0c;无法在真机和模拟器上跑&#xff0c; 处理方法 在根目录下&#xff0c;创建.lldbinit 文件 touch .lldbinit查找该文件 ls -all 然后 打开该文件 open .lldbinit 添加如下文案 settings set plugin.process.gdb-remot…...

全球森林数据如何分析?基于R语言森林生态系统结构、功能与稳定性分析与可视化

森林生态系统的结构、功能与稳定性研究是生态学领域的核心议题&#xff0c;涉及物种多样性、空间分布、能量流动及抗干扰能力等关键生态过程。为系统解析这些复杂关系&#xff0c;本研究采用R语言作为核心分析工具&#xff0c;整合多元统计方法与可视化技术&#xff0c;构建了一…...

Modbus RTU 转 PROFINE 网关

一、功能及注意事项 (1)功能说明&#xff1a;此文档用来说明Modbus RTU 转 PROFINE网关和立迈胜一体化485通讯电机使用。 (2)注意事项&#xff1a;文档介绍的是高迈德 PN-01MB模块。 二、系统参数设置 1.参考电机的波特率和校验码进行正确设置&#xff0c;如图所示&#xf…...

Redis如何实现分布式锁

Redis如何实现分布式锁 背景复盘解答被问到的问题如果过期时间没有设置好, 业务没有处理完锁就被释放了, 怎么办呢? 背景 之前被面试问到了 复盘解答 核心就是利用 set param1 nx param2 命令. set not exist 如果不存在就自行set操作. 被问到的问题 如果过期时间没有设置…...

vue3的深入组件-组件 v-model

组件 v-model 基本用法​ v-model 可以在组件上使用以实现双向绑定。 从 Vue 3.4 开始&#xff0c;推荐的实现方式是使用 defineModel() 宏&#xff1a; <script setup> const model defineModel()function update() {model.value } </script><template>…...

【Dv3Admin】Git 子模块在 Dv3admin 插件项目统一管理实践

在 Dv3admin 框架中&#xff0c;plugins 目录下存放的都是基于 Git 的独立插件项目。为了实现多个插件的统一管理与更新&#xff0c;我们推荐使用 Git 的子模块&#xff08;submodule&#xff09;功能。通过子模块的方式&#xff0c;将多个 Git 仓库嵌套管理&#xff0c;可以简…...

什么是死信队列?死信队列是如何导致的?

死信交换机&#xff08;Dead Letter Exchange&#xff0c;DLX&#xff09; 定义&#xff1a;死信交换机是一种特殊的交换机&#xff0c;专门用于**接收从其他队列中因特定原因变成死信的消息**。它的本质还是交换机&#xff0c;遵循RabbitMQ中交换机的基本工作原理&#xff0c…...

计算机网络:深入分析三层交换机硬件转发表生成过程

三层交换机的MAC地址转发表生成过程结合了二层交换和三层路由的特性,具体可分为以下步骤: 一、二层MAC地址表学习(基础转发层) 初始状态 交换机启动时,MAC地址表为空,处于学习阶段。 数据帧接收与源MAC学习 当主机A发送数据帧到主机B时,交换机会检查数据帧的源MAC地址。…...

java使用MinIO,虚拟机时间异常

使用docker进行环境部署和启动 docker pull minio/miniodocker run -d -p 9000:9000 -p 9001:9001 \-e "MINIO_ROOT_USERminio" \-e "MINIO_ROOT_PASSWORDminio123" \-v /opt/minio/data:/data \-v /opt/minio/config:/root/.minio \minio/minio server --…...

使用Jmeter进行核心API压力测试

最近公司有发布会&#xff0c;需要对全链路比较核心的API的进行压测&#xff0c;今天正好分享下压测软件Jmeter的使用。 一、什么是Jmeter? JMeter 是 Apache 旗下的基于 Java 的开源性能测试工具。最初被设计用于 Web 应用测试&#xff0c;现已扩展到可测试多种不同的应用程…...

嵌入式学习笔记 - LCD

一 显示器接口种类&#xff1a; 下图中间左边一个为不带MCU的RGB屏&#xff0c;中间右边一个为带MCU的MCU屏 带控制器的LCD屏幕跟STM32单片机的交互方式&#xff0c;可以为串口&#xff0c;也可以为SPI&#xff0c;或者8080&#xff0c;通过命令的方式对液晶控制器芯片进行操作…...

聊聊Spring AI Alibaba的SentenceSplitter

序 本文主要研究一下Spring AI Alibaba的SentenceSplitter SentenceSplitter spring-ai-alibaba-core/src/main/java/com/alibaba/cloud/ai/transformer/splitter/SentenceSplitter.java public class SentenceSplitter extends TextSplitter {private final EncodingRegis…...

Python 异常处理与文件 IO 操作:构建健壮的数据处理体系(3/10)

摘要&#xff1a;在 Python 开发中&#xff0c;异常处理和文件 IO 操作是构建稳定程序的基石。本文将深入探讨异常捕获机制、上下文管理器原理&#xff0c;并结合 JSON/CSV 数据持久化与实战项目&#xff0c;帮助你掌握应对复杂场景的核心技术。 本文深入探讨了 Python 编程中的…...

Python中,正则表达式,

目录 1.基本匹配2.量词3.边界匹配4.选择和逻辑5.示例代码 在Python中&#xff0c;正则表达式&#xff08;Regular Expressions&#xff0c;简称regex&#xff09;是一种强大的文本处理工具&#xff0c;用于匹配、查找和替换字符串中的模式。Python通过 re模块提供正则表达式支…...

CSS:元素显示模式与背景

元素显示模式 元素显示模式是指元素在浏览器页面中显示的模式&#xff0c;比如<div></div>是独占一行的块级元素&#xff0c;<span></span>是行内元素 元素显示模式分为三大类&#xff1a; 块级元素行内元素行内块元素 块级元素 block 常见的块级…...

Java游戏服务器开发流水账(2)开发中Maven的管理

Maven 是一款流行的 Java 项目管理工具&#xff0c;它基于项目对象模型&#xff08;Project Object Model&#xff0c;POM&#xff09;的概念来管理项目的构建、依赖和文档等。游戏服务器开发中也会使用. 项目构建 生命周期管理&#xff1a;Maven 定义了一套清晰的项目构建生…...

学习设计模式《八》——原型模式

一、基础概念 原型模式的本质是【克隆生成对象】&#xff1b; 原型模式的定义&#xff1a;用原型实例指定创建对象的种类&#xff0c;并通过拷贝这些原型创建新的对象 。 原型模式的功能&#xff1a; 1、通过克隆来创建新的对象实例&#xff1b; 2、为克隆出来的新对象实例复制…...

【MySQL】存储引擎 - MEMORY详解

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客仓库&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &…...

正则表达式实用指南:原理、场景、优化与引擎对比

正则表达式实用指南&#xff1a;原理、场景、优化与引擎对比 正则表达式&#xff08;Regular Expression&#xff0c;简称 regex 或 regexp&#xff09;是程序员处理文本数据时不可或缺的“瑞士军刀”。无论是表单校验、日志分析、数据清洗&#xff0c;还是敏感信息脱敏&#…...

Python3正则表达式:字符串魔法师的指南[特殊字符]‍♂️

Python3正则表达式 什么是正则表达式&#xff1f;在Python中使用正则表达式一、正则表达式基础语法&#xff1a;你的魔法咒语基本匹配符字符类&#xff1a;性格各异的字符们预定义字符类&#xff1a;常见角色的快捷方式重复限定符&#xff1a;贪婪的收集者贪婪vs非贪婪&#xf…...

k8s术语之CronJob

CronJob管理基于时间的Job&#xff0c;即&#xff1a; 在给定时间点只运行一次 周期性地在给定时间点运行 一个CronJob对象类似于crontab文件中的一行。它根据指定的预定计划周期地运行一个Job,格式可以参考Cron 前提条件 当前使用地Kubernetes集群&#xff0c;版本>1.8.对…...

常见的提示词攻击方法 和防御手段——提示词注入(Prompt Injection)攻击解析

提示词注入&#xff08;Prompt Injection&#xff09;攻击解析 提示词注入是一种针对大型语言模型&#xff08;LLM&#xff09;的新型攻击手段&#xff0c;攻击者通过精心设计的输入文本&#xff08;提示词&#xff09;操控AI模型的输出&#xff0c;使其执行非预期行为或泄露敏…...

软件逆向工程核心技术:脱壳原理与实战分析

目录 一、脱壳技术概述&#xff1a;从保护到还原的逆向之旅 1.1 脱壳技术的本质与核心价值 1.2 壳的分类与核心技术解析 1.3 学习路径&#xff1a;从压缩壳到加密壳的渐进式突破 二、脱壳三步法&#xff1a;系统化逆向工程框架 2.1 核心流程总览 2.2 实战案例&#xff1…...

C27-简单选择排序法

一 基本思想 每轮从待排序序列中选出最小或最大的元素,与待排序区间起始位置交换,逐步缩小待排序区间 二 算法实现 遍历数组:设数组长度为n,外层循环i从0到n-2(共n-1轮) 找最小值下标:内层循环j从i1到n-1,遍历待排序区间(i到n-1),记录找最小值下标min 交换元素:将arr[i]与a…...

【Redis】持久化与事务

文章目录 1. 持久化1.1 RDB(定期)1.1.1 触发方式1.1.2 触发流程 1.2. AOF(实时)1.2.1 设置AOF1.2.2 刷新策略1.2.3 重写机制 2. 事务2.1 redis事务概念2.2 事务操作 Mysql有几个特性&#xff1a; 原子性一致性隔离性&#xff0c;redis是串行的&#xff0c;自带隔离性持久性&…...

Web 自动化之 HTML JavaScript 详解

文章目录 一、HTML 常用标签二、javascript 脚本1、什么是 javascript(js)2、 js变量和函数3、js 弹窗处理4、js 流程控制语句和 switch 结构语句应用 一、HTML 常用标签 HTML&#xff1a;超文本标记语言 超文本&#xff1a;不仅只包含文字&#xff0c;还有超链接、视频…这些…...

【JavaScript】二十九、垃圾回收 + 闭包 + 变量提升

文章目录 1、作用域1.1 局部作用域1.2 全局作用域1.3 作用域链 2、JC垃圾回收机制♻️3、GC算法3.1 引用计数法3.2 标记清除法 4、闭包4.1 定义4.2 闭包的应用&#xff1a;实现数据的私有 5、变量提升 1、作用域 即一个范围&#xff0c;离开了这个范围&#xff0c;这个变量就不…...

Python在自动驾驶实时数据处理中的应用:让AI驾驶更智能、更高效

Python在自动驾驶实时数据处理中的应用:让AI驾驶更智能、更高效 近年来,自动驾驶技术的飞速发展离不开人工智能和数据处理的支撑,而Python作为AI与数据分析的核心编程语言,在自动驾驶实时数据处理方面扮演着不可或缺的角色。从传感器数据解析,到路径规划与决策优化,再到…...

功能安全的关键——MCU锁步核技术全解析(含真实应用方案)

随着智能汽车的发展&#xff0c;整车对功能安全的要求越来越高。特别是像电动助力转向&#xff08;EPS&#xff09;、制动控制系统、气囊控制器这类对“出错零容忍”的系统&#xff0c;已经广泛采用一种重要的安全架构——锁步核&#xff08;Lockstep Core&#xff09;。 今天我…...

Java实现桶排序算法

1. 桶排序原理图解 桶排序是一种基于分桶思想的非比较排序算法&#xff0c;适用于数据分布较为均匀的场景。其核心思想是将数据分散到有限数量的“桶”中&#xff0c;每个桶再分别进行排序&#xff08;通常使用插入排序或其他简单的排序算法&#xff09;。以下是桶排序的步骤&a…...

剖析 FFmpeg:从基本功能到过滤器,实现音视频处理的灵活性

目录 1.解复用2 解码2.1 音频解码2.2 视频解码 3 修饰3.1 avio3.2 重采样 4 过滤器4.1 过滤器基本知识4.2 简单过滤器4.3 复杂滤镜图 1.解复用 解复用就是把容器中的媒体流分离出来&#xff0c;方便我们对媒体流处理。 step1&#xff1a;对媒体文件上下文初始化 AVFormatCont…...

maven如何搭建自己的私服(LINUX版)?

环境准备 安装 JDK &#xff1a;确保系统已安装 JDK 8 或更高版本。可以通过以下命令安装 JDK&#xff1a; 安装 OpenJDK &#xff1a;sudo apt update && sudo apt install openjdk-11-jdk 安装 Oracle JDK &#xff1a;需要添加第三方仓库&#xff0c;例如 WebUpd8 …...