自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(281)
  • 资源 (11)
  • 收藏
  • 关注

原创 解决Docker端口映射后外网无法访问的问题

今天因为服务器宕机,重新启动后发现docker部署的mysql和redis都无法通过外网访问。经过排查原因是ip转发没有开启。下面教大家如何解决。

2025-03-30 20:18:42 376

原创 RAG优化方法

是一种结合了检索和生成的自然语言处理(NLP)技术。它通过将生成模型与外部知识库(如文本数据集、数据库等)进行检索结合,来增强生成模型的能力,提供更准确、更相关的答案。具体来说,RAG检索(Retrieval):模型首先从一个大的知识库中检索出与当前问题相关的文档或片段。这个步骤帮助模型找到具体信息,而不是完全依赖预训练的参数。生成(Generation):在检索到相关信息后,生成模型会基于这些信息来生成更准确的回答。

2025-02-12 11:28:54 269

原创 DPO(Direct Preference Optimization)原理和代码实战

RLHF中的PPO流程复杂: 需要构建一个反映人类偏好的奖励模型而DPO本身是一种不需要强化学习的算法,简化了整个RLHF流程,训练起来会更简单。DPO 省略了两个模块,直接优化目标模型(Actor)的参数,使其生成更符合人类偏好的输出。简而言之,DPO不依赖强化学习中的“奖励”机制和“批评”机制,而是通过人类反馈直接指导优化过程。

2025-01-14 11:04:06 2003 1

原创 RLHF微调大模型---PPO原理和代码实战

中文含义是:基于人类反馈的强化学习,用奖励模型来训练SFT模型;生成模型使用奖励或惩罚来更新其策略,以便生成更高质量、更符合人类偏好的文本。为什么需要RLHFSFT不够吗?数据层面SFT的目的是预测值与标签token级别完全一致,模型效果依赖于标注数据的质量,而且标注成本相对较高。SFT只有正反馈,没有负反馈机制,模型只知道下一个token是什么是正确的,而不知道什么是错误的。RLHF。

2025-01-12 12:16:30 1321

原创 解决本地无法从huggingface下载模型的问题

我们本地从下载模型文件,因为某些原因,无法下载,会出现下方的错误1.Datasets使用时的数据下载问题。2.Transformer使用报错。

2025-01-11 20:26:41 1377

原创 大模型微调---QLora微调实战

LoRA是一种参数高效的微调技术,其原理可以参考Lora原理与实战这里我们着重讲一下QLoraQLora在LoRA:j结合了分位数量化和分块量化的4位标准浮点数量化双重量化:通过量化量化常量来节省内存。分⻚优化器:使用CPU内存代替GPU显存保存部分梯度参数因此我们通过peft框架实现QLora,只要开启上面三个机制就可以在⼤模型训练过程中,量化是⼀种降低模型计算复杂度和存储需求的技术。

2025-01-05 18:26:33 1128

原创 LoRA原理详解+问题解答+代码实现LoRA

⼤模型通常包含数亿甚⾄数百亿个参数,对其进⾏微调需要⼤量的计算资源和存储空间。在微调过程中,直接修改预训练模型的所有参数可能会破坏模型的原始性能。存储和部署微调后的⼤模型需要⼤量存储空间,尤其是当需要在多个应⽤场景中部署不同微调版本时。许多微调⽅法会增加推理阶段的计算延迟,影响模型的实时性应⽤。LoRA可以有效的解决以上问题LoRA存储与计算效率:通过低秩适应(LoRA),可以显著减少所需存储的参数数量,并减少计算需求适应性与灵活性。

2025-01-05 12:28:42 1569

原创 大模型微调---Lora微调实战

LoRA是一种参数高效的微调技术,通过低秩转换对大型语言模型进行适应性更新,减少了权重矩阵的更新成本。它通过学习低秩矩阵来调整权重,以适应特定任务,同时保持计算效率。大模型都是过参数化的, 当用于特定任务时, 其实只有一小部分参数起主要作用。也就是参数矩阵维度很高, 但可以用低维矩阵分解近似。具体做法是, 在网络中增加一个旁路结构,旁路是A和B两个矩阵相乘。A矩阵的维度是[d,r]B矩阵的维度是[r,d], 其中r

2024-12-21 16:03:28 2145 1

原创 大模型微调---Prefix-Tuning微调实战

