注意:
① 采用的是React antDsign 4.x版本 ② 需重新处理data数据
实现效果 代码实现 import React from 'react'; import { Table } from 'antd'; const data = [ { key: '0', name: '张三', age: 22, sex: '男', }, { key: '1', name: '李四', age: 42, sex: '男', }, { key: '2', name: '小丽', age: 22, sex: '女', }, { key: '3', name: '小红', age: 31, sex: '女', }, { key: '4', name: '赵大胆', age: 42, sex: '男', }, { key: '5', name: '李建国', age: 62, sex: '男', }, ]; const columns = [ { title: '姓名', dataIndex: 'name', key: 'name', align: 'center', }, { title: '性别', dataIndex: 'sex', key: 'sex', align: 'center', render(_, row) { return { children: row.
java springboot 集成activeMQ 1.配置信息 spring: # 配置消息队列 activemq: broker-url: tcp://127.0.0.1:61616 user: admin password: admin 2.ActiveMqConfig 消息队列配置信息 import org.apache.activemq.ActiveMQConnectionFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jms.annotation.EnableJms; import org.springframework.jms.config.JmsListenerContainerFactory; import org.springframework.jms.config.SimpleJmsListenerContainerFactory; import org.springframework.jms.core.JmsMessagingTemplate; import javax.jms.ConnectionFactory; @Configuration @EnableJms //启动消息队列 public class ActiveMqConfig { @Value("${spring.activemq.broker-url}") private String brokerUrl; @Value("${spring.activemq.user}") private String username; @Value("${spring.activemq.password}") private String password; @Bean public ConnectionFactory connectionFactory(){ return new ActiveMQConnectionFactory(username, password, brokerUrl); } @Bean public JmsMessagingTemplate jmsMessageTemplate(){ return new JmsMessagingTemplate(connectionFactory()); } // 在Queue模式中,对消息的监听需要对containerFactory进行配置 @Bean("
一、React的setState是同步还是异步的? React的setState行为在React的不同版本和不同的使用场景下有所不同,但通常可以概括为在React的事件处理函数中,setState是异步的;在React的生命周期函数和合成事件之外的函数中,setState的行为则可能是同步的。
异步行为 在React的事件处理函数(如点击事件处理函数)和React的钩子(如useEffect、useLayoutEffect中的回调函数)中,React会批量处理多个setState调用以提高性能。这意味着React会将这些setState调用合并成一个,并在事件处理函数完成后、组件重新渲染之前执行。因此,如果你在这些地方连续调用setState,并立即尝试读取更新后的状态值,你将会得到更新前的状态值,因为状态更新还没有被应用。
同步行为 在React的生命周期函数中(如componentDidMount、componentDidUpdate等),由于这些函数是在React的渲染过程中调用的,因此setState的调用通常是同步的。但需要注意的是,在componentDidUpdate中调用setState可能会导致额外的渲染,通常应该避免。在React的渲染方法之外的其他函数中,如果这些函数不是由React直接调用的(例如,在定时器、Promise回调、原生事件监听器等中),setState的行为可能是同步的,但这取决于React的内部状态和渲染队列的状态。然而,这种同步行为并不是React官方文档所保证的,因此不应该依赖于此。 注意事项 尽管在某些情况下setState可能表现为同步,但最好总是将其视为异步的,并避免在调用setState后立即读取状态值。如果你需要在setState之后立即使用更新后的状态值,可以使用setState的回调函数作为第二个参数,这个回调函数会在状态更新且组件重新渲染到DOM之后被调用。 this.setState({ value: value + 1 }, () => { console.log(this.state.value); // 这里的值是更新后的 }); 或者,在函数组件中,使用useState的更新函数返回的回调函数:
const [value, setValue] = useState(0); setValue(prevValue => prevValue + 1, () => { console.log(value); // 注意:这里的value可能仍然是旧的,因为React的状态更新可能是异步的 // 使用ref来访问最新的值 }); // 更推荐的方式是使用ref来访问最新的值 const valueRef = useRef(value); useEffect(() => { valueRef.current = value; }, [value]); setValue(prevValue => prevValue + 1); console.log(valueRef.current); // 这里的值是更新后的 注意,由于React的更新可能是异步的,所以在useState的更新函数中直接访问value可能仍然会得到旧的值。为了获取最新的值,可以使用useRef来保存状态值的引用。
二、React组件的生命周期有哪些阶段?
React组件的生命周期指的是组件从被创建到被销毁的整个过程中所经历的一系列阶段。React组件的生命周期可以分为以下主要阶段:
1. 挂载阶段(Mounting) 挂载阶段发生在组件被创建并插入到DOM中的过程。主要包括以下几个生命周期方法:
二叉树查询性能分析:
插入和删除操作都必须先查找,查找效率代表了二叉搜索树中各个操作的性能
对有n个结点的二叉搜索树,若每个元素查找的概率相等,则二叉搜索在二叉搜索树树平均查找长度是结点的深度的函数,即结点越深,则比较次数越多
如图:
下面就是对二叉搜索树的改进AVL树
目录:
一.AVL树的概念 二.AVL树的实现 三.AVL树的验证 四.AVL树的删除(了解) 五.AVL树的性能分析 一. AVL树的概念:
1. 二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺 序表中搜索元素,效率低下。因此,两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1962年 发明了一种 解决上述问题的方法:当向二叉搜索树中插入新结点后,如果能保证每个结点的左右子树高度之差的绝对值不超过 1(需要对树中的结点旋转),即可降低树的高度,从而减少平均搜索长
2. 这个我们要定义一个平衡因子,平衡因子 = 右树高度 - 左树高度。
3. 如果一棵二叉搜索树是高度平衡的,它就是AVL树。如果它有n个结点,其高度可保持在 搜索时间复杂 度(Log2^N)。
二 AVL树的实现:
1. 为了AVL树实现简单,AVL树节点在定义时维护一个平衡因子,具体节点定义如下: public class AVLTree { static class TreeNode{ public int val; public int bf;//平衡因子 public TreeNode left; public TreeNode right; public TreeNode parent;//父亲节点的引用 public TreeNode(int val) { this.val = val; } } public TreeNode root; 2.AVL树的插入:
2.1. 按照二叉搜索树的方式插入新节点
目录
1. 树的概念及结构
1.1 树的名词定义
1.2 树的表示
2. 二叉树的概念及结构 2.1 二叉树的概念
2.2 特殊的二叉树
2.2.1 满二叉树
2.2.2 完全二叉树
2.3 二叉树的存储结构
2.3.1 顺序存储
2.3.2 链式存储
3. 选择题
1. 树的概念及结构 1.1 树的名词定义 1. 节点的度:一个节点含有的子树的个数称为该节点的度,如上图:A的度为6。
2. 叶子节点或终端节点:度为0的节点称为叶子节点,如上图:B、C、H、I...等节点为叶子节点。
3. 非终端节点或分支节点:度不为0的节点,如上图:D、E、F、G...等节点为分支节点。
4. 双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点,如上图:A是B的父节点。
5. 孩子节点或子节点:一个节点有父节点,则这个节点是父节点的子节点,如上图:B是A的孩子节点。
6. 兄弟节点:具有相同父节点的节点互称为兄弟节点,如上图:B、C是兄弟节点。
7. 树的度:一棵树中,最大的节点的度称为树的度,如上图:树的度为6。
8. 节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推。
9. 树的高度或深度:树中节点的最大层次,如上图:树的高度为4。
10. 堂兄弟节点:双亲在同一层的节点互为堂兄弟;如上图:H、I互为堂兄弟节点。
11. 节点的祖先与子孙:在一条路径中,以某个节点为视角,在你上面的节点是你的祖先,在你下面的节点是你的子孙。如上图:A-E-J-Q,以E为视角,A是E的祖先,J和Q是E的子孙。
12. 森林:由多棵互不相交的树的集合称为森林;
13. 任何一颗非空二叉树,度为0的节点永远比度为2的节点多一个。
1.2 树的表示 树有很多种表示方式如:双亲表示法,孩子表示法、孩子双亲表示法,孩子兄弟表示法等。下面介绍孩子兄弟表示法。
typedef int DataType; struct Node { struct Node* _firstChild1; // 第一个孩子结点 struct Node* _pNextBrother; // 指向其下一个兄弟结点 DataType _data; // 结点中的数据域 }; 2.
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完)Hive(已更完)Flume(已更完)Sqoop(已更完)Zookeeper(已更完)HBase(已更完)Redis (已更完)Kafka(已更完)Spark(正在更新!) 章节内容 上节我们完成了如下的内容:
Spark SQL JOINBoardcast JOINShuffle JOINSQL解析过程SparkSQL 常见的优化逻辑 背景概述 随着大数据技术的不断发展,人们对于大数据的实时性处理要求也不断提高,传统的MapReduce等批处理框架在某些特定领域,例如实时用户推荐、用户行为分析这些应用场景上逐渐不能满足人们对实时性的需求,因为诞生了一批如 S3、Samza、Storm、Flink等流式分析、实时计算框架。
Spark Streaming 是 Spark 核心组件之一,用于实时数据处理。它能够将实时数据流分批处理,转换为可操作的分布式数据集 (RDDs),从而实现流数据的实时处理和分析。
基本概念 DStream: DStream(离散流)是 Spark Streaming 中的核心抽象,代表一个连续的数据流。它可以来自 Kafka、Flume、HDFS、Socket 等数据源,或者由现有的 RDD 经过转换产生。Batch Interval: 数据流被划分为多个小批次,每个批次在指定的时间间隔(例如 1 秒或 10 秒)内进行处理,这个时间间隔称为 Batch Interval。 架构概念 Spark Streaming 的架构主要包括如下组件:
输入源: Spark Streaming 支持多种输入源,如 Kafka、Flume、HDFS、S3 等。处理引擎: 核心是 Spark Core 的 RDD 处理引擎,利用它来执行批处理操作。输出操作: 处理后的数据可以输出到文件系统、数据库、仪表板等。 编程模型 Spark Streaming 使用与 Spark 相同的编程模型,支持常见的 Map、Reduce、Join、Window 等操作。你可以通过在 DStream 上调用这些操作来进行实时数据处理。
Transformation: 如 map、flatMap、filter 等。Window Operations: Spark Streaming 提供了基于时间窗口的操作,例如窗口化计算,通过 window 和 slide 函数实现。
大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容
从0起步,扬帆起航。
swift与Internvl下的多模态大模型分布式微调指南(附代码和数据)多模态大模型Internvl-1.5-26B微调后部署及测试实录(附代码)多模态大模型Internvl-2-26B的OCR赋能方案(附代码)miniconda+xinference的大模型推理部署指南Mem0:大模型最强赋能“有记忆的LLM”再谈Agent:Dify智能体实现Txet2SQLMoe模式:或将是最好的大模型应用开发路径一文带你了解大模型RAG详细记录swfit微调interVL2-8B多模态大模型进行目标检测(附代码)DIfy中集成magic-pdf实现文档解析agent与多模态大模型图文问答大模型Prompt trick:利用大模型同情心提升模型性能一文带你入门大模型微调开源大模型LLaMA架构介绍CyberScraper-2077+simple-one-api:使用大模型爬虫 文章目录 大模型相关目录CyberScraper-2077+simple-one-api:使用大模型爬虫开源项目介绍 CyberScraper-2077+simple-one-api:使用大模型爬虫 开源项目 CyberScraper-2077:
https://kkgithub.com/itsOwen/CyberScraper-2077
simple-one-api:
https://github.com/fruitbars/simple-one-api
介绍 CyberScraper 2077 不仅仅是另一个网络抓取工具——它是对数据提取未来的一瞥。诞生于赛博朋克世界霓虹灯闪烁的街道,这款 AI 驱动的抓取工具使用 OpenAI 切开网络的防御,以无与伦比的精度和风格提取您需要的数据。
安装CyberScraper 2077 :
克隆此存储库: git clone https://kkgithub.com/itsOwen/CyberScraper-2077.git cd CyberScraper-2077 创建并激活虚拟环境: virtualenv even source venv/bin/activate # Optional 安装所需的软件包: pip install -r requirements.txt 安装剧作家: playwright install 在您的环境中设置 OpenAI Key: Linux/Mac: export OPENAI_API_KEY='your-api-key-here' 对于 Windows: set OPENAI_API_KEY=your-api-key-here 可见,需要openai形式的api-key。
由此引入另一个开源项目。
目前市面上免费的使用国产的免费大模型越来越多,one-api对于个人用起来还是有点麻烦,就想要一个不要统计、流量、计费等等的适配程序即可。还有一点是:即使有些厂商说兼容openai的接口,但是实际上还是存在些许差异的!!!
simple-one-api主要是解决以上2点,旨在兼容多种大模型接口,并统一对外提供 OpenAI 接口。通过该项目,用户可以方便地集成和调用多种大模型,简化了不同平台接口差异带来的复杂性。
安装simple-one-api:
源码安装 克隆本仓库: git clone https://github.com/fruitbars/simple-one-api.git 快速编译使用 首先得确保你已经安装了go,版本需要是1.21以上,具体安装教程参考官网地址:https://go.dev/doc/install 可以通过go version查看go的版本。 linux/macOS chmod +x quick_build.
大家好,我是全栈小5,欢迎来到《小5讲堂》。
这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!
目录 前言单字段查询多字段查询知识点基本语法分页查询示例示例 SQL 查询 解释注意事项 文章推荐 前言 最近创建了一张表,用于保存名称相关信息。
刚开始是没有加任何索引,数据不多时查询也没什么问题。
等到了表有5千多条记录后,查询变得很慢,设置需要二十多秒。
一起来看下这个博主是如何解决的?或者你们是否有更好的解决方案呢?也欢迎评论区留言。
单字段查询 刚开始给status字段设置索引,没效果。
直接再给time字段添加索引,有效果,查询秒出。
设置索引是占用一定物理空间大小,所以用物理空间大小还速度
1)单字段索引(适合单个字段排序或查询)
2)多字段索引(适合多个字段排序或查询)
【单字段查询】
-- CREATE INDEX time_index ON 目标表 (time) -- 设置表字段索引 select count(1) from 目标表 select * from ( select row_number() over(order by t.time) as rowindex,t.* from ( select * from 目标表 where status=10 ) t ) new_table where rowindex>((1-1)*10) and rowindex<=1*10; 温馨提示:当你的表数据很多的时候,不建议在可视化工具进行索引设置。可通过sql语句的方式
CREATE INDEX 索引名 ON 目标表 (字段1,字段2.。。)
🐇明明跟你说过:个人主页
🏅个人专栏:《大数据前沿:技术与应用并进》🏅
🔖行路有良友,便是天堂🔖
目录
一、引言
1、Hadoop简介
2、Hadoop生态系统的构成概览 3、Hadoop在大数据处理中的应用价值
二、Hive:SQL on Hadoop
1、Hive简介
2、Hive架构
1. Metastore
2. Driver
3. Compiler
4. Executor
3、HiveQL语言基础
4、Hive应用场景
三、Pig:数据流的脚本语言
1、Pig概述:设计哲学与优势
2、Pig 的核心组件
3、Pig 的执行流程
4、Pig与Hive的对比
一、引言 1、Hadoop简介 Hadoop 是一个由 Apache 软件基金会开发的开源软件框架,用于分布式存储和处理大规模数据集。它的设计目的是在计算机集群上运行,并能够有效地处理数以千计的节点上的海量数据。Hadoop 主要用于处理大数据,并且能够处理结构化、半结构化和非结构化的数据。
Hadoop 的核心组件包括:
Hadoop Distributed File System (HDFS): 这是 Hadoop 的分布式文件系统,负责将数据分块并分布在集群中的多个节点上,以实现高容错性和高吞吐量的数据存储和访问。MapReduce: 这是一种编程模型和处理引擎,允许开发人员编写程序来并行处理大型数据集。MapReduce 将任务分解为两个阶段:“Map” 阶段负责将数据进行分块处理,“Reduce” 阶段负责将处理结果进行汇总。YARN (Yet Another Resource Negotiator): YARN 是 Hadoop 的资源管理器,负责管理集群资源,并将这些资源分配给运行在集群上的各种应用程序。Hadoop Common: 这是 Hadoop 框架的基础部分,提供了支持其他 Hadoop 模块的必要库和工具。 2、Hadoop生态系统的构成概览 HBase: 分布式的、面向列的 NoSQL 数据库,运行在 HDFS 之上,适用于处理大规模结构化和半结构化数据。Hive: 数据仓库基础设施,用于将结构化数据文件映射为数据库表,并使用类似 SQL 的查询语言(HiveQL)进行查询和分析。Pig: 数据流语言和执行环境,适合处理和分析大型数据集,Pig Latin 是其特有的编程语言。Spark: 分布式数据处理引擎,支持内存中计算,适用于批处理、流处理和机器学习等多种场景。Flink: 流处理框架,提供高吞吐量和低延迟的数据流处理能力。Storm: 实时数据处理框架,适合处理不断产生的大数据流。Zookeeper: 分布式协调服务,提供高可靠性的分布式应用协调服务,如同步、配置管理和命名服务。Kafka: 分布式消息系统,适合处理实时数据流,常用于构建实时流处理管道。 3、Hadoop在大数据处理中的应用价值 1.
"近期我偶然邂逅了一个极为出色的人工智能学习平台,它不仅内容深入浅出,讲解方式还风趣幽默,让人学习起来既轻松又高效。如此宝藏资源,我迫不及待想要与各位共享。即刻点击让我们一起进入这个精彩纷呈的学习网站吧!"
前言 在当今的数字时代,游戏产业与人工智能(AI)的结合正以前所未有的速度改变着我们的娱乐方式和游戏体验。《黑神话:悟空》作为这一领域的佼佼者,不仅以其精美的画面、流畅的操作和深度剧情赢得了玩家的青睐,更深刻地展示了AI技术在游戏开发中的应用与影响。本文将从《黑神话:悟空》的剧情、人物、主题等方面入手,深入探讨其与AI之间的紧密联系,并结合个人感受和思考,对这款游戏进行评论和评价。
一、《黑神话:悟空》的剧情与AI技术的融合 《黑神话:悟空》以中国古典名著《西游记》为蓝本,但并未止步于简单的复刻,而是进行了大胆的改编与扩展,赋予了故事全新的诠释和视角。游戏背景设定在西天取经归来之后,一个看似平静实则暗流涌动的时代。在这个世界里,诸天神佛突然消失,轮回体系崩塌,地藏王菩萨受害,世界陷入一片混乱。玩家将扮演“天命人”,踏上一条充满未知与危险的西行之路,探寻真相,重塑秩序。
AI技术在这款游戏中扮演了至关重要的角色。通过AI技术,游戏能够实时生成丰富的内容,为玩家提供前所未有的沉浸式体验。例如,玩家可以与虚拟角色进行更加拟真的交流,这种交流不仅限于简单的对话,还包括了复杂的情感表达和互动反应。AI技术的应用使得游戏中的角色更加生动、鲜活,仿佛拥有了真实的情感和思想。
此外,AI还在游戏的剧情推进和故事发展中发挥了重要作用。传统的游戏剧情往往是线性的,玩家只能按照既定的路径前进。而在《黑神话:悟空》中,AI技术使得剧情变得更加动态和多变。玩家在游戏中的每一个选择、每一个行为都可能影响剧情的走向,从而创造出独一无二的游戏体验。这种互动式叙事不仅提高了游戏的可玩性,也激发了玩家的好奇心和探索欲。
二、AI技术在游戏人物塑造中的应用 《黑神话:悟空》中的主角孙悟空是一个极具魅力和复杂性的角色。他既有着超凡的武艺和神通,又有着丰富的内心世界和情感纠葛。在AI技术的帮助下,游戏开发者能够更加精细地塑造这个角色,使其更加立体和饱满。
AI技术通过自然语言处理、机器学习等算法,使得孙悟空能够与玩家进行更加自然和流畅的对话。这些对话不仅包含了丰富的剧情信息,还展现了孙悟空的性格特点和情感变化。例如,在面对不同的敌人和挑战时,孙悟空可能会表现出不同的态度和反应,这些反应都是基于AI技术的实时计算和生成。
此外,AI技术还使得孙悟空的形象更加多样化和个性化。玩家可以通过AI助手进行角色换脸等操作,将不同的面孔和形象应用到孙悟空身上,从而创造出独特的游戏体验。这种个性化定制不仅满足了玩家的个性化需求,也丰富了游戏的可玩性和趣味性。
三、《黑神话:悟空》的主题与AI技术的寓意 《黑神话:悟空》不仅是一款游戏,更是一部充满哲理和思考的作品。游戏通过孙悟空的冒险之旅,探讨了人性、命运、自由等深刻主题。而AI技术则在这些主题的探讨中发挥了重要作用。
首先,AI技术使得游戏中的世界更加真实和复杂。在这个世界里,玩家不仅要面对各种各样的敌人和挑战,还要解开一系列谜题和谜团。这些谜题和谜团往往涉及到人性的复杂性和社会的多样性。通过解决这些谜题和谜团,玩家可以更加深入地理解人性和社会的本质。
其次,AI技术也寓含了对未来科技发展的深刻反思。在游戏中,AI技术的应用不仅提高了游戏的可玩性和趣味性,也引发了玩家对科技伦理和道德问题的思考。例如,AI生成的内容是否应该受到版权保护?AI在游戏中的角色是否应该具有道德和伦理意识?这些问题都是我们在未来科技发展中需要面对和解决的问题。
四、感受与思考 《黑神话:悟空》与AI技术的紧密结合给我留下了深刻的印象。这款游戏不仅让我体验到了前所未有的沉浸式游戏体验,更让我对AI技术在游戏开发中的应用和前景充满了期待。
首先,我认为AI技术的应用极大地提升了游戏的可玩性和趣味性。通过AI技术生成的丰富内容和互动式叙事方式,玩家可以更加自由地探索游戏世界和创造属于自己的故事。这种个性化的游戏体验是传统游戏所无法比拟的。
其次,AI技术的应用也让我对游戏产业的未来发展充满了信心。随着AI技术的不断进步和应用范围的不断扩大,我们有理由相信游戏产业将迎来更加广阔的发展空间和创新机遇。同时,AI技术也将为游戏开发者提供更加高效和智能的工具和手段来创作出更加优秀和精彩的游戏作品。
然而,我也意识到AI技术在游戏开发中的应用也面临着一些挑战和问题。例如,如何平衡AI技术与人类创作的关系?如何确保AI生成的内容符合道德和伦理规范?这些问题都需要我们在未来的发展中认真思考和解决。
五、总结 《黑神话:悟空》与AI技术的紧密结合为我们展示了未来游戏产业的无限可能性和创新空间。通过AI技术的应用,游戏开发者能够创造出更加真实、复杂和有趣的游戏世界和角色形象;玩家也能够享受到
福利时间:想要空余时间挣点外快💴的可以私信我哦!
Ps菜单:编辑/首选项
Edit/Preferences
快捷键:Ctrl + K
Photoshop 首选项中的“文件处理” File Handling选项卡允许用户精确控制 Photoshop 的文件保存行为和兼容性选项。这些设置非常重要,尤其在处理大文件或与其他软件协作时,可以优化工作流程并确保文件的兼容性和安全性。
文件存储选项
File Saving Options
图像预览
Image Previews
设置在保存文件时是否将图像缩览图一起保存。默认为“总是存储”。
附带了缩览图的文件要比没带缩览图时稍微大一些。
本选项实质上控制着“存储为”和“存储副本”对话框中“缩览图”选项的状态。
--总是存储 Always Save
如上图所示,默认勾选,且不可取消。
--总不存储
Never Save
不生成缩览图,且“缩览图”选项不可勾选。
--存储时询问
Ask When Saving
在“存储为”对话框中,可自行决定是否勾选生成“缩览图”。
文件扩展名
File Extension
选择文件保存时使用的小写或大写的文件扩展名。通常选择小写以符合现代操作系统的惯例。
--使用小写
Use Lower Case
--使用大写
Use Upper Case
存储至原始文件夹
Save As to Original Folder
默认勾选,执行存储命令时,将自动选择文件的原始文件夹中进行保存。
若不勾选,执行存储命令时,将自动选择上一次保存的文件夹进行保存。
后台存储
Save in Background
默认勾选,文件将以后台进程方式保存,使您可以继续在 Photoshop 中工作,而不会因为保存操作而中断工作。
若不勾选,则当保存文档时,我们无法进行其他操作,直至保存完成。
自动存储恢复信息的间隔
Automatically Save Recovery Information Every 默认为 10 分钟 10 Minutes,表示一旦 Photoshop 意外崩溃,再次启动时可恢复文档到 10 分钟之前的状态。
TreeSize Free是一款专为Windows用户设计的磁盘空间分析工具。它能够帮助用户快速识别并管理那些占用大量空间的文件夹和文件。
功能亮点
快速扫描:TreeSize Free能够迅速扫描整个磁盘卷,展示所有文件夹及其子文件夹的大小,甚至可以细化到单个文件级别。
集成Windows Explorer:与Windows资源管理器无缝集成,用户可以在资源管理器中直接使用TreeSize Free的功能。
数据可视化:提供定制的树状图,直观地展示磁盘空间的分布和使用情况,帮助用户快速理解数据。
多线程处理:支持多线程操作,大幅提升扫描效率,并允许用户将数据导出为Excel、HTML或ASCII格式。
简单易用:界面友好,操作简单,全程无广告干扰,确保用户有一个安全、纯净的使用体验。
轻量级设计:占用磁盘空间极小,支持从USB驱动器运行,无需安装,随时随地管理磁盘空间。
中文设置方法 软件菜单“Options”,选择“Language”,下拉菜单中选择“中文(简体)”即可。 https://pan.xunlei.com/s/VO4uVM-7bXkdYqQRAS7dMq4pA1?pwd=sp9b#
随着技术的不断迭代更新,在 Linux 系统中使用 Vim、nano 等基于 Shell 终端的编辑器(我曾经也是个 vimer,但是 VS Code 实在太香了),已经很难适应当下的开发效率。因此大多数开发者开始使用 VS Code 远程连接 Linux 系统来解决编程效率的问题,VS Code 本身也是个优秀的代码编辑器,可以安装很多插件来扩展功能,其中就有 SSH 工具,远程连接到 Linux 系统,可以说就是在 VS Code 上编辑代码、编译代码、运行程序,基本就是一条龙服务。
本篇将以 Windows 系统下的 VS Code 作为 SSH 客服端,连接远程的 Ubuntu 系统。前提条件是 Ubuntu 主机已安装了 SSH 服务组件,相关内容可查阅博客:
[基于Ubuntu22.04 安装SSH服务-CSDN博客](https://blog.csdn.net/weixin_54859557/article/details/141439528?spm=1001.2014.3001.5502)
一、安装 Remote - SSH 扩展并连接远程主机 打开 VS Code,点击左侧的扩展图标(或使用快捷键 Ctrl+Shift+X),在搜索框中输入 “SSH”,可以看到官方提供的 “Remote - SSH” 扩展,点击 “Install” 安装:
安装好插件后,左边的侧边栏上多一个远程连接的图标,点进去之后,出现 SSH 连接界面,点击小加号可以连接远程服务器:
点击小加号后,VS Code 上方的输入框会下弹出另一个输入框,这个输入框用于输入 SSH 的连接命令,使用 ssh 命令连接到远程服务器,以下是命令的格式:
ssh username@remote_host ssh -p port_number username@remote_host 第一行是默认端口为 22 的连接命令,第二行是自定义端口号,port_number 为端口号,username 为用户名,remote_host 为 IP 地址。下面的例子是 SSH 连接我的 Ubuntu 主机的命令(端口号为 22):
前言 Spring 是 Java 世界中无可争议的王者框架,它以其灵活、轻量、强大而著称,成为企业级开发的首选工具。然而,很多开发者在使用 Spring 时,往往只停留在会用的层面,对于其内部实现和设计原理知之甚少。本专栏旨在通过系统化的 Spring 源码解读,从实践到源码分析,再到设计模式的探讨,带你逐步揭开 Spring 的神秘面纱,真正掌握这款框架的精髓。
专栏目标 在这个专栏中,我们将通过以下几个步骤,帮助你深入理解 Spring:
手动实现关键功能:通过从零开始的代码实现,重现 Spring 的核心机制,如 IoC 容器、AOP、事务管理 等功能。在实现过程中,我们会紧贴 Spring 的设计原则,逐步构建一个简化的 Spring 框架。源码解析与对比:在每一章的实现之后,我们将深入解读 Spring 对应模块的源码,进行对比分析,探讨 Spring 是如何优化和提升这些功能的。设计模式与架构分析:贯穿专栏始终,我们将结合源码分析和手动实现,讨论 Spring 内部的设计模式、架构思想,并探讨如何将这些思想应用到实际项目中。类图与流程图:每一章将配备详尽的类图和流程图,帮助你直观理解代码结构和流程逻辑,避免陷入代码细节的泥沼。 学习路线与专栏结构 本专栏分为五个主要部分,共 50 章内容,循序渐进地覆盖 Spring 的核心模块与高级功能:
Spring 源码解读专栏 基础与概念 核心容器源码解析 AOP 与事务管理 Spring MVC 框架 集成与扩展功能 Spring 框架概述 IoC 原理与实现 依赖注入机制 Bean 生命周期管理 AOP 基础与实现 Spring 容器初始化 BeanFactory 加载与初始化 Bean 定义与注册 循环依赖解决 Spring 容器事件机制 AOP 切面实现 事务管理原理 事务传播机制 事务回滚与异常处理 DispatcherServlet 流程 HandlerMapping 解析 控制器与视图解析 异常处理机制 Spring 与 MyBatis 集成 Spring 与 JPA 集成 Spring 与 Redis 集成 Spring Security 核心实现 第一部分:基础与概念(10 章) 介绍 Spring 框架的历史、核心模块及其设计思想,为后续内容打下基础。将手动实现一个简化的 IoC 容器,并解析依赖注入和 AOP 的基础原理。 第二部分:核心容器源码解析(12 章) 深入解析 Spring IoC 容器的初始化流程、Bean 的定义与注册、依赖注入和生命周期管理,逐步实现一个功能完整的容器。讨论循环依赖问题及其解决方案。 第三部分:AOP 与事务管理源码解读(8 章) 通过手动实现 AOP 和事务管理,了解切面编程的实现方式和事务的传播机制。对比 Spring 的 AOP 和事务管理源码,探讨其设计模式与性能优化。 第四部分:Spring MVC 框架源码解读(10 章) 系统分析 Spring MVC 的工作原理,从请求处理到视图解析。手动实现一个简单的 MVC 框架,并解析 Spring MVC 的源码,实现类似的功能。 第五部分:集成与扩展功能源码解读(10 章) 探讨 Spring 与 MyBatis、JPA、Kafka、RabbitMQ、Redis 等第三方框架的集成原理,并深入分析 Spring Security 和自定义注解的实现机制。 学习方式与读者收益 本专栏不仅仅是对 Spring 源码的解读,更是一场实践与理论结合的深入学习。通过手动实现和源码分析相结合,你将收获:
聚星文社原版本绘唐科技AI推文工具是一种可以帮助用户生成推文内容的人工智能工具。它通过分析大量的文本和数据,学习了推文的写作风格和语言特点,并能够根据用户提供的关键词和要求,生成符合要求的推文内容。
这个工具可以快速生成高质量的推文,帮助用户节省时间和精力。它能够根据用户提供的关键词和要求,自动选择合适的语言风格和表达方式,生成有吸引力和影响力的推文内容。
聚星文社原版本绘唐科技AI推文工具还具备一定的智能化和自适应能力。它可以根据用户的反馈和喜好进行学习和优化,不断提升生成推文的质量和准确度。
总之,聚星文社原版本绘唐科技AI推文工具是一款功能强大的人工智能工具,能够帮助用户快速生成高质量的推文内容。它的出现,可以极大地提高推文的效率和质量,对于营销和宣传等领域具有重要的意义。
文章目录 介绍软件功能下载安装1.下载完成后打开downloads 双击进行安装2.将软件拖到应用程序中3.在启动台中搜索打开4.提示损坏问题解决5.执行完成关闭命令窗口6.打开成功,点击继续,跳过登录7.打开成功后,点击关于 小结 介绍 XMind 是一款流行的思维导图和头脑风暴软件,它以其直观、灵活和功能丰富而受到用户的喜爱。XMind 适用于个人和团队,用于组织思维、规划项目、解决问题和协作。
软件功能 以下是 XMind 的一些关键特性:
多种思维导图结构:XMind 提供了包括经典思维导图、鱼骨图、矩阵图、时间线等多种结构,以适应不同的思维和展示需求。灵活的编辑功能:用户可以通过拖放的方式快速编辑主题和子主题,调整布局和结构。丰富的样式和图标:XMind 提供了多种预设样式、颜色、图标和贴纸,用户可以自定义思维导图的外观。主题属性:用户可以为每个主题添加属性,如标签、优先级、进度等,以更好地组织和分类信息。插入多媒体:XMind 允许用户在导图中插入图片、图标、附件、超链接和笔记等多媒体内容。演示模式:XMind 拥有演示模式,可以全屏展示导图,方便进行演示和分享。协作功能:XMind 支持多人在线协作编辑,团队成员可以实时共享和更新导图。跨平台同步:XMind 支持在不同设备间同步导图,包括 Windows、macOS、Linux、iOS 和 Android。导出和分享:用户可以将 XMind 导图导出为多种格式,如 PDF、图片、Microsoft Office 文档等,并支持通过电子邮件、社交媒体等渠道分享。模板和示例:XMind 提供了丰富的模板和示例,帮助用户快速开始并启发创意。 下载 https://www.123pan.com/s/Ko5rjv-NewD3
提取码:BLCW
安装 1.下载完成后打开downloads 双击进行安装 2.将软件拖到应用程序中 等待拷贝完成
3.在启动台中搜索打开 4.提示损坏问题解决 点击取消,然后双击已损坏修复
5.执行完成关闭命令窗口 6.打开成功,点击继续,跳过登录 7.打开成功后,点击关于 至此xmind安装成功。
小结 XMind 的设计理念是帮助用户释放创意、提高生产力,并促进团队协作。无论是个人学习、工作规划还是企业项目管理,XMind 都是一个强大的工具。
一、查看官方文档 堡垒机官网地址:走向成功 - Teleport,高效易用的堡垒机
(一)官网资源链接 -》Teleport 在线文档 (二)手动下载安装包 二、压缩包下载和安装 (一)加压下载的安装包到根目录 [root@10 ~]# ll 总用量 31956 -rw-------. 1 root root 1524 7月 23 10:10 anaconda-ks.cfg drwxr-xr-x 5 1000 1000 62 9月 13 2022 teleport-server-linux-x64-3.6.4-b3 -rw-r--r-- 1 root root 32717761 8月 22 20:46 teleport-server-linux-x64-3.6.4-b3.tar.gz [root@10 ~]# (二)执行安装命令 201 ./setup.sh (三)查看运行状态 /etc/init.d/teleport status [root@10 ~]# /etc/init.d/teleport status teleport web server is running. teleport core server is running. [root@10 ~]# 三、本地访问 (一)关闭安装系统的火绒firewall和selinux (二)浏览器访问 http://10.
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录 1、定义数组并输出2、查询数组的长度3、访问数组的第一个元素4、访问数组中第一个元素的xxx属性5、从数组元素中提取ID并存储到搜索参数对象 提示:以下是本篇文章正文内容,下面案例可供参考
1、定义数组并输出 let abc = [{id:123,code:"abc"}]; 这里定义了一个名为 abc 的数组,它包含一个对象。这个对象有两个属性:id 和 code
输出展示 abc 数组:
1、 abc:
这一行代码表示访问数组 abc 中的第一个元素(索引为0)是一个对象。由于 abc 只有一个元素 {id: 123, code: 'abc'},所以结果就是:
0: {id: 123, code: 'abc'} 2、查询数组的长度 由于 abc 数组包含一个元素,abc.length 的值将为 1。
let abc = [{id:123,code:"abc"}]; console.log(abc.length); // 输出: 1 这里的 abc.length 返回数组中元素的数量,即数组的长度。
在这个例子中,abc 只包含一个元素,所以 abc.length 的值为 1。
3、访问数组的第一个元素 当输入 abc[0] 并执行时,此时正在访问数组 abc 中索引为0的元素
由于 abc 数组包含一个对象,这个对象具有 id 和 code 两个属性还有各自对应的值,因此输出将是这个对象本身:
{id: 123, code: 'abc'} 简单总结一下:
文章目录 介绍软件功能安装下载使用注意事项1.打开系统设置选择隐私与安全性2.点击添加扩展3.勾选访达扩展 小结 介绍 FastZip for Mac集压缩、解压、预览、加密压缩、分卷压缩、固实压缩、右键压缩解压、多线程压缩等功能于一体,绝佳的设计、便捷的操作,为您带来优秀的使用体验。
软件功能 FastZip 是一款知名的压缩文件管理工具,它提供了快速压缩和解压文件的功能。以下是他的关键特性:
快速压缩:FastZip 的核心优势在于其压缩速度,它能够快速地将大文件压缩成较小的体积。多种格式支持:FastZip 支持多种压缩文件格式,包括但不限于 ZIP、RAR、7z 等。解压功能:除了压缩,FastZip 也提供了强大的解压功能,能够解压多种格式的压缩文件。文件管理:FastZip 允许用户对压缩文件内的文件进行管理,如添加、删除、重命名等。加密功能:FastZip 提供了文件加密功能,可以为压缩文件设置密码,保护文件安全。分卷压缩:FastZip 支持将大型文件压缩成多个小分卷,便于存储和传输。拖放操作:用户可以通过拖放的方式快速添加文件到压缩文件中。界面友好:FastZip 拥有直观的用户界面,使得压缩和解压操作变得简单易懂。兼容性:FastZip 通常具有良好的系统兼容性,支持在多种操作系统上运行。 安装下载 打开app store然后点击获取即可进行下载安装
使用 选择压缩包,右键即可使用,mac默认是可以打开zip的但是对于rar或者其他的格式则不能打开。
注意事项 注意第一次打开的时候会提示访达扩展勾选,记得勾选,如果没勾选则可通过以下方式打开。
1.打开系统设置选择隐私与安全性 2.点击添加扩展 3.勾选访达扩展 小结 FastZip 是一款知名的压缩文件管理工具,它提供了快速压缩和解压文件的功能。详细可通过其官网查看,官网地址。
建立有效的监控和警报系统 首先,建立有效的监控和警报系统是应对突发技术故障和危机的重要步骤。通过监控ETL流程和相关系统的关键指标,例如数据传输速度、资源利用率和错误日志,您可以提前发现潜在的问题。设置警报机制,及时通知团队成员存在异常情况,以便迅速采取行动。
事前制定应急计划 在面对突发技术故障和危机时,事前制定应急计划是至关重要的。ETL开发团队应明确各成员的责任和角色,并制定详细的应急流程。这包括确定首要解决的问题、识别关键资源和联系人、制定备份和恢复策略等。通过提前准备,您可以更加迅速地应对技术故障和危机,减少潜在的停机时间和数据丢失。
高效的沟通和协作 在应对技术故障和危机的过程中,高效的沟通和协作是团队成功的关键。确保团队成员之间有清晰的沟通渠道,可以迅速共享信息和进展情况。定期召开紧急会议或使用在线协作工具,以协调行动和解决问题。同时,建立良好的团队合作氛围,鼓励成员互相支持和合作,共同应对技术故障和危机。
资源的优化和故障排除 当发生技术故障或危机时,ETL开发团队应快速进行资源的优化和故障排除。通过分析系统和流程,确定潜在的性能瓶颈和故障点。优化资源分配、调整ETL流程、检查代码和配置等,以提高系统的稳定性和性能。同时,进行详细的故障排除,使用日志和监控工具来定位和解决问题。
后续复盘和持续改进 应对技术故障和危机后,进行后续复盘和持续改进是关键的一步。回顾整个过程,识别成功的方面和需要改进的地方。记录经验教训,制定持续改进的计划,并在团队中分享。通过不断学习和改进,提升团队的抗压能力和应对能力,减少类似问题的再次发生。