自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极客

欢迎码农们~

  • 博客(56)
  • 资源 (2)
  • 收藏
  • 关注

原创 搭建MinIO对象存储

搭建使用MinIO对象存储

2024-04-07 11:35:59 634

原创 理解生成式AI

什么是生产式AI,以及使用的架构

2023-05-07 21:01:45 1772 1

原创 常用位运算和二进制做权限管理

权限,我们分别在每个接口地方配置自己的权限值,可以使用注解的方式进行设置每个接口的权限,然后使用使用拦截器,在拦截器中获取注解中的权限值进行判断当前用户角色的权限值和当前的接口的权限值进行位运算的结果,也就是5&1位非0,假如请求的接口是。​ 对于在系统中的路由,我们假设有查看、修改、新增、删除四个controller方法来处理某个业务,我们可以设置这四个的权限值为1,2,4,8,在用户的角色表中设置角色的权限值,假如这个角色的权限值为5=(1+4),则可以说明他拥有。接口,也就是说明拥有此接口的权限。

2023-04-11 11:31:10 1109

原创 Servlet过滤器拦截器

参考:https://blog.csdn.net/wozaibohaibian/article/details/124778494​ servlet就是一个组件,需要符合servlet规范,并且需要部署到servlet容器里面才能运行符合相应的规范,提供组件运行环境的程序。比如Tomcat就是比较有名的servlet容器。jetty jboss weblogic都是servlet容器。这些servlet把网络相关的问题已经全部处理好,我们写servlet只需要关注业务逻辑即可。

2023-04-11 11:12:17 1173

原创 frp内网穿透(Mac远程连接公司windows)

自己的电脑远程访问公司的windos电脑

2022-12-07 19:41:24 2769 2

原创 使用自己阿里云服务器搭建图床(SpringBoot实现)

文章目录前言1、Java具体实现2、使用uPic图床工具自定义搭建图床前言​ 之前使用的图床工具一直都是gitee,奈何现在加了防盗链,很多图片文件无法访问,导致很多笔记图片博客等都无法访问,鉴于此,我搭建过七牛云图床(免费10G),阿里云oss。七牛云需要开通域名https(放弃了,有域名的还是可以去用七牛云),后来就去开通了阿里云OSS对象存储,需要存储空间收费,差不多9块钱40G一年,就买了5年的,但是奈何它还要单独的收取访问的流量费用。折腾来折腾去,为何不自己搭建弄一个图床,为何不用自己的服务

2022-04-23 23:36:31 2227

原创 敏捷是什么

文章目录1、敏捷的发展简要概述2、什么是敏捷3、什么是敏捷开发参考1、敏捷的发展简要概述​ 提到敏捷(Agile)大多数人会想到2001年敏捷宣言的发表,但是实际上敏捷运动并不是起源于敏捷宣言的发表,它可以追溯到更早的时候,参考来自知乎。20世纪50年代-美国国防部(DOD)和美国航空航天局(NASA)开始采用迭代式的增量方法(IID)。20世纪60年代-科技的发展,制造业岗位的消减,”知识工人“产生,旧模式不再凑效,生产工具在人的头脑里,旧式的方法被提倡信息共享和劝导的新方法代替。20世纪6

2022-04-23 23:33:50 265

原创 Nginx安装配置和常用使用(反向代理与负载均衡)

文章目录1、Ubuntu服务器中的nginx2、Mac中使用nginx3、配置不同的域名访问项目不需要输入端口方式4、ssl配置5、nginx 禁止 ip 允许和阻止访问6、自定义403等页面7、nginx413文件上传失败8、负载均衡9、正向代理与反向代理10、常用配置11、Nginx与Tengine1、Ubuntu服务器中的nginxubuntu中的nginx的配置文件conf.d:用户自己定义的conf配置文件sites-available:系统默认设置的配置文件sites-enabled:

2021-10-13 10:28:51 1011

原创 Java多线程详解(JUC并发编程)

