自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux命令学习-sed命令

sed是一个功能强大的流式文本编辑器。主要用于对文本流进行修改、替换、删除等操作。它可以读取文件或标准输入,进行各种编辑操作,然后将结果输出到标准输出或文件中。把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space)【sed是行处理的编辑器】用sed命令处理缓冲区中的内容;处理完成后,把缓冲区的内容送往屏幕,也可以重定向到文件中,注意,原文件内容本身没有变化。接着处理下一行,这样不断重复,直到文件末尾sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;

2024-09-15 16:38:54 1526

原创 windows安装docker、elasticsearch、kibana、cerebro、logstash

以管理员权限打开 Windows PowerShell,或者直接搜索Windows PowerShell,然后右键以管理员身份打开。然后以管理员的身份打开windows powershell,跳转到该docker-compose.yaml文件的目录下,然后运行。需要注意的是,版本需要选择跟es和kibana一致的,也就是7.1.0。即可,然后输入注册登录docker的用户名和密码即可。快捷键打开「运行」对话框,输入cmd,然后按。快捷键打开「运行」对话框,输入。安装完,启动,注册,登录即可。

2024-09-15 15:31:52 1451

原创 redis基本数据结构-sorted set

Redis的Sorted Set(有序集合)是一种数据结构,它是一个不重复的字符串集合,每个元素都有一个对应的分数(score),可以根据分数对元素进行排序。Sorted Set的特点是能够在O(log(N))的时间复杂度内进行插入和删除操作,同时可以通过分数快速检索和排序元素。唯一性:每个元素在集合中是唯一的,但可以有相同的分数。排序:元素根据分数进行排序,分数相同的元素按字典序排序。范围查询:支持通过分数或排名进行范围查询。高效操作:对元素的插入、删除和查找操作均为O(log(N))。

2024-09-15 09:12:53 1132

原创 redis基本数据结构-set

redis 的 set 数据结构是一个无序的集合,可以存储不重复的元素。适合于多种应用场景,尤其是在需要去重、快速查找和集合运算的场合。无序性:元素在set中没有特定的顺序;唯一性:set中的元素是唯一的,不能重复。其中还有一个比较重要的特性就是高效性。因为redis 的 Set 数据结构是基于哈希表(hash table)实现的,这也是为什么对元素的添加、删除和查找操作的时间复杂度都是 O(1) 的原因。哈希函数:哈希表使用哈希函数将元素映射到一个数组的索引中。

2024-09-15 08:34:59 1352

原创 redis基本数据结构-hash

1. redis的数据结构hash1.1 Hash 数据结构的特点1.2 常见命令1.3 适用示例2. 常见业务场景2.1 用户信息存储2.1.1 场景2.1.2 优势2.1.3 解决方案2.1.4 代码实现2.2 购物车管理2.2.1 背景2.2.2 优势2.2.3 解决方案2.2.4 代码实现。

2024-09-12 21:26:27 1420

原创 redis的基础数据结构-list列表

Redis 中的 List 数据结构是一个简单的字符串列表,可以在两端快速推入和弹出元素。在一个电商平台中,用户下单后,系统需要执行多个异步任务,如订单处理、库存更新、发送确认邮件等。消息队列:List类型常用于实现消息队列,用于异步处理任务,如邮件发送队列、任务调度等。

2024-09-10 20:29:28 945

原创 redis基本数据结构-string

使用Redis的SETNX命令实现分布式锁的获取和释放,通过Lua脚本确保释放锁时的原子性,并在执行业务逻辑前尝试获取锁,业务逻辑执行完毕后确保释放锁,从而保证在分布式系统中对共享资源的安全访问。redis 的 string 数据结构是 redis 中最基本的数据类型,它可以存储任何形式的数据,最大可以存储 512MB 的字符串。在分布式系统中,如电商的秒杀活动或库存管理,需要确保同一时间只有一个进程或线程可以修改共享资源,以避免数据不一致的问题。比如,商品的价格,描述等信息,用户的资料等信息。

