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

达梦数据库学习笔记@1

目录

  • 达梦数据库学习笔记
    • 一、表空间管理
      • (一)默认表空间
      • (二)相关数据字典
      • (三)表空间操作
      • (四)临时表空间管理
    • 二、重做日志管理
      • (一)系统视图
      • (二)日志操作
    • 三、归档管理
      • (一)开启归档
      • (二)其他操作
    • 四、用户管理
      • (一)相关视图
      • (二)三|四权分立
      • (三)口令策略
      • (四)身份验证模式
      • (五)用户管理示例
      • (六)用户资源限制
    • 五、权限管理
      • (一)授权和撤销
      • (二)权限相关系统表
      • (三)查看权限
    • 六、角色管理
      • (一)角色概念
      • (二)预定角色
      • (三)角色操作
    • 七、模式管理
      • (一)模式概念
      • (二)模式和用户关系
      • (三)模式操作
    • 八、表管理
      • (一)创建表
      • (二)表字段操作
      • (三)移动表
      • (四)表相关视图
    • 九、约束管理
      • (一)约束类型
      • (二)约束操作
      • (三)约束系统视图
    • 十、索引管理
      • (一)索引操作
      • (二)统计信息收集
    • 十一、视图管理
      • (一)视图概念
      • (二)视图操作
    • 十二、数据库备份恢复
      • (一)备份恢复概念
      • (二)备份类型
      • (三)备份操作
      • (四)DMRMAN备份
      • (五)逻辑备份
    • 十三、作业系统
      • (一)创建备份作业
    • 十四、DM8开发
      • (一)JDBC连接数据库
      • (二)ODBC连接数据库

达梦数据库学习笔记

一、表空间管理

(一)默认表空间

  1. SYSTEM:存储数据字典、表、字段、视图等对象的定义权限等信息。
  2. ROLL:存储DML操作对应的undo日志信息。
  3. MAIN:用户默认表空间,用户未指定时使用。
  4. TEMP:存储系统运行产生的临时数据,如排序数据。
  5. HMAIN:列存储表空间。

(二)相关数据字典

  1. dba_tablespaces:查询数据库表空间相关信息。
  2. dba_data_files:查询数据库数据文件信息。
  3. v$tablespace:查询表空间信息。
  4. v$datafile:查询数据文件相关信息。
  5. dba_free_space:查询数据库空闲的数据文件信息。

(三)表空间操作

  1. 创建CREATE TABLESPACE tbs_its DATAFILE 'tbs_its01.dbf' SIZE 128;,未指定路径时按参数存放到指定路径。
  2. 脱机ALTER TABLESPACE tbs_its OFFLINE;
  3. 重命名ALTER TABLESPACE tbs_its RENAME TO tbs1;
  4. 删除DROP TABLESPACE tbs1;
  5. 修改
    • 添加数据文件ALTER TABLESPACE tbs_its ADD DATAFILE 'tbs_its02.dbf' SIZE 128 MAXSIZE 1024;
    • 修改属性ALTER TABLESPACE tbs_its DATAFILE 'tbs_its02.dbf' AUTOEXTEND ON NEXT 2 MAXSIZE 1024;
    • 修改大小ALTER TABLESPACE tbs_its RESIZE DATAFILE 'tbs_its02.dbf' TO 256;
  6. 数据文件迁移
    • 先脱机:ALTER TABLESPACE OFFLINE;
    • 重命名:ALTER TABLESPACE tbs_its RENAME DATAFILE 'tbs_its02.dbf' TO '/tmp/tbs_its02.dbf';
    • 再联机:ALTER TABLESPACE ONLINE;

(四)临时表空间管理

  1. 收缩方法:重启数据库,自动重建临时表空间;使用SP_TRUNC_TS_FILE方法。

二、重做日志管理

(一)系统视图

  1. v$rlogfile:显示日志文件具体信息,如文件号、路径、状态、大小等。
  2. v$rlog:显示日志总体信息,包括事务号LSN、归档日志、检查点执行情况等。

