自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(173)
  • 收藏
  • 关注

原创 微服务必备容器化技术

在微服务的体系架构中,因为应用程序会进行拆分,这时就会存在多个服务需要部署运行,相应的多个服务之间具有多种部署方案,这时传统的方式就会面临巨大的挑战。在特殊时候需要动态的并快速的新增服务或减少服务,例如在秒杀抢购服务在双十一的时候才具有较大的并发流量,流量可能是平时的好几倍需要做好扩容,但是在平时又不存在这么多的流量,因此对整个程序就需要做到自适应伸缩扩容。

2024-06-19 18:45:12 1144

原创 上手微服务框架go-zero

如下就是具体api服务与中间件及路由的加载流程储上是采用了树的方式存储,在业界中对路由的存储方式主要有两种是基于树是基于字典两种方式相对而言字典速度是最快的,但是它会存储较多重复的内容;如上面两个路由,路由的前缀实际上是相同的,go-zero的方式非传统二叉树,而是树和字典的结合如下是存储的示意图在存储的时候子集存储的存储方式采用的是map[string]*node方式存储,在性能上是o(log2)同比与字段会稍慢,但可以较少较多的存储空间。综合居中。

2024-06-19 15:38:16 1205

原创 掌握rpc、grpc并探究内在本质

在go语言中自带了net/rpc包,在这个包中包含了对rpc的封装,可以理解为就是之前提到的与其中是go内部提供的一种默认的序列化方式。在前面的内容中给大家介绍了rpc的功能、案例以及go中net/rpc的实现,在目前的业界中项目的开发技术u运用越来越多,如多种语言的结合开发,多平台的结合开发。在这种情况下就会带来新的问题,如rpc如何设计可以很好的支持版本的迭代发展问题在各个项目中对于rpc的交互如何实现跨平台跨语言的问题针对普通rpc在通讯中存在的问题google提出grpc来解决。

2024-06-18 15:10:22 1287 1

原创 从0进入微服务需要了解的基础知识

在当下的架构中对软件项目而言应用程序是整体部署,随系统的运行会发现,存在一些模块它的用户访问量明显远远大于其他模块,并且在一些模块中业务的变更复杂度远高于其他模块,因此在应用程序的基础上就进行拆分,根据业务及访问热度拆分成多个服务分别部署在不同机器上,从而演化成为微服务。:这种方式相当于直接电话沟通。微服务实际上是一种形式与思想的转变,在传统的单体项目开发中以一份代码部署一个服务来实现需求的项目,而微服务项目的开发则是将一份项目代码,拆分为多个服务代码,每一个服务代码部署运行并最终一起实现需求的项目。

2024-06-17 16:38:39 962

原创 结合gin框架在沙箱环境下实现支付宝电脑网站支付和当面支付

点击链接,扫码进入后,点击沙箱:点击沙箱应用,可以看到APPID,接口加签方式选择系统默认密钥就行,启用公钥模式。然后点击查看。由于后端使用go,我们选择非JAVA语言,这里我们只需要应用公钥和支付宝公钥。接下来我们在项目根目录新建配置文件分别将你的AppIdPrivateKey复制进去。其中NotifyURL是的异步通知地址,这个地址需要是公网地址,这样支付宝才可以访问然后给你发支付后的通知,ReturnURL。

2024-06-17 10:53:02 784

原创 服务架构的设计原则

幂等性对大多数同志来说是容易忽视的问题,但无论是单体还是微服务都会考虑这个问题,相对而言微服务项目在项目运行中是非常需要关注的问题。在项目中如服务与服务之间的消息通讯,目标服务没有及时处理或者返回,调用方服务可能会采取重试机制,此时可能就会造成服务端对同一个任务处理两次的情况,顾需要考虑幂等性的设计防止这种情况的产生。

2024-06-12 22:24:22 1644

原创 AcWing 843. n-皇后问题——算法基础课题解

𝑛−皇后问题是指将 𝑛 个皇后放在 𝑛×𝑛 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。每个解决方案占 𝑛 行,每行输出一个长度为 𝑛 的字符串,用来表示完整的棋盘状态。主对角线是从左上到右下的对角线。对于一个棋盘上的位置。现在给定整数 𝑛,请你输出所有的满足条件的棋子摆法。例如,对于一个 8x8 的棋盘,位置。表示某一个位置的方格上摆着皇后。,在主对角线上使用的索引是。,在副对角线上使用的索引是。,在主对角线上,所有位置。,在副对角线上,所有位置。

2024-06-06 18:50:06 545

原创 AcWing 842. 排列数字——算法基础课题解

