自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux系统防火墙相关问题及常用命令介绍

linux系统防火墙:centos5、centos6、redhat6系统自带的是iptables防火墙,centos7、redhat7自带firewall防火墙,ubuntu系统使用的是ufw防火墙。防火墙导致服务不正常的问题在服务器安装某些服务之后,服务无法连接、无法正常启动等情况。查看下系统防火墙有没开放相关的服务端口。(linux系统防火墙开放相关端口后还要重启防火墙,重启防火墙后防火墙规则才会生效)关于80端口应国家相关部门的相关规定,解析在国内的域名必须要备案,所以要使用80端口的客户.

2021-09-01 09:01:25 80

原创 Spring Boot与异步任务、定时任务、邮件任务

异步任务在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在 处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用 多线程来完成此类任务 。 其实,在Spring 3.x之后,就已经内置了@Async来完 美解决这个问题。使用 @EnableAysnc、@Aysnc 两个注解package com.moti.task;import org.springframework.scheduling.annotation.Async;import org.sprin

2021-09-01 09:00:27 75

原创 51单片机模块化编程

里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路。C语言的预编译以#开头,作用是在真正的编译开始之前,对代码做一些处理(预编译)。使用模块化编程可极大的提高代码的可阅读性、可维护性、可移植性等。模块化编程:把各个模块的代码放在不同的。文件里提供外部可调用函数的声明,其它。文件想使用其中的代码时,只需要。传统方式编程:所有的函数均放在。

2022-12-15 13:20:48 363 1

原创 51单片机数码管

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极 COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极 COM 接到 +5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。

2022-12-15 12:13:15 113

原创 51单片机独立按键控制LED

GND 表示电源负极,如果按键 K1 按下则接通相当于一条导线,那么对应的 P31 也为低电压。端口赋值高电平,即 “1”,按键按下,端口被拉低至低电平,即 “0”,通过检测该端口的电平即可判断按键是否按下。对于机械开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,所以在开关闭合及断开的瞬间会伴随一连串的抖动。相当于是一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通和断开。

2022-12-14 21:46:44 134

原创 51单片机流水灯LED

交替更换电平信号来达到闪烁的目的。

2022-12-14 18:09:24 40

原创 51单片机闪烁LED灯

交替更换电平信号来达到闪烁的目的。

2022-12-14 18:08:36 48

原创 51单片机点亮LED灯

VCC 表示电源正极,当二极管的正极对应电源的正极,并且二极管的负极对应电源的负极时,二极管就会亮灯。通过原理图可以看到,D1~D8 这八个 LED 灯的负极分别对应到了 P20~P27 管脚,所以当这些管脚发出低电平信号的时候,灯就会发光。首选需要在自己电脑上安装驱动程序(CH340_CH341),之后将电脑与开发板连接上之后,打开 STC-ISP,选择到自己开发板的芯片型号,之后选择“打开程序文件”,选择到之前生成的 HEX 文件,最后点击“下载/编程”即可。之后需要选择一个设备,这里我们选择。

2022-12-14 16:49:22 1033

原创 单片机简介

单片机,英文 Micro Controller Unit,简称 MCU,内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能。单片机的任务是信息采集(依靠传感器)、处理(依靠CPU)和硬件设备(例如电机,LED等)的控制。单片机跟计算机相比,单片机算是一个袖珍版计算机,一个芯片就能构成完整的计算机系统。但在性能上,与计算机相差甚远,但单片机成本低、体积小、结构简单,在生活和工业控制领域大有所用。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

2022-12-14 16:47:34 323

原创 手把手带你实现一个短信验证码

我相信大家的手机短信里面,有两类短信占据了绝大多数,一个是快递的取件码,另一个就是各种短信验证码。就像下面这样:用大腿想一想都知道,这种短信验证码肯定是由第三方提供的服务。那么我们作为开发者和使用者,如何将短信验证码整合到我们项目中呢?本期文章,将会整合腾讯云的短信服务,以手机号注册为例,手把手带你研究一下短信验证码。腾讯云注册短信服务首先第一步,我们需要前往腾讯云,进行注册短信服务、创建应用、创建签名、创建模块等程序。https://cloud.tencent.com/完善认证信息首先