(二)日志操作

  1. 修改大小alter database RESIZE LOGFILE 'its01.log' to 300;
  2. 添加日志alter database ADD LOGFILE 'its03.log' SIZE 300;
  3. 修改路径
    • 先挂载:ALTER DATABASE MOUNT;
    • 重命名:ALTER DATABASE RENAME LOGFILE 'its01.log' TO '/tmp/its01.log';
    • 再打开:alter database open;

三、归档管理

(一)开启归档

  1. 手动开启
    • 挂载数据库:ALTER DATABASE MOUNT;
    • 添加归档配置:ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=2048';
    • 开启归档模式:ALTER DATABASE ARCHIVELOG;
    • 打开数据库:ALTER DATABASE OPEN;
  2. 配置文件配置
    • dm.ini中设置ARCH_INI = 1
    • dmarch.ini中配置相关参数,如:
ARCH_WAIT_APPLY      = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE            = LOCAL
ARCH_DEST            = /dmdata/arch
ARCH_FILE_SIZE       = 128
ARCH_SPACE_LIMIT     = 2048
ARCH_FLUSH_BUF_SIZE  = 0
ARCH_HANG_FLAG       = 1

(二)其他操作

  1. 查看状态SELECT arch_mode FROM v$database;
  2. 修改配置参数ALTER DATABASE MODIFY ARCHIVELOG 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=20480';
  3. 关闭归档
    • 挂载数据库:alter database mount;
    • 关闭归档模式:alter database noarchivelog;
    • 删除归档配置:alter database delete archivelog 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=20480';
    • 打开数据库:alter database open;
  4. 切换归档
    • alter database archivelog current;
    • alter system switch logfile;
    • alter system archive log current;
  5. 删除归档
    • 按时间删除SF_ARCHIVELOG_DELETE_BEFORE_TIME(SYSDATE);
    • 按LSN删除SF_ARCHIVELOG_DELETE_BEFORE_LSN();

四、用户管理

(一)相关视图

  1. dba_users:用于查看用户相关信息。

(二)三|四权分立

  1. 系统管理员(SYSDBA):负责身份验证、资源限制、数据加密、访问控制、客体重用等。
  2. 系统审计员(SYSAUDITOR):承担审计工作。
  3. 系统安全员(SYSSSO):进行策略和标记管理。
  4. 对象管理员(SYSDBO)负责访问对象控制。

(三)口令策略

  1. PWD_POLICY参数:是隐藏参数,只能通过函数或语句修改。
    • 0:无限制,但总长度不超48字节。
    • 1:禁止与用户名相同。
    • 2:口令长度需大于等于INI参数PWD_MIN_LEN设置的值。
    • 4:至少包含一个大写字母。
    • 8:至少包含一个数字。
    • 16:至少包含一个标点符号(英文输入法下,除“和空格外的所有符号)。
select * from SYS."V$PARAMETER" where name like '%COMPATIBLE_MODE%';
select * from v$parameter t where t.name = 'PWD_POLICY';
alter SYSTEM set 'PWD_POLICY' = 16 BOTH;

(四)身份验证模式

  1. 数据库认证模式:使用创建用户时设置的密码登录。
  2. 基于操作系统认证模式
    • 开启相关参数:ENABLE_LOCAL_OSAUTH = 1开启本地操作系统认证;ENABLE_REMOTE_OSAUTH = 1开启远程操作系统认证;ENABLE_ENCRYPT = 1表示使用ssl安全加密(静态参数,需重启数据库)。
    • 操作步骤:先添加系统用户并加入指定组;在数据库中创建同名用户;登录数据库。

