自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 什么是容器

就像你野餐的盒子确保食物新鲜不受外界干扰一样,容器确保软件不管在哪个电脑或服务器上运行,表现都一模一样,不会因为环境不同而出问题。这意味着,你可以在你的笔记本上开发一个程序,然后轻松地放到云服务器上运行,就像把一个完整的午餐盒从家里带到公园一样自然。想象一下你去野餐,你把水果、三明治还有饮料分别放在不同的盒子里,这样每样东西都整整齐齐,不会混在一起,也方便携带。这样的好处是显而易见的:提高了软件的可移植性和一致性,降低了“在我机器上能跑”的问题,也让团队协作和部署变得更加高效。

2024-05-23 12:21:59 81

原创 Nginx配置文件

当然,让我们一步步来了解Nginx配置文件,即使你是完全的初学者也能轻松跟上。想象一下Nginx是一个超级聪明的接待员,它知道如何处理各种各样的访客请求,而这些规则,我们就写在一个叫做nginx.conf的文件里。这段配置意味着,当有人访问example.com时,Nginx会在/var/www/example.com目录下查找index.html或index.htm,并展示给访问者。首先,Nginx的配置文件通常位于/usr/local/nginx/conf/目录下,名字就叫nginx.conf。

2024-05-23 12:20:40 145

原创 uniapp写的旅行微信小程序

2024-05-22 18:22:20 43

原创 近邻算法详解

想象一下,如果你想知道一个新的水果是苹果还是橘子,你会怎么做?2. 测量距离:当有一个新的未知水果出现时,你需要计算这个新水果与所有已知水果之间的“距离”,这里的距离不是物理空间的距离,而是根据它们的特征差异来衡量的。1. 收集数据:首先,你需要有一堆已经分类好的数据作为参考,比如一堆已知的苹果和橘子,每种水果都有它的特征描述,比如颜色、大小、形状等。3. 找邻居:确定了距离之后,你就要找出离这个新水果最近的几个已知水果,这个“最近的几个”就是K值,比如说K=3,那就找最近的三个邻居。

2024-05-22 18:17:47 240

原创 数据库SQL入门教程

当然,SQL(Structured Query Language,结构化查询语言)是与数据库对话的语言,它让你能够读取、插入、更新和删除数据库中的数据。想象一下,数据库就像一本巨大的电子表格,里面有很多表,每个表都整齐地排列着数据。• 创建表:就像你决定在记事本上新添一页记录蔬菜信息一样,你可以用SQL命令CREATE TABLE创建新表,比如创建一个名为”Fruits”的表来存放水果信息。想象一下,你有一本关于水果的记事本,每一页记录了一种水果的信息,比如名字、颜色、产地。第二步:往表里加数据。

2024-05-21 18:04:48 197

原创 springboot全局异常处理

Spring Boot全局异常处理就像是给你的应用程序穿上了一层保护衣,当程序运行过程中不小心”摔跤”(遇到错误或异常)时,它可以优雅地处理这些情况,不让用户看到难看的错误信息,而是展示友好的提示自动处理问题。比如,你想处理所有未被捕获的异常,就可以定义一个方法,这个方法接收一个参数,类型是Exception或者其子类。1. 新建一个类:首先,你需要创建一个新的Java类,我们通常叫它ExceptionHandler或者类似的名字,用来存放全局异常处理的逻辑。第二步:创建异常处理器。

2024-05-20 13:11:47 345

原创 Java18新特性

Java 18改进了Javadoc,使得在API文档里加入可读性高的代码片段变得很容易,还能自动高亮和格式化,让阅读代码就像看故事书一样顺畅。现在,默认就用UTF-8,这是国际通用的字符编码,能很好地支持各种语言文字,你再也不用担心乱码问题了。Java 18加了个新工具,叫做jwebserver,能让你迅速部署静态网页,这对于学习或快速分享一些东西超级方便。这些特性都是为了让编程变得更简单、更高效。Java 18对这部分进行了改进,使用了更高效的“方法句柄”,让反射操作更快、更安全。

2024-05-20 12:29:03 639

原创 详解ai作画算法原理

