- 博客(33)
- 收藏
- 关注
原创 centos7下 k8s的安装 2023年8月6日
系统:centos7etcd:3.5.7runc:1.1.5建议内核升级到5.10本次安装就只有一个master和两个个node节点其中 k8s-n1 是master节点网络插件:calico 3.26.0 (虽然目前是最新版本,官方文档没显示支持kubernetes1.27,但测试安装可以使用)
2023-08-06 00:34:26
1412
原创 /usr/bin/ld: 找不到 -ltingyungosdk
引入基听云包报如下错误 :/usr/bin/ld: 找不到 -ltingyungosdk
2023-01-03 11:03:59
717
原创 myqsl的事务和锁
本文通过,实际应用中提炼出的两个案例,介绍一下mysql事务和锁,以及相关的一些应用技巧。一、基本知识准备1. 表锁特点:不要求表引擎类型不是事务级别:需要手动解锁。锁定方式:lock table tablename read :锁定后别的会话,能读不能写。eg: > lock table user read;lock table tablename write :锁定后别的会话,不能读也不能写。eg: > lock table user write;解锁方
2022-03-04 11:11:52
1232
原创 12.线段树
参考视频:喵的编程课 https://www.bilibili.com/video/BV1yF411p7Bt1.线段树解决的问题:最大值最小值,加和2.线段树的底层,一般用数组。3.线段树的思想:小区间去更新大区间。一、什么是线段树线段树是一种二叉树,广义上也被归类为二叉搜索树。对于区间的修改,维护和查询时间复杂度优化为log级别。逻辑结构:对于一个区间,平均划分为2个区间,两个再划分为两个,依次类推,一直到区间中只有一个元素。只有一个元素的,的区间是叶子结点。叶子结点
2022-02-07 15:19:38
344
原创 10.红黑树
红黑树是实际应用中最常用的平衡二叉查找树,它不严格的具有平衡属性。(平衡属性:任意节点的左右子树的高度相差不大于1),平均的使用性能却很良好。一、什么是红黑树。结点被标记为红色和黑色两种颜色根节点是黑色的,每个叶结点都是不存储数据的黑色空结点。任何相邻的节点都不能同时为红色任意节点到其可到达的叶结点间包含相同数量的黑色结点。这样保证了:没有一条路径比其他路径长出2倍树的高度稳定趋近于log2n\log_{2}{n}log2n,从而各种操作的时间复杂度为log2n\log_{2}{
2022-01-26 20:58:34
305
原创 08.树和图的遍历
一、树的基本概念1.树的定义:形式化定义:(二编组,结点组D和边组R)树:T={D,R}。D是包含n个节点的有限集合(n>=0)。当n=0时为空树,否则关系R满足以下条件:有且有一个结点[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pyFy0975-1643095399522)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)],对于关系R来说
2022-01-25 16:53:39
571
原创 11.哈夫曼树和哈夫曼编码
哈夫曼树,是二叉树的一种很主要的应用。一、哈夫曼树的定义1.带权路径长度wpl设二叉树具有n个带权值的叶结点,那么从根结点到各个叶结点的路径长度与相应结点权值的乘积的和,叫做带权路径长度wpl(weighted path length)WPL=∑i=1nwiliWPL = \sum_{i=1}^{n}w_il_iWPL=i=1∑nwili1.相同的叶子结点,可以构造出不同的哈夫曼树。2.权值越大的叶结点,越接近根,整个哈夫曼树的wpl就会越小。2.哈夫曼树我们把具有最小带权路径
2022-01-24 20:32:44
495
原创 09.二叉排序树和平衡二叉树
一、二叉排序树1.什么是二叉排序树二叉排序树要么是空二叉树 ,要么具有如下特点:二叉排序树中,如果其根结点有左子树,那么左子树上所有结点的值都小于根结点的值;二叉排序树中,如果其根结点有右子树,那么右子树上所有结点的值都大于根结点的值;二叉排序树的左右子树也要求都是二叉排序树;如下图就是一个二叉排序树:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VsGloKcV-1642763317481)(C:\Users\86186\AppData\Roaming\T
2022-01-21 19:09:21
1815
原创 07.AOE网和图的关键路径
相关代码地址:https://gitee.com/gudongkun/datestruct一、什么是AOE网AOE(Activity on edge network) :在一个表示工程的带权有向图中,用顶点表示事件,用有向边表示活动,边上的权值表示活动的持续时间,称这样的有向图叫做边表示活动的网,简称AOE网AOE网中没有入边的顶点称为始点(或源点);没有出边的点称为终点(或汇点)二、AOE网的性质只有再某顶点所代表的事件发生后,从该顶点出发的活动才能开始;只有再进入某顶点的各活动都结束,该顶
2022-01-14 18:49:19
554
原创 06.AOV网和图的拓扑排序
一、AOV网:用顶点表示活动,用弧表示活动的依赖关系,称之为顶点表示活动的网(activity on vertex network),简称AOV网应用举例,排课程表:课程编号课程名称先修课程C1C_1C1高等数学无C2C_2C2程序设计基础无C3C_3C3离散数学C1,C2C_1,C_2C1,C2C4C_4C4数据结构C2,C3C_2,C_3C2,C3C5C_5C5算法语言C2C_2C2C6C_6C6编程技
2022-01-14 11:08:15
742
原创 05.图的最短路径
一、迪杰斯特拉算法(dijkstra)1.算法特点时间复杂度低不能处理有负边权的图。2.算法思想:起始点为中心向外层层扩展,直到扩展到终点为止;将图所有点的集合 s 分成,已经找到最短路径的点u和未找到最短路径的点v;迭代,取得 U 中距离 v 最短的点 k,将 k 加到 V 集合中,将 k 从 U 集合删除,再将 k 设为中间点 v。重复此过程直到 U 集合为空;3.算法描述:初始化三个数组bestBath : 已经是最优路径的点,初始时都为false;minDist
2022-01-13 18:08:39
216
原创 04.图的最小生成树算法-普利姆和克努斯卡尔
一、克努斯卡尔的代码实现1. 图的邻接矩阵实现mgraph.gopackage graphimport "errors"const MaxSize = 20type MGraph struct { Edges [MaxSize][MaxSize]int EdgeNum int Nodes []string Indexs map[string]int}type Edge struct { NodeStart, NodeEnd string Val
2022-01-12 15:55:21
206
原创 03.并查集和克努斯卡尔最小生成树算法
一、并查集是什么英文union find,有人说并查集是最简洁而优雅的数据结构之一,主要用于解决一些元素分组的问题。它管理一系列不相交的集合,并支持两种操作: 合并(Union):把两个不相交的集合合并为一个集合。 查询(Find):查询两个元素是否在同一个集合中。 形象的解释一下,并查集的使用过程:就好像是一个盘子里有很多小水滴,你给他们编好号,如:1、2、3、4、5 ... ... 。合并:就好像是,把这些小水滴,用筷子拨到一起(可以是两个单独的水滴;也可以是,1个
2022-01-11 02:06:52
271
原创 01、kmp算法和串
1.KMP是什么?kmp算法是高效的字符串匹配算法; 知识点来源于串,这一章。2.why 串?c语言本身的字符串,太简陋,甚至获取字符串长度都是O(n)的;很多c程序都有对字符串的封装,如redis的 sds,串,就是对这种封装思想的一个介绍,和实现标准。除字符串匹配外,串的其他知识相对比较简单,放到本节最后介绍。3.why KMP?(1)简单匹配方式字符串的简单匹配方式又称幼稚匹配方式,它的思路很直接:一个指针指向原字符串开始称为比较指针,另外一个指针指向匹配串开始称为匹配指针。比较指
2022-01-10 19:59:14
414
原创 02、二叉堆、堆排序和优先队列
一、树大于等于一个结点的有限节点,有层次关系的集合,满足下面三个条件:有且只有一个结点,没有父结点,称为根。除了根外,其他结点都都有且只有一个父节点。树中的每个结点都构成以它为根的数。二、二叉树在满足树的定义的前提下,还要满足:每个最多有两个孩子孩子有左右只分,不能颠倒特性:二叉树第i成上的结点数目最多为 2i−12^{i-1}2i−1(i >= 1)深度为k的二叉树至多有2k−12^k - 12k−1个结点(k>=1)包含n个结点的二叉树的高度至少为log2
2022-01-10 19:57:44
326
原创 gomicro v2--04 链路追踪jaeger和监控Prometheus
二、如何扩展go micro的扩展1.pluginGo Micro 构建于 Go 接口之上. 因此这些接口的实现是可插拔的.默认情况下, go-micro 只提供核心上每个接口的几个实现, 但它是完全可插拔的. 已经有几十个插件, 在这里github.com/micro/go-plugins欢迎贡献! 插件可确保 Go Micro 服务在技术发展后长期保持生存。如果要集成插件, 只需将它们链接到单独的文件中并重新生成创建 plugins.go 文件并导入所需的插件:packa...
2021-12-20 22:40:40
1800
原创 gomicro v2--03 日志和中间件
一、如何自定义zap日志Uber-go Zap(是非常快的、结构化的,分日志级别的Go日志库。二、如何扩展go micro的扩展1.pluginGo Micro 构建于 Go 接口之上. 因此这些接口的实现是可插拔的.默认情况下, go-micro 只提供核心上每个接口的几个实现, 但它是完全可插拔的. 已经有几十个插件, 在这里github.com/micro/go-plugins欢迎贡献! 插件可确保 Go Micro 服务在技术发展后长期保持生存。 添加插件如果要集成插..
2021-12-20 22:37:57
927
原创 gomicro v2--02 基本框架搭建
本节,将创建一个 customer 微服务,提供登陆注册功能;gateway,调用微服务,并对外提供http api接口使用上文中提到的第二种方式,完成 微服务调用。本机需要用到etcd,安装范式请自行搜索。一、编写customer服务1.安装依赖go get -v -u google.golang.org/grpc // gRPCgo get -v -u github.com/golang/protobuf/protoc-gen-go // 安装protoc go插件
2021-12-17 10:57:44
583
原创 gomicro v2--01 grpc介绍
本文是对微服务和gorpc细节的阐述,如果想立刻开始使用gomicro v2 , 请直接移步第二课 go micro v2基本架构搭建。一、grpc简介微服务的解决方案有很多,如 专注于服务治理的 dubbo、java的全栈式解决方案springcloud、专注于通讯和跨语言的thrift、当然还有go语言原生的grpc.一般不考虑跨语言的话,go 的首选方案就是 grpc 。GRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C.
2021-12-17 10:25:22
1397
原创 数据结构6-树
数据结构分为 线性结构和非线性结构,树是一种非线性结构。1.树的基本概念1.树的定义:形式化定义:(二编组,结点组D和边组R)树:T={D,R}。D是包含n个节点的有限集合(n>=0)。当n=0时为空树,否则关系R满足以下条件:有且有一个结点,对于关系R来说没有前驱结点,结点称作根结点。 除了根节点外,每个结点有且仅有一个前驱结点。 D中每个结点可以有0个或多个后继结点。递归定义:树是由n(n>=0)个结点组组成的有限集合(记为T)。其中:如果n=0,它.
2021-12-04 12:59:16
281
原创 数据结构系列-7 图
一、图的基本概念二、图的存储结构三、图的遍历操作四、最小生成树五、最短路径1.dijkstra 算法(地接特斯拉算法)2.bellman-ford(贝尔曼福田算法)算法特点:时间复杂度高 O(mn) 可以处理负边全情况 不能处理有 负边权回路 的情况(从一点开始走回路,权值为负数)算法描述:六、拓扑排序七、关键路径...
2021-11-22 22:54:27
748
原创 数据结构系列-8 串
1.定义串就是字符串,是0个或者多个字符组成的有序序列。2.串的操作:赋值操作 获取长度操作 串比较操作 串连接操作 求子串操作:求给定字符串,从某一位置开始,到某一位置结束的串的操作 串清空操作3.串的模式匹配算法 幼稚字符匹配算法(优点容易理解,缺点效率低) 匹配串和原字符串对齐, 依次比较,是否所有字符串相同。 如果不相同,匹配串开始下班,和原字符串第二个对齐,比较指针指向匹配串开头(称为回溯)重新开始比较 如果再发现不同,匹配串移动到,原字符和...
2021-11-11 21:09:34
487
原创 数据结构系列-10 并查集(union find)
1.什么是并查集?并查集(union find)是一种用于跟踪元素的数据结构,它通过一个或者多个不相交的集合来跟踪元素。主要支持两种操作查找find和合并union2.应用:克努斯卡尔最小成成树算法。参考演示:最小生成树算法演示_bilibili通过上面的演示,能更好的理解什么是并查集,和并查集的用法3.如何创建并查集首先需要在元素和整数之间[0,n),简历一个映射关系数组下标,代表元素,值代表父元素(组),开始时,父元素就是下标自己。注意,本步骤并非必须,但是它.
2021-11-03 22:59:18
250
原创 数据结构系列-12 平衡二叉树
平衡二叉树基于 查找二叉树。大家知道如果,如果建立查找二叉树,的序列是随机的,二叉树的查找性能会接近 O(logn) ,但是如果,序列是顺序的如从小到大,建立的查找二叉树,就会变成一个所有节点只有右孩子的,链表。查找效率会退化成 O(n), 原因就是这棵树不平衡了。判断一个棵树平衡的标准是什么,如何构建和调整一棵树,使他平衡呢。答案就是 平衡二叉树(AVL)1.什么是平衡因子?是一个数值,每个节点的平衡因子 = 左子树的高度 - 右子树的高度2.平衡二叉的标准是什么?每个节点的平衡因
2021-11-03 22:15:03
503
原创 常用api管理工具
1.api foxApifox - API 文档、调试、Mock、测试一体化协作平台 - 接口文档工具,接口自动化测试工具,接口Mock工具,API文档工具,API Mock工具,API自动化测试工具2.postman3.yapiYApi 接口管理平台4.Swagger接口文档自动生成...
2021-11-02 11:49:00
6972
原创 数据结构系列-11 二叉搜索数(bst)
1.什么是树?树是一个无环的,无向连同图 有n-1个节点,和n-1条边 有一个根节点,通常需要一个引用 任意点条连接,且只有条路径2.树的相关概念父节点:直接相连的两个节点,上面的叫父节点。 子节点:下面的叫子节点。 根节点:没有父节点,有的实现中,根节点的父节点,指向自己。 叶子节点:没有子节点的节点。 子树:包含再一棵树中的小数 用表示2.什么是二叉树(bt)英文 binnary tree 简称BT ,每个节点最多只有两颗数,3.什么是二叉搜索数二叉搜索数 ,英
2021-11-02 11:09:24
419
原创 dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicuuc.63.dylib 错误解决
mac下安装node后执行php包如下错误:dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicuuc.63.dylib Referenced from: /usr/local/bin/php Reason: image not foundAbort trap: 6是icu4c的版本问题,可以通过切换版本解决...
2019-11-06 10:48:16
753
原创 mysql常用命令
1.DDL (数据库定义语言)CREATEALTERDROPTRUNCATECOMMENTRENAME2.DML(数据操纵语言)SELECTINSERTUPDATEDELETEMERGECALLEXPLAIN PLANLOCK TABLE3.DCL,(数据库控制语言)GRANT 授权REVOKE 取消授权4.T
2016-10-08 10:28:56
159
原创 linux由浅入深(10.1 )-- shell中的变量
1.shell 是弱类型语言,默认情况下保存一个字符串。 因此要进行一些 数学逻辑等运算要 使用特殊符号。2.shell 变量 按照功能可分成一下几大类a.环境变量(系统运行后自动产生,也可以自定义,自动产生的一般和系统的运行状态密切关联,能反映或者影响系统的运行)作用域:本次bash进程,和他的子进程定义方式 : export 环境变量=环境变量值 (export varnam
2015-10-20 07:32:43
438
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人