- 博客(64)
- 收藏
- 关注
原创 EMQ(mqtt)—— 物联网亿万级通信
EMQ X 是开源社区中最流行的 MQTT 消息服务器。EMQ官网:https://www.emqx.cn/EMQ X 公司主要提供三个版本:开源版、企业版、平台版 可在官网首页产品导航查看每一种产品;主要体现在支持的连接数量、产品功能和商业服务等方面的区别。为什么选择EMQ X?(1)从支持 MQTT5.0、稳定性、扩展性、集群能力等方面考虑,EMQX 的表现应该是最好的。
2024-03-28 15:27:34
3092
原创 前后端分离开发(Yapi与Swagger的使用)
在上面我们直接访问Knife4j的接口文档页面,可以查看到所有的接口文档信息,但是我们发现,这些接口文档分类及接口描述都是Controller的类名(驼峰命名转换而来)及方法名,而且在接口文档中,所有的请求参数,响应数据,都没有中文的描述,并不知道里面参数的含义,接口文档的可读性很差。前端工程的静态资源,会直接部署在Nginx中进行访问。在接口文档的页面中,我们可以看到接口的中文描述,清晰的看到每一个接口是做什么的,接口方法参数什么含义,参数是否是必填的,响应结果的参数是什么含义等,都可以清楚的描述出来。
2024-03-01 14:14:26
1026
原创 Linux编程环境和软件设施安装
A. 安装B. 我们可以通过一个指令,来检查当前的yum源从图中,我们可以看到我们安装的 CentOS7 采用的是网易的163yum源。C. 网络 yum 源配置文件位于 /etc/yum.repos.d/ 目录下,文件扩展名为"*.repo"可以看到,该目录下有 7 个 yum 配置文件,通常情况下 CentOS-Base.repo文件生效。
2023-12-21 13:53:12
1096
原创 Docker
微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。(1)分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。(2)在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:(1)依赖关系复杂,容易出现兼容性问题(2)开发、测试、生产环境有差异例如一个项目中,部署时需要依赖于node.js、Redis、RabbitMQ、MySQL等,这些服务部署时所需要的函数库、依赖项各不相同,甚至会有冲突。
2023-12-21 10:14:02
1085
原创 Nginx
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。官网:https://nginx.org/
2023-12-20 17:09:44
888
原创 Linux操作
作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于 Windows中的记事本语法: vi fileName说明:1). vim是从vi发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。2). 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装: yum install vim。
2023-12-11 17:27:46
886
原创 Maven高级
--定义具体的环境:生产环境-->--定义环境对应的唯一名称-->--定义环境中专用的属性值-->--设置默认启动-->--定义具体的环境:开发环境-->……
2023-08-20 22:42:35
734
原创 Vue框架
然而,挂在阶段还没有开始, $el属性目前不可见,这是一个常用的生命周期,因为你可以调用methods中的方法,改变data中的数据,并且修改可以通过vue的响应式绑定体现在页面上,,获取computed中的计算属性等等,通常我们可以在这里对实例进行预处理,也有一些童鞋喜欢在这里发ajax请求,值得注意的是,这个周期中是没有什么方法来对实例化过程进行拦截的,因此假如有某些数据必须获取才允许进入页面的话,并不适合在这个方法发请求,建议在组件路由钩子beforeRouteEnter中完成。
2023-08-13 21:39:25
30113
1
原创 Mybatis-Plus框架
开发系统时,有时候在实现功能时,删除操作需要实现逻辑删除,所谓逻辑删除就是将数据标记为删除,⽽并⾮真正的物理删除(⾮DELETE 操作),查询时需要携带状态条件,确保被标记的数据不被查询到。MyBaits 别名包扫描路径,通过该属性可以给包中的类注册别名,注册后在 Mapper 对应的 XML ⽂件中可以直接使⽤类名,⽽不⽤使⽤全限定的类名(即 XML 中调⽤的时候不⽤包含包名)。有些时候我们可能会有这样的需求,插⼊或者更新数据时,希望有些字段可以⾃动填充数据,⽐如密码、version 等。
2023-08-13 21:35:16
1249
原创 Mybatis框架
如果查询结果集中的属性存在于多个表中,我们在查询标签中的resultType属性将会变为resultMap属性,其值为标签中自定义的id的值,type="Student"表示返回结果集的类型,标签中有和标签,标签代表数据库的表中主键属性,标签则代表其他属性,column="id"表示在数据库表中的属性名,property="id"表示自定义类中的属性名。
2023-08-13 19:11:43
571
原创 SpringBoot框架
springboot是spring家族中的一个全新框架,用来简化spring程序的创建和开发过程。在以往我们通过SpringMVC+Spring+Mybatis框架进行开发的时候,我们需要配置web.xml,spring配置,mybatis配置,然后整合在一起,而springboot抛弃了繁琐的xml配置过程,采用大量默认的配置来简化我们的spring开发过程。SpringBoot化繁为简,使开发变得更加的简单迅速。
2023-08-13 19:10:12
211
原创 SpringMVC框架
在controller层的方法中,返回值为String类型,返回一个界面使用的是请求转发的方式,如果想要使用重定向跳转至其他页面,在返回值中加上redirect:,/当springmvc看到你返回的字符串中含有redirect:时,将会认为你要进行重定向跳转。第二步,创建一个页面,这里需要注意的是提交方式必须为post提交,表单类型enctype需要设置为multipart/form-data的格式,这里的input标签的name属性不可省略,需要和controller层接收的参数名相同。
2023-08-13 18:30:13
1038
原创 Spring框架
控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。one:控制反转,把对象的创建和对象的调用过程交给Spring进行管理。
2023-08-13 18:17:43
146
原创 Redis的缓存穿透、缓存击穿和缓存雪崩
缓存穿透缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。缓存雪崩是因为大量的key同时过期所导致的问题,而缓存击穿则是部分key过期导致的严重后果。为什么大量key过期会产生问题而少量的key也会有问题?缓存击穿问题也叫热点Key问题,就是⼀个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击。具体情况如下图所示:上述:假设此时该热点key的TTL时间到(失效了),则查询缓存未命中,会继续。
2023-08-03 19:34:14
5935
2
原创 Redis
关系型数据库与NoSQL数据库并非对立而是互补的关系,即通常情况下使用关系型数据库,在适合使用NoSQL的时候使用NoSQL数据库,让NoSQL数据库对关系型数据库的不足进行弥补。一般会将数据存储在关系型数据库中,在nosql数据库中备份存储关系型数据库的数据。
2023-07-26 16:51:01
625
1
原创 XML (可扩展标记语言)
规则:* 名称可以包含字母、数字以及其他的字符* 名称不能以数字或者标点符号开始* 名称不能以字母 xml(或者 XML、Xml 等等)开始* 名称不能包含空格。
2023-07-26 11:23:53
618
原创 maven
Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率1.清理,把之前项目编译的东西删除掉,为新的编译代码做准备。2.编译,把程序源代码编译为执行代码,java-class文件批量的,maven可以同时把成千上百的文件编译为classjavac不一样,javac一次编译一个文件。3.测试:maven可以执行测试程序代码,验证你的功能是都正确。批量的,maven可以同时执行多个测试代码,同时测试很多功能。
2023-07-26 10:58:43
667
原创 ajax & axios & json
Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTML 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。[3] 使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。
2023-07-26 10:49:03
1273
原创 filter(过滤器)
过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。2.具体资源路z径拦截:@WebFilter("/index.jsp") //这是指访问index.jsp的时候会经过过滤器。3.具体目录拦截:@WebFilter("/mayik/*") //这是指访问mayikt目录下的所有资源时会经过过滤器。1.所有资源拦截:@WebFilter("/*") //这是指访问所有资源的时候都会经过过滤器。
2023-07-26 10:40:51
700
原创 cookie
但是为了确保数据不丢失,因为同样服务器关闭后session对象会被销毁 ,如果想确保数据不丢失,可以使session钝化,即在服务器正常关闭之前,将session对象序列化到硬盘上。如果需要两个Session相同,则可以创建一个Cookie对象,key为:JSESSIONID,设置一下最大存活时间,让Cookie持久化保存Session的ID,就可以实现客户端关闭,两次获取Session就是同一个。b.负数:默认值,Cookie存储在浏览器内存中,当浏览器关闭,内存释放,则Cookie被销毁。
2023-07-26 10:35:31
984
原创 jsp(Java Server Pages)
1. JSP=Java Server Pages java服务器端页面2. 程序员在开发过程中,发现Servlet做界面非常不方便,所以产生了jsp技术,JSP其实是对Servlet进行了包装而已。3.jsp底层是基于Servlet封装, jsp + java类(service、javabean)+ servlet,就会构成mvc的开发模式,mvc模式是目前软件公司中相当通用的开发模式。
2023-07-26 10:18:46
1323
原创 web服务器(Tomcat & Servlet)
(1)web服务器 底层是 基于tcp协议封装 http协议实现、springboot框架 底层内嵌入我们的 Tomcat服(2)web服务器是一个应用程序(软件),对http协议的进行封装,让web开发更加便捷。手写http服务器框架,底层是基于socket tcp实现。
2023-07-26 10:02:07
3152
原创 Http协议
Web:全球广域网,也称为万维网(www),也就是能够通过浏览器访问的网站例如 通过浏览器访问 www.mayikt.com 、www.baidu.com、www.taobao.com。JavaWeb开发:是使用java技术栈开发Web项目。B/S架构的全称为Browser/Server,即浏览器/服务器结构,Browser指的是Web浏览器它的特点是 客户端只需要安装浏览器,应用程序的逻辑和数据都存放在服务器端共享访问。
2023-07-26 09:08:44
121
原创 Promise(javaScript)
Promise 是异步编程的一种解决方案,其实是一个构造函数,自己身上有all、reject、resolve这几个方法,原型上有then、catch等方法。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。
2023-07-20 17:28:04
45
原创 EventLoop事件循环(javaScript)
即事件循环,是指浏览器或Node的一种解决javaScript单线程运行时不会阻塞的一种机制,也就是我们经常使用异步的原理。因为JavaScript就是单线程,也就是说,同一个时间只能做一件事。单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。如果前一个任务耗时很长,后一个任务就不得不一直等着。所有任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务(asynchronous)。
2023-07-20 17:02:07
50
原创 JavaScript
(1)undefined类型的值就一个,就undefined,当声明一个变量,但是并不给变量赋值时,他的值就是Undefind(2)使用typeof检查一个undefind时,会返回一个undefined(除最后一行外用逗号分割)(1) 对象里面的属性或者方法采取见值对的形式,键(属性名) : 值(属性值)(2) 多个属性或者方法中间用逗号隔开(3) 方法冒号后面跟的是一个匿名函数对象的三种命名规则(1)匈牙利命名规则:属性+类型+对象描述属性:成员变量m_、静态成员s_
2023-07-17 21:12:47
205
原创 JQuery
animate({想要修改的样式属性},速度(slow / normal / fast),切换效果(swing /l inear) , 回调函数)
2023-07-17 19:26:13
456
原创 CSS(层叠样式表)
Cascading Style Sheets 层叠样式表(定义页面如何显示)* 层叠:多个样式可以作用在同一个html的元素上,同时生效。
2023-07-17 00:00:14
1583
原创 IDEA实用设置及插件
无论你称之为IntelliSense、intelliCode、自动完成、人工智能辅助的代码完成、人工人工智能驱动的代码完成,还是人工智能副驾驶、人工智能代码片段、代码建议、代码预测、代码提示或内容辅助,使用Tabnine都会极大地影响你的编码速度,大大缩短你的编码时间。1. aiXcoder是一个基于最先进的深度学习技术的强大的代码完成器和代码搜索引擎。6. 序列图是从java、kotlin、scala(Beta)和groovy(limited)代码生成简单序列图(UML)的工具。
2023-07-16 17:07:59
2006
原创 IDEA 常用快捷键
•快速生成:main psvm / main•控制台快速输出语句 sout•删除一行:CTRL + Y•复制一行:CTRL + D•查找•跳转切换•阅读源码•编辑•新添,新建:ALT + insert•目录显示与关闭:CTRL + Fn + F12•提示方法参数:CTRL + P•万能键:ALT + ENTER•运行当前文件:CTRL + SHIFT + F10•运行上次:SHIFT + F10•以DEBUG模式运行上次:SHIF
2023-07-16 17:07:39
1085
原创 正则表达式
把 类似 : "我....我要....学学学学....编程 java!通过正则表达式 修改成 "我要学编程 java"String content = "我....我要....学学学学....编程 java!//1. 去掉所有的. Pattern pattern = Pattern.compile("\\.");//2. 去掉重复的字 我我要学学学学编程 java!// 思路//(1) 使用 (.)\\1+//(2) 使用 反向引用$1 来替换匹配到的内容。
2023-07-14 19:19:59
1400
原创 Git分布式版本控制工具
本地仓库和远程仓库本地仓库:是在开发人员自己电脑上的Git仓库远程仓库:是在远程服务器上的Git仓库(1)Clone:克隆,就是将远程仓库复制到本地(2)Push:推送,就是将本地仓库代码上传到远程仓库(3)Pull:拉取,就是将远程仓库代码下载到本地仓库。
2023-07-09 16:44:10
119
原创 JDBC -- ( Java DataBase Connectivity ) Java 数据库连接
全称:( Java DataBase Connectivity ) Java 数据库连接JDBC 就是使用Java语言操作关系型数据库的一套API执行SQL语句需要SQL执行对象,而这个执行对象就是Statement对象java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现。
2023-07-07 22:34:21
739
原创 数据库的三大范式
表中sex_desc依赖于sex_code,而sex_code依赖于id(主键),从而推出sex_desc依赖于id(主键);判断表是否符合第一范式,列是否可以再分,得看需求,如果将电话号和地址分开才能满足查询等需求时,那之前的表设计就是不满足1NF的,如果电话号和地址拼接作为一个字段也可以满足查询、存储等需求时,那它就满足1NF。(主要是说在联合主键的情况下,非主键列不能只依赖于主键的一部分)stu_id(学生id)、kc_id(课程id)、score(分数)、kc_name(课程名)
2023-07-06 21:11:56
39
原创 MySQL数据库
数据库指的是长期存在计算机内、有组织、可共享的、大量数据的集合。数据是按照特定的数据模型来组织、存储在数据库中的。MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于 1995 年建立的* 创建数据库:* create database 数据库名称;
2023-07-04 12:47:06
843
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人