自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 手写一个简易的布隆过滤器

布隆过滤器(Bloom Filter)是1970年由布隆(人名)提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。人话理解就是,布隆过滤器是一个容器,我们可以往这个容器里添加元素,并且可以查询某个元素是否在容器中存在,欸有人就经验的可以知道,这个工作Set也可以做,为什么要用布隆过滤器呢,时间复杂度低,增加和查询元素的时间复杂为O(N)

2023-08-06 16:57:01 246

原创 数据结构与算法---(最小栈)

实现一个这样的栈,这个栈除了可以进行普通的push、pop操作以外,还可以进行getMin的操作,getMin方法被调用后,会返回当前栈的最小值。

2023-01-09 16:27:34 189 1

原创 Nacos单机or集群搭建笔记

环境采用Linux系统cnetos8 ,集群版使用了3台linux机,单机版只需要一台即可。也可采用伪集群方式下载安装包之后,使用finalShell连接好linux服务器,将安装包解压放进指定目录,如下:注: 可自定义外层文件夹名称,我这边就新建的一个springcloudalibaba文件夹修改配置文件:(因为nacos默认是以集群方式启动)/home/springcloudalibaba/nacos/...

2022-06-18 18:58:55 948

原创 秒杀系统的设计与实现(一)

1.1 秒杀场景电商抢购限量商品卖周董演唱会的门票火车票抢座 12306…1.2 为什么要做个系统如果你的项目流量非常小,完全不用担心有并发的购买请求,那么做这样一个系统意义不大。但如果系统要像12306那样,接受高并发访问和下单的考验,那么就需要一套完整的流程保护措施,来保证你系统在用户流量高峰期不会被搞挂了严格防止超卖:库存100件你卖了120件,等着辞职吧-防止黑产:防止不怀好意的人群通过各种技术手段把你本该下发给群众的利益全收入了囊中。保证用户体验:高并发下,网页打不开了,支付不成

2022-02-19 13:47:58 2218

原创 秒杀系统的设计与实现(二)接口限流方案

接口限流方案上面那个虽然解决了超卖的问题,但一般秒杀场景都有很多人,可能会出现大规模的请求,势必会对接口服务器造成大量压力,。严重可能会导致服务器宕机,使用便有了接口限流1、什么是接口限流所谓接口限流:是对某一时间窗口内的请求数进行限制,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机2、为什么要接口限流在面临高并发的抢购请求时,我们如果不对接口进行限流,可能会对后台系统造成极大的压力。大量的请求抢购成功时需要调用下单的接口,过多的请求打到数据库会对系统的稳定性造成影响。3、如

2022-02-17 14:05:44 1523 1

原创 秒杀系统的设计与实现(三)(限时抢购、抢救接口、单用户限制实现)

上面,完成了防止超卖商品和抢购接口的限流,已经能够防止大流量把我们的服务器直接搞炸,要开始关心一些细节问题。现在设计的系统还有一些问题:我们应该在一定的时间内执行秒杀处理,不能再任意时间都接受秒杀请求。如何加入时间验证?对于稍微懂点电脑的,又会动歪脑筋的人来说开始通过抓包方式获取我们的接口地址。然后通过脚本进行抢购怎么办?秒杀开始之后如何限制单个用户的请求频率,即单位时间内限制访问次数?限时抢购实现使用redis来记录秒杀时间,,对秒杀过期的请求进行拒绝处理!!一般在真实环境中,都会通过定时任务

2022-02-17 14:04:49 890 1

原创 Python1+x证书培训笔记-附(大数据项目实战)-可做为简单课设

本文的主要技术是采用Python的Scrapy框架爬取网站的待租房数据,然后使用Mysq的对数据继续简单处理然后存储,再Flask和Highcharts对数据进行可视化展示,逻辑很简单,只能算是对这几天的学习做一个简单的总结和实战练习,...

2021-12-13 19:23:13 1275

原创 SpringSecurity+Jwt做前后端分离权限认证