的核心思想是在每一层的自注意力机制中引入一组可训练的前缀向量,这些前缀向量作为额外的键和值,影响注意力的分布,从而引导模型适应特定任务。前缀向量不是基于特定词汇的嵌入,而是由独立的可训练参数构成。前缀长度(L):指前缀中向量的数量。前缀长度通常远小于输入序列的实际长度。前缀维度(d):每个前缀向量的维度,通常与模型的隐藏层维度一致。作用:前缀向量能够调节注意力分布,影响模型对输入的理解和生成,进而适应特定任务。前缀向量通常注入到每一层的自注意力子层的键(Key)和值(Value)部分。更加详细的。

2024-12-19 11:16:57 1080

原创 大模型微调---P-tuning微调

P-Tuning和是两个相似但有细微区别的概念,它们都属于在预训练语言模型上使用提示(prompt)来提升模型在特定任务上的表现的技术。P-TuningP-Tuning是一种特定的提示微调方法,最早由提出的。它特别强调通过优化可学习的提示向量,来引导预训练模型在特定任务上的表现。P-Tuning的关键思想是在输入中插入一些新的、可训练的提示嵌入(embedding),并通过这些嵌入调整模型的输出,而不需要微调模型的全部权重。是一个更广泛的术语,指的是任何通过调整输入提示来优化预训练模型的方法。

2024-12-19 10:26:36 1345

原创 大模型微调---Prompt-tuning微调

大模型微调

2024-12-18 17:26:45 1658 1

原创 大模型微调---BitFit微调

BitFit微调,全称是,其高效微调只去微调带有bias的参数,其余参数全部固定。对于中小型训练数据,在预训练的BERT模型上应用BitFit与微调整个模型具有竞争力(有时甚至更好)。对于较大的数据,该方法与其他稀疏微调方法相比具有竞争力。匹配完全微调模型的结果。使任务能够到达流中,这样就不需要同时访问所有数据集。仅对模型参数的一小部分进行微调。

2024-12-16 14:59:14 340

原创 Transformer---自注意力机制Self-Attention

如今是大模型的时代,我们在网络上使用到的AI工具,例如:chatGPT、文生图、图生图、TTS都结合了Ai大模型,大模型的底层原理是架构,架构的重点就是自注意力机制,如果能够掌握架构就掌握到了80%了解自注意力机制之前,我们先了解一下什么是注意力机制当人类观察事物时,往往会选择性地关注较为重要的信息,这种现象称为注意力机制。例如下方的袋鼠图片,我们更专注的是袋鼠本身,而不是它周围的绿色的草。

2024-12-13 16:19:38 886

原创 LangChain构建RAG(基于Huggingface与Groqcloud,无需本地部署模型)

‌LangChain是一个开源框架,旨在简化使用大型语言模型(LLM)的应用程序创建。‌它提供了一个标准接口,允许开发者将不同的语言模型连接在一起,并与外部计算和数据源进行集成。LangChain的核心思想是通过组合不同的组件来创建更高级的大语言模型应用程序。它为常见应用程序提供了端到端的解决方案,例如聊天机器人、文档分析和代码生成等。‌‌LangChain封装许多主流的大模型提供商的API接口,可以快速便捷的开发RAG应用。下面我将从0开发一个RAG应用。

2024-12-10 10:58:30 556

原创 大模型幻觉问题如何解决?

大模型幻觉问题(AI Hallucination),指的是大型语言模型在生成文本时,产生事实不准确、逻辑不一致或完全虚构的内容,尽管这些内容看似合理且有说服力,但实际上并不反映真实世界的知识或数据。这种现象通常发生在模型没有足够的背景信息、推理能力不足、或者从训练数据中学习到的知识不完全时。尽管大模型在生成自然语言方面表现出了出色的能力,但它们并不具备真正的理解能力,因此可能会“幻觉”出不存在的事实、引用错误的资料,或者编造一些看似符合上下文但实际上并不准确的陈述。

2024-12-09 11:03:54 614

原创 LeetCode每日一题3261---统计满足 K 约束的子字符串数量 II