文章目录一、Condition二、CountDownLatch(减法计数器)三、CyclicBarrier(加法计数器)四、Semaphore(限流)五、ReadWriteLock(读写锁)六、BlockingQueue(队列)四组API七、SynchronousQueue(同步队列)八、线程池(4大方法,7大参数,4大拒绝策略)8.1 四大方法(==不安全,需要手动创建线程池==)8.2 七大参数:==ThreadPoolExecutor==8.3 ThreadPoolExecutor和ForkJoinP

2021-10-10 19:03:41 986 2

原创 Java集合详解

文章目录1、List实现方式2、Set实现方式3、Map1、实现方式2、HashMap扩容过程3、为什么ConcurrentHashMap是线程安全的?4、Map性能比较集合框图1、List实现方式底层数据结构类实现方式线程安全性初始容量优点缺点备注数组ArrayList增加或减少元素时,需要考虑扩容;直接修改源数据。非线程安全初始容量:1.6和之前为10。jdk1.7+默认为0,增加一个元素后为10扩容增量:1.6和之前为原容量的 1.5倍+1一次扩容后是容量为

2021-10-10 18:59:44 129

原创 ActiveMQ安装与SpringBoot中的使用

文章目录一、安装ActiveMQ二、SpringBoot中使用3、如何存储数据为什么要使用消息队列?https://www.cnblogs.com/xiapu5150/p/9927323.htmlhttps://www.cnblogs.com/yanfei1819/p/10615605.htmlhttps://blog.csdn.net/qq_43652509/article/details/83926758使用消息队列主要应用于三个场景:解耦、异步、削峰使用场景用户注册,重点使用用户信息数

2021-10-10 18:51:41 161

原创 IO模型对比区别