说在前面的话这里是接上一篇,万字长文 基于SpringBoot整合SpringSecurity的认证授权(角色+权限) 真案列、有数据库、有源码,上一篇写的很细但是不是前后端分离,这一篇把前后端分离补上,数据库和Mapper模块都和前面的一致就不累述了,以下都是我自己的理解,如果什么地方有问题,请各位前辈指出,感激不尽。项目目录其实变化也不大,就新增了拦截器和Service,以及一个工具类,当然配置文件中变换还是蛮大的,Jwt工具类(新增)嗯,在本文中会用到Jwt,关于Jwt嗯,因为我学习的时候

2021-08-03 21:32:31 806 1

原创 redis持久化机制学习笔记

redis官方提供了两种持久化机制,一种是快照,一种是日志方式(Append Only File)两种持久化方案既可以同时使用(aof),又可以单独使用,在某种情况下也可以都不使用,具体使用那种持久化方案取决于用户的数据和应用决定。文档较长,需要一点耐心才能阅读完

2021-07-07 08:40:15 151 2

原创 falsk练习小项目——利用mysql实现登录+注册

本文主要记录利用python的Flask框架和Mysql数据库实现登录+注册功能,创建项目文件templates文件夹主要放网页文件static文件夹下主要放静态文件比如 css、js 、图片等等;因为在flask框架下默认静态文件是放在templates下的,所以不要把文件名写错了,当然也可以自定义文件夹名的,不过在后面创建对象的时候需要单独加一下,这个后面代码会说的创建数据库数据库结构如下图注意主键不要漏了,不然后面注册的时候出现id重复就麻烦了,当然我们会有异常处理的,如果没有定义主键

2020-06-23 21:28:48 3362 10

原创 Python GUI之tkinter库教程

tkinter的简介tkinter 是 Python 的标准 GUI 库。它基于 Tk 工具包,该工具包最初是为工具命令语言(Tool Command Language,Tcl)设计的。Tk 普及后,被移植到很多其他的脚本语言中,包括 Perl,Ruby 和 Python。结合 Tk 的可移植性与灵活性,以及与系统语言功能集成的脚本语言的简洁性,可以快速开发 GUI 应用程序对于gui编程我是这样理解的, 我们小时候都玩过积木,只要发挥创意,相同的积木可以堆出各种造型。tkinter的组件也可以看做一个

2020-06-21 11:53:18 8530 5

原创 计算机组件原理期末复习看这一篇应该够了

就是一段数据的特征信息,当数据发生了改变,信息摘要也会发生改变,发送方会将数据和信息摘要一起传给接收方,接收方会根据收到的数据重新生成一个信息摘要,若此摘要和信息收到的摘要相同,则说明数据正确。信息摘要是由哈希函数生成的。信息摘要的特点:不算数据多长,都会产生固定长度的信息摘要,任何不同的输入数据都会产生不同的信息摘要。单向性,只能由数据产生信息摘要,而不能由信息摘要还原数据信息摘要算法:MD5(产生128位的输出)、SHA(安全散列算法,产生160位的输出,安全性高)

2024-04-22 23:47:30 600

原创 计算机网络复习笔记看这一篇还不够

互联网的构成:互联网由边缘部分和核心部分组成边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享。(资源子网)核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(连通性和交换)(通信子网)路由和转发路由:确定数据分组从源到目标所使用的路径转发:路由器或转换机将将收到的数据分组转发出去互联网的两个重要基本特点连通性和共享需要注意:互联网不等于互连网(局部互连的网络)

2024-04-22 23:45:10 941

原创 数据结构与算法二 ---链表

这一节是链表,这是为了填坑,自己说过的话,一定要做到。相比上一章的数组,链表是一种稍微麻烦亿丢丢的数据结构。如图:数组需要一块连续的存储空间,对内存要求高,而链表则不必,链表是通过指针将零散的内存块连接起来使用。链表的结构有很多,这里主要介绍三种,单链表,双链表,循环链表,入上图,可以发现,其中两个节点比较特殊,分别是第一个节点和最后有个节点,,一般我们把第一个节点叫头节点,最后一个节点叫尾节点,而头节点用来记录链表的基地址,有了这个就能遍历得到整条链表,而尾节点的下一个指针,指的是空地址,与数组一

2022-08-27 08:24:56 203

