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

【Kingbase FlySync】界面化管控平台:2.配置数据库同步之KES>KES

【Kingbase FlySync】界面化管控平台:3.配置数据库同步之KES->KES

  • 部署KES数据库到KES数据库同步服务
    • 1.登录KFS管理平台
    • 2.开始配置数据节点信息
      • (1)配置node1数据节点
      • (2)配置node2数据节点
    • 3.KFS拓扑图配置
    • 4.开始部署
    • 5.启动同步程序并查验是否运行正常
  • 测试同步
    • 1.从node1数据库中导出exam模式并拷贝到node2 /tmp目录下
    • 2.将node1传过来的数据导入到node2数据库中
    • 3.修改拓扑图配置实现增量搬迁同步
      • (1).修改node1节点配置
      • (2).修改node2节点配置
      • (3).更新同步配置
      • (4).启动同步节点
      • (5).更新同步配置
  • 数据校验
    • 1.准备数据
    • 2.校验配置
    • 3.新建校验任务
    • 4.新建调度任务
    • 5.执行校验
  • 数据自动修复
    • 1.新建数据自动修复任务
    • 2.再次执行数据校验任务
    • 3.查询修复结果
  • 配置告警邮件
    • 1.告警邮箱配置
    • 2.配置告警管理
    • 3.错误问题
      • (1).邮件发送提示失败
      • (2).配置告警提示失败
    • 4.邮件告警展示

部署KES数据库到KES数据库同步服务

1.登录KFS管理平台

账号密码
adminadmin
user_0017Kfs123#$

在这里插入图片描述
在这里插入图片描述

2.开始配置数据节点信息

  • 【部署管理】>【节点管理】>【新建】> 【填入相关信息】 >【保存】
  • 安装目录:/home/flysync/replicator

(1)配置node1数据节点

在这里插入图片描述

点击保存

(2)配置node2数据节点

在这里插入图片描述
点击保存

在这里插入图片描述

3.KFS拓扑图配置

【部署管理】>【拓扑配置】
在这里插入图片描述

4.开始部署

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

5.启动同步程序并查验是否运行正常

【部署管理】> 【节点管理】>【启动】。
在这里插入图片描述
在这里插入图片描述

查看服务状态

【部署管理】> 【服务管理】

在这里插入图片描述

测试同步

1.从node1数据库中导出exam模式并拷贝到node2 /tmp目录下

[root@node1 ~]# su - kingbase
上一次登录:五 1117 18:13:59 CST 2023pts/1 上
[kingbase@node1 ~]$ cd /KingbaseES/V8/Server/bin/
[kingbase@node1 bin]$ ./sys_dump -U flysync -d test -f /tmp/exam.dmp -Fc -n exam
[kingbase@node1 bin]$ scp /tmp/exam.dmp node2:/tmp
kingbase@node2's password: 
exam.dmp                                                                                                                                                                                                       100%   16KB  16.3KB/s   00:00    
[kingbase@node1 bin]$ 

2.将node1传过来的数据导入到node2数据库中