所以,AI作画的原理就像是一个不断进步的学习过程,通过生成器和判别器的互相促进,AI能够逐渐掌握绘画的技巧和风格,最终创作出令人惊叹的艺术作品。判别器的工作是看一幅画是真的还是假的,也就是说,它要判断这幅画是不是由真正的画家画的,还是由生成器这个AI伪造的。而判别器则不断提升自己的辨别力,不被轻易骗过。在这个过程中,生成器慢慢学会了如何画出更接近真画的作品,而判别器也变得越来越厉害,能识别出更细腻的差别。如果你告诉它“画一张印象派风格的日落”,它就能根据之前学到的知识,创作出一幅符合印象派特点的日落画来。

2024-05-19 14:06:27 180

原创 Aigc全面介绍

AIGC,全名叫人工智能生成内容(Artificial Intelligence Generated Content),听起来挺高大上,但实际上它就是让聪明的电脑程序自己创造出各种东西来,比如文字、图片、音乐、视频,甚至是设计和代码。• 写故事:就像有个自动写作机,你告诉它“写一个关于太空冒险的故事”,它就能编出一个完整的故事给你,可能还有你意想不到的精彩情节呢。• 画画:你想要一幅山水画,但自己不会画,没问题,AIGC能根据你的描述,画出一幅幅美丽的山水图,每一幅还都不一样。

2024-05-19 14:04:37 157

原创 R-tree算法

关键在于,R-tree的设计很聪明,它尽量让每个节点里的矩形覆盖得刚刚好,既不太松散也不太拥挤,这样查找效率最高。当你要查询某个位置或区域时,R-tree就会从最顶层的几个大“文件夹”开始检查,迅速排除掉不可能有交集的大块区域,只深入检查可能相关的节点。举个例子,假设你想知道北京周边有哪些好玩的景点,R-tree算法就会先看中国这个大框子里有哪些省份与北京相邻,然后在这些省份里找更小的区域,比如北京市内和邻近的河北省,最后在这些区域内找到具体的景点信息。

2024-05-18 15:02:56 302

原创 Spring Cloud 应用框架

还有Feign,它像一个电话簿,让你不用记住复杂的号码(服务地址),就能直接打电话(调用服务);现在,回到Spring Cloud,它提供了一堆现成的解决方案,比如怎么让这些小房子(微服务)之间互相通信(服务发现和注册)、怎么处理它们之间如果有人太忙了怎么办(负载均衡)、如果某个小房子突然倒了怎么应对(熔断器机制)等等。微服务,简单来说,就是把一个大大的应用程序拆分成很多个小块,每个小块负责一块特定的工作,这样做的好处是,每个小块都容易管理和升级,而且不会因为一个地方出问题就影响到整个大应用。

2024-05-18 15:00:43 586

原创 Redisoon 实现的布隆过滤器

这个布隆过滤器就是一个神奇的本子,里面有很多很多的小格子,每个格子可以记录“有这本书”或者“没这本书”的信息。下次有人再问起《哈利·波特》,你只需要看一眼本子上的这几个特定格子,如果都是标记过的,你就能非常快地说:“有这本书!”即使这个信息可能不是100%准确,但大多数时候能帮上忙。”、“《三体》在吗?这样,每次有人问你《哈利·波特》在不在,你就像查魔法本子一样,用Redisson管理的布隆过滤器迅速给出答案,大大提高了效率,虽然偶尔可能会告诉别人“可能有这本书”,但实际上并没有,但总体上是利大于弊的。

2024-05-17 12:23:16 301

原创 Redis缓存穿透是什么? 怎么解决 ?

Redis缓存穿透,简单来说,就像是你想去图书馆借一本非常冷门的书,这本书不仅图书馆里没有,连整个城市的所有图书馆都没有,结果你白跑了一趟又一趟。在计算机的世界里,就是客户端请求的数据既不在Redis缓存中,也不在数据库中,导致每次请求都要穿透到数据库查询,但每次都得不到结果,这就浪费了很多不必要的数据库访问资源。综上所述,解决缓存穿透的关键思路是预先拦截明显无效的请求,减少不必要的数据库访问,同时合理利用缓存机制,平衡好查询效率与资源占用之间的关系。