对于查询 [0, 6], s[0…6] = “0001111” 的所有子字符串中,除 s[0…相似,就是需要处理多个子串,完全可以利用上一次的函数进行求解,但是由于这次的字符串长度太大,会导致超出时间限制,因此需要特殊的方法处理,可以使用。输入:s = “010101”, k = 1, queries = [[0,5],[1,4],[2,3]]输入:s = “0001111”, k = 2, queries = [[0,6]]s 的所有子字符串中,长度大于 3 的子字符串都不满足 k 约束。

2024-11-13 10:46:04 575 1

原创 LeetCode每日一题3258---统计满足 K 约束的子字符串数量 I

s 的所有子字符串中,除了 “1010”、“10101” 和 “0101” 外,其余子字符串都满足 k 约束。,并确保窗口内的 ‘1’ 和 ‘0’ 的数量都不超过 k。s 的所有子字符串中,除了长度大于 5 的子字符串外,其余子字符串都满足 k 约束。返回一个整数,表示 s 的所有满足 k 约束 的。输入:s = “10101”, k = 1。输入:s = “11111”, k = 1。s 的所有子字符串都满足 k 约束。字符串中 0 的数量最多为 k。字符串中 1 的数量最多为 k。

2024-11-12 11:55:02 326

原创 LeetCode每日一题1547---切棍子的最小成本

第二次切割长度为 6 的棍子(即第一次切割得到的第二根棍子),第三次切割为长度 4 的棍子,最后切割长度为 3 的棍子。每次切割的成本都是当前要切割的棍子的长度,切棍子的总成本是历次切割成本的总和。在具体实现时,由于需要先计算子段的值,也就意味着需要优先计算下标跨度较小的f,于是可以先从小到大枚举下标跨度l,然后枚举左边界i,通过i + l - 1计算出右边界j。总成本 <= 25 的切割顺序很多,例如,[4, 6, 5, 2, 1] 的总成本 = 22,是所有可能方案中成本最小的。经典的动态规划问题。

2024-11-11 11:31:31 513

原创 LeetCode每日一题540---有序数组中的单一元素

的数也是单独的,这和题目相悖,那么这个数可以在下标为3的位置么,同样也不行,因为下标为。个数无法组成两对一样的数,这也与题目相悖,一次类推,单独出现的数也不能在下标为。的位置,也就是说这个单独的数的下标一定是偶数,所以我们可以从头到尾,步长为。这道题目有一定的规律性,我们可以按照规律性进行解题,假设数组的大小为。个位置的,显然是不可以的, 因为如果这个单独出现的数在下标为。输入: nums = [1,1,2,3,3,4,4,8,8]输入: nums = [3,3,7,7,10,11,11]

2024-11-10 10:55:16 336

原创 LeetCode每日一题3242---设计相邻元素求和服务

int diagonalSum(int value) 返回在 grid 中与 value 对角线相邻的元素之和,对角线相邻指的是与 value 在左上、右上、左下或右下的元素。int adjacentSum(int value) 返回在 grid 中与 value 相邻的元素之和,相邻指的是与 value 在上、左、右或下的元素。这道题目最容易想到的解题思路是先通过value找到在grid的位置,然后利用相邻元素位置的规律和对角线相邻元素位置的规律,获取相邻元素的值。4 的相邻元素是 1、3、5 和 7。

2024-11-09 10:28:26 413

原创 LeetCode每日一题3235---判断矩形的两个角落是否可达

2、若矩形边的两个端点都在圆的外部,那么就需要从圆心向矩形边所在的直线做一条垂线,这条垂线的长度必须要小于等于半径的长度,同时矩形边的两个端点必须位于这条垂线的两侧。由于题目中矩形的边都是水平或者竖直的,因此矩形边的两个端点必然在某个维度上是一样的,这个维度的值与圆心在这个维度值之差就是垂线的长度,而另一个维度的值只需分别处于圆心另一个维度值的两侧就行了。输入:X = 3, Y = 3, circles = [[2,1,1],[1,2,1]]不存在从 (0, 0) 到 (3, 3) 的路径。

2024-11-08 10:25:44 686

原创 LeetCode每日一题3255---3255. 长度为 K 的子数组的能量值 II

这道题目与昨天的题目一样,不同的是nums[i] 的数据量变得很大,但依旧可以使用下面的方法求解。输入:nums = [1,2,3,4,3,2,5], k = 3。输入:nums = [3,2,3,2,3,2], k = 2。输入:nums = [2,2,2,2,2], k = 4。[3, 4, 3] 中元素 不是 连续的。[4, 3, 2] 中元素 不是 上升的。[3, 2, 5] 中元素 不是 连续的。[1, 2, 3] 中最大元素为 3。输出:[3,4,-1,-1,-1]

2024-11-07 10:48:59 310 2

原创 LeetCode每日一题3254---长度为 K 的子数组的能量值 I

输入:nums = [1,2,3,4,3,2,5], k = 3。输入:nums = [3,2,3,2,3,2], k = 2。输入:nums = [2,2,2,2,2], k = 4。[3, 4, 3] 中元素 不是 连续的。[4, 3, 2] 中元素 不是 上升的。[3, 2, 5] 中元素 不是 连续的。[1, 2, 3] 中最大元素为 3。[2, 3, 4] 中最大元素为 4。的,那么能量值为 最大 的元素。输出:[3,4,-1,-1,-1]输出:[-1,3,-1,3,-1]

2024-11-06 10:46:33 430

原创 LeetCode每日一题3222---求出硬币游戏的赢家

这道题目比较简单,每一个人要想赢得胜利,必须拿到1 枚价值为 75 的硬币和 4 枚价值为 10 的硬币,因此我们可以在拿过硬币后,判断硬币的数量来终止游戏,并且查看谁是最后一个拿硬币的,则就是赢家。给你两个 正 整数 x 和 y ,分别表示价值为 75 和 10 的硬币的数目。Alice 拿走 1 枚价值为 75 的硬币和 4 枚价值为 10 的硬币。Alice 拿走 1 枚价值为 75 的硬币和 4 枚价值为 10 的硬币。Bob 拿走 1 枚价值为 75 的硬币和 4 枚价值为 10 的硬币。

2024-11-05 09:45:53 191

原创 LeetCode每日一题633---平方数之和

如果存在符合条件的a,b,那么a和b一定在0和。然后看得到的b是否为整数 则符合条件。解释:1 * 1 + 2 * 2 = 5。最朴素的思路,就是先令a从0遍历到。需要注意的是,a的终止条件最好是。,你要判断是否存在两个整数。另一种时间复杂度低的方式是。

2024-11-04 10:20:54 272

原创 LeetCode每日一题638---大礼包

输入:price = [2,3,4], special = [[1,1,0,4],[2,2,1,9]], needs = [1,2,1]需要买 1A ,2B 和 1C ,所以付 ¥4 买 1A 和 1B(大礼包 1),以及 ¥3 购买 1B , ¥4 购买 1C。输入:price = [2,5], special = [[3,0,5],[1,2,10]], needs = [3,2]需要购买 3 个 A 和 2 个 B , 所以付 ¥10 购买 1A 和 2B(大礼包 2),以及 ¥4 购买 2A。

2024-11-03 15:50:51 827

原创 LeetCode每日一题3226---使两个整数相等的位更改次数

如果 k 是 n 的子集,答案为从 n 中去掉 k 后的集合大小,即 n⊕k 的二进制中的 1 的个数。最初,n 和 k 的二进制表示分别为 n = (1101)2 和 k = (0100)2,如果 k 的二进制表示中有比 n 中的 1 位置多的 1,则无法实现,将返回 -1。如果 k 的某一位是 1,而 n 的对应位是 0,则返回 -1,因为无法实现该转换。我们需要将整数 n 的二进制表示变成 k,并且只能将 n 中的 1 改为 0。否则,统计 n 和 k 中 1 的不同位置,计算最少的更改次数。

2024-11-02 21:14:14 299

原创 LeetCode每日一题3259---超级饮料的最大强化能量

来自未来的体育科学家给你两个整数数组 和 ,数组长度都等于 。这两个数组分别代表 两种不同能量饮料每小时所能提供的强化能量。你需要每小时饮用一种能量饮料来 最大化 你的总强化能量。然而,如果从一种能量饮料切换到另一种,你需要等待一小时来梳理身体的能量体系(在那个小时里你将不会获得任何强化能量)。返回在接下来的 小时内你能获得的 最大 总强化能量。注意 你可以选择从饮用任意一种能量饮料开始。示例 1:输入:energyDrinkA = [1,3,1], energyDrinkB = [3,1,1]输出:

2024-11-01 15:00:24 459

原创 LeetCode每日一题3165---不包含相邻元素的子序列的最大和

执行第 1 个查询后,nums = [3,-2,9],不包含相邻元素的子序列的最大和为 3 + 9 = 12。执行第 1 个查询后,nums = [-5,-1],不包含相邻元素的子序列的最大和为 0(选择空子序列)。执行第 2 个查询后,nums = [-3,-2,9],不包含相邻元素的子序列的最大和为 9。输入:nums = [3,5,9], queries = [[1,-2],[0,-3]]我们定义 dp[i] 为考虑前 i 个元素时,不包含相邻元素的子序列的最大和。是选择当前元素后的最大和。

2024-10-31 12:25:02 462

原创 LeetCode每日一题3216---交换后字典序最小的字符串

如果字符串数组长度为n,则这道题的最优解的时间复杂度O(N*logN).实质是一种排序的实现,排序的结果就是拼接的顺序。s[1] == ‘5’ 和 s[2] == ‘3’ 都具有相同的奇偶性,交换它们可以得到字典序最小的字符串。给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性 的数字后,返回可以得到的。strs=[“b”,“ba”]. 可以拼成“bba”和“bab”,后者字典序小,返回后者“bab”找到第一个 s[i] > s[i + 1],且它们奇偶性相同,交换它们。

2024-10-30 09:52:34 234

原创 LeetCode每日一题3211---生成不含相邻零的二进制字符串

的有效字符串时,我们可以判断这个字符串是否符合要求,如果符合要求则将该字符串添加到结果列表中。的 有效 字符串,可以以任意顺序排列。但这道题目还有速度更快的解法,字符串的每个位置都需要填入。这里我才用最简单的解法。是一个 有效 字符串。如果一个二进制字符串。中包含 至少 一个 “本题的目标就是找长度为。进制数,其中不能有两个。

2024-10-29 11:36:54 346

原创 LeetCode每日一题685---冗余连接 II

一定是删除指向入度为2的节点的两条边其中的一条,如果删了一条,判断这个图是一个树,那么这条边就是答案,同时注意要从后向前遍历,因为如果两天边删哪一条都可以成为树,就删最后那一条。该树除了根节点之外的每一个节点都有且只有一个父节点,而根节点没有父节点。输入:edges = [[1,2],[2,3],[3,4],[4,1],[1,5]],明确没有入度为2的情况,那么一定有向环,找到构成环的边就是要删除的边。输入:edges = [[1,2],[1,3],[2,3]]返回一条能删除的边,使得剩下的图是有。

2024-10-28 12:01:38 492

原创 LeetCode每日一题684---冗余连接

可以为每一个结点设置唯一的父亲结点,如果两个结点的父节点相同则表示这两个结点已经连通了。输入: edges = [[1,2], [2,3], [3,4], [1,4], [1,5]]这条代码可以保存最终的父节点信息 ,这样就可以省去中间父结点的查找。中间,且这条附加的边不属于树中已存在的边。图的信息记录于长度为。输入: edges = [[1,2], [1,3], [2,3]]请找出一条可以删去的边,删除后可使得剩余部分是一个有着。) 的树中添加一条边后的图。树可以看成是一个连通且 无环 的 无向 图。