(五)用户管理示例

  1. 创建用户CREATE USER FANGYU IDENTIFIED BY 123456 DEFAULT TABLESPACE FYU_ITS DEFAULT INDEX TABLESPACE FYU_ITS;
  2. 锁定/解锁用户ALTER USER FANGYU ACCOUNT LOCK;(锁定);ALTER USER FANGYU ACCOUNT UNLOCK;(解锁)。
  3. 修改默认表空间ALTER USER FANGYU DEFAULT TABLESPACE MAIN;
  4. 修改密码ALTER USER FANGYU IDEDNTIFIED BY 01234;
  5. 删除用户DROP USER FANGYU(若用户有创建对象则无法删除);DROP USER FANGYU CASCADE;(强制删除)。

(六)用户资源限制

  1. 相关视图dba_profiles可定义策略。
  2. 设置方式
    • LIMIT语句alter user fyu limit FAILED_LOGIN_ATTEMPS 10 , PASSWORD_LOCK_TIME 5;
    • PROFILE语句CREATE PROFILE P1 LIMIT FAILED_LOGIN_ATTEMPS 10 , PASSWORD_LOCK_TIME 5;ALTER USER FYU PROFILE P1;

五、权限管理

(一)授权和撤销

  1. 授权GRANT 权限 TO username [WITH ADMIN OPTION]
  2. 回收REVOKE 权限 FROM username

(二)权限相关系统表

  1. DBA_SYS_PRIVS:系统权限。
  2. DBA_TAB_PRIVS:对象权限。
  3. DBA_ROLE_PRIVS:角色。
  4. DBA_COL_PRIVS:列权限。

(三)查看权限

  1. 查看当前用户权限select * from session_privs;

六、角色管理

(一)角色概念

  1. 角色是一组权限的集合。

(二)预定角色

  1. 管理类:如DBARESOURCEPUBLIC等,各有不同权限。
  2. 审计类:负责审计相关权限。
  3. 安全类:进行标记管理相关权限。

(三)角色操作

  1. 创建角色CREATE ROLE role_name;
  2. 删除角色DROP ROLE role_name;
  3. 禁用角色SP_SET_ROLE('role_name',0)

七、模式管理

(一)模式概念

  1. 模式是特定的对象集合,类似MySQL中的database,默认创建用户时会创建同名模式。

(二)模式和用户关系

  1. 一个用户可拥有多个模式,一个模式仅属于一个用户。

(三)模式操作

  1. 查看模式SELECT * FROM sysobjects WHERE tyepe$='SCH';
  2. 查看模式和用户对应关系
selecta.id scheid    ,a.name schename,b.id userid    ,b.name username
fromSYS.SYSOBJECTS a,SYS.SYSOBJECTS b
wherea."TYPE$" = 'SCH'and a.pid     = b.id;
  1. 创建模式CREATE SCHEMA s1 AUTHORIZATION FYU;
  2. 查看当前模式和用户SELECT SYS_CONTEXT('USERENV','CURRENT_SCHEMA');SELECT SYS_CONTEXT('USERENV','CURRENT_USER');
  3. 切换模式SET SCHEMA S2;
  4. 删除模式drop schema s1;

八、表管理

(一)创建表

  1. 普通方式CREATE TABLE T1(id INT, name VARCHAR(12));
  2. 基于某个表创建CREATE TABLE T2 LIKE T1;(DM中会复制数据,与MySQL不同)
  3. CREATE TABLE AS SELECTCREATE TABLE T3 AS SELECT * FROM T1;

(二)表字段操作

  1. 添加字段ALTER TABLE T1 ADD COLUMN sex char(1);
  2. 删除字段ALTER TABLE T1 DROP COLUMN sex ;
  3. 修改字段ALTER TABLE T1 MODIFY sex char(10);

(三)移动表

  1. 移动到指定表空间ALTER TABLE T1 MOVE TABLESPACE MAIN;

(四)表相关视图

  1. dba_tables:查看表相关信息。
  2. dba_tab_column:查看表字段相关信息。

九、约束管理