原创 二叉树先中后序遍历(递归非递归)

先序遍历也叫先根遍历,采用先访问根节点,再访问左节点,最后访问右节点非递归实现非递归实现借助了栈中序遍历中序遍历的顺序为 左节点,根节点、右节点非递归实现当然非递归实现也是采用了栈后序遍历后续遍历的顺序是左节点、右节点、根节点非递归实现非递归实现采用栈和临时变量,用临时变量标识当前节点的右子节点是否被访问过,从而确定是否将当前节点输出...

2022-06-19 18:38:49 167

原创 Go的容器(四)

Go语言中提供了很多容器,用来存放数据的数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化想改变大小,还得用另一个种数据类型定义语法:var 数组变量名 [元素数量]l类型数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是:len-1 不允许越界访问2、根据初始值的个数自行推断数组的长度数组遍历遍历数组a有以下两种方法分别是下标遍历和值遍历值遍历番

2022-06-14 19:30:07 148

原创 初识Go的语法(三)

先来解释一下上次的代码1、package mainpackage 是一个的包声明关键字,作用是声明当前文件属于那个包 main是包名,,另外如果包名是main 那么当前这个代码会被编译行可执行文件,如果需要声明包给别人用,那就不能使用main做包名,,且在main 包下·要有一个main函数(函数看下面第三小节)import是导入语句,导入包,这里我们导入了“fmt”这个包func是用来声明函数的,这里我们声明了一个main函数,在main函数里执行了打印语句 main函数也是程序的入口函数有:整型、浮

2022-06-13 18:00:47 532

转载 什么是Go(一)

Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻(年纪轻轻学什么Go)的一门语言,它的主要目标是“兼具 Python 等动态语言的开发速度和 C/C++ 等编译型语言的性能与安全性”。Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程。Go语言的推出,旨在不损失应用程序性能的情况下降低代码的复杂性,具有“部署简单、

2022-06-12 21:36:55 229 1

原创 从零搭建Go的开发环境(二)

从零搭建Go开发环境,并编写第一个helloword程序

2022-06-12 19:47:03 130

原创 数据结构与算法二 ---数组

在我们学习编程语言的时候,必然会学习一些存储数据的容器,例如Java的List、Map等等,也有最初的 int[] 数组,好吧这就是数组的了,数组是一片连续的存储空间,当然既然有连续,那肯定有不连续(链表),如图:可以看到申请的内存空间都是连续的。数组的特点:...

2022-06-07 15:14:14 169

原创 数据结构与算法(一)

前段时间因为准备考试,学习了数据结构与算法,现在整理下笔记,并对其进行补充,确实,考试考的和工作中实际中用到的还是有很大区别,众所周知 程序=数据结构+算法,尽管这段时间被力扣折磨的生不如死,还是昧着良心说:算法是一个项目中最美丽的风景。为什么要学算法?算法,是一种解决问题的思路和方法。形象一点说,算法是解决问题的方式,而数据结构是解决问题的工具。例如,我们要拧一颗螺丝,那么我们可以选择用扳手拧,也可以选择用钳子拧,区别很明显,用扳手拧更省力吧我们常用的基本数据结构有:线性结构和非线性结构;常见的线性

2022-06-05 17:02:31 117 1

原创 计组学习笔记(一)----计算机系统概述

计算机硬件的发展逻辑元件的不同可划分为四代第一代, 电子管时代(1946-1957), 逻辑元件采用电子管,使用机器语言进行编程,其主存采用延迟线或磁鼓存储信息,容量极小,体积庞大,成本高,运算速度低。 运算速度只有几千次到几万次每秒

2022-05-19 20:03:57 192 1

原创 CF每日一水

CF每日一水A. Madoka and Math Dadtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputMadoka finally found the administrator password for her computer. Her father is a well-known popularizer of mathematics,

2022-03-15 21:55:40 601

原创 设计模式学习笔记---结构型---代理模式