2022-05-06 11:00:56 4169

原创 简单实用的邮件任务 ,让验证码、激活链接来丰富你的登录注册

大家肯定遇到过很多下面的场景,当你在某个网站、某个APP注册信息的时候,为了验证身份,需要填写你的邮箱地址,之后邮箱可能会收到验证码,也可能会收到一个里面有激活链接的邮件,叫你点击链接进行激活。就像下面这样:这两种方式是登录注册时对邮件任务的经典应用场景。那么今天就继续上次整合登录的讲解,人脸识别和三方登录,往期的文章已经介绍了,有兴趣的回头再去看看。邮件任务SpringBoot已经为我们整合了对发送邮件的支持,也就是说我们可以使用代码,很方便的给指定的邮箱发送任意内容的邮件。整合步骤引

2022-04-28 12:45:21 983

原创 简简单单,带你撸个人脸识别登录

近期研究很多种登录系统的方式,有邮箱、手机号、QQ、微博、人脸登录等。整合了一下,用SpringBoot写了个简单的小Demo,供大家学习参考。之后在编写项目的时候你就可以选择性整合进去了,可以稍微提升一下项目B格。这期文章先讲一下我觉得挺好玩的人脸登录,我用的是百度云的人脸识别服务。实现的效果如下:登录百度云创建应用即然我们用到的是百度云的服务,那么我们首选需要登录百度云的官网https://console.bce.baidu.com/注册登录之后好像需要实名认证,认证一下就OK了,很快

2022-04-24 16:25:07 874

原创 Kafka集群的搭建与批量启停