文章目录1、什么是NIO?2、为什么用NIO,传统IO有什么缺陷?3、NIO和IO的区别4、BIO/NIO/AIO有什么区别?5、select、poll、eopll的区别参考:linux的五种IO模型,分别是:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。其中阻塞IO、非阻塞IO、多路复用IO、信号驱动IO都属于同步IO。1、什么是NIO?java.nio全称java non-blocking IO(实际上是 new io),是指JDK 1.4 及以上版本里提供的新api(New IO

2021-09-27 21:13:48 149

原创 Redis安装及使用

文章目录一、简介二、安装三、使用四、类型操作五、整合Springboot六、Redis持久化(备份)七、Redis发布订阅八、Redis主从复制九、哨兵模式十、分布式锁十一、常见问题一、简介​ redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集

2021-09-24 08:56:58 316

原创 MysqlCluster集群搭建及使用

亿级用户的分布式数据存储解决方案 1文章目录1、简介2、搭建Mysql Cluster(基于阿里云内网部署,相同实例地区)2.1 安装配置管理节点(GMG)2.2 安装配置数据节点(NDB)2.3 安装配置SQL节点(NDB)2.4 集群状态3、操作Mysql Cluster4、MySQL Cluster的关闭顺序与单点故障测试5、Mysql Cluster 远程连接6、测试单点故障(高可用)7、SpringBoot中使用参考网址1、简介​ MySQL Cluster(MySQL集群)是一个高性能、

2021-09-21 08:53:09 9655 4

原创 Mysql使用及底层实现与一些使用问题

文章目录1、安装数据库(ubuntu)2、修改密码或操作sql文件3、中文乱码4、8版本导入5版本数据问题5、JDBC连接6、内连接、左连接(左外连接)、右连接(右外连接)、全连接(全外连接)7、索引8、InnoDB与MyISAM9、关系型与非关系型数据库区别10、Mysql order by与limit混用陷阱11、SELECT 语句的执行过程12、Mysql四种存储引擎第一范式:1NF 原子性(列不可再分:每一列属性都是不可再分的属性值,确保每一列的原子性)第二范式:2NF 唯一性(在第一范式的基础

2021-09-18 23:35:46 236

原创 数据库拆分(垂直、水平)

垂直拆分垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表,垂直拆分更多时候就应该在数据表设计之初就执行的步骤,然后查询的时候用jion关键起来即可。垂直拆分解决表与表之间的io竞争。通常我们按以下原则进行垂直拆分:把不常用的字段单独放在一张表;把text,blob等大字段拆分出来放在附表中;经常组合查询的列放在一张表中;优点:1、拆分后业务清晰,拆分规则明确。2、系统之间整合或扩展容易。3、数据维护简单。缺点:1、部分业务表无法join,只能通过接口.

2021-09-17 22:46:21 1868

原创 日志等级及配置文件

日志等级debug:需要在调试过程中输出的信息,但发布后是不需要的(当然发布后,也是看不到的)info:需要持续输出的信息(无论调试还是发布状态)warn:警告级别的信息(不严重)error:错误信息(较严重)fatal:严重错误(特别严重,比如引起崩溃式的错误)<?xml version="1.0" encoding="UTF-8"?><configuration debug="false"> <!--设置存储路径变量--> <propert

2021-09-13 19:10:30 496

原创 @ RequestParam、@PathVariable、@PathParam区别

文章目录1、@RequestParam2、@PathVariable3、@PathParam1、@RequestParam@RequestParam 是从request里面拿取值@PostMapping("getUserId2")@ApiOperation(value = "获取Id2", notes = "通过用户ID获取")public String findById2(@ApiParam(value = "用户ID", required = true) @RequestParam("id")

2021-09-12 10:05:27 802

原创 自定义钉钉机器人消息提示

文章目录1、开启钉钉机器人2、postman测试3、curl测试4、java测试官方参考:https://developers.dingtalk.com/document/app/custom-robot-access1、开启钉钉机器人首先创建一个群,然后添加一个自定义机器人名称自己想,根据自己情况来,会得到自己的webhook(保管好)根据自己的情况加上安全设置2、postman测试msgtype:类型text:类型的内容isAtAll:为true时是艾特所有人,也可以艾特个别人

2021-09-11 09:08:53 1153

原创 Yapi部署及使用

文章目录一、简介二、部署Yapi三、使用一、简介https://hellosean1025.github.io/yapi/index.html旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API测试网页:https://yapi.baidu.com/二、部署Yapi安装需要的环境nodejs(7.6+),最好为node12,node14部署时候会出现异常mongodb(2.6+)mongodbsudo apt updatesudo

2021-09-10 17:25:42 738

原创 HTTP、TCP、UDP、Websocket

文章目录1、TCP协议2、UDP协议3、Websocket4、TCP、UDP、WebSocket区别5、HTTP1、http协议介绍2、http与https区别3、http版本区别4、http无状态5、查看接口使用的http版本6、长连接、短连接、长轮询、短轮询区别参考1、TCP协议位于传输层, 提供可靠的字节流服务,传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。字节流服务(Byte Stream Service) 是指, 为了方便传输, 将大块数据分割成以报文段(segment)

2021-09-09 08:18:26 1800

原创 OSI七层网络模型和TCP/IP五层模型

文章目录1、OSI的来源2、OSI七层模型的划分3、TCP/IP五层模型1、OSI的来源​ OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。​ ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。2、OSI七层模型的划分​ OSI定义了网络互连的七层框架(物理层、数据链路层

2021-09-08 08:52:06 2333

原创 什么是RPC?

RPC是远程过程调用(Remote Procedure Call)的缩写形式。SAP系统RPC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。原则上来说系统间跨进程的调用 都属于RPC范畴RPC(Remote Procedure Call)远程过程调用,简单的理解是一个节点请求另一个节点提供的服务本地过程调用:如果需要将本地student对象的age+1,可以实现一个addAge()方法,将st

2021-09-07 09:33:21 961

原创 什么是CAP原则?

CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)可用性(A):保证每个请求不管成功或者失败都有响应。分区容忍性(P):系统中任意信息的丢失或失败不会影响系统的继续运作。CAP原则的精髓就是要么AP,要么CP,要么AC,但是不存在CA

2021-09-06 09:45:55 169

原创 JVM内存区域与垃圾回收机制

文章目录1、运行时数据区域1.1线程私有1.1.1程序计数器1.1.2虚拟机栈Xss1.1.3本地方法栈1.2线程共享1.2.1方法区1.2.2堆2、直接内存3、JVM占用内存信息4、1.8以后变化5、Jvm垃圾回收器JVM内存结构图1、运行时数据区域​ 数据区域的定义是:java虚拟机在执行java的过程当中会把它管理的内存划分为若干个不同的区域。在JVM中、JVM的内存区域主要分为堆、方法区 、程序计数器、虚拟机栈、本地方法栈。按照与线程的关系也可以分为线程私有:每个线程单独拥有的一

2021-09-05 12:26:47 361

原创 什么是单点故障与应对措施

什么是单点故障通常分布式系统采用主从模式,一个主机连接多个处理节点,主节点负责分发任务,而子节点负责处理业务,当主节点发生故障时,会导致整个系统发故障,我们把这种故障叫做单点故障。应对措施加一个备份主节点,间隔一段时间后给主节点发送一个ping包,主节点收到后回应ack字节进行回应,备用主节点通过是否收到ack字节包来判断主节点是否正常运行,没有收到则顶替主节点的位置提供服务。分布式锁,分布式协调,例如使用Zookeeper实现服务注册与发现。...

2021-09-04 10:12:06 3750

原创 cookie、session、Token是什么?

HTTP是无状态协议,无法记得上一次连接的信息,比如记不得用户是否已经登陆等信息。而Session、Cookie、Token便是对HTTP无状态的一种补充;CookieCookie是浏览器对于一些信息的键值对形式保存,当浏览器关闭,Cookie也就删除了;也可以设置Cookie的存活时间,关闭浏览器后不会断开会话。SessionSession是服务器中保存的对象(Tomcat保存在ConcurrentHashMap<Session>中),生成之后在返回Http respons

2021-09-02 09:56:35 413

原创 什么是热备冷备?

主备数据中心之间一般有热备、冷备、双活三种备份方式热备:的情况下,只有主数据中心承担用户的业务,在不停机情况下对主数据中心进行备份,一般用于保证服务正常不间断运行,用两台机器作为服务机器,一台用于实际数据库操作应用,另外一台实时的从前者中获取数据以保持数据一致.如果当前的机器熄火,备份的机器立马取代当前的机器继续提供服务。冷备:的情况下,也是只有主数据中心承担业务,在停机情况下对主数据中心进行备份,当目标设备发生故障或停机后,冷备设备才开始由停机等待状态进入启动运转状态,并承担起故障设备的工作任务。.

2021-09-01 10:16:17 12443

原创 数据库主从复制

一、什么是主从复制?主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。二、主从复制的作用(好处,或者说为什么要做主从)重点!1、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,物理服务器增加,负荷增加。2、读写分离,使数据库能支撑更大的并发。主从只负责各自的写和读,极大程度的缓解X锁和S锁争用。在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那

2021-08-31 10:44:16 1465

原创 Http请求状态码

文章目录1xx:信息2xx:成功3xx:重定向4xx:客户端错误5xx:服务器错误Websocket状态码1xx:信息(用于表示临时响应并需要请求者执行操作才能继续的状态代码)消息描述100 Continue服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。101 Switching Protocols服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。2xx:成功(用于表示服务器已成功处理了请求的状态代码)消息

2021-08-30 14:43:38 356

原创 事务与分布式事务

文章目录1、事务1.1四种隔离级别2、分布式事务解决方案2.1 2PC(同步阻塞)2.2 3PC2.3 对比2PC与3PC参考网址:1、事务事务实现应该是具备原子性、一致性、隔离性和持久性,简称 ACID原子性(Atomicity),可以理解为一个事务内的所有操作要么都执行,要么都不执行。一致性(Consistency),可以理解为数据是满足完整性约束的,也就是不会存在中间状态的数据,比如你账上有400,我账上有100,你给我打200块,此时你账上的钱应该是200,我账上的钱应该是300,不会存在

2021-08-29 09:54:29 424

原创 Docker安装使用与常用命令

文章目录一、简介二、安装三、镜像与容器四、镜像命令(images)五、容器命令(Container)六、DockerFile七、Springboot整合Docker八、部署nginx九、常见错误十、使用容器构建自定义的镜像(commit),修改端口映射十一、Docker Hub十二、实践1、挂载容器目录2、启动主从模式3、使用Mysql一、简介Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可

2021-08-28 13:12:38 316

原创 brew的安装使用

brew install安装的所有包都是在==/usr/local/Cellar/==这个路径下换源中科大清华阿里############清华源# 替换brew.git源git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git# 替换 homebrew-core.git源git -C "$(brew --repo homebre

2021-08-27 22:14:52 469

原创 Map的几种实现方式对比

基本属性类并发性线程安全有序性底层数据结构初始容量负载因子实例化方式一致性k/v是否可为nullHashMap不支持不安全无序数组+链表/红黑树16一次扩容后是容量为32(2的5次方)0.75懒加载-k/v可为nullLinkedHashMap不支持不安全有序(插入序或者访问序)数组+单向链表+双向链表----k/v可为nullTreeMap不支持不安全自然序(左小右大)红黑树----仅v能为null.

2021-08-26 08:47:18 316

原创 kkFileView在线预览office的安装与使用

文章目录1、简介2、安装部署3、使用4、中文显示乱码1、简介此项目为文件文档在线预览项目解决方案,对标业内付费产品有【永中office】【office365】【idocv】等,在取得公司高层同意后以Apache协议开源出来反哺社区,在此特别感谢@唐老大的支持以及@端木详笑的贡献。该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,Excel,pdf,txt,zip,rar,图片等等2、安装部署官方网址:https://kkfileview.k

2021-08-25 08:51:00 1654

原创 Ubuntu设置开机自启动程序

Ubuntu18.0.4参考1 参考2 参考3查看/lib/systemd/system的 rc.local.service文件(没有则创建)默认# This file is part of systemd.## systemd is free software; you can redistribute it and/or modify it# under the terms of the GNU Lesser General Public License as publi.

2021-08-24 23:14:53 238

原创 SSH超时连接自动断开解放方法

连接服务器一段时间自动断开解决办法参考:https://bin.zmide.com/?p=188https://segmentfault.com/q/1010000009421113https://blog.csdn.net/qq_38081870/article/details/102568417经常需要连接到Linux服务器,发现过一段时间不输入命令,服务器的ssh连接就会断开,又需要重新ssh登录ubuntu服务器修改 /etc/ssh 目录下的 sshd_config 文件 .

2021-08-23 08:32:00 239

原创 Linux常用指令

文章目录一、常用指令二、vim或默认终端操作三、设置服务器中文显示四、上下传文件五、服务器定时开机自启动六、查看文件目录结构一、常用指令disabledu -sh 查看当前目录大小,在当前目录下使用du -h --max-depth=1 查看当前目录下所有一级子目录文件夹大小du -m --max-depth=1|sort -nr 按照目录大小进行倒序排序(以M为单位显示)stat xxx 查看文件或目录的状态ls -lh 查看当前文件下的所有文件大小(不能看到文件夹)du -h 文件夹名

2021-08-22 11:17:57 100

原创 Linux锁定文件排查用户登录信息

删除系统登录相关信息/etc/issue /etc/issue.net /etc/motd更改shell命令历史记录# 编辑 vim /etc/bashrc 文件 HISTFILESIZE=4000 # 保存命令的记录行数(默认1000条)HISTSIZE=4000 #定义了history命令输出的记录总数HISTTIMEFORMAT='%F %F' # 时间格式export HISTTIMEFORMAT锁定文件root用户都无法操作chattr 与 lsat..

2021-08-22 08:59:53 141

原创 Linux服务器配置免登陆

本地上使用重新安装系统后需要删除.ssh目录下的known_hosts里面相应的ip 或者是使用通过命令删除对应ip的相关rsa公钥信息或其他公钥信息ssh-keygen -R 192.168.0.100服务器上使用执行 ssh-keygen -t rsaroot目录下生成 .ssh 目录id_rsa(私钥)id_rsa.pub(公钥)authorized_keys(授权文件)known_hosts(访问过计算机的公钥(public key)都记录在~/.

2021-08-21 23:14:15 185

springboot生成验证码完整demo

springboot生成验证码完整demo

2021-05-18

简单的天气预报系统springboot

这是一个简单的天气预报系统,后台使用了springboot,使用了百度的接口。项目总体比较简单,可以实现简单的天气信息查询,前端部分使用了react,但是不是没有布局,只是测试。项目简单,可以锻炼一些基本的数据库操作等基本的东西。

2020-07-17

空空如也

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

TA关注的人

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