[root@node2 ~]# su - kingbase
上一次登录:五 1117 15:54:16 CST 2023
[kingbase@node2 ~]$ cd /KingbaseES/V8/Server/bin/
[kingbase@node2 bin]$ ./ksql -Usystem test -c 'create schema exam0017'
CREATE SCHEMA
[kingbase@node2 bin]$ ./sys_restore -Usystem /tmp/exam.dmp -d test -Fc -g exam -G exam0017
[kingbase@node2 bin]$ ksql -U flysync -d test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# ALTER TABLE exam01.course RENAME TO course0017;
test=# \d exam0017.*索引 "exam0017.cno_pk"栏位 |     类型     | 键值? | 定义 
------+--------------+-------+------cno  | numeric(2,0) || cno
主键(PK),btree, 给数据表 "exam0017.course"数据表 "exam0017.course"栏位    |            类型            | 校对规则 |  可空的  | 预设 
-----------+----------------------------+----------+----------+------cno       | numeric(2,0)               |          | not null | cname     | character varying(30 char) |          | not null | clevel    | character varying(13 char) |          |          | pass_mark | numeric(5,0)               |          | not null | 
索引:"cno_pk" PRIMARY KEY, btree (cno)
检查约束限制"pass_mark_ck" CHECK (pass_mark > 0::numeric)
由引用:TABLE "exam0017.score" CONSTRAINT "cno_fk" FOREIGN KEY (cno) REFERENCES exam0017.course(cno)索引 "exam0017.id_no_uk"栏位  |            类型            | 键值? | 定义  
-------+----------------------------+-------+-------id_no | character varying(18 char) || id_no
唯一的,btree, 给数据表 "exam0017.student"索引 "exam0017.ino_pk"栏位 |     类型     | 键值? | 定义 
------+--------------+-------+------ino  | numeric(3,0) || ino
主键(PK),btree, 给数据表 "exam0017.instructor"数据表 "exam0017.instructor"栏位  |            类型            | 校对规则 |  可空的  | 预设 
-------+----------------------------+----------+----------+------ino   | numeric(3,0)               |          | not null | iname | character varying(20 char) |          | not null | title | character varying(30 char) |          |          | 
索引:"ino_pk" PRIMARY KEY, btree (ino)
由引用:TABLE "exam0017.score" CONSTRAINT "ino_fk" FOREIGN KEY (ino) REFERENCES exam0017.instructor(ino)数据表 "exam0017.instructor_history"栏位   |            类型            | 校对规则 |  可空的  | 预设 
----------+----------------------------+----------+----------+------ino      | numeric(3,0)               |          |          | iname    | character varying(20 char) |          | not null | title    | character varying(30 char) |          |          | res_date | date                       |          |          | 索引 "exam0017.phone_uk"栏位  |     类型      | 键值? | 定义  
-------+---------------+-------+-------phone | numeric(11,0) || phone
唯一的,btree, 给数据表 "exam0017.student"数据表 "exam0017.score0017"栏位     |     类型     | 校对规则 |  可空的  | 预设 
-------------+--------------+----------+----------+------sno         | numeric(4,0) |          | not null | cno         | numeric(2,0) |          | not null | ino         | numeric(3,0) |          | not null | exam_date   | date         |          | not null | score       | numeric(5,0) |          |          | certificate | boolean      |          |          | 
索引:"score_pk" PRIMARY KEY, btree (cno, sno, ino, exam_date)
检查约束限制"score_ck" CHECK (score >= 0::numeric)
外部键(FK)限制:"cno_fk" FOREIGN KEY (cno) REFERENCES exam0017.course(cno)"ino_fk" FOREIGN KEY (ino) REFERENCES exam0017.instructor(ino)"sno_fk" FOREIGN KEY (sno) REFERENCES exam0017.student(sno)
触发器:t_update_score AFTER INSERT ON exam0017.score FOR EACH ROW 
BeginUPDATE exam0017.score t SET t.certificate=0 WHERE t.score<70;
END索引 "exam0017.score_pk"栏位    |     类型     | 键值? |   定义    
-----------+--------------+-------+-----------cno       | numeric(2,0) || cnosno       | numeric(4,0) || snoino       | numeric(3,0) || inoexam_date | date         || exam_date
主键(PK),btree, 给数据表 "exam0017.score"序列数 "exam0017.seq_student_sno"类型  | 起始值 | 最小值 | 最大值 | 增量 | 循环? | 缓存 
--------+--------+--------+--------+------+-------+------bigint |   1001 |      1 |   9999 |    1 | no    |    1索引 "exam0017.sno_cno_pk"栏位 |     类型     | 键值? | 定义 
------+--------------+-------+------sno  | numeric(4,0) || sno
主键(PK),btree, 给数据表 "exam0017.student"数据表 "exam0017.student"栏位   |            类型            | 校对规则 |  可空的  |                     预设                      
----------+----------------------------+----------+----------+-----------------------------------------------sno      | numeric(4,0)               |          | not null | nextval('exam0017.seq_student_sno'::regclass)sname    | character varying(20 char) |          |          | gender   | character varying(2 char)  |          |          | phone    | numeric(11,0)              |          | not null | id_no    | character varying(18 char) |          |          | city     | character varying(20 char) |          |          | reg_date | date                       |          |          | job      | character varying(30 char) |          |          | company  | character varying(30 char) |          |          | 
索引:"sno_cno_pk" PRIMARY KEY, btree (sno)"id_no_uk" UNIQUE CONSTRAINT, btree (id_no)"phone_uk" UNIQUE CONSTRAINT, btree (phone)
检查约束限制"gender_ck" CHECK (gender::text = 'm'::text OR gender::text = 'f'::text)
由引用:TABLE "exam0017.score" CONSTRAINT "sno_fk" FOREIGN KEY (sno) REFERENCES exam0017.student(sno)视图 "exam0017.v_score_information"栏位  |            类型            | 校对规则 | 可空的 | 预设 
-------+----------------------------+----------+--------+------sname | character varying(20 char) |          |        | iname | character varying(20 char) |          |        | cname | character varying(30 char) |          |        | score | numeric(5,0)               |          |        | test=# SELECT relkind,relname FROM sys_class WHERE relnamespace = (select oid from sys_namespace where nspname='exam0017') ;relkind |       relname       
---------+---------------------r       | courser       | instructor_historyr       | studentS       | seq_student_snov       | v_score_informationi       | cno_pki       | id_no_uki       | ino_pki       | phone_uki       | score_pki       | sno_cno_pkr       | scorer       | instructor
(13 行记录)
test=# 
  • 现在已将表结构和数据都存到了node2中