2024-09-10 20:21:10 1387

原创 设计模式-原型模式

但是这种实现方法涉及到递归遍历的问题,也就是说如果parent下面还有指针对象,又或者parent的兄弟属性还有其他的指针对象,那么这种实现方法将会变得非常复杂。原型模式是一种创建对象的设计模式,主要通过复制现有对象来创建新对象,而不是通过实例化新对象的类。可以看到上面两种方法的实现,都需要类对象的首字母开头大写,这样可能会有参数泄漏的风险,下面可以看看反射的实现,比较复杂。可以看到在创建prototype对象的基础上,可以快速的初始化其他两个对象。如果不包含这类属性,是不会存在问题的。

2024-09-07 16:16:02 1659

原创 读书笔记-代码的整洁之道

2024-09-06 21:16:45 98

原创 设计模式-单例模式

但是这种方式仔细想想的话,不管instance有没有被初始化,每次有一个instance来的时候都需要获取一次锁,这样对性能很不友好。因此,可以在此基础上加一层判断,如果instance已经被初始化了,就没必要再获取锁了。缺点也很明显,就是浪费资源,如果一个实例一直没用到,就会造成资源的浪费。如果第一次执行的时候,随机到了Deny就会导致后续一直是nil,限制太大,我们继续看看sync.mutex的实现。,需要注意的是,如果sync.Once使用的时候Do函数失败了,那么就会导致对象一直为nil。

2024-09-06 21:00:09 1143

原创 go语言并发编程-超详细mutex解析

临界区是指一段需要独占访问的代码块,多个goroutine在执行这段代码时,如果没有同步机制(如互斥锁)来保证互斥访问,就可能会产生数据竞争,导致数据不一致和其他问题。​ mutex的基本实现的机制,就是每次只允许一个goroutine进入临界区,具体就是进入临界区的时候给临界区加上一个锁,禁止其他goroutine进入临界区,在退出临界区的时候释放锁,从而允许其他goroutine进入。还有一些其他的场景,比如并发写入buffer等等,不解决并发访问的问题,就会发生很严重的后果。

2024-09-02 20:13:40 363

原创 win10 go run报错cgo: C compiler “gcc“ not found: exec: “gcc“: executable file not found in %PATH%

原因是只是该window的系统path变了,需要在goland的powershell或者command prompt里面继续配置。解压安装之后,复制安装目录下的bin文件到【此电脑–>属性–>高级系统设置–>环境变量】在上面安装之后,可以win+R测试一下是否有效,输入gcc,如果出来的。就说明该bin是配置成功的,可以识别该命令。但是此时在goland下运行。

2024-09-02 20:03:53 408

原创 redis的一些重要的基础知识

主要作用:redis是内存存储,如果系统崩溃可能会导致数据丢失,而AOF的作用就是用来redis崩溃后数据恢复的;格式实例:AOF是直接将redis命令进行记录的,set testKey testValue这个命令:该日志属于写后日志:在redis执行命令后在插入日志优点:不会阻塞当前写操作;确保写入的命令是正确执行的;缺点:redis执行成功后,数据写入AOF日志缓冲区没能及时同步,导致数据丢失,从而数据不一致;

2024-08-30 14:54:02 1044

原创 linux命令学习-awk命令

awk 是一种编程语言和命令行工具,主要用于文本处理。它处理输入流或文件中的每一行,并根据指定的模式和操作进行处理。文件和命令都给出,运行结果文字有描述,可以自行测试验证。

2024-08-30 14:26:39 1008

转载 mac安装brew小白指引【转载】

安装brew一般2两方式:安装包 或 命令行。通过安装包来安装需要配置环境变量,一般通过命令行会比较方便,但命令行有可能会因为镜像问题导致安装失败,两种方式各有优劣。

2024-08-30 13:58:03 106

原创 软件系统限流-2