(一)约束类型

  1. NOT NULL:非空约束。
  2. UNIQUE:唯一约束。
  3. PRIMARY KEY:主键约束(唯一约束 + 非空约束)。
  4. FOREIGN KEY:外键约束。
  5. CHECK:检验约束。

(二)约束操作

  1. 添加约束:分别使用不同语句添加各类约束。
  2. 禁用约束ALTER TABLE T1 DISABLE CONSTRAINT idx_uniq_id;
  3. 开启约束ALTER TABLE T1 ENABLE CONSTRAINT idx_uniq_id;
  4. 删除约束ALTER TABLE T1 DROP CONSTRAINT idx_uniq_id;

(三)约束系统视图

  1. dba_constraints:查看约束相关信息。
  2. dba_cons_columns:查看约束涉及的列相关信息。

十、索引管理

(一)索引操作

  1. 创建索引CREATE INDEX idx_id ON i1(id);
  2. 删除索引DROP INDEX idx_id;
  3. 监控索引ALTER INDEX idx_name MONITORING USAGE;,可通过V$OBJECT_USAGE视图查看使用情况。
  4. 重建索引ALTER INDEX idx_name rebuild;(离线重建);ALTER INDEX idx_name rebuild online;(在线重建)。

(二)统计信息收集

  1. 收集dbms_stats.gather_table_stats('SYSDBA','I1');
  2. 查看dbms_stats.table_stats_show('SYSDBA','I1');

十一、视图管理

(一)视图概念

  1. 由SQL语句组成的表,不存储真实数据,只存储查询语句。

(二)视图操作

  1. 创建视图CREATE VIEW v1 AS SELECT * FROM T1;
  2. 查询视图SELECT * FROM V1;

十二、数据库备份恢复

(一)备份恢复概念

  1. 备份:从数据库文件拷贝有效数据页到备份集。
  2. 还原:将有效数据页写入目标数据文件。
  3. 恢复:通过归档日志恢复到备份结束时状态,或指定时间、LSN位置。

(二)备份类型

  1. 逻辑备份:使用dexp工具导出数据,关注数据内容。
  2. 物理备份:扫描数据文件,拷贝已分配使用的数据页。
  3. 联机备份:数据库运行时备份。
  4. 脱机备份:数据库关闭时备份,dmrman备份需数据库关闭。

(三)备份操作

  1. 联机备份BACKUP DATABASE BACKUPSET 'bak_db';,可带多种参数。
  2. 不同备份示例:完全备份、增量备份、表空间备份、表备份、归档备份等都有相应语句和参数。

(四)DMRMAN备份

  1. 备份数据库:完全备份、增量备份、归档备份各有对应语句。
  2. 备份集校验SELECT SF_BAKSET_CHECK('DISK','/dmbak/full_db');
  3. 删除备份集SELECT SF_BAKSET_REMOVE('DISK','/dmbak/full_db',0);

(五)逻辑备份

  1. dexp参数及示例:众多参数控制导出行为,有全库、用户、模式、表等导出示例。
  2. dimp还原dimp USERID=SYSDBA/fangyu421 FILE=/dmbak/full.dmp LOG=full.log FULL=Y DIRECTORY=/dmbak/dimp/

十三、作业系统

(一)创建备份作业

  1. 可进行全量备份和增量备份作业创建,具体操作涉及相关界面设置。

十四、DM8开发

(一)JDBC连接数据库

  1. JDBC接口编程:是Java与数据库的接口规范,DM JDBC驱动程序支持基本SQL功能。
  2. JDBC连接池:负责管理数据库连接,常见连接池有C3P0、Proxool等多种。
  3. 连接基础参数jdbc.driver=dm.jdbc.driver.DmDriver等。

(二)ODBC连接数据库

  1. ODBC概念:为异构数据库访问提供统一接口。
  2. DM ODBC 3.0:遵照规范设计开发,可直接调用接口函数或通过可视化工具访问数据库。
  3. 配置与测试:配置/etc/odbcinst.ini/etc/odbc.ini文件,使用isql测试连接。