3.修改拓扑图配置实现增量搬迁同步

(1).修改node1节点配置

【部署管理】>【拓扑管理】 >【双击node1节点】 >【高级属性】>【过滤器】>【新增】 >【replicate】 >【设置】 >【填入相关信息】。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(2).修改node2节点配置

【部署管理】>【拓扑管理】 >【双击node2节点】 >【高级属性】>【过滤器】>【新增】 >【replicate】 >【设置】 >【填入相关信息】。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3).更新同步配置

然后点击【安装/更新】按钮,更新配置

在这里插入图片描述
在这里插入图片描述

点击确定

在这里插入图片描述

耐心等待直到出现安装完成字样

在这里插入图片描述

(4).启动同步节点

在这里插入图片描述

点击停止后再次启动启动

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(5).更新同步配置

在node1数据库exam模式的course和instructor表下插入数据

[kingbase@node1 bin]$ ./ksql -U flysync -dtest
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# INSERT INTO exam.course VALUES(40,'KFS','middle',80);
INSERT 0 1
test=# INSERT INTO exam.instructor VALUES(108,'fenxiaoyue','Intermediate Instructor');
INSERT 0 1
test=# \q
[kingbase@node1 bin]$ 

在node2数据库exam模式下查询course和instructor表新增的数据

[kingbase@node2 bin]$ ksql -U flysync -d test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# SELECT * FROM exam0017.course0017 WHERE cno=40;    cno | cname | clevel | pass_mark 
-----+-------+--------+-----------40 | KFS   | middle |        80
(1 行记录)test=# SELECT * FROM exam0017.instructor WHERE ino=108;ino |   iname    |          title          
-----+------------+-------------------------108 | fenxiaoyue | Intermediate Instructor
(1 行记录)test=# 

数据校验

1.准备数据

在node2(target端)误操作制造主备两端数据不一致。

[kingbase@node2 bin]$ ksql -U flysync -d test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# UPDATE exam0017.student SET phone=15723449970 WHERE sno=1008;
UPDATE 1
test=# DELETE FROM exam0017.student WHERE sno=1006;
DELETE 1
test=# INSERT INTO exam0017.student(sno,sname,gender,phone) VALUES('1009','Huang Tao','m',13812447980) ;
INSERT 0 1
test=# \q
[kingbase@node2 bin]$ 

2.校验配置

【数据校验】>【校验配置】>【数据校验及数据修复配置】

在这里插入图片描述

  • 参数配置如下
  1. 任务并行数 2(不要超出物理CPU核数)。
  2. 校验核心线程数 5。
  3. 校验同步大小 50000。
  4. 修复批量大小 10000。
  5. 校验同步记录日志 开启。
  6. 校验结果自动清除 开启,设置为3天。
  7. 是否校验大对象 开启。
  8. 大对象校验阈值 5000000
  9. 同步跳过超阈值数据 关闭。
  10. 刷新分片设置 关闭。

3.新建校验任务