什么是Kafka?Kafka是一个分布式的基于发布/订阅模式的消息队列(MessageQueue),主要应用于大数据实时处理领域。最新官方给Kafka的定义是一个开源的分布式事件流平台(Event Streaming Platform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。Kafka集群的搭建部署服务器发行版本为CentOS7 ✖️ 三台(已安装好Java环境),三台服务器的IP为:192.168.182.4192.168.182.5192.168.182.6部

2022-03-29 10:13:06 2073

原创 SSH配置多台服务器之间的免密登陆以及登陆别名

在研究Kafka集群的时候遇到的问题,我想要在集群中的任意节点都可以操作整个集群的服务,比如启动、停止。这里就需要使用到SSH来远程执行目标服务器上面的命令,但是就会遇到一个需要登陆密码的问题,所以研究了一下SSH的免密登陆。什么是SSH?SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理

2022-03-25 20:46:41 672

原创 MongoDB简介以及核心概念

简介MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型 。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。特点面向集合存储,易存储

2021-12-27 16:22:16 339

原创 CentOS7安装MongoDB

常规安装前往官网下载安装包,我选择的版本是CentOS7,打包方式选择的tgz。之后需要将压缩包上传至服务器并解压,我上传的是/usr/local目录下,为了方便起见我还改了个名字。tar -zxvf mongodb-linux-x86_64-rhel70-5.0.5.tgz# 重命名mv mongodb-linux-x86_64-rhel70-5.0.5.tgz mongodb之后进入到此目录创建用于存储数据data和日志log的文件夹。进入到bin目录下。执行启动命令如下:./m

2021-12-27 16:03:14 814

原创 微博第三方登录,拿捏了

什么是第三方登录?用户登录操作不是基于自身建设账号体系,而是基于用户在第三方平台上已有的账号和密码来快速完成登录的过程。下面我列举了几点第三方登录的优点。极大的简化登录注册的流程。方便用户快捷登录,降低用户的登录流失率,第三方大厂的用户某种意义上都可以是你用户。传统的登录注册,如果网站较小或者用户不经常使用,可能时间长了,用户就把登录的用户名和密码忘记了。第三方登录接入后,应用可直接获取用户昵称、头像、用户ID等信息,方便产品获取用户的基本资料。国内比较广泛使用的第三方登录方式为微博、微信、QQ,

2021-12-15 16:26:47 1258

原创 引入QQ第三方登录最新解决方案

最近一段时间经常有很多朋友和我反馈,说看了我之前关于『Java引入QQ第三方登录』的视频,然后去腾讯开发者平台按照我介绍的方法去申请的时候总是审核不通过,各种各样的反馈的失败信息,但其实之前我申请是很顺利的,所以我怀疑是腾讯的审核策略发生了变化。所以这次我又帮助大家把坑踩了一遍,大家按照我下面介绍的方法再去申请就没什么问题了。新的审核策略一般会进行几轮审核,第一轮是检查你所填写的网站的信息是否和备案信息相符,第二轮的时候审核员会打开你所填写的网站地址,如果打不开则会退回申请,第三轮的时候审核员会检查你.

2021-12-08 08:17:25 743

原创 SpringBoot指定多套配置文件环境

开发阶段SpringBoot本身对项目的多环境配置已经做了非常友好的支持了,我们只需按照SpringBoot的约定去做就好。首先我们都知道,SpringBoot的默认配置文件是application.yml。配置多个环境只需要将默认配置文件复制几份,然后将文件名按照application-环境名.yml改为相应的名称,比如:测试环境:application-dev.yml生成环境:application-prod.yml我们可以将多个环境相同的配置写在application.yml默认配置文件

2021-10-15 08:51:28 1160

原创 SpringBoot配置文件属性注入

属性注入在application.yml添加以下配置author: name: 莫提 age: 22 isMan: true # 日期格式必须为 yyyy/MM/dd HH:mm:ss birthday: 1999/07/29 12:00:00 # 数组或集合使用,分割 friends: 张三,李四,王五,赵六 # 此处为JSON字符串,双引号包裹 school: "{'name':'宜春学院','location':'江西-宜春','major':'计算机科学与技术

2021-10-15 08:51:11 164

原创 服务注册中心Eureka

什么是服务注册中心?所谓服务注册中心就是在整个的微服务架构中单独提出一个服务,这个服务不完成系统的任何的业务功能,仅仅用来完成对整个微服务系统的服务注册和服务发现,以及对服务健康状态的监控和管理功能。SpringCloud支持的多种注册中心Eureka、Consul、Zookeeper、以及阿里巴巴推出Nacos。这些注册中心在本质上都是用来 管理服务的注册和发现以及服务状态的检查的。服务注册中心的功能有以下几点:可以对所有的微服务的信息进行存储,如微服务的名称、IP、端口等。可以在进行服务调

2021-10-14 08:58:12 274

原创 服务注册中心Consul

简介Consul是一个可以提供服务发现,健康检查,多数据中心,Key/Value存储等功能的分布式服务框架,用于实现分布式系统的服务发现与配置,使用起来也较为简单。Consul基于Golang语言实现,因此具有天然可移植性(支持Linux、Windows和MacOS)。安装包仅包含一个可执行文件,方便部署。Consul具有分布式的、高可用的、可横向扩展的特点。官网:https://www.consul.ioConsul的功能特性特性描述服务发现(Service Discove

2021-10-14 08:57:57 151

原创 基于RestTemplate的服务调用

简介Spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接,我们只需要传入url及返回值类型即可。相较于之前常用的HttpClient,RestTemplate是一种更优雅的调用RESTful服务的方式。前期准备在SpringCloud环境下创建用户服务和订单服务两个模块,引入以下依赖: <dependencies> <!--引入SpringBoot依赖-

2021-10-14 08:57:37 537

原创 基于Ribbon+RestTemplate的服务调用

简介SpringCloud Ribbon是一个基于HTTP和TCP的客户端的负载均衡工具,它基于Netflix Ribbon实现。通过SpringCloud 的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。注意这里的两个关键词:客户端:Ribbon需要将注册中心的服务示例拉去到本地进行缓存,并在本地完成负载均衡的动作,默认使用轮询的方式。负载均衡:Ribbon只是进行负载均衡的操作,选取合适的微服务示例来提供给RestTemplate,请求的操作由后者完成。

2021-10-14 08:57:09 177

原创 Ribbon的负载均衡策略

关系UML类图如图所示,可以看到在Ribbon中实现了非常多的选择策略,下面我们来详细看一下IRule接口的各个实现。AbstractLoadBalancerRule负载均衡策略的抽象类,在该抽象类中定义了负载均衡器ILoadBalancer对象,该对象能够在具体实现选择服务策略时,获取到一些负载均衡器中维护的信息来作为分配依据,并以此设计一些算法来实现针对特定场景的高效策略。RandomRule该策略实现了从服务实例清单中随机选择一个服务实例的功能。具体的选择逻辑在一个while(server

2021-10-14 08:56:41 617

原创 基于OpenFeign的服务调用

简介OpenFeign是一个声明式的web服务客户端,让编写web服务客户端变的非常容易,只需要创建一个接口并在接口上添加注解即可,OpenFeign的前身是Feign,后者目前已经停更了,OpenFeign是SpringCloud在Feign的基础上支持了Spring MVC的注解,并通过动态代理的方式产生实现类来做负载均衡并进行调用其他服务。OpenFeign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用OpenFeign,可以做到使用HTTP请求访问远程服务,就像调用本地方法

2021-10-14 08:56:21 294

原创 服务雪崩、服务熔断、服务降级

服务雪崩在微服务之间进行服务调用是由于某一个服务故障,导致级联服务故障的现象,称为雪崩效应。雪崩效应描述的是提供方不可用,导致消费方不可用并将不可用逐渐放大的过程。如存在如下调用链路:此时,Service A的流量波动很大,流量经常会突然性增加!那么在这种情况下,就算Service A能扛得住请求,Service B和Service C未必能扛得住这突发的请求。此时,如果Service C因为抗不住请求,变得不可用。那么Service B的请求也会阻塞,慢慢耗尽Service B的线程资源,Serv

2021-10-14 08:55:50 739 1

原创 服务熔断器-Hystrix

简介在分布式环境中,许多服务依赖项不可避免地会失败。Hystrix是一个库,它通过添加延迟容忍和容错逻辑来帮助您控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点、停止它们之间的级联故障以及提供后备选项来实现这一点,所有这些都可以提高系统的整体弹性。Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统中,许多依赖不可避免的会调用失败,超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障(服务雪崩现象),提高分布式系统的弹性

2021-10-14 08:55:05 167

原创 搭建一个简单的SpringCloud环境

简介SpringCloud为开发人员提供了在分布式系统中快速构建一些通用模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线)。这是一个含概多个子项目的开发工具集,集合了众多的开源框架,利用了Spring Boot开发的便利性实现了很多功能,比如服务注册、服务注册发现、负载均衡等。SpringCloud在整合过程中主要是针对Netflix开源组件的封装。SpringCloud的出现真正的简化了分布式架构的开发。NetFlix是美国的一个在线视频网站,微服务业的翘楚,是公认的大规模生产

2021-10-14 08:54:02 108

原创 超详细的Java8-StreamAPI讲解!

先贴上几个案例,水平高超的同学可以挑战一下:从员工集合中筛选出salary大于8000的员工,并放置到新的集合里。统计员工的最高薪资、平均薪资、薪资之和。将员工按薪资从高到低排序,同样薪资者年龄小者在前。将员工按性别分类,将员工按性别和地区分类,将员工按薪资是否高于8000分为两部分。用传统的迭代处理也不是很难,但代码就显得冗余了,跟Stream相比高下立判。Stream概述Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的 Lambda ,给我们操作集合(.

2021-10-14 08:52:47 570

原创 开源一款优秀毕业设计!

素材分享网这是一个多用户的资源共享平台,是一个专为文件共享而设计的新概念网盘系统。这是一个综合性非常强、灵活度非常高的素材网站,注册成为用户之后可以上传自己所喜欢的素材供他人浏览和高速下载。同时设立网站管理员来审核用户上传的素材以及创建不同的素材分类来方便用户去上传、搜索,以此来为素材来设立分区,比如:壁纸区、PPT模版、简历模版、前端模版等。演示网址:http://xuewei.world/su-share/功能介绍未登录系统那么便默认为游客角色,涉及到以下的权限和功能:游客角色注册

2021-10-13 11:17:31 352

原创 ZooKeeper客户端常用命令

连接客户端ZK的客户端位于安装目录的bin目录下。ZK的客户端为zkCli.sh,进入bin目录后执行./zkCli.sh即可启动客户端。zkCli.sh还可以携带一些参数:./zkCli.sh –timeout 1000 –r –server ip:port-timeout 1000:设置超时时间,单位毫秒-r:设置为只读权限,不加-r则为可读可写权限-server ip:port:指定连接的ZK服务器以及端口号如果就是连接本机的ZK服务,那么可以在bin目录下直接输入:./zkCli

2021-10-13 11:17:11 1309

原创 Docker安装MySQL

安装MySQL# 下载镜像到本地,没有加TAG标签,默认下载最新的docker pull mysql运行镜像,获得容器,添加数据卷,并配置mysql的root用户密码docker run -p 12345:3306 --name mysql -v /moti/mysql/conf:/etc/mysql/conf.d -v /moti/mysql/logs:/logs -v /moti/m

2021-10-13 11:16:48 59

原创 EasyPoi的基本使用

1. 前言官方文档:http://doc.wupaas.com/docs/easypoi/1.1 简介Easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板语言(熟悉的表达式语法),完成以前复杂的写法。1.2 环境搭建如果使用maven,请使用如下坐标:<!--导入导出的工具包,可以完成Excel导出,导入,Word的导出,Excel的导出功能--&g

2021-10-13 11:16:36 6405

原创 Linux的vim和vi的简单使用

基本介绍所有的 Linux 系统都会内建 vi 文本编辑器。Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富vi和vim的三种模式正常模式在正常模式下,我们可以使用快捷键。以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、粘贴』来处理你的文件数据。插入

2021-10-13 11:16:14 44

原创 Linux系统安装JDK

下载文件去Oracle官网下载需要安装的jdk版本,我这里用的是jdk-8u161-linux-x64.tar.gz将该压缩包放到/usr/local/java目录下解压sudo tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/java/配置环境变量vim /etc/profile文件尾部追加export JAVA_HOME=/usr/local/java/jdk1.8.0_161export CLASSPATH=$:CLASS

2021-10-13 11:16:02 39

原创 服务器启动 SpringBoot 后访问特别慢的解决方案

原因Tomcat 使用 SHA1PRNG 算法是基于 SHA-1 算法实现且保密性较强的伪随机数生成器。在 SHA1PRNG 中,有一个种子产生器,它根据配置执行各种操作。Linux 中的随机数可以从两个特殊的文件中产生,一个是 /dev/urandom,另外一个是 /dev/random。他们产生随机数的原理是利用当前系统的熵池来计算出固定一定数量的随机比特,然后将这些比特作为字节流返回。熵池就是当前系统的环境噪音,熵指的是一个系统的混乱程度,系统噪音可以通过很多参数来评估,如内存的使用,文件的使用量

2021-10-13 11:15:35 2274 3

原创 解决docker-compose 命令不存在、未找到命令错误

安装扩展源sudo yum -y install epel-release安装python-pip模块sudo yum install python-pip查看docker-compose版本,提示未找到命令docker-compose version通过命令进行安装cd /usr/local/bin/wget https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-

2021-10-13 11:15:20 1925

原创 使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException

File > Project Structure > Artifacts > 在右侧Output Layout右击项目名,选择Put into Output Root见下面截图:执行后,在WEB-INF在增加了lib目录,里面是项目引用的jar包,点击OK。重新启动Tomcat,这次成功发布。...

2021-10-13 11:14:56 292

原创 修改CentOS默认yum源为阿里镜像源

备份系统自带yum源配置文件mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup下载ailiyun的yum源配置文件CentOS7wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoCentOS6wget -O /etc/y

2021-10-13 11:14:22 119

空空如也

空空如也

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

TA关注的人

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