的值也会恢复到进入当前层之前的状态(通过局部变量的作用域自然实现),这样就可以继续尝试其他的数字组合。变量通过位运算来跟踪哪些数字已经被使用过。给定一个整数 𝑛,将数字 1∼𝑛 排成一排,将会有很多种排列方法。完成当前分支后,递归函数将结束当前层的执行并返回上一层,同时。现在,请你按照字典序将所有的排列方法输出。按字典序输出所有排列方案,每个方案占一行。假设我们要找出 1 到 3 的所有排列。我们从数字 1 开始尝试,直到数字 3。共一行,包含一个整数 𝑛。,表示数字 1 已被使用。

2024-06-06 10:53:13 466

原创 C++ STL简介——算法基础课

【代码】C++ STL简介——算法基础课。

2024-06-05 18:53:09 103

原创 AcWing 841. 字符串哈希——算法基础课题解

给定一个长度为 𝑛 的字符串,再给定 𝑚 个询问,每个询问包含四个整数 𝑙1,𝑟1,𝑙2,𝑟2,请你判断[𝑙1,𝑟1] 和[𝑙2,𝑟2] 这两个区间所包含的字符串子串是否完全相同。接下来 𝑚 行,每行包含四个整数 𝑙1,𝑟1,𝑙2,𝑟2,表示一次询问所涉及的两个区间。第二行包含一个长度为 𝑛 的字符串,字符串中只包含大小写英文字母和数字。对于每个询问输出一个结果,如果两个字符串子串完全相同则输出。第一行包含整数 𝑛 和 𝑚,表示字符串长度和询问次数。注意,字符串的位置从 1 开始编号。

2024-06-05 18:43:19 504

原创 AcWing 840. 模拟散列表——算法基础课题解

选取 N 的时候一般为大于数据总个数的 2~3 倍的第一个质数。现在要进行 𝑁 次操作,对于每个询问操作输出对应的结果。,输出一个询问结果,如果 𝑥 在集合中出现过,则输出。接下来 𝑁 行,每行包含一个操作指令,操作指令为。:N 一般为大于数据总个数的第一个质数。第一行包含整数 𝑁,表示操作数量。

2024-06-05 16:59:18 267

原创 AcWing 839. 模拟堆——算法基础课题解

现在要进行 𝑁 次操作,对于所有第 2 个操作,输出当前集合的最小值。接下来 𝑁 行,每行包含一个操作指令,操作指令为。,输出一个结果,表示当前集合中的最小值。第一行包含整数 𝑁。

2024-05-31 18:48:23 518

原创 AcWing 838. 堆排序——算法基础课题解

输入一个长度为 𝑛 的整数数列,从小到大输出前 𝑚 小的数。共一行,包含 𝑚 个整数,表示整数数列中前 𝑚 小的数。第二行包含 𝑛 个整数,表示整数数列。第一行包含整数 𝑛 和 𝑚。1≤数列中元素≤10^9。

2024-05-31 16:05:03 325

原创 AcWing 240. 食物链——算法基础课题解

此人对 𝑁 个动物,用上述两种说法,一句接一句地说出 𝐾 句话,这 𝐾 句话有的是真的,有的是假的。以下 K𝐾 行每行是三个正整数 𝐷,𝑋,𝑌,两数之间用一个空格隔开,其中 𝐷 表示说法的种类。动物王国中有三类动物 𝐴,𝐵,𝐶,这三类动物的食物链构成了有趣的环形。每个动物都是 𝐴,𝐵,𝐶 中的一种,但是我们并不知道它到底是哪一种。你的任务是根据给定的 𝑁 和 𝐾 句话,输出假话的总数。若 𝐷=1,则表示 𝑋 和 𝑌 是同类。𝐴 吃 𝐵,𝐵 吃 𝐶,𝐶 吃 𝐴。,表示 𝑋 和 𝑌 是同类。

2024-05-30 15:07:26 514

原创 AcWing 837. 连通块中点的数量——算法基础课题解

给定一个包含 𝑛 个点(编号为 1∼𝑛)的无向图,初始时图中没有边。接下来 𝑚 行,每行包含一个操作指令,指令为。,如果 𝑎 和 𝑏 在同一个连通块中,则输出。,输出一个整数表示点 𝑎 所在连通块中点的数量。第一行输入整数 𝑛 和 𝑚。

2024-05-30 11:06:39 528

原创 AcWing 836. 合并集合——算法基础课题解