【数据校验】 >【任务配置】 >【新建】。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
源配置:

选择exam模式下的所有表

在这里插入图片描述

目标配置:

选择exam0017模式下的所有表

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.新建调度任务

【调度管理】> 【新建调度】

在这里插入图片描述
在这里插入图片描述

5.执行校验

执行第一次校验

在这里插入图片描述
在这里插入图片描述
点击查看详情查看校验结果
在这里插入图片描述

数据自动修复

1.新建数据自动修复任务

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.再次执行数据校验任务

在这里插入图片描述

3.查询修复结果

在这里插入图片描述
在这里插入图片描述

配置告警邮件

1.告警邮箱配置

在这里插入图片描述
在这里插入图片描述

2.配置告警管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击测试
在这里插入图片描述
收到邮件点击保存

3.错误问题

(1).邮件发送提示失败

  1. 检查你的虚拟机是否网络畅通
  2. 检查你的邮箱smtp是否开通,授权码填写在密码栏

(2).配置告警提示失败

检查你新增加的用户邮箱是否和告警配置的一致
在这里插入图片描述

4.邮件告警展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

【Kingbase FlySync】界面化管控平台:2.配置数据库同步之KES>KES

【Kingbase FlySync】界面化管控平台:3.配置数据库同步之KES->KES 部署KES数据库到KES数据库同步服务1.登录KFS管理平台2.开始配置数据节点信息(1)配置node1数据节点(2)配置node2数据节点 3.KFS拓扑图配置4.开始部署5.启动同步程序并查验是否运行正常 测试同步1.从node1数据…...

企业计算机服务器中了mallox勒索病毒怎么解决,勒索病毒解密文件恢复

随着科技技术的不断发展&#xff0c;网络技术得到了快速提升&#xff0c;但网络安全威胁也不断增加&#xff0c;近期&#xff0c;云天数据恢复中心陆续接到很多企业的求助信息&#xff0c;企业的计算机服务器遭到了mallox勒索病毒攻击&#xff0c;导致企业的所有业务中断&#…...

Sonar生成PDF错误Can‘t get Compute Engine task status.Retry..... HTTP error: 401

报错及修改&#xff1a; 报错&#xff1a;INFO: Can’t get Compute Engine task status.Retry… org.sonarqube.ws.connectors.ConnectionException: HTTP error: 401, msg: , query: org.apache.commons.httpclient.methods.GetMethod7a021f49 ERROR: Problem generating PD…...

storage和正则表达式

一、Storage 1.认识Storage WebStorage主要提供了一种机制&#xff0c;可以让浏览器提供一种比cookie更直观的key、value存储方式&#xff1a; localStorage&#xff1a;本地存储&#xff0c;提供的是一种永久性的存储方法&#xff0c;在关闭掉网页重新打开时&#xff0c;存…...

【数据结构】图的广度优先遍历

一.广度优先遍历的基本思想 &#xff08;1&#xff09;访问顶点v&#xff1b; &#xff08;2&#xff09;依次访问v的各个未被访问的邻接点v1&#xff0c;v2&#xff0c;v3……&#xff0c;vk&#xff1b; &#xff08;3&#xff09;分别从v1&#xff0c;v2&#xff0c;v3……...

AM@函数展开成幂级数@间接法@常用麦克劳林幂级数展开公式

文章目录 间接法推导幂级数展开常用麦克劳林幂级数展开公式应用例例例 间接法推导幂级数展开 已知函数的幂级数展开公式间接推导其他函数幂级数 使用原始的推导公式推导函数的幂级数展开是繁琐不便的,需要分别计算各项系数 a n f ( n ) ( 0 ) n ! a_{n}\frac{f^{(n)}(0)}{n!}…...

LeetCode994.腐烂的橘子

看完题我觉得这不是和上一道岛屿的题一样简单嘛&#xff0c;然后写了将近2个小时才写出来&#xff0c;我的思路就是&#xff0c;用check()先对grid检查一下&#xff0c;是否有以下情况&#xff1a; &#xff08;如果有1的周围都是空&#xff0c;则这个位置用不腐烂&#xff0c;…...

【开源】基于Vue和SpringBoot的康复中心管理系统