漏桶算法是一种经典的流量整形和限流算法,通过将请求放入一个固定容量的桶中,并以固定速率从桶中移除请求,来控制请求的速率。通道中读取请求,并处理每个请求,通道关闭的时候,循环会退出。是否大于0,如果大于0,表示有可用的令牌,允许通过并减少一个令牌,同时更新。:通过调整令牌生成速率和桶的容量,可以灵活地控制请求的速率和突发流量。:通过令牌的生成和消耗,可以平滑请求流量,防止突发流量对系统的冲击。:处理速率是固定的,无法动态调整,可能不适应瞬时高峰流量。:通过固定的移除速率,能够平滑请求流量,防止突发流量。

2024-08-28 20:02:47 1734

原创 软件系统限流-1

总的来说,固定窗口计数器算法适用于简单的限流场景,但在需要处理突发流量或更精细的时间控制时,可能需要考虑其他更复杂的限流算法。例如,在窗口结束前的最后一秒和新窗口开始的第一秒内,可以允许接近两倍于限制值的请求量。限流可以确保所有用户都能获得相对均衡的服务质量,避免因某些用户的过度请求导致其他用户的请求得不到及时处理。通过限制单位时间内的请求数量,可以防止系统被过多的请求压垮,从而保持系统的稳定性和响应速度。:滑动窗口计数器通过更精细地划分时间窗口,能够更好地平滑流量,解决固定窗口的突发流量问题。

2024-08-28 19:54:49 1069

原创 策略模式与简单工厂模式的不同点

策略模式是一种行为型设计模式,它定义了一系列算法,并将每一个算法封装起来,使它们可以互相替换,从而让算法的变化不会影响到使用算法的客户。策略模式使得算法可以在不影响客户端的情况下发生变化。在策略模式中,我们将不同的算法封装在独立的类中,称为策略类。每一个策略类实现一个共同的接口,这样可以在运行时通过该接口来调用具体的算法。策略接口(Strategy):这是一个接口,定义了算法的公共方法。具体策略类(Concrete Strategy):实现策略接口的具体类,每个类封装了一种算法。

2024-08-27 22:03:08 791

原创 设计模式-策略模式

并将每一个算法封装起来,使它们可以互相替换,从而让算法的变化不会影响到使用算法的客户。策略模式使得算法可以在不影响客户端的情况下发生变化。在策略模式中,我们将不同的算法封装在独立的类中,称为策略类。每一个。

2024-08-27 21:58:54 1303

原创 设计模式-简单工厂模式&工厂方法模式

简单工厂模式并不是一种正式的设计模式,但它确实是一种常用的编程技巧。在简单工厂模式中,工厂类包含了一个方法,

2024-08-27 21:42:49 912

原创 linux命令学习-nohup命令

nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。也就是说,即使退出终端,也会一直运行。需要注意的是该命令并不会让其他命令后台运行,因此在运行该命令后,该终端就不允许任何输入了【标准输入】。

2024-08-25 14:43:05 286

原创 linux命令学习-grep命令的使用

不能和排除匹配-v一起使用,因为排除模式只是排除对应字符串的行,并不能统计其他类别的数目,所以这两个选项是不能一起用的。其他参考:https://cloud.tencent.com/developer/article/1554542。grep命令是一个强大且灵活的命令行工具,主要用于在文件中搜索文本字符串,并输出包含这些字符串的行。可以将-r开关与grep一起使用,以递归方式搜索目录及其子目录中的所有文件,以查找指定的模式。

2024-08-25 14:31:13 600

原创 linux命令学习-diff命令

diff 命令是 Unix 和类 Unix 操作系统中的一个工具,用于比较文件的内容并显示它们之间的差异。它可以用来比较两文件的不同,也可以用来比较目录中的文件。diff 常用于版本控制和文件的变更跟踪。

2024-08-25 14:07:44 321

原创 linux命令学习-crontab命令

上一篇at命令学习了其是一个定时任务,但是只会执行一次,本次要学习的是循环执行例行任务的命令crontab命令。linux命令学习-crontab命令与at的命令类似的有一个进程atd去检查并执行at定时任务,crontab也有一个进程对定时任务进行执行crond;