一共有 𝑛 个数,编号是 1∼𝑛,最开始每个数各自在一个集合中。,都要输出一个结果,如果 𝑎 和 𝑏 在同一集合内,则输出。接下来 𝑚 行,每行包含一个操作指令,指令为。第一行输入整数 𝑛 和 𝑚。

2024-05-29 15:53:26 306

原创 AcWing 143. 最大异或对——算法基础课题解

在给定的 𝑁 个整数 𝐴1,𝐴2……𝐴𝑁 中选出两个进行 𝑥𝑜𝑟(异或)运算,得到的结果最大是多少。第二行输入 𝑁 个整数 𝐴1~𝐴𝑁。第一行输入一个整数 𝑁。输出一个整数表示答案。

2024-05-29 10:50:41 243

原创 AcWing 835. Trie字符串统计——算法基础课题解

共有 𝑁 个操作,所有输入的字符串总长度不超过 10^5,字符串仅包含小写英文字母。,都要输出一个整数作为结果,表示 𝑥 在集合中出现的次数。接下来 𝑁 行,每行包含一个操作指令,指令为。第一行包含整数 𝑁,表示操作数。

2024-05-28 16:55:51 348

原创 AcWing 831. KMP字符串——算法基础课题解

它的主要目的是在模式匹配过程中,当遇到字符不匹配的情况时,提供一种快速跳转的方法,从而避免重复比较已经匹配过的字符。给定一个字符串 𝑆,以及一个模式串 𝑃,所有字符串中只包含大小写英文字母以及阿拉伯数字。共一行,输出所有出现位置的起始下标(下标从 0 开始计数),整数之间用空格隔开。当我们在文本中匹配模式串时,如果在某个位置字符不匹配,可以使用。数组跳转到上一个可能的匹配位置,避免重新比较已经匹配的部分。

2024-05-23 15:54:39 380 2

原创 AcWing 154. 滑动窗口——算法基础课题解

第一行包含两个整数 𝑛 和 𝑘,分别代表数组长度和滑动窗口的长度。你的任务是确定滑动窗口位于每个位置时,窗口中的最大值和最小值。有一个大小为 𝑘 的滑动窗口,它从数组的最左边移动到最右边。第一行输出,从左至右,每个位置滑动窗口中的最小值。第二行输出,从左至右,每个位置滑动窗口中的最大值。第二行有 𝑛 个整数,代表数组的具体数值。给定一个大小为 n≤10^6 的数组。你只能在窗口中看到 𝑘 个数字。每次滑动窗口向右移动一个位置。同行数据之间用空格隔开。

2024-05-22 10:57:57 506

原创 AcWing 830. 单调栈——算法基础课题解

共一行,包含 𝑁 个整数,其中第 𝑖 个数表示第 𝑖 个数的左边第一个比它小的数,如果不存在则输出 −1。给定一个长度为 𝑁 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1。第二行包含 𝑁 个整数,表示整数数列。第一行包含整数 𝑁,表示数列长度。1≤数列中元素≤10^9。

2024-05-21 10:19:33 379

原创 AcWing 829. 模拟队列——算法基础课题解

现在要对队列进行 𝑀 个操作,其中的每个操作 3 和操作 4 都要输出相应的结果。第一行包含整数 𝑀,表示操作次数。接下来 𝑀 行,每行包含一个操作命令,操作命令为push xpopemptyquery中的一种。对于每个empty和query操作都要输出一个查询结果,每个结果占一行。其中,empty操作的查询结果为YES或NOquery操作的查询结果为一个整数,表示队头元素的值。1≤𝑥≤10^9,所有操作保证合法。NO 6 YES 4。

2024-05-20 16:49:48 220

原创 AcWing 3302. 表达式求值——算法基础课题解

给定一个表达式,其中运算符仅包含+,-,*,/(加 减 乘 整除),可能包含括号,请你求出表达式的最终值。-1+2//eval()共一行,为给定表达式。共一行,为表达式的结果。表达式的长度不超过 10^5。8。

2024-05-16 09:06:09 322

原创 AcWing 828. 模拟栈——算法基础课题解

现在要对栈进行 𝑀 个操作,其中的每个操作 3 和操作 4 都要输出相应的结果。第一行包含整数 𝑀,表示操作次数。接下来 𝑀 行,每行包含一个操作命令,操作命令为push xpopemptyquery中的一种。对于每个empty和query操作都要输出一个查询结果,每个结果占一行。其中,empty操作的查询结果为YES或NOquery操作的查询结果为一个整数,表示栈顶元素的值。1≤𝑥≤10^9,所有操作保证合法。

2024-05-15 09:52:11 345

原创 AcWing 827. 双链表——算法基础课题解