项目编号&#xff1a; S 056 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S056&#xff0c;文末获取源码。} 项目编号&#xff1a;S056&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 普通用户模块2.2 护工模块2.3 管理员…...

【音视频基础】AVI文件格式

AVI文件采用的是RIFF文件结构方式。波形音频wave&#xff0c;MIDI和数字视频AVI都采用这种格式存储。 AVI文件的整体结构如下图所示 构造RIFF文件的基本单元叫做数据块&#xff08;Chunk&#xff09;&#xff0c;每个数据块包含3个部分 4字节的数据块标记&#xff08;或者叫…...

图书馆整理I(从尾到头打印列表),剑指offer,力扣

目录 题目地址&#xff1a; 我们直接看题解吧&#xff1a; 解题方法&#xff1a; 难度分析&#xff1a; 审题目事例提示&#xff1a; 解题思路(辅助栈)&#xff1a; 代码&#xff08;递归&#xff09;&#xff1a; 代码&#xff08;列表插入&#xff09;&#xff1a; 相似题目对…...

C++编写的多线程自动爬虫程序

目录 引言 一、程序的设计 二、程序的实现 三、程序的测试 四、优化与改进 五、代码示例 总结 引言 随着互联网的快速发展&#xff0c;网络爬虫程序已经成为数据采集、信息处理的重要工具。C作为一种高效的编程语言&#xff0c;具有高效的并发处理能力和丰富的网络编程…...

SMB信息泄露的利用

一、背景 今天分享SMB信息泄露&#xff0c;SMB&#xff08;Server Message Block&#xff09;网络通信协议&#xff0c;早些时候被用于Web链接和客户端与服务器之间的信息通信&#xff0c;现在大部分Web页面使用HTTP协议&#xff0c;在web领域应用较少。另一方面SMB协议还是被…...

QT自定义信号,信号emit,信号参数注册

qt如何自定义信号 使用signals声明返回值是void在需要发送信号的地方使用 emit 信号名字(参数)进行发送 在需要链接的地方使用connect进行链接 ct进行链接...

06.webpack性能优化--构建速度

优化babel-loaderhappyPackIgnorePluginparalleUglifyPluginnoParse自动刷新 1 happypack多进程打包 js单线程&#xff0c;开启多进程打包提高构建速度&#xff08;特别是多核CPU&#xff09; const HappyPack require(happypack)module.exports smart(webpackCommonConf,…...

11-15 周三 softmax 回归学习

11-15 周三 softmax 回归学习 时间版本修改人描述2023年11月15日11:17:27V0.1宋全恒新建文档 简介 softmax分享可以参考什么是softmax 回归估计一个连续值&#xff0c;分类预测一个离散类别。 恶意软件的判断 回归和分类 分类可以认为从回归的单输出变成多输出 B站学习 softm…...

React新手必懂的知识点

react思想&#xff1a;组件化开发 React 的核心概念是组件化开发&#xff0c;将用户界面拆分成独立的可复用组件。学习如何创建和使用 React 组件&#xff0c;以及组件之间的数据传递和通信是非常重要的。 React的思想就是拆分组件与使用组件。 import React from react;// 定…...

es为什么这么快

es为什么这么快的方式 es的基于Lucene开源搜索引擎&#xff0c;负责文件存储和搜索&#xff0c;支持http请求&#xff0c;以json形式展示 这样介绍你有可能有点迷糊我们详细解释 es 使用的倒排索引的方式&#xff0c;进行数据存储方式&#xff0c;给每一个字段创建索引&…...

Pandas分组聚合_Python数据分析与可视化

Pandas分组聚合 分组单列和多列分组Series 系列分组通过数据类型或者字典分组获取单个分组对分组进行迭代 聚合应用单个聚合函数应用多个聚合函数自定义函数传入 agg() 中对不同的列使用不同的聚合函数 分组聚合的流程主要有三步&#xff1a; 分割步骤将 DataFrame 按照指定的…...

VMware17虚拟机Linux安装教程(详解附图,带VMware Workstation 17 Pro安装)

一、安装 VMware 附官方下载链接&#xff08;VM 17 pro&#xff09;&#xff1a;https://download3.vmware.com/software/WKST-1701-WIN/VMware-workstation-full-17.0.1-21139696.exe 打开下载好的VMware Workstation 17 Pro安装包&#xff1b; 点击下一步&#xff1b; 勾选我…...