2024-05-17 12:17:55 154

原创 Mysql 超大分页怎么处理?

MySQL处理超大分页时遇到的问题类似,如果你请求查看结果集中的第几万甚至第几十万页数据,直接用传统的LIMIT offset, rows方法(比如跳过前100000行,取10行)会非常慢,因为它实际上是从头开始数,丢掉前面的100000行,再给你后面的数据。比如,记录下上次读到的是第100000条记录,下次查询时,直接说“从第100001条开始给我10条”,这样数据库就可以直接定位,不用从头开始数了。用这些方法,MySQL在面对超大分页时,就能更快地跳到你想要的那一页,不用再一页一页慢慢翻了。

2024-05-16 12:38:30 392

原创 MySql索引

想象一下,如果你要找一本书里的某个知识点,如果没有目录,你就得从第一页开始翻,一页一页地看,直到找到为止,这会花很多时间。总的来说,B+树相比B树,在查找数据时路径更明确,尤其是对于范围查找和全表扫描特别有利,而且由于数据只存储在底部,可以更好地利用缓存,所以在数据库领域,比如MySQL,B+树更受欢迎。为了提高效率,如果查询的信息能够直接从索引中获取,不需要再去主数据区找,这样的查询就被称为“覆盖索引查询”,它比回表查询要快,就像是你直接从目录上就看到了想要的摘要信息,不用再去拿书。

2024-05-16 12:33:33 221

原创 Mysql的语句执行很慢,如何分析呢?

但如果你给相册里的照片分了类,贴上了标签(建立索引),想找哪张照片一翻就到,自然就快很多。在MySQL的设置里,打开慢查询日志功能,告诉它:“嘿,如果处理查询超过我设定的时间,比如5秒钟,你就记录下来。有时候,不只是查询的问题,可能是相册(数据库)所在的电脑(服务器)不够好,或者相册管理规则(MySQL配置)设置得不合理。这时候,可能需要升级硬件,或者调整MySQL的配置参数,比如增加内存,优化缓存设置等。这样,一步步来,我们就能逐渐提高MySQL查询的速度,让它变得更加灵敏高效。

2024-05-15 12:38:36 1008

原创 Mysql 如何定位慢查询?

你需要登录到MySQL服务器,修改配置文件(通常是my.cnf或my.ini),把slow_query_log = 1打开,并设置一个时间阈值,比如long_query_time = 1,意思是超过1秒的查询就算慢查询了。不过别担心,有一些工具可以帮助你,比如MySQL自带的命令行工具,或者第三方的图形界面工具,它们能让你更直观地看到哪些查询最耗时。定位慢查询不是一次性的任务,数据库随着数据量的增长,查询模式的变化,可能会出现新的慢查询。所以,要定期检查慢查询日志,持续优化。

2024-05-15 12:35:41 777

原创 Vue.js 介绍

Vue也是这样,你可以从一个小小的页面功能开始,随着需求增加,慢慢扩展它的功能,不用一上来就被一堆复杂的概念吓到。1. 安装Vue:首先,你需要在电脑上装个Node.js,然后通过命令行工具(比如CMD或Terminal)输入 npm install -g @vue/cli 来安装Vue的脚手架工具,这个工具能帮你快速搭建Vue项目的骨架。3. 组件化:就像乐高积木,Vue让你把页面分成一块块的小部件,每个部件都有自己的功能,然后拼在一起就是一个完整的页面。初次见面,Vue.js是谁?

2024-05-14 13:23:45 253

原创 SqlServer基础学习笔记

要和这个超级记事本沟通,你需要学一门特别的语言,这就是SQL(发音是“sequel”,代表“Structured Query Language”)。这里的SELECT *意思是“选取所有列”,FROM Friends指定了查询的表是“Friends”,WHERE Lastname = '李'则是条件,表示只选姓“李”的记录。• SELECT:就像问“给我看看所有蓝色的东西”,在SQL里,你可以用SELECT命令来查找特定的数据,比如“查找所有年龄大于18的用户”。

2024-05-14 13:03:49 242

原创 Tomcat 启动闪退问题解决方法