2024-10-27 11:36:13 563

原创 LeetCode每日一题3181---执行操作可获得的最大总奖励 II

依次标记下标 0 和 2,总奖励为 4,这是可获得的最大值。,所有下标都是 未标记 的。以整数形式返回执行最优操作能够获得的 最大 总奖励。其中的思路:使用位运算来表示哪些数应该选,只需要通过。的区别是 数组会特别的大,因此本体不能再用。中的思想,只不过需要用位运算进行替代。做与或运算我们就可以找到每一个状态。中选择一个 未标记 的下标。大于 你当前的总奖励。,这是可获得的最大值。

2024-10-26 11:40:11 286

原创 LeetCode每日一题3180---执行操作可获得的最大总奖励 I

但是我们要找到最大的总奖励,所以我们需要遍历整个数组 来进行比较,依次标记下标 0 和 2,总奖励为 4,这是可获得的最大值。,所有下标都是 未标记 的。问题,所有的数要么选要么不选,可以用到动态规划的方法来做。以整数形式返回执行最优操作能够获得的 最大 总奖励。状态下的最大总奖励,为了防止重复计算。首先需要对数组进行从小到大的排序。中选择一个 未标记 的下标。这里我们采用递归的方法来做。时,可以获得的最大总奖励。大于 你当前的总奖励。,这是可获得的最大值。函数的作用是当奖励值为。