由于某些原因,需要给对象提供一个代理以控制对该对象的访问,这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介Java中的代理按照代理类生成时机不同又分为静态代理和动态代理,静态代理类在编译期就生成,而动态代理代理类则是在java运行时动态生成,动态代理又有JDK代理CGLib代理两种结构代理模式分为三种角色抽象主题类:通过接口或抽象类来声明真实主题和代理对象实现的业务方法真实主题类:实现了抽象主题中的具体业务,是代理对象所代表的真实对象,是最终要引用的对象代理

2022-02-19 13:48:55 110 1

原创 初识Python自动化运维(一)

系统模块系统模块主要是使用psutil库,后面会主要写这个介绍一下psutil 是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括cpu 磁盘 网络等信息)常用psutil监控指标import psutilprint(psutil.cpu_count(logical=False)) # 返回cpu核心数 参数默认true 如果是false仅返回物理核心数print(psutil.virtual_memory()) # 返回内存信息 元组(全部,已用,百分比,使用过,未使用过,)l

2021-12-13 19:34:49 3417 1

原创 Python1+X(中级)证书培训笔记(上)

最近参加了一个Python 1+X的培训,然后以下是整理的学习笔记,证书涵盖的知识点有三大块 分别是数据库操作、WEB开发、网络爬虫分析,非常适合有基础并且想快速上手项目的新手学习, 下面将详细讲解

2021-12-04 21:27:29 6104 13

原创 docker-compose

一、简单介绍Docker Compose 与 Docker Stack 非常类似。它能够在 Docker 节点上,以单引擎模式(Single-Engine Mode)进行多容器应用的部署和管理。多数的现代应用通过多个更小的服务互相协同来组成一个完整可用的应用。比如一个简单的示例应用可能由如下 4 个服务组成。Web前端订单管理品类管理后台数据库将以上服务组织在一起,就是一个可用的应用。部署和管理繁多的服务是困难的。而这正是 Docker Compose 要解决的问题。Docker Co

2021-11-19 22:14:19 802

原创 Mysql进阶知识一

Mysql逻辑架构一、Mysql逻辑架构介绍MySql的架构可以在多种不同的场景中发挥良好的作用,主要体现在MySql的存储引擎上,插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取分离,这种架构可以根据业务和实际需要选择合适的存储引擎。注意:MySql是分层设计,插件式可插拔引擎,系统优化时头脑中有逻辑架构层。MySql 自带优化器,执行顺序不一定是Sql的书写顺序,索引失效可能是优化器的问题,如果不想MySql进行优化可以强制使用书写好的sql语句或者将优化器去除,MyS

2021-11-17 12:19:39 706 1

原创 基于SpringBoot整合SpringSecurity的认证授权(角色+权限)

之前一直是使用的Shiro,最近因为公司使用若依的前后端分离版本中,认证授权模块是使用的SpringSecurity,所以就打算写一遍这个教程了。嗯在这之前一直是使用Shiro做授权和认证的。嗯后面会讲的,在这之前读者需要具有SpringBoot基础、以及能够使用SpringBoot连接数据库进行操作

2021-07-18 15:03:23 1178 6

原创 java--Excel操作工具——POI(一)

在web应用开发中,Excel报表是一种最常见的报表需求。Excel报表开发一般分为两种形式: 为了方便操作,基于Excel的报表批量上传数据 通过java代码生成Excel报表

2021-07-02 10:36:12 677 5

原创 Docker 即学即用教程 ------1

Docker对我目前而言,我只发掘了他部分的效用,主要是帮助我减少学习成本,比如在学习redis,或者是消息队列的时候,能够减少装环境的成本。那么废话不多说,下面直接上干活。

2021-06-30 20:46:59 201 3

原创 模拟在SpringBoot项目中使用Jwt做登录认证

最近学习了Jwt,现在来使用一下,在这个模拟项目中框架采用的是springboot 测试软件是使用的postman,并没有连接数据库,只是做一个简单的模拟。

2021-06-30 16:07:59 280

原创 大数据可视化学习总结