2024-08-25 13:22:34 1123

转载 K8s 超详细总结!!转载

一个目标:容器操作;两地三中心;四层服务发现;五种Pod共享资源;六个CNI常用插件;七层负载均衡;八种隔离维度;九个网络模型原则;十类IP地址;百级产品线;千级物理机;万级容器;相如无亿,K8s有亿:亿级日服务人次。一个目标:容器操作Kubernetes(k8s)是自动化容器操作的开源平台。这些容器操作包括:部署、调度和节点集群间扩展。自动化容器部署和复制。实时弹性收缩容器规模。容器编排成组,并提供容器间的负载均衡。调度:容器在哪个机器上运行。

2024-08-24 15:14:45 380

原创 文件的交集、并集、差集

cat aa.txt bb.txt bb.txt | sort | uniq -u:该方法主要是认为将bb.txt里的内容都视为多次出现,如何aa.txt中出现跟bb.txt一样的内容,也会被-u选项给筛选掉,从而达到aa.txt - bb.txt的效果。cat aa.txt bb.txt | sort | uniq -d命令就是把aa.txt文件和bb.txt文件显示在一起,重新排序,如何通过uniq -d的-d选项,筛选出多次出现的行,即为交集。-u选项是筛选出文件中只出现过一次的,与-d相反。

2024-08-24 14:34:17 326

原创 linux命令学习-at命令

at命令是一次性定时计划任务,at允许使用一套相当复杂的指定时间的方法。它能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。它能够使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的 词语来指定时间。用户还能够采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。

2024-08-24 13:38:25 743

原创 20年南京理工大学877专硕上岸经验

先来介绍一下本人的实际情况吧。本人是一名应届生,江西的一所普通二本院校,本科期间除了课设以外没有参加过任何比赛,四级考了四次,487分通过,六级350分(QAQ),没有证书,本科没有什么证书,本科成绩专业前六吧,也就这一点好的啦。最后考研成绩,初试分数:355(政治:71,英语:67(看!拉稀了),数学:105,专业课:112(骄傲)),官网排名24,兰码内部排名21。复试就不说了,今年的情况特殊。有关专业课:首先我说一下组原(我是这门课的课代表),这门课,我主要是先看了一遍王道,并且做了一些后面的选择题

2020-06-16 11:05:42 1403 10

原创 计算机网络的一些常见概念

第三章rdt1.0:可靠信道上的可靠数据传输,不会发生任何差错;FSM如下:rdt_send():接收到上层的数据,这一个事件,就有了下面的动作,即,封装make_pke()和发送udt_send();rdt_rcv():接收到这个包,这是一个事件,就有了下面的动作:即,解封extract()和上交deliver_data()rdt2.0:比特差错信道上的可靠数据传输,即,数据都可以接收...

2020-03-21 11:03:45 650

原创 CCF-消除类游戏(100分)

问题描述  消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。  现在给你一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。  请注意:一个棋子可能在某一行和某一列同时被...

2020-03-20 09:36:34 328

原创 计算机网络的一些常用的概念

第五章MAC协议:媒体访问控制协议,定义了帧在链路上传输的规则,即任何时候只要链路空闲,发送方都能够发送帧。使用MAC协议协调多个节点的帧传输。全双工传输:链路两端的节点可以同时传输分组。半双工传输:链路两端的节点不能同时传输和接收,只能交替。运输层协议是在端到端的基础上为两个进程之间提供可靠传输,链路层协议是在链路测相连的两个节点提供可靠传输;运输层流量控制是在端到端的基础上提...

2020-03-14 10:46:48 273 1

原创 计算机网络一些常见的概念

第四章路由器的转发:将分组从路由器的一个输入链路端口转移到一个合适的输出链路接口的本地动作,只涉及分组在路由器中从入链路到出链路的传送;路由器的选路:指分组从源到目的地端到端路径的网络范围动作,涉及所有的路由器;分组交换机:一台通用分组交换设备,,根据分组首部值,从输入链路接口到输出链路接口传送分组。ATM服务模型:恒定比特率CBR (Costant bit rate)服...