2024-10-25 16:21:54 346

原创 LeetCode每日一题3175---找到连续赢 K 场比赛的第一位玩家

大于数组的长度,那么在这个数组中只有值最大的下标才符合条件的,因为值最大的才可以循环大于每一个数值,次数才能超过数组长度,也就是。对于第一种情况,我们就直接找第一个符合条件的数值下标即可,对于第二种情况,如果。队列中最前面两名玩家进行一场比赛,技能等级 更高 的玩家胜出。比赛后,获胜者保持在队列的开头,而失败者排到队列的末尾。位玩家在进行比赛,玩家编号依次为。场比赛,所以赢家是玩家 2。请你返回这个比赛的赢家编号。场比赛,所以赢家是玩家。一开始,队列里的玩家为。一开始,队列里的玩家为。

2024-10-24 11:03:03 423

原创 LeetCode每日一题3185---构成整天的下标对数目 II

那么要使 hours[i] + hours[j] 为 24,hours[j] % 24 应该等于 14(因为 10 + 14 = 24)。,那么要使 hours[i] + hours[j] 为 24,hours[j] % 24 应该等于 19(因为 5 + 19 = 24)。如果我们能够找到两个数的余数之和为 24 或者能被 24 整除,那么这两个数的和也就能够被 24 整除。例如,1 天是 24 小时,2 天是 48 小时,3 天是 72 小时,以此类推。,它的作用类似于哈希表,记录每个模。