自大一下学期听说的大数据,也是那个时候才了解大数据这个专业,自己并不喜欢这个专业,一方面是因为学历的原因,一方面自己对这个确实没什么兴趣,当时一心都扑在了Java方向。先说好的一方面 ,这一学期,个人收获还是蛮多的,重新学习了spring、sprinMVC、Mybatis 、SpringBoot 对以前学习的知识有了新的收获,并且加深了印象,通过写一些项目和看视频学习了一些有趣的中间件,和能够帮助我们快速开发的脚手架和插件、以及前端的一些UI框架;写了5个小项目,可以说超额的完成了学期初制定的学期任务。

2021-06-23 17:23:08 5816

原创 2021第一学期英语学习总结

光阴似箭,日月如梭,我的大二学期就已经快结束了,下学期就应该要准备实习了,这是我在大学期间的第三次英语课,嗯,但是还是和上两次一样,兴趣不大,收获颇少。当然这是我自己不喜欢英语的原因,尽管平时经常用到,也清楚的知道英语对我的职业有着非常大的影响,但是还是不喜欢,曾经有那么一段时间强迫自己去学习英语,可惜收获并不那么好。

2021-06-22 20:40:22 226

原创 熬夜写的一篇小白 Vue学习教程(一)

一、Vue的简介官网:https://cn.vuejs.org/v2/guide/ 这个是2的版本,开发应该是比较稳妥的。Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。下面说说自己对vue的一个理解,首先上手还是蛮快的,特别是对jquery很熟,但是又讨厌使用jque

2021-05-25 00:31:25 445 2

原创 蓝桥杯15年省赛第8题 移动距离

题目 移动距离X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3…当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 …我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)输入为3个整数w m n,空格分开,都在1到10000范围内要求输出一个整数,表示m n 两楼间最短移动距离。例如:用户输入:6 8 2则

2021-04-13 19:52:47 210

原创 蓝桥杯2015年javaC组校内模拟赛

第一题二项式的系数规律,我国数学家很早就发现了。如【图1.png】,我国南宋数学家杨辉1261年所著的《详解九章算法》一书里就出现了。其排列规律:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 1如下的程序,用来建立N行的杨辉三角形。请填写划

2021-04-11 21:28:57 287 3

原创 springboot整合log4j日志框架

在创建Spring Boot工程时,我们引入了spring-boot-starter,其中包含了spring-boot-starter-logging,该依赖内容就是Spring Boot默认的日志框架Logback,所以我们在引入log4j之前,需要先排除该包的依赖,再引入log4j的依赖。log4j有两个版本,差距较大,springboot1.3.x以下版本才支持log4j ,1.3.x以上版本只支持log4j2区别在于需要引入的包log4j<artifactId>spring-b

2021-03-15 13:31:20 2483

原创 java多线程基础

串行与并发串行: 多个任务依次执行,第一个没完成,无法执行第二个·,并发:多个任务同时执行进程和线程进程是对一个程序运行所需要占用的资源的描述。进程可以实现多个任务并发执行,但是我们一般不会去开发多个进程,因为多个进程执行的资源是不共享的。线程:线程是一个任务执行的多个单元,多个工厂可以理解为多个进程,而工程里面的多个流水线就是线程。线程之间的数据是可以共享的。进程包含线程,一个进程中是可以有多个线程的·。生命周期在程序开发中,将一个对象从实例化完成,到这个对象使用结束,并销毁,将这个过程称

2021-03-14 16:45:04 1105 2

原创 生产者消费者设计模式实现

在我们生活中有很多这样的场景,比如食堂,我们学生负责干饭,属于消费者,工作人员负责做饭,是生产者,,而饭呢呢个,他同时被消费者和生产者同时接触,就属于临界资源。生产者: 作用是生产产品,生产逻辑: 通过一个生产标记,判断是否需要生产产品,如果需要生产,则生产产品,并通知消费者使用,如果不需要生产,则等待消费者: 作用是消费产品,消费逻辑: 判断是否有足够的产品可以消费,如果可以,则获取产品,进行消费,如果不可以,则等待生产者代码/** * 生产者和消费者模式 *生产者 */public

2021-03-14 16:40:24 156

学生信息管理.rar

Java实训时写的学生信息管理系统,有swing+mysql,里面包含了所有的资源,,使用者需要自己下载,安装一个mysql数据库,,注释详细,通俗易懂,

2020-06-18

空空如也

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

TA关注的人

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