可以在Tomcat的启动脚本里(比如catalina.bat或catalina.sh),给Java虚拟机(JVM)多分点内存,比如加个-Xms512m -Xmx1024m,意思是初始给512MB,最多能吃到1GB的内存。打开任务管理器看看,或者用命令netstat -ano找找,如果有占了8080的,要么换Tomcat的门牌号(改server.xml里的port),要么请那个占位的程序挪挪窝。Tomcat有个很重要的日记本叫做catalina.out,里面记录了它运行时的心情,如果出错了也会写在里面。

2024-05-13 12:30:16 250

原创 Nginx详解

它是一个超级高效的网络服务器,特别擅长处理大量的网络请求,比如你访问网站时的那些请求。2. 反向代理:想象一下,你不想让客人直接看到厨房是怎么工作的,Nginx就担任起了这个“中间人”的角色,客户通过Nginx请求资源,Nginx再向实际的服务器请求数据,然后返回给客户,这样可以隐藏服务器的具体信息,提高安全性。1. Web服务器:Nginx的主要角色就是作为一个web服务器,它接收用户的HTTP或HTTPS请求,然后将这些请求转发给正确的后端服务器处理,最后再把处理好的响应结果返回给用户。

2024-05-13 12:25:59 541 2

原创 SSH简介

在互联网的早期,如果我们要从家里电脑控制办公室的电脑,或者反过来,用的方法可能不太安全,就像是在公共电话亭大声说出银行卡密码。1. 安装SSH客户端:首先,你的电脑上需要一个SSH客户端,很多现代的操作系统,像Linux和MacOS,本身就内置了SSH客户端。3. 加密保护:SSH使用非常强大的加密技术,使得你在网络上传输的所有信息,包括你输入的密码、操作的命令,甚至是文件内容,都变成了一堆乱码,只有接收端才能解码,别人就算截获了信息,也看不懂。1. 远程登录:就像你人在家里,却能操作办公室电脑一样。

2024-05-12 14:58:51 313

原创 Spring-全面详解

3. 模块化:Spring家族庞大,有Spring MVC(做网站开发的)、Spring Security(负责安全的)、Spring Data(数据访问更便捷)等等,你可以按需选择,用多少拿多少,灵活组合。Spring是一个开源的Java框架,诞生于2002年,它的初衷是简化Java企业级应用的开发。1. 环境准备:首先,确保你的电脑上有Java环境,然后下载安装Spring相关的工具,比如Spring Tool Suite(STS)或者IntelliJ IDEA,这些都是很好用的开发工具。

2024-05-12 14:53:11 255

原创 图搜索算法详解

图搜索算法啊,想象一下你在一个大迷宫里,手里拿着一张地图,想要找到从入口到出口的路。图搜索算法就是这么一个聪明的向导,它在复杂的“图”(就像迷宫的地图,但可以是任何由点和线连接的网络)中帮你找到一条从起点到终点的路径。图是由节点(也叫顶点,就像是迷宫里的房间)和边(连接房间的通道)组成的。每个节点可以和其它节点通过边相连,边可能有方向也可能没方向,有的边还有“距离”(代价)的概念,就像通道的长短。• 实际应用:从搜索引擎的网页排名,到游戏AI的路径规划,再到社交网络的朋友推荐,图搜索算法无处不在。

2024-05-11 13:35:38 366

原创 Sass详解

就是说在你的CSS代码真正跑到网页上去之前,Sass会帮你做一些神奇的事情,比如变量定义、嵌套规则、混合(类似函数)等等,让你的CSS代码更加简洁、高效。Sass是个让写CSS变得超级有趣的家伙,就像给你的样式表加了个超能力。.scss是Sass文件的扩展名,就像CSS文件的.css一样。• 嵌套:让你的CSS代码结构清晰,比如写一个div里的p,不用重复写div,直接在div里面嵌套写p的样式。• 变量:就像数学里的x,你可以给颜色、字体大小这样的常用值起个名字,以后直接用这个名字就行,改起来也方便。

2024-05-11 13:10:38 415

原创 Milvus基本概念