2024-10-23 11:33:06 441

原创 conda环境打包环境、迁移环境

往往我们拿到网上开源的代码,最令人头疼的就是配置环境,常常是代码还没有开始看,配环境配了一整天,其次是有时候我们需要多台服务器运行代码,环境需要配置多遍,熟悉配置环境的流程还好,不熟悉又是花时间的活,因此我们需要一种快捷的方式将已经配置好的环境直接迁移过来用。下面我将用两种方式实现。== 注意:本操作的前提是你已经安装了conda环境==

2024-10-16 21:31:21 2813

原创 宝塔部署若依前端出现502解决方法

‌若依系统是一个基于Java语言的开源项目,旨在帮助开发者减少开发时间,特别适用于需要快速开发出一套具有用户管理、菜单管理、权限管理、定时任务、日志管理等功能的简单系统。‌ 系统分为前后端分离、分布式等架构前后端分离部署教程然而通过宝塔来部署若依系统会遇见一些问题,特此在这里记录一下。

2024-09-29 15:46:35 1334

原创 宝塔部署Vue项目解决跨域问题

使用宝塔面板部署前端后端项目相比用命令行进行部署要简单许多,宝塔的可视化操作对那些对Linux不熟悉的人很友好。1、视频教程2、文字教程13、文字教程2以上的教程完全可以按照步骤一步一步进行部署,但是部署过程中,会遇到很多问题,例如前端的跨域问题,本文在遇到上述问题并解决后,特此记录一下。

2024-09-07 20:06:30 1570 3

LoRA原理详解,深入理解Lora原理,以及案例实战

LoRA原理详解

2025-01-05

腾讯云Serverless升级Wordpress方法

腾讯云Serverless升级Wordpress方法,腾讯云默认的wordpress版本比较旧,并且无法自动更新,所以可以采取本方式手动更新!

2023-08-01

SQLiteSpy_1.9.13(1).zip

SQllite可视化工具

2021-09-19

006_document.zip

SpringSecurity笔记

2021-09-07

mongodb_单机基本知识点.zip

MongoDB单机版基本知识点,安装与配置、增删改查案例

2021-08-30

mongodb集群配置讲义.zip

mongoDB集群的基本配置以及操作案例

2021-08-30

疫情期间国内现象调查报告.docx

疫情期间国内现象调查报告

2021-08-11

垃圾分类数据库garbage.xls

垃圾分类数据集,包含日常常用的垃圾分类信息

2021-08-11

SQLServer工资信息管理系统的后台数据库设计

SQLServer工资信息管理系统的后台数据库设计

2021-08-06

vue3快速上手的基本常用API

vue3快速上手的基本常用API

2021-08-06

vue2基本使用,包括概念以及使用场景

Vue2基本使用

2021-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除