2020-03-13 15:54:00 467

原创 计算机网络的一些常见概念

第二章进程通信:(1)同一主机的进程通信由操作系统控制,不同主机间的进程通信由网络报文控制;套接字(应用程序接口API ):同一台主机内应用层与运输层之间的接口(与SAP的区别在我的上一篇有说到);周知端口:固定的应用程序的端口号,如Web服务进程(HTTP协议):80,邮件服务进程(SMTP协议):25等;用户代理:用户与网络应用程序的接口;Web页(文档):由若干...

2020-03-12 17:00:30 236

原创 计算机网络的一些常见的概念

第一章因特网:互联遍及全世界数以百万计的计算设备,全球性“网络的网络”;分组交换机:连接端系统的中间交换设备,端系统很少直接相连,通常都是通过分组交换机相连,如链路层的交换机,网络层的路由器;ISP:因特网服务提供商,一个由多个路由器和多个通信链路组成的网络,端系统通过ISP接入因特网,如住宅ISP,大学ISP等;协议:控制网络中信息接收与发送的一组软件,因特网协议是TCP...

2020-03-11 19:46:34 1599

在线电影娱乐网站系统设计.7z

在线电影娱乐网站系统设计.7z

2024-09-18

VFP010汽车销售系统计算机毕业设计.7z

VFP010汽车销售系统计算机毕业设计.7z

2024-09-18

企业考勤源代码.7z

企业考勤源代码.7z

2024-09-18

VB075期刊信息管理系统(SQL).7z

VB075期刊信息管理系统(SQL).7z

2024-09-18

MF0001全套毕业设计(含论文,源码,使用说明).7z

MF0001全套毕业设计(含论文,源码,使用说明).7z

2024-09-18

http服务器的实现.7z

http服务器的实现.7z

2024-09-18

struts+hibernate实现的网络购物系统.7z

struts+hibernate实现的网络购物系统.7z

2024-09-18

dephi+sqlserver2000题库与试卷生成系统.7z

dephi+sqlserver2000题库与试卷生成系统.7z

2024-09-18

delphi网页邮件抓发系统.7z

delphi网页邮件抓发系统.7z

2024-09-18

http代理服务器的实现(程序).7z

http代理服务器的实现(程序).7z

2024-09-18

delphi家庭财务管理系统.7z

delphi家庭财务管理系统.7z

2024-09-18

delphi人才信息管理系统.7z

delphi人才信息管理系统.7z

2024-09-18

c语言课程设计-ktv歌曲系统.7z

c语言课程设计-ktv歌曲系统.7z

2024-09-18

C语言课程设计(成绩管理系统)源程序.7z

C语言课程设计(成绩管理系统)源程序.7z

2024-09-18

c语言课程设计-产品管理系统.7z

c语言课程设计-产品管理系统.7z

2024-09-18

c语言课程设计-职工资源管理系统.7z

c语言课程设计-职工资源管理系统.7z

2024-09-18

c++课程设计-个人收支管理系统.7z

c++课程设计-个人收支管理系统.7z

2024-09-18

c++课程设计-产品入库管理操作系统.7z

c++课程设计-产品入库管理操作系统.7z

2024-09-18

c&c++课程设计-学生成绩管理系统.7z

c&c++课程设计-学生成绩管理系统.7z

2024-09-18

课程设计:包含图书管理系统的增删改查操作

课程设计:包含图书管理系统的增删改查操作

2024-09-18

C++课程/毕业设计示例,较为完整

1至3报数.c KTV歌曲.c 班级学生档案管理系统.cpp 产品管理.c 个人收支.cpp 个人收支管理系统9.9成品.cpp 图书管理系统.cpp 文件成绩.c 学生成绩管理.cpp 职工工作量统计.cpp 职工资源管理.c

2024-09-15

mysql45讲+elasticSearch安装过程

mysql45讲+elasticSearch安装过程

2024-09-07

空空如也

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

TA关注的人

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