这是Milvus的拿手好戏。假设你想找一只蓝色眼睛的猫的照片,你先会有一张蓝眼猫的图片,通过算法得到一个向量,然后Milvus会在它的“照片册”里快速找到所有类似向量的图片,也就是那些看起来像蓝眼猫的照片。总的来说,Milvus就像是你管理复杂数据的超级助手,特别是当你需要处理大量非结构化的信息,比如图片、声音或者文本时,它都能帮你快速找到你需要的内容。实体就像是你盒子里的每张卡片,每个Entity都包含了向量信息,有时候还会有额外的标签或者描述,比如这张图是哪只猫的名字、年龄之类的。

2024-05-10 13:17:11 218

原创 Eureka详解

同时,如果某个服务挂了或者新加入了服务,Eureka Client也会从Eureka Server那里获取最新的服务列表。一旦这个服务启动,它就会自动到Eureka Server去登记:“嗨,我是订单服务,住这儿,请记住我”。3. 服务发现:现在,如果有另一个服务想要调用刚才注册的订单服务,它不需要知道具体的地址,只要问Eureka Server就行了:“嘿,订单服务在哪?1. Eureka Server:它就像一个管理员,负责记录所有服务的信息,比如哪个服务在哪台机器上运行,端口号是多少。

2024-05-10 12:55:48 460

原创 Vuex新手村指南:零基础快速入门,打造高效状态管理神器

想象一下,你正在搭建一座由很多小房间组成的房子,每个房间就像是Vue应用中的一个组件,它们各自有自己的小秘密(数据)。有时候,这些房间需要共享一些东西,比如谁家做的蛋糕(状态),这时候就需要一个中心仓库来放这些共用的东西,这就是Vuex。3. Mutations(突变):想要改变蛋糕的口味?2. Getters(获取器):想象成是从厨房拿食物的小手,它帮你从state里取数据,还能加工一下,比如切片蛋糕。1. State(状态):这是那个公共厨房里放着的大蛋糕,所有的数据都放在这里,大家都看得到。

2024-05-09 13:08:41 229

原创 Unity编辑器扩展

4. 刷新并测试:保存脚本后,回到Unity编辑器,通常情况下,菜单项会自动出现,但如果没有,尝试重新启动编辑器或者点击编辑器顶部的Window > Asset > Refresh来刷新资产数据库。想象Unity编辑器是你搭建虚拟世界的工具箱,编辑器扩展就是你额外定制的一些小工具,它们能让你的工具箱变得更加强大和个性化。你不需要是编程高手,但至少得知道Unity是干什么的,以及C#语言的基础,因为Unity编辑器扩展主要是用C#编写的。这只是冰山一角,Unity编辑器扩展的世界非常广阔。

2024-05-09 12:54:06 259

原创 Java|用爬虫解决问题

使用Java进行网络爬虫开发是一种常见的选择,因为Java语言的稳定性和丰富的库支持使得处理网络请求、解析HTML/XML、数据抓取等任务变得更加便捷。下面是一个简单的Java爬虫示例,使用了Jsoup库来抓取网页内容。这个示例将展示如何抓取一个网页的标题。首先,确保你的开发环境中安装了Java,并且配置好了Java开发环境。然后,你需要引入Jsoup库。

2024-05-08 12:56:11 786

原创 Edge的使用心得与深度探索

1. 下载Edge:打开你的电脑,找到一个叫“Microsoft Edge”的网站,或者直接在现有的浏览器里搜索“下载Microsoft Edge”。接下来就是“下一步”、“同意”这样的标准安装流程,基本上你只需要一直点“下一步”,直到看到“完成”或“启动浏览器”的按钮为止。• 界面初探:打开Edge,你会看到一个干净的界面,最上面是地址栏,你可以在这里输入你想访问的网站地址。点击右上角的三个点,选择“设置”,这里你可以调整主页、搜索引擎、隐私设置等,让Edge更贴近你的需求。

2024-05-08 12:49:52 652

原创 Element-ui快速入门

1. 安装Node.js:先去nodejs.org下载并安装Node.js,它会自带npm(Node包管理器),我们需要它来安装Element-UI。这会启动一个本地服务器,你可以在浏览器访问http://localhost:8080/看到你的页面,上面应该有一个美美的按钮了。el-button就是Element-UI里的按钮组件,type="primary"是让它变成主要颜色的样式。其中my-element-app是你的项目名,可以换成你喜欢的名字。

