摘要: 一. 说明 总结各种解决方案 二. 目录 阶段一:解决方案总结 第一节:业务幂等性介绍和接口幂等性的解决方案 第二节:服务幂等性和消息幂等性的解决方案 第三节:分库分表下订单ID的生成的几种方案 第四节:分库分表深度剖析(概念、模式、瓶颈、原则、架构方案、问题解决) 第五节:亿级数据库的设计方案(内 阅读全文
posted @ 2023-08-10 08:20 Yaopengfei 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 一. 前言 需要准备的东西: 1. “科学”上网 2. chatgpt账号 (自己注册 或者 买个现成) PS:自己注册的话需要用国外的手机号接受验证码,可以使用 https://sms-activate.org/cn/ 这个网站进行接受。 需要时刻注意: 哪些国家被封了,以便切换“科学”上网的地址 阅读全文
posted @ 2023-05-26 10:41 Yaopengfei 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 一. 说明 工作需要,最近学习下react 官网:https://react.docschina.org/ https://zh-hans.reactjs.org/ 二. React简介 1. 说明 用于构建用户界面的 JavaScript 库 ( 官网: https://react.docschi 阅读全文
posted @ 2023-03-28 08:16 Yaopengfei 阅读(167) 评论(1) 推荐(0) 编辑
摘要: 一. 说明 常用的一些软件使用技巧、以及一些常用的配置 二. 目录 阶段一:基本使用和配置 第一节:修改Nuget的下载位置 第二节:代码片段的制作(以VSCode、HbuilderX为例) 第三节:Postman常用技巧(全局/环境变量、常用脚本代码、关联案例、断言、参数化) 第四节:Git的概述 阅读全文
posted @ 2023-03-14 14:05 Yaopengfei 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 一. 说明 uni-app官网:https://uniapp.dcloud.net.cn/ 微信小程序官网:https://developers.weixin.qq.com/miniprogram/dev/framework/ 官方文档非常详细,该系列以微信小程序为主线,梳理一些最常用的技术点,其它 阅读全文
posted @ 2023-01-05 08:22 Yaopengfei 阅读(243) 评论(1) 推荐(0) 编辑
摘要: 一. 简介 1. MongoDB 官网:https://www.mongodb.com/ 中文网:https://www.mongodb.org.cn/ 2. ElasticSearch 官网:https://www.elastic.co/guide/en/elasticsearch/referen 阅读全文
posted @ 2022-08-25 15:19 Yaopengfei 阅读(692) 评论(0) 推荐(0) 编辑
摘要: 一. 简介 1. RabbitMq 官网地址:https://www.rabbitmq.com/ 2. Kafka 官网地址:http://kafka.apache.org/ 3. RocketMq 官网地址: 4. Nginx http://nginx.org/en/download.html h 阅读全文
posted @ 2022-06-29 22:00 Yaopengfei 阅读(517) 评论(3) 推荐(0) 编辑
摘要: 一. 简介 历时4个月,边学习,边整理 ES6-ES11可参考之前的系列:https://www.cnblogs.com/yaopengfei/p/14291045.html 后续计划从面试的角度整理一下JS专题,相对侧重于基础 【已完成】 二. CSS系列 阶段一:CSS基础总结 第一节:字体、文 阅读全文
posted @ 2022-01-04 09:13 Yaopengfei 阅读(541) 评论(2) 推荐(1) 编辑
摘要: 一. 简介 1. 说明 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用 阅读全文
posted @ 2021-09-02 17:51 Yaopengfei 阅读(2471) 评论(3) 推荐(0) 编辑
摘要: 一. ES简介 1. ECMAScript (1). 简介 ES 的全称是 ECMAScript , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范。 每一次标准的诞生都意味着语言的完善,功能的加强。JavaScript语言本身也有一些令人不满意的地方。 变量提升特性增加了程序运行 阅读全文
posted @ 2021-01-18 07:48 Yaopengfei 阅读(1097) 评论(6) 推荐(0) 编辑
摘要: 一. 框架说明 1. 框架定位 该框架定位于后台系统和Api接口对接,适用于中小型项目的快速开发,针对不同场景说明: (1). 如果你只想简单的做个后台管理,那么该框架适合你。 (2). 如果你想做CRM、OA、电商后台等,那么该框架适合你。 (3). 如果你想学习一下.NetCore相关,那么该框 阅读全文
posted @ 2020-12-09 17:05 Yaopengfei 阅读(2790) 评论(14) 推荐(1) 编辑
摘要: 一. 整体介绍 1. 背景和工具介绍 (1). MySQL的地位 MySQL 在整个数据库图谱中占有非常重要的地位。据全球著名分析公司 Gartner 提供的数据,已有超过 63% 的用户已经部署或者将要部署 MySQL。 目前国内大部分互联网公司都选择 MySQL 数据库来支撑自己的业务,例如,你 阅读全文
posted @ 2020-11-10 21:35 Yaopengfei 阅读(1112) 评论(3) 推荐(1) 编辑
摘要: 一. Redis整体介绍 1. NOSQL介绍 1.什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SN 阅读全文
posted @ 2020-10-24 19:15 Yaopengfei 阅读(1520) 评论(3) 推荐(1) 编辑
摘要: 一. 业务背景 1. 计划 以商城项目为基础,剖析秒杀功能、购物车功能等 先把单体架构优化到极致,然后向微服务架构转变,并分析当中遇到的各种问题。 2. 用到的技术栈和工具 服务器:centos8 数据库:MySQL 5.7 集群 基础框架:Asp.Net Core +EF Core + Dappe 阅读全文
posted @ 2020-09-29 15:14 Yaopengfei 阅读(8396) 评论(12) 推荐(3) 编辑
摘要: 一. Linux简介 1. 什么是linux 世界上不仅只有一个 Windows 操作系统,还有 Linux、mac、Unix 等操作系统。桌面操作系统下 Windows 是霸主,而 Linux 的桌面操作系统用的人很少,因为 Windows 有的很多软件在 Linux 下没有或者很弱;服务器操作系 阅读全文
posted @ 2020-09-01 07:35 Yaopengfei 阅读(2437) 评论(7) 推荐(1) 编辑
摘要: 一. 架构演变历史 1. 集中式开发 最初的大型计算机使用打孔卡,并且大多数计算都在批处理过程中进行。 2. CS架构 客户端/服务器体系结构将大多数逻辑放在服务器端,并将某些处理放在客户端上。 3. BS三层架构 Web浏览器成为客户端软件,而Web和应用程序服务器托管所有处理和逻辑。 4. 面向 阅读全文
posted @ 2020-05-13 22:05 Yaopengfei 阅读(4124) 评论(15) 推荐(10) 编辑
摘要: 一. 简介 1. 数据库基本概念 (1). 数据库(DataBase:DB):数据库是是按照数据结构来组织、存储和管理数据的仓库。 >存储和管理数据的仓库. (2). 数据库管理系统(Database Management System:DBMS):是专门用于管理数据库的计算机系统软件。数据库管理系 阅读全文
posted @ 2020-03-30 10:06 Yaopengfei 阅读(1414) 评论(1) 推荐(1) 编辑
摘要: 目录 阶段一 第一节:时间复杂度和空间复杂度 第二节:线性表→顺序表→链表 逐个击破 第三节:从多个角度分析顺序表、链表的区别和特点 第四节:顺序表剖析及利用数组手撸“动态数组ArryList” 第五节:链表剖析及自己手撸“单链表”实现基本操作(初始化、增、删、改等) 第六节:手撸“循环链表”及约瑟 阅读全文
posted @ 2020-03-23 14:32 Yaopengfei 阅读(923) 评论(1) 推荐(0) 编辑
摘要: 一. 说明 从最初的EFCore2.0 → EFCore3.0 → EFCore3.1 → EFCore5.x→ EFCore6.x→ EFCore7.x→ EFCore7.x, 目前最新8.x,已完结 二. 系列章节 第一节:EF Core简介和CodeFirst和DBFirst两种映射模式(以S 阅读全文
posted @ 2019-04-07 17:19 Yaopengfei 阅读(2848) 评论(5) 推荐(4) 编辑
摘要: 一. 说明 持续更新,从2.x版本开始编写,经历了3.x版本,5.x版本、6.x版本、7.x版本、8.x版本,目前最新的是8.x版本,已完结 Core9.0 再来。。。。 二. 系列章节 第一节:.Net Core环境的安装和常用指令 第二节:SSL证书的申请、配置(IIS通用)及跳转Https请求 阅读全文
posted @ 2019-03-13 08:11 Yaopengfei 阅读(3818) 评论(7) 推荐(5) 编辑
摘要: 一. 说明 1. 目标 这里主要测试 EFCore8.x 版本提供的批量删除 和 批量更新; 以及老杨的框架 [Zack.EFCore.Batch] 以SQLServer为载体进行测试。 2. 准备 (1). 需要的程序集 必须的程序集: Microsoft.EntityFrameworkCore. 阅读全文
posted @ 2024-04-16 10:46 Yaopengfei 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 一. 基础升级 1. 版本升级 将各个类库、项目都升级为 .Net8.0 2. AutoFac升级 【AutoFac 6.4.0】 升级到 【8.0.0】 【Autofac.Extensions.Depend 8.0.0】 升级到 【9.0.0】 3. 基本库升级 【System.Text.Json 阅读全文
posted @ 2024-04-11 16:17 Yaopengfei 阅读(11) 评论(1) 推荐(0) 编辑
摘要: 一. 主构造函数 C# 12 引入了主构造函数,这是一种简明的语法,用于声明一些构造函数,它们的参数在类型主体中的任何位置可用 1. 初始化属性 /// <summary> /// 普通写法 /// </summary> public class People1 { public string na 阅读全文
posted @ 2024-04-11 13:52 Yaopengfei 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 一. 新功能清单 详见:https://learn.microsoft.com/zh-cn/ef/core/what-is-new/ef-core-8.0/whatsnew 二. 中断性变更 1. LINQ 查询中的 Contains 低版本SQLServer失效 (1). 说明 从 EF Core 阅读全文
posted @ 2024-04-08 10:24 Yaopengfei 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 一. 新变化 详见: https://learn.microsoft.com/zh-cn/aspnet/core/release-notes/aspnetcore-8.0?view=aspnetcore-8.0 如下图: 二. SignalR改变 JS中在ASP.NET Core 7.0 或更早版本 阅读全文
posted @ 2024-04-08 10:06 Yaopengfei 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 一. 二. 三. ! 作 者 : Yaopengfei(姚鹏飞) 博客地址 : http://www.cnblogs.com/yaopengfei/ 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权 阅读全文
posted @ 2024-04-08 07:42 Yaopengfei 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 一. 先序遍历 1. 题目分析 根节点→左子树→右子树 (先、中、后 指的是根节点的位置,然后都是先左后右) leetcode:https://leetcode.cn/problems/binary-tree-preorder-traversal/ 难度:【简单】 2. 递归的几种写法 (1). 函 阅读全文
posted @ 2024-03-19 10:54 Yaopengfei 阅读(7) 评论(1) 推荐(0) 编辑
摘要: 一. 不同路径 1. 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能 “向下或者向右” 移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例: leetcode:https 阅读全文
posted @ 2024-03-12 08:46 Yaopengfei 阅读(3) 评论(1) 推荐(0) 编辑
摘要: 一. 反转二叉树 一. 题目描述 给你一棵二叉树的根节点 root ,反转这棵二叉树,并返回其根节点。 示例: leetcode:https://leetcode.cn/problems/invert-binary-tree/description/ 难度:【简单】 二. 思路分析1-递归 1. 首 阅读全文
posted @ 2024-03-12 08:45 Yaopengfei 阅读(3) 评论(1) 推荐(0) 编辑
摘要: 一. 删除倒数第N个节点 一. 题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例: leetcode地址:https://leetcode.cn/problems/remove-nth-node-from-end-of-list/description/ 难度:【中 阅读全文
posted @ 2024-03-12 08:44 Yaopengfei 阅读(5) 评论(1) 推荐(0) 编辑
摘要: 一. 滑动窗口最大值 一. 题目描述 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。 滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。(求的是窗口每次移动中的最大值,最后组成的一个数组) 详见:https: 阅读全文
posted @ 2024-03-07 10:40 Yaopengfei 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 一. 二. 三. ! 作 者 : Yaopengfei(姚鹏飞) 博客地址 : http://www.cnblogs.com/yaopengfei/ 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权 阅读全文
posted @ 2024-03-06 12:02 Yaopengfei 阅读(5) 评论(0) 推荐(1) 编辑
摘要: 一. 二叉树展开为链表 1. 题目描述 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。 展开后的单链表应该与二叉树 先序遍历 顺序相同。(补充:先序遍历指的是 访 阅读全文
posted @ 2024-03-04 09:01 Yaopengfei 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 一. 最长公共前缀 1. 题目描述 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 详见:https://leetcode.cn/problems/longest-common-prefix/ 难度:【简单】 2. 思路分析 (1). 默认以数组中的第1个元素 阅读全文
posted @ 2024-02-28 10:06 Yaopengfei 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 一. 爬楼梯 1. 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 详见: https://leetcode.cn/problems/climbing-stairs/description/ 2. 分析 (1).根据题 阅读全文
posted @ 2024-02-21 20:23 Yaopengfei 阅读(19) 评论(1) 推荐(0) 编辑
摘要: 一. 动态规划详解 1. 定义 动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划也是互联网大厂和算法竞赛中非常喜欢考察的一类题目:因为通过动态规划可 阅读全文
posted @ 2024-02-20 11:19 Yaopengfei 阅读(8) 评论(1) 推荐(0) 编辑
摘要: 一. 复杂度总结 二. 性能测试 import BundleSort4 from './01-冒泡排序'; import selectionSort2 from './02-选择排序'; import insertionSort from './03-插入排序'; import mergeSort 阅读全文
posted @ 2024-02-19 10:34 Yaopengfei 阅读(6) 评论(1) 推荐(0) 编辑
摘要: 一. 二. 三. ! 作 者 : Yaopengfei(姚鹏飞) 博客地址 : http://www.cnblogs.com/yaopengfei/ 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权 阅读全文
posted @ 2024-02-03 09:30 Yaopengfei 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 一. 归并排序 【非常重要,必须手写出来,还必须理解,必须能快速手写出来】 1. 定义 它的基本思想是将待排序数组分成若干个子数组。然后将相邻的子数组归并成一个有序数组。最后再将这些有序数组归并(merge)成一个整体有序的数组。 2. 流程 步骤一:分解(Divide):归并排序使用递归算法来实现 阅读全文
posted @ 2024-01-24 21:17 Yaopengfei 阅读(9) 评论(3) 推荐(0) 编辑
摘要: 一. 认识排序算法 1. 排序算法的定义 在计算机科学与数学中,一个排序算法(英语:Sorting algorithm)是一种能将一串资料依照特定排序方式排列的算法。 2. 排序算法的分类标准 计算的时间复杂度:使用大O表示法,也可以实际测试消耗的时间; 内存使用量(甚至是其他电脑资源):比如外部排 阅读全文
posted @ 2024-01-17 08:26 Yaopengfei 阅读(18) 评论(1) 推荐(0) 编辑
摘要: 一. 红黑树简介 1. 背景 红黑树(英语:Red–black tree)是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构。 它在1972年由鲁道夫·贝尔发明,被称为“对称二叉B树”,它现代的名字源于Leo J. Guibas和罗伯特·塞奇威克于1978年写的一篇论文。 2. 性质 除了符 阅读全文
posted @ 2024-01-13 18:42 Yaopengfei 阅读(13) 评论(1) 推荐(0) 编辑
摘要: 一. 平衡树详解 1. 什么是平衡树? 平衡树(Balanced Tree)是一种特殊的二叉搜索树: 其目的是通过一些特殊的技巧来维护树的高度平衡; 从而保证树的搜索、插入、删除等操作的时间复杂度都较低; 2. 为什么需要平衡树? 如果一棵树退化成链状结构,那么搜索、插入、删除等操作的时间复杂度就会 阅读全文
posted @ 2024-01-09 16:40 Yaopengfei 阅读(10) 评论(1) 推荐(0) 编辑
摘要: 一. 双端队列 1. 回顾 默认的队列是先进先出的, 即只允许在front前端出队,在near后端入队 2. 什么是双端队列? 允许在队列的两端进行出队 和 入队 3. 实操 继承之前的队列MyQueue,然后新增addFront、removeBack两个方法即可 PS: 双端队列了解即可,实用性不 阅读全文
posted @ 2024-01-08 10:34 Yaopengfei 阅读(16) 评论(1) 推荐(0) 编辑
摘要: 一. 堆简介 1. 什么是堆结构? 堆的本质是一种特殊的树形数据结构,使用完全二叉树来实现,平时使用的基本都是二叉堆 二叉堆用树形结构表示出来是一颗完全二叉树,通常在实现的时候我们底层会使用数组来实现。 二叉堆又可以划分为最大堆和最小堆。 (1) 最小堆:堆中每一个节点都小于等于(<=)它的子节点; 阅读全文
posted @ 2024-01-05 08:41 Yaopengfei 阅读(46) 评论(1) 推荐(0) 编辑
摘要: 一. 循环链表简介 1. 什么是循环链表? 在普通链表的基础上,最后一个节点的下一个节点不再是 null,而是指向链表的第一个节点。 这样形成了一个环,使得链表能够被无限遍历。 这样,我们就可以在单向循环链表中从任意一个节点出发,不断地遍历下一个节点,直到回到起点。 二. 单项链表改造 1. 目的 阅读全文
posted @ 2024-01-02 09:41 Yaopengfei 阅读(12) 评论(1) 推荐(0) 编辑
摘要: 一. 图详解 1. 邻接矩阵 (1). 说明 邻接矩阵让每个节点和一个整数项关联,该整数作为数组的下标值。 我们用一个二维数组来表示顶点之间的连接。 二维数组[0][2] -> A -> C (2). 解析 在二维数组中,0表示没有连线,1表示有连线。 通过二维数组,我们可以很快的找到一个顶点和哪些 阅读全文
posted @ 2023-12-18 14:10 Yaopengfei 阅读(16) 评论(1) 推荐(0) 编辑
摘要: 一. 树详解 1. 树优点及横向比较 (1). 数组 (2). 链表 (3). 哈希表 (4). 树 2. 相关术语 ◼ 1.节点的度(Degree):节点的子树个数。 ◼ 2.树的度 (Degree) :树的所有节点中最大的度数。 ◼ 3.叶子节点(Leaf):度为0的节点。(也称为叶节点) ◼ 阅读全文
posted @ 2023-12-14 10:01 Yaopengfei 阅读(12) 评论(1) 推荐(0) 编辑
摘要: 一. 哈希表介绍 1. 什么是哈希表? 它的结构就是数组,但是它神奇的地方在于对数组下标值的一种变换,这种变换我们可以使用哈希函数,通过哈希函数可以获取到HashCode 哈希表的结构: [ [[key,value],[key,value],[key,value]], [[key,value],[k 阅读全文
posted @ 2023-12-06 08:47 Yaopengfei 阅读(32) 评论(1) 推荐(0) 编辑
摘要: 一. 时间复杂度 1. 现实案例 举个例子(现实的例子):在一个庞大的图书馆中,我们需要找一本书。 在图书已经按照某种方式摆好的情况下(数据结构是固定的) ◼ 方式一:顺序查找 一本本找,直到找到想要的书;(累死) ◼ 方式二:先找分类,分类中找这本书 先找到分类,在分类中再顺序或者某种方式查找; 阅读全文
posted @ 2023-12-03 07:28 Yaopengfei 阅读(16) 评论(1) 推荐(0) 编辑
摘要: 一. 链表详解 1. 对比数组 数组的创建通常需要申请一段连续的内存空间(一整块的内存),并且大小是固定的(大多数编程语言数组都是固定的),所以当当前数组不能满足容量需求时,需要扩容。 (一般情况下是申请一个更大的数组,比如2倍。 然后将原数组中的元素复制过去) 而且在数组开头或中间位置插入数据的成 阅读全文
posted @ 2023-11-16 08:30 Yaopengfei 阅读(23) 评论(1) 推荐(0) 编辑