基于SDN技术构建多平面业务承载网络

随着企业数字化的浪潮席卷各个行业&#xff0c;传统网络架构面临着更为复杂和多样化的挑战。企业正在寻找一种全面适应数字化需求的网络解决方案。随着软件定义网络&#xff08;SDN&#xff09;的发展&#xff0c;“多业务SDN一张网”解决方案为企业提供了一种全新的网络架构&a…...

关于卓越服务的调研报告

NetSuite知识会发起的本次调研从2023年11月2日开始&#xff0c;到11月12日结束。16日已向参与调研的朋友邮件回复&#xff0c;感谢您的付出&#xff01;今朝分享此报告&#xff0c;各位同学参考。 调研问题与反馈总结 问题1&#xff1a;您能想到哪些服务组织能够提供高满意度&…...

ubuntu22.04换源

1、系统信息 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy2、进入 /etc/apt/ 目录&#xff1a; cd /etc/apt/ 3、备份默认源文件 sudo cp sources.list sources.list_bak 4、编…...

03. Python中的语句

1、前言 在《Python基础数据类型》一文中&#xff0c;我们了解了Python中的基础数据类型&#xff0c;今天我们继续了解下Python中的语句和函数。 2、语句 在Python中常用的语句可以大致分为两类&#xff1a;条件语句、循环语句。 2.1、条件语句 条件语句就是我们编码时常见…...

Linux CentOS7 添加网卡

一台主机中安装多块网卡&#xff0c;有许多优势。可以实现多项功能。 为了学习网卡参数的设置&#xff0c;可以为主机添加多块网卡。与添加磁盘一样&#xff0c;要在VMware中设置。利用图形化方式或命令行查看或设置网卡。本文仅初步讨论添加、查看与删除网卡&#xff0c;有关…...

2311rust,到54版本更新

1.50.0稳定版 常量泛型数组索引 继续向稳定的常量泛型迈进,此版本为[T;N]数组,添加了ops::Index和IndexMut的实现. fn second<C>(container: &C) -> &C::Output whereC: std::ops::Index<usize> ?Sized, {&container[1] } fn main() {let arra…...

【linux】补充:高效处理文本的命令学习(tr、uniq、sort、cut)

目录 一、tr——转换、压缩、删除 1、tr -s “分隔符” &#xff08;指定压缩连续的内容&#xff09; 2、tr -d 想要删除的东西 ​编辑 3、tr -t 内容1 内容2 将内容1全部转换为内容2&#xff08;字符数需要一一对应&#xff09; 二、cut——快速剪裁命令 三、uniq——去…...

Redis篇---第七篇

系列文章目录 文章目录 系列文章目录前言一、是否使用过 Redis Cluster 集群,集群的原理是什么?二、 Redis Cluster 集群方案什么情况下会导致整个集群不可用?三、Redis 集群架构模式有哪几种?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分…...

Shell脚本:Linux Shell脚本学习指南(第一部分Shell基础)一

你好&#xff0c;欢迎来到「Linux Shell脚本」学习专题&#xff0c;你将享受到免费的 Shell 编程资料&#xff0c;以及很棒的浏览体验。 这套 Shell 脚本学习指南针对初学者编写&#xff0c;它通俗易懂&#xff0c;深入浅出&#xff0c;不仅讲解了基本知识&#xff0c;还深入底…...

长短期记忆(LSTM)与RNN的比较:突破性的序列训练技术

长短期记忆&#xff08;Long short-term memory, LSTM&#xff09;是一种特殊的RNN&#xff0c;主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说&#xff0c;就是相比普通的RNN&#xff0c;LSTM能够在更长的序列中有更好的表现。 Why LSTM提出的动机是为了解…...

Swift 如何打造兼容新老系统的字符串分割(split)方法

0. 概览 在 Swift 的开发中&#xff0c;我们经常要与字符串打交道。其中一个常见的操作就是用特定的“分隔符”来分割字符串&#xff0c;这里分隔符可能不仅仅是字符&#xff0c;而是多字符组成的字符串。 从 iOS 16 开始&#xff0c; 新增了对应的方法来专注此事。不过&am…...