相关文章:

达梦数据库学习笔记@1

目录 达梦数据库学习笔记一、表空间管理(一)默认表空间(二)相关数据字典(三)表空间操作(四)临时表空间管理 二、重做日志管理(一)系统视图(二&…...

图像处理篇---图像处理中常见参数

文章目录 前言一、分贝(dB)的原理1.公式 二、峰值信噪比(PSNR, Peak Signal-to-Noise Ratio)1.用途2.公式3.示例 三、信噪比(SNR, Signal-to-Noise Ratio)1.用途2.公式3.示例 四、动态范围(Dyna…...

AI Agent实战:打造京东广告主的超级助手 | 京东零售技术实践

前言 自2022年末ChatGPT的问世,大语言模型(LLM)技术引发全球关注。在大模型技术落地的最佳实践中,智能体(Agent)架构显现出巨大潜力,成为业界的普遍共识,各大公司也纷纷启动Agent技…...

50周学习go语言:第1周 环境搭建

以下是为零基础学习者准备的详细第1周教程,包含环境搭建、工具配置和首个Go程序的完整操作指南: 一、Go语言环境安装(Windows/macOS/Linux通用) 1. 下载安装包 官网地址:https://go.dev/dl//根据系统选择对应版本&am…...

4. MySQL 逻辑架构说明

4. MySQL 逻辑架构说明 文章目录 4. MySQL 逻辑架构说明1. 逻辑架构剖析1.1 服务器处理客户端请求1.2 Connectors(连接器)1.3 第1层:连接层1.4 第2层:服务层1.5 第3层:引擎层1.6 存储层 2. SQL执行流程2.1 MySQL 中的 SQL 执行流程 2.2 MySQL…...

《AI与NLP:开启元宇宙社交互动新纪元》

在科技飞速发展的当下,元宇宙正从概念逐步走向现实,成为人们关注的焦点。而在元宇宙诸多令人瞩目的特性中,社交互动体验是其核心魅力之一。人工智能(AI)与自然语言处理(NLP)技术的迅猛发展&…...

面对STM32的庞大体系,如何避免迷失在细节中?

我第一次接触STM32时,我以为抱着开发板就是拥抱未来,实际上一开机就喜提四大耳光,看到卖家演示的MP3播放、TFT彩屏、网口通信好炫酷,忍不住买回来掌握这些神技,到最后发现最实用的还是开发板的关机键和复位键。 看视频…...

ragflow-RAPTOR到底是什么?请通俗的解释!

RAPTOR有两种不同的含义,具体取决于上下文: RAPTOR作为一种信息检索技术 RAPTOR是一种基于树状结构的信息检索系统,全称为“Recursive Abstractive Processing for Tree-Organized Retrieval”(递归抽象处理树组织检索&#xff09…...

Linux系统移植之Uboot启动流程

Linux系统移植之Uboot启动流程 一,Uboot启动流程1.Uboot的两阶段1.1.第一阶段1.11.硬件初始化1.12.复制 U-Boot 到 RAM1.13.跳转到第二阶段 1.2.第二阶段1.21.C 语言环境初始化1.22. 硬件设备初始化1.23. 加载环境变量1.24. 显示启动信息1.25. 等待用户输入&#xf…...

【Open X-Embodiment】简单数据下载与预处理

文章目录 1. RLDS Dataset2. 处理成numpy格式3. 存储桶 1. RLDS Dataset 从 Octo 里面找到数据下载的代码 rlds_dataset_mod github 按照官网代码配置环境后,修改 prepare_open_x.sh,相当于只用 gsutil 下载数据: DOWNLOAD_DIR/mnt/data…...

【第四节】C++设计模式(创建型模式)-Builder(建造者)模式

目录 引言 一、Builder 模式概述 二、Builder 模式举例 三、Builder 模式的结构 四、Builder 模式的实现 五、Builder 模式的优缺点 六、总结 引言 Builder 模式是一种创建型设计模式,旨在将复杂对象的构建过程与其表示分离。通过一步步构建对象,…...

排查JVM的一些命令

查看JVM相关信息的方法 环境&#xff1a; Win10, jdk17 查看端口的Pid netstat -ano | findstr <端口号>列出当前运行的JVM进程 ## 用于输出JVM中运行的进程状态信息。通过jps&#xff0c;可以快速获取Java进程的PID&#xff08;进程标识符&#xff09;&#xff0c; …...

uni-app(位置1)

文章目录 一、获取当前的地理位置、速度 uni.getLocation(OBJECT)二、打开地图选择位置 uni.chooseLocation(OBJECT)三、使用应用内置地图查看位置。uni.openLocation(OBJECT) 一、获取当前的地理位置、速度 uni.getLocation(OBJECT) App平台 manifest中配置好自己的地图厂商k…...

某手sig3-ios算法 Chomper黑盒调用

Chomper-iOS界的Unidbg 最近在学习中发现一个Chomper框架&#xff0c;Chomper 是一个模拟执行iOS可执行文件的框架&#xff0c;类似于安卓端大名鼎鼎的Unidbg。 这篇文章使用Chomper模拟执行某手的sig3算法&#xff0c;初步熟悉该框架。这里只熟悉模拟执行步骤以及一些常见的…...

登录-05.JWT令牌-介绍

一.JWT令牌 JWT令牌是一种简洁的、自包含的格式&#xff0c;用于在通讯双方之间以json数据格式安全的传输数据。说白了&#xff0c;JWT令牌就是将json格式的数据进行封装&#xff0c;从而实现安全传输。 所谓简洁&#xff0c;就是指JWT令牌就是一个简单的字符串。 所谓自包含…...

Mac下Python版本管理,适用于pyenv不起作用的情况

前言 声明&#xff1a;之前也在网上看到过可以使用pyenv来管理python版本&#xff0c;但由于作者的python安装路径实在是繁杂不堪&#xff0c;因此安装完成pyenv体验下来没有任何用处&#xff0c;但偶然发现vscode似乎可以看到各个python版本&#xff0c;因此写下这篇博客记录…...

Ubuntu 服务器Llama Factory 搭建DeepSeek-R1微调训练环境

1.首先了解一下什么是LLM微调 LLM 微调指的是在已经预训练好的大型语言模型基础上&#xff0c;使用特定的任务数据或领域数据&#xff0c;通过进一步的训练来调整模型的参数&#xff0c;使其在特定任务或领域上能够表现得更好。简单来说&#xff0c;就是对一个已经具备了丰富语…...

【redis】redis内存管理,过期策略与淘汰策略

一&#xff1a;Redis 的过期删除策略及处理流程如下&#xff1a; 1. 过期删除策略 Redis 通过以下两种策略删除过期键&#xff1a; 1.1 惰性删除 触发时机&#xff1a;当客户端访问某个键时&#xff0c;Redis 会检查该键是否过期。执行流程&#xff1a; 客户端请求访问键。…...

RabbitMQ学习—day6—死信队列与延迟队列

目录 死信队列 1. 死信的概念 2. 死信的来源 实战演练 1. 消息TTL过期 2. 队列达到最大长度 3. 消息被拒绝 延迟队列 概念 使用场景 TTL的两种设置 死信队列 1. 死信的概念 1.1 先从概念解释上搞清楚这个定义&#xff0c;死信&#xff0c;顾名思义就是无法被消费的…...

seacmsv9联合注入数据以及绕过 ORDERBY

seacmsv9联合注入数据 php源码 <?php session_start(); require_once("../../include/common.php"); $id (isset($gid) && is_numeric($gid)) ? $gid : 0; $page (isset($page) && is_numeric($page)) ? $page : 1; $type (isset($type) …...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...