题目中第 k 个插入的数并不是指当前链表的第 k 个数。例如操作过程中一共插入了 n 个数,则按照插入的时间顺序,这 n 个数依次为:第 1 个插入的数,第 2 个插入的数,……第 n 个插入的数。现在要对该链表进行 M 次操作,进行完所有操作后,从左到右输出整个链表。第一行包含整数 M,表示操作次数。共一行,将整个链表从左到右输出。

2024-05-06 17:10:32 290

原创 AcWing 826. 单链表——算法基础课题解

题目中第 k 个插入的数并不是指当前链表的第 k 个数。例如操作过程中一共插入了 n 个数,则按照插入的时间顺序,这 n 个数依次为:第 1 个插入的数,第 2 个插入的数,……第 n 个插入的数。现在要对该链表进行 M 次操作,进行完所有操作后,从头到尾输出整个链表。第一行包含整数 M,表示操作次数。共一行,将整个链表从头到尾输出。

2024-04-26 19:33:54 241

原创 Gin+WebSocket实战——在线聊天室WebSocketDemo详细使用教程

利用GinWebSocket实现的在线聊天室Demo项目,支持加入/离开聊天室广播、给其他用户发送消息等。

2024-04-25 15:31:38 1012 2

原创 AcWing 803. 区间合并——算法基础课题解

例如:[1,3]和 [2,6] 可以合并为一个区间[1,6]。给定 n 个区间 [li,ri],要求合并所有有交集的区间。共一行,包含一个整数,表示合并区间完成后的区间个数。接下来 n 行,每行包含两个整数 l 和 r。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。第一行包含整数 n。

2024-04-24 10:11:24 415

原创 AcWing 802. 区间和——算法基础课题解

接下来,进行 m 次询问,每个询问包含两个整数 l 和 r,你需要求出在区间 [l,r] 之间的所有数的和。现在,我们首先进行 n 次操作,每次操作将某一位置 x 上的数加 c。假定有一个无限长的数轴,数轴上每个坐标上的数都是 0。共 m 行,每行输出一个询问中所求的区间内数字和。再接下来 m 行,每行包含两个整数 l 和 r。接下来 n 行,每行包含两个整数 x 和 c。第一行包含两个整数 n 和 m。

2024-04-23 18:12:51 238

原创 AcWing 801. 二进制中1的个数——算法基础课题解

共一行,包含 n 个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中 1 的个数。给定一个长度为 n 的数列,请你求出数列中每个数的二进制表示中 1 的个数。这种计算方式是基于二进制补码的原理,它是计算机内部表示和处理负数的一种方式。进行按位与操作,结果都等于这个数的最低位。的二进制补码来计算的。的二进制补码,它的计算方式是先对。减去它的二进制表示中最低位的。的二进制表示取反,然后加。的二进制表示中的最低位的。的二进制表示中的最低位的。的二进制表示中最低位的。的二进制表示中最低位的。

2024-04-22 10:06:41 756

原创 AcWing 2816. 判断子序列——算法基础课题解

给定一个长度为 n 的整数序列 a1,a2,……,an 以及一个长度为 m 的整数序列 b1,b2,……而得的序列,例如序列 {a1,a3,a5} 是序列 {a1,a2,a3,a4,a5}的一个子序列。第二行包含 n 个整数,表示 a1,a2,……第三行包含 m 个整数,表示 b1,b2,……如果 a 序列是 b 序列的子序列,输出一行。请你判断 a 序列是否为 b 序列的子序列。第一行包含两个整数 n,m。子序列指序列的一部分项按。

2024-04-21 17:01:44 226

原创 AcWing 800. 数组元素的目标和——算法基础课题解

第一行包含三个整数 n,m,x,分别表示 A 的长度,B 的长度以及目标值 x。给定两个升序排序的有序数组 A 和 B,以及一个目标值 x。请你求出满足 A[i]+B[j]=x 的数对 (i,j)。第二行包含 n 个整数,表示数组 A。第三行包含 m 个整数,表示数组 B。共一行,包含两个整数 i 和 j。数组长度不超过 10^5。同一数组内元素各不相同。数组下标从 0 开始。1≤数组元素≤10^9。

2024-04-20 15:32:24 330

原创 AcWing 799. 最长连续不重复子序列——算法基础课题解

给定一个长度为 n 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。第二行包含 n 个整数(均在 0∼10^5 范围内),表示整数序列。共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。第一行包含整数 n。

2024-04-19 16:49:20 286

原创 AcWing 798. 差分矩阵——算法基础课题解