2024-05-07 13:18:11 1030

原创 实用的chrome浏览器命令

想悄悄上网不留痕迹?按 Ctrl + Shift + N(Windows/Linux)或 Cmd + Shift + N(Mac),就能打开一个新的秘密浏览窗口。访问 chrome://flags,这里是Chrome的实验室,你可以开启一些前沿但可能不稳定的功能尝鲜,记得小心操作哦。要打开新的网页标签页,只需按下 Ctrl + T(Windows/Linux)或 Cmd + T(Mac)。试试 Alt + Home(Windows/Linux),或者在Mac上用 Cmd + Shift + H,一按即达。

2024-05-07 13:11:29 296

原创 生成gitee公钥

4、复制终端输出的公钥,放到这里,标题随便取。

2024-05-03 16:33:53 410 1

原创 uniapp-微信小程序-上拉和下拉触底刷新

2024-05-03 16:02:40 129

原创 容器的通俗讲解

这个小世界与外界隔离,它不知道也不关心外面的计算机上安装了什么其他软件或配置,这样就能确保无论在哪台电脑上,只要用这个容器,程序都能以完全相同的方式运行,就像你在厨房里那个独立的小空间里始终能做出同样美味的菜肴一样。厨房里有各种各样的厨具和食材,但是有时候,为了做一道特别的菜,你需要把一些特定的材料和工具单独放在一起,不让它们和其他菜肴的用品混在一起,这样既能保证这道菜的原汁原味,又不会影响到其他菜肴的制作,对吧?更妙的是,这些容器非常轻便,启动快,用完可以轻松删除,不会留下杂乱的“厨房”。

2024-04-30 12:45:27 569

原创 Centos 常见的命令

5. 复制文件或目录cp 文件名 新位置/ 或 cp -r 目录名 新位置/类似于复印机,第一个命令用来复制单个文件到指定位置,第二个命令(加了 -r)则是复制整个目录。6. 移动或重命名文件或目录mv 旧文件名 新文件名 或 mv 文件/目录 新位置/不仅能帮你在家里“搬家”,还能给文件改名字,是不是很实用?3. 创建新目录mkdir 我的新文件夹就像在家里新建一个房间,这个命令能让你在当前目录下创建一个新的文件夹。用这个命令,它会列出当前目录下的所有文件和文件夹。用这个命令,后面跟上你想去的目录名字。

2024-04-30 12:38:52 522

原创 npm详解

想象一下npm是个大超市,里面摆满了各种各样的积木块,这些积木块就是JavaScript世界的“包”或者叫“模块”。这些包能帮你快速搭建起你需要的各种应用,比如网站啊,小游戏啊,或者是提升工作效率的小工具。在package.json文件里,会记录每个包的版本信息,这样别人或者未来的你,在其他电脑上也能一键还原所有的积木块。它会在你的项目文件夹里创建一个叫做package.json的文件,里面会记录你的项目信息和依赖的积木块列表。如果你自己做了一个很酷的积木块,想分享给别人,npm也支持你发布自己的包。

2024-04-29 13:25:15 513 2

原创 01|为自己做一个APP

先把前端做好,然后再写后端。

2024-04-28 17:40:17 222

原创 Spring cloud原理详解

想象一下,你开了一家餐馆,一开始只卖汉堡,后来生意火了,你又增加了炸鸡、披萨、冰淇淋各种摊位,每个摊位就是一个微服务,它们各自独立工作,但又得相互配合。有时候,某个服务可能太忙了,电话老打不通,这时候Spring Cloud还有个叫Hystrix的断路器,它会说:“嘿,别打了,那边线路忙,我给你个备用方案或者告诉你稍后再试。至于餐馆运营情况,Spring Cloud Sleuth和Zipkin这些工具,就像监控摄像头,记录服务间的每一次交互,方便你查看哪里出了问题,优化服务流程。

2024-04-28 17:33:17 815

空空如也

空空如也

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

TA关注的人

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