输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。直接更新会导致每次操作的时间复杂度和该子矩阵的大小成正比,当操作次数和矩阵大小都很大时,直接更新效率低下。接下来 q 行,每行包含 5 个整数 x1,y1,x2,y2,c,表示一个操作。共 n 行,每行 m 个整数,表示所有操作进行完毕后的最终矩阵。对差分矩阵的操作最终将被应用回原矩阵以反映所有的更新。

2024-04-18 10:02:56 414

原创 AcWing 797. 差分——算法基础课题解

输入一个长度为 n 的整数序列。接下来输入 m 个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r]之间的每个数加上 c。请你输出进行完所有操作后的序列。第一行包含两个整数 n 和 m。第二行包含 n 个整数,表示整数序列。接下来 m 行,每行包含三个整数 l,r,c,表示一个操作。共一行,包含 n 个整数,表示最终序列。1≤l≤r≤n1,−1000≤整数序列中元素的值≤1000。

2024-04-17 10:19:15 440

原创 AcWing 796. 子矩阵的和——算法基础课题解

输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。接下来 q 行,每行包含四个整数 x1,y1,x2,y2,表示一组询问。接下来 n 行,每行包含 m 个整数,表示整数矩阵。对于每个询问输出子矩阵中所有数的和。共 q 行,每行输出一个询问的结果。−1000≤矩阵内元素的值≤1000。第一行包含三个整数 n,m,q。

2024-04-12 10:58:25 493

原创 AcWing 795. 前缀和——算法基础课题解

输入一个长度为 n 的整数序列。接下来再输入 m 个询问,每个询问输入一对 l,r,。对于每个询问,输出原序列中从第 l 个数到第 r 个数的和。

2024-04-11 10:45:06 268

原创 AcWing 794. 高精度除法——算法基础课题解

给定两个非负整数(不含前导 0) A,B,请你计算 A/B 的商和余数。共两行,第一行包含整数 A,第二行包含整数 B。共两行,第一行输出所求的商,第二行输出所求余数。1≤A 的长度≤100000,

2024-04-10 19:21:56 423

原创 AcWing 793. 高精度乘法——算法基础课题解

给定两个非负整数(不含前导 00) A 和 B,请你计算 A×B 的值。将B看成一个整体再相乘,不要一位一位的乘!共两行,第一行包含整数 A,第二行包含整数 B。共一行,包含 A×B 的值。1≤A的长度≤100000,

2024-04-10 15:51:04 401

原创 AcWing 792. 高精度减法——算法基础课题解

给定两个正整数(不含前导 0),计算它们的差,计算结果可能为负数。共两行,每行包含一个整数。共一行,包含所求的差。1≤整数长度≤10^5。

2024-04-09 16:45:18 317

全国大学生市场调查与分析大赛16篇国家级一等奖报告

大赛的参考范文资源主要包括以下几类: 往届大赛获奖作品:往届大赛获奖作品是参赛者学习和参考的重要资源。这些作品可以帮助参赛者了解大赛的评审标准,以及如何撰写一份高质量的市场调查报告。 市场研究相关书籍和文章:市场研究相关书籍和文章可以帮助参赛者了解市场研究的基本知识和方法。这些资源可以为参赛者提供理论基础,并帮助他们提高市场研究技能。 市场研究相关网站和平台:市场研究相关网站和平台可以为参赛者提供最新的市场研究信息和资源。这些资源可以帮助参赛者了解市场发展趋势,并拓宽视野。 以下是一些推荐的参考范文资源: 往届大赛获奖作品:可以从大赛官网下载往届大赛获奖作品。 市场研究相关书籍:可以从图书馆或书店借阅市场研究相关书籍。 市场研究相关文章:可以从互联网上搜索市场研究相关文章。 市场研究相关网站和平台:可以访问中国市场研究协会(CMRI)网站、艾瑞咨询网站等。

2023-08-27

博客系统前后端源码合集,beego实现

b站视频:https://www.bilibili.com/video/BV1YV411b7JJ/?spm_id_from=333.999.0.0&vd_source=84fc27804252448ba51ef3b6abfd5d36 笔者对源码有优化升级,欢迎下载学习使用。

2023-07-30

300套前端学习资料源码(附带一些python源码)

内含300套学习资料源码,包括爱心、相册、飞机大战、圣诞树、表白、樱花、生日祝福等非常多源码学习资料,你能想到的都有。

2023-07-27

bubble清单小项目(Gin+Gorm)前后端代码合集

bubble清单小项目(Gin+Gorm)前后端代码合集

2023-07-19

空空如也

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

TA关注的人

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