自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 毕设项目-语音远控家居设备全套架构方案

前几天,老师跟我说,我的毕设得了校级一等奖,还是很开心的。于是,就准备把项目无偿分享出来。写此文章,也耗费了大半天时间。先晒一下证书吧:如果有人要杠,什么垃圾东西也拉出来晒,那我请你一边玩去。我知道证书不值钱,我只是觉得我做的毕设项目真的付出了很多,所以,我觉得这份证明对我来说真的很珍贵,当你为一件东西付出很多的时候,并且最终得到了一定的回报,自然就会懂得这种感觉。废话不说多了,看文章:如果你在阅读本文的时候,不懂的地方可以私信来问我。如果你感兴趣的话~,(咨询不免费!,因为我也很忙,望谅解。.

2020-10-25 15:10:41 778 1

原创 vue+springboot小项目的经验之道

去年写一个小项目,与layui结缘,用起来不得说,对于我们这种后台开发人员写起界面来也方便了很多,要想要是自己设计能力好的话,css学的足够精通,还学UI库干什么呢。当然,使用ui库,真的可以提高我们的开发效率。上周接了一个别人的毕设项目,本来就很有兴趣学习一下vue,这不就 ,边学边学用了10+天,完成了该项目。其中的心酸历程当然也是一言难尽,每天10小时的超负荷工作… 以及刚开始写的时候电脑...

2020-03-03 17:07:32 9545 9

原创 @Transactional 注解与synchronized的使用的一些实战问题

@Transactional注解与synchronized使用带来的一些问题这几天在练习写一个小工程,遇到了一些问题,代码大致如下: @RequestMapping(value = "/downCodeFile",method = RequestMethod.POST) @Transactional public String downCode(HttpServletRe...

2019-05-21 21:30:57 1373

原创 五子棋网络对战 java实现

五子棋网络对战 java实现 最近期末考试,压力实在是太大了。专业不对口的痛苦,别人永远体会不来。 闲暇之余,便想着巩固一下java的基础知识,以前看别人写的游戏,心里都觉得哇 好厉害啊,我什么 时候才可以写出自己的游戏,当然我最想做的不是游戏,因为我感觉我只有欣赏美的能力, 却没有制造美的能力。好了,废话这么多,哎,我就是喜欢啰嗦。 游戏消息传输构思:​ 首先呢,写一个程序,最重...

2019-01-04 23:18:28 9795 18

原创 揭秘命令行的小秘密

      不知道大家是不是跟我也一样,曾经学习C语言的时候,因为不是用那个linux入门的,所以,没有接触过什么gcc编译c语言,只知道一个VC6.0 90年代的产品,但是等我学习到了java的时候,我就感受到了一个很神秘的现象,为什么我装好 java的环境,然后cmd输入 javac xxx.java ,他就可以给我编译了~,为什么,更神奇的是 ,我再接着输入个 java xxx(未打包的情况...

2018-07-19 17:12:26 358

原创 关于node.js的环境配置

使用 nvm 管理不同版本的 node 与 npmnvm 是 Mac 下的 node 管理工具,有点类似管理 Ruby 的 rvm,如果需要管理 Windows 下的 node,官方推荐使用nvmw或nvm-windows。不过,nvm-windows 并不是 nvm 的简单移植,他们也没有任何关系。但下面介绍的所有命令,都可以在 nvm-windows 中运行。今天介绍下配置过...

2018-07-09 21:28:28 373

原创 c语言指针例题解答

```这个文字排版我都看不下去了,点击新连接,前去新排版------->>点击此处ps: 新排版更适合阅读呢~---首先char*c[]为一个指针数组,对吧,这个相信大家都能看懂,千万不要把指针数组和数组指针搞混乱了。首先先给大家讲解下什么是指针数组,什么又是数组指针呢?eg:char *c[5] 因为[]的优先级高于*,所以c先与[]结合形成一个数组,类型...

2017-10-18 00:21:30 18023 13

原创 MySql定时执行SQL

好久没写博客了,因为没啥可写,感觉自己对技术的追求已经没有那么强烈了。今天总结一下mysql自带的定时计划。查询定时策略是否开启,如果是关闭的话,需要先开启哦。

2023-03-18 01:12:44 3450 1

原创 加载外部URL图片(非直接上传)并上传至服务端

加载外部URL图片(非直接上传)并上传至服务端

2022-06-25 23:53:23 751

原创 如何优雅地处理过期订单

前言:之前写过一个在线购物的小商城,现在还记得当初遇到了一个让我很难受的事情。什么事情呢?就是有大量订单的情况下,有部分订单未支付,我们需要将订单及时地删除或者标记未未支付状态。怎么做才能做到效率呢?面对这个问题,我刚开始的方法是:开一个定时器,每间隔10分钟,轮训一次数据库,如果下单时间与当前时间大于10分钟,那么至该订单为过期状态。对于这种解决方案,仔细想想有什么觉得不妥当的地方呢?当然是有的:①:效率不高,轮询数据库,每次都要扫描到很多记录,并且未付款的订单其实只是占少部分,牺牲了系统资源.

2021-11-09 15:53:21 3395

原创 maven关于配置仓库的标签详解

说到这个问题首先了解下,maven默认的中央仓库,在maven3.xxx版本之后,在maven安装目录下的:/lib/maven-model-builder-${version}.jar中,打开apache-maven-3.6.3\lib\maven-model-builder-3.6.3.jar\org\apache\maven\model\pom-4.0.0.xml,可以在该配置文件找那个默认的中央仓库配置,如下: <repositories> <repository&g

2021-11-08 15:50:05 2007 2

原创 还在傻瓜式替换?VsCode正则匹配替换你学会了吗?

日常开发中,我们经常会对一些字符串做替换,可是有些替换很不智能,只支持全文匹配,并不支持正则替换,接下来就整理一下我平常总结的技巧。样例1:如果需要将下面的每一行同步放入某段内容中,即new FieldType(“xxx”,“String”)你会怎么做呢?一个一个改吗?你可能觉得就这么几行,自己改能花多长时间,No,一切皆可代码,我们看看怎么用正则匹配替换!如果你还没有用过VsCode的话,强烈建议安装一个(微软可没给我广告费)使用VsCode新建文件,将上面的文字复制到文件中,Ctrl+F.

2021-08-13 19:14:17 11923 7

原创 利用javaScript和JQ实现个人业务的总结

本文是在自己处理业务的一些总结,但是一直疲于整理,还是要不断的学习。JQ操作元素节点jQuery.parent(expr),找父亲节点,可以传入expr进行过滤,比如("span").parent()或者("span").parent()或者("span").parent()或者(“span”).parent(".class")jQuery.parents(expr),类似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素jQuery.children(expr.

2021-05-16 13:51:02 195 2

原创 实现一套replaceAll方法

有习记录写过的一些代码,该题是BOSS面试里有人提问我的,所以发布出来供后续有人用到提供一点我自己的看法吧。/** * * @param {待替换字符} a * @param {被替换的内容} b * @param {替换的内容} c * @returns 替换后的字符串 */function replace(a,b,c){ var results = []; var indexs = []; var flag = false; for(let i.

2021-05-16 12:23:14 178

原创 Promise总结

为了解决JS的回调地狱,ES 6推出了新的异步调用对象->Promise。Promise 对象有以下两个特点:对象的状态不受外界影响。有三种状态,分别为 pending(进行中)、fulfilled(已成功)和 rejected(已失败)。一旦状态改变,就不会再变,任何时候都可以得到这个结果。状态改变只有两种可能:从 pending 变为 fulfilled 和从 pending 变为 rejected。示例1:const promise = new Promise((resolve.

2021-04-11 18:14:06 87

原创 牛客网SQL例题详解

例题1、 查找薪水排名第二多的员工信息,不能使用order by完成(难度:较难)本题目摘抄自牛客网:SQL18题有一个员工表employees简况如下:有一个薪水表salaries简况如下:请你查找薪水排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不能使用order by完成,以上例子输出为:看到此题,其实使用order by是可以很简单完成得。但是题目既然规定了,那么显而易见,为我们思维发散提供了空间。说实话,看到题目,我刚开始也不知道

2021-03-06 22:01:16 600

原创 你要悄悄努力,然后惊艳所有人(技术总结)

之前写了一个项目,可以后台生成自动插件,用户在前端付完款,提交到后台,会自动生成他的私有化插件,整个过程无人操控,全自动化,也为我赚到了人生第一桶金,但是,这第一桶金也太少了,哈哈哈。今天再来,回顾一下写过的东西:怎么有些东西,刚开始写都觉得自己逻辑写的可棒了,怎么再过半年一看,简直没法看了。。哎,我好垃圾。什么时候才能写出有质量的代码?1. 关于mysql时间字段的设定。类型大小 (字节)范围格式用途DATE31000-01-01~9999-12-31YYYY.

2020-10-30 01:13:30 846

原创 邻接表的深度搜索(DFS)和广度搜索(BFS)

图是一种比树更复制的数据结构,常见的遍历方式无非两种:深度搜索广度搜索深度搜索:优先深度扫描,如果当前路径走到了死胡同,那么,又依次访问上次访问过的节点的可走路径。就这样如此往复,最终完成图的遍历。深度搜索类似于树的前序遍历广度搜索:优先广度扫描,假设你前面现在有N条路可走,AB…N,那么先把AB…N的所有节点访问一遍。每次访问之后都把当前所走路径的下一条路径(若存在)则存入队列,这样,当前路径走完之后,又重复上述步骤,直至遍历完所有节点。广度搜索类似于树的层次遍历以下为邻接表的两种遍.

2020-09-16 13:04:57 1133 1

原创 哈夫曼C语言编码实现

哈夫曼树,又称最优二叉树,使用其作为编码方式,可以有效对数据进行压缩。其算法的思想是:将权值越重的字符,其编码越短。而构建哈弗曼树的过程是:先后从一组数据中选出最小的数据和次小的数据,组成一个哈夫曼树,再从这组数据中选出最小的数据,与刚才的哈弗曼树再一次结合,又合成新的节点,如此往复,直到数据遍历完毕,而哈弗曼树也就建立好了。关于哈夫曼树的一些性质,看看看看其他大佬写的文章,我这里就不描述了。关于这个哈夫曼树的构建,写了一下午才写好,其实该算法思想挺简单的,就是动手做的话可能会有一些小障碍。以下代码可.

2020-09-07 23:50:39 344

原创 创建线索二叉树以及遍历操作(前序中序)

在前面的博文中,我们学习了二叉树的创建以及各种遍历操作,那么大家有没有想过一个问题?在一个二叉树中,若大量的节点都没有左右孩子,那么这就造成了内存浪费,因为我们申请了空间却没有很好的利用到他们。所以,这就带来了新的方式— 二叉树的线索化。什么是线索二叉树呢?线索二叉树即就是将没有孩子节点的指针指向它的前驱或者后继元素。例如:当前节点没有左孩子,那么它的左节点不能浪费哦,这时候我们可以把它指向它的前驱节点,而如果当前节点没有右孩子,我们就可以把当前右孩子指针域指向该节点的后继节点。那么,我们怎么辨认.

2020-09-03 23:15:54 940

原创 二叉树非递归前中后序的遍历

在前面的文章里,都是用递归实现输出二叉树的操作,那么非递归又是如何实现呢?下面附上代码,由于里面的注释已经很详细了,也作为自己记录复习的记录,有兴趣的小伙伴可以看看哦。注:由于注释已经很详细了,所以这里就没有过多的文字说明了。#include <iostream>#include <stdlib.h>#define ElemType char#define maxSize 100/* run this program using the console pauser.

2020-08-28 23:19:57 147 1

原创 二叉树层次遍历算法

在二叉树中,我们常见的遍历方式 主要有四种。分别是:前序遍历(根节点->左节点->右节点)中序遍历(左节点->根节点->右节点)后序遍历(左节点->右节点->根节点)层次遍历其实记住以上的输出顺序还是非常简单的。首先要明白,左节点一定先比右节点输出!那么就很好理解了,那么那些所谓的前序、中序、后序而言是针对根节点的相对位置命名的。例如前序遍历,则就是根节点是最前面输出的,所以我们不难得到,前序遍历的顺序为:根节点->左节点->右节点。其他同理

2020-08-27 01:23:39 11326 2

原创 二叉树的创建以及递归输出

最近在复习数据结构,以此记录学习博客。二叉树是一种最多只能拥有两个指针域的一种数据结构,其结构可分为:左指针域右指针域数据元素下面代码构建了一颗二叉树,创建方式为前序创建,中序、后序是无法创建二叉树的,因为创建二叉树必须要先有根节点,才可以对后序元素进行创建,而中序、后序是要先创建左孩子节点。而没有根节点,左孩子节点就无从说起了。#include <iostream>using namespace std;typedef struct Tree{ char data.

2020-08-25 23:17:13 460

原创 git命令

1.初始化git init#添加所有文件git add .#提交至本地仓库git commit -m "初次提交"撤销提交操作git reset --X HEAD^其中X有如下三种类型mixed : 不删除工作空间改动代码,撤销commit,并且撤销git add . 操作(默认)soft:不删除工作空间改动代码,撤销commit,不撤销git add .hard:删除工作空间改动代码,撤销commit,撤销git add# 恢复工作区到上一次提交时的状态git reset

2020-08-12 19:48:54 140

原创 形参影响实参的基础思想《C语音》

如下,举了几个栗子,为C语言新手提供一些求学之路的困惑。#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;typedef struct Node{ int data;}Node;//尝试改变结构体A指针的值 但未能改变 因为改变的只是栈的临时变量。void test1(Node *a,Node *b){ a = b; // 事实上,该行代码未能改变

2020-08-12 19:47:41 157

原创 mysql日期相关查询总结

SELECT * FROM table WHERE DATE_SUB(CURDATE(), INTERVAL 1 MONTH) <= date(time);   本月、当前月SELECT * FROM table WHERE DATE_FORMAT(o.createTime,’%Y-%m’) = DATE_FORMAT(CURDATE(),’%Y-%m’);   上个月SELECT * FROM table WHERE PERIOD_DIFF(DATE_FORMAT(NOW(),’%Y-%M’

2020-06-10 18:09:59 608

原创 如何利用springboot快速搭建一个消息推送系统

最近在完善毕设的路上,由于是设计一个远程控制物联网系统,所以服务端到硬件我选用了MQTT协议。因为MQTT的发布/订阅模式很适合这种场景。接下来就来聊聊遇到的一些坑吧。小前奏既然是基于MQTT协议的,那么前端(Vue)我就想着使用一个支持MQTT的库直接用就好。然后:MQTT库介绍先安装个MQTT库:npm install mqtt --save var mqtt = requir...

2020-05-29 18:59:41 3247

原创 面试篇:mysql基础要点巩固

最近要面试了,感觉数据库基础不是很扎实,所以来复习复习。一、基础增删改查部分1.1 创建数据库#创建名为['study']数据库:create database study#删除数据库 这个真实开发估计用不到吧?什么你想删库跑路??drop database stydy;1.2 创建数据表#创建数据表 CREATE TABLE person ( id INT PRI...

2020-04-28 16:13:26 543

原创 java多线程按照顺序输出字符(面试题)

今天面试了一个互联网公司,需要线上考试,由于我一直在忙毕设,也没有时间巩固我的java基础,导致我当时没能把多线程的题做出来。晚上有时间,便来分析…题目真的超级简单,可是我当然依然没做出来,可能是很久没刷过题了吧。题目:输入一组这种形式的数据:例如 {3 ABC},然后一个线程输出一个字符,那么这组数据就需要创建三个线程,即按照顺序输出3次ABC。结果应该是:ABCABCABC。再...

2020-04-24 23:33:10 958

原创 都要面试了还不来学学mysql事务隔离机制?

大家有没有想过一个问题,我们为什么需要事务?事务解决了怎样的问题?事务又会带来什么新的问题?本人也是带着疑惑一步步去深入学习,特此总结一下。一、基础概念1.1 什么是事务?事务(Transaction) 是访问和更新数据库的程序执行单元,事务中可能包含一个或多个SQL语句。事务最大的特点就是,要么SQL语句都执行,要么都不执行。1.2 事务条件事务必须总是满足以下的四个条件:...

2020-04-24 17:36:10 626

原创 如何仅花20元成本用arduino平台建立自己的物联网应用

我本是一个天生对硬件不感兴趣的人,但是也不是说软件我就学的多么好。而是我讨厌复杂的电路图,更讨厌焊板子,因为我是一个手残党,再简单的东西让我动手做,我都做得非常糟糕,而对于一个做出来的东西我又在乎美观度,所以干脆就不学习了,尽管我在自动化专业学习了四年,可是我的电路方面的知识几乎为零,所以我更喜欢偏向学软件开发。但是为什么又要研究这个物联网开发呢?凑什么热闹嘛,还不是为了完成我的毕业设计 。...

2020-04-08 23:10:38 15516 48

原创 饭后来学学jdk1.8的特性吧

在jdk1.8版本之前,我们操作一些数据,会让人感觉很繁琐,我们明明只要判断一个内容,如果存在,则输出,这明显可以一句代码完成啊,可是,在java1.8版本之前,我们必须使用一个循环来搞定,自从jdk1.8面世以来,给我们带来了好多特性,但是好多人还沉浸在jdk1.6+中,emmm,时代在发展,也不能停止学习。一、lambda表达式什么是lambad?lambad就是允许把函数作为一个方...

2020-04-06 22:51:46 543

原创 力扣刷题解析

1.只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4class Solution { public int singleNumber(int...

2020-04-06 00:55:29 956

原创 让人又爱又恨的tkinter之坑

最近无所事事,前天老师让我写一个python爬虫软件,可以自定义调一些参数,用来下载一些视频。本来想着,爬虫啊,多么简单的事情… 然后就爽快的答应了… 然后就发生了一些匪夷所思的事情。特此说明一下。如果有同学对视频爬虫感兴趣可以去B站看看本项目的研发心得:B站传送门:如何自制一款视频爬虫下载器一.tkinter简介tkinter作为python自带的UI库,不得不说,写一些(丑陋)的界面...

2020-04-02 00:03:33 1490

原创 springboot 拦截高频率访问

写了一个小站点,帮助我们学校的同学应付考试。当然也赚了一点钱…但就是有一些调皮的同学过来攻击我。无脑扫描我的web接口,之前用的别人的内网穿透的工具,因为本身价格不是很高,所以他对 TCP连接数有分钟限制,导致了我的站点无法被正常访问。但是我拦截了高频率访问,只是限制了他爬取我的web资源,并不能根本解决TCP连接限制这个问题,后来,我买了阿里云,自己搭建内网穿透。问题解决。好了废话不多说,...

2020-02-19 17:36:13 1918

原创 springboot 优雅地配置拦截器过滤器

springboot 优雅地配置拦截器过滤器一、配置拦截器很久之前写的一个小项目,当时要实现一个功能,配置一个拦截器,拦截 未登录的用户访问一些路由页面。相当于权限处理吧。现在再来回顾一下。写之前遇到问题,之前springboot实现拦截器的方法是,实现WebMvcConfigurerAdapter即可。但是从源码我们可以看出来,从spring5.0开始 ,该接口已经标识过时注解了,即s...

2020-02-19 17:15:48 1004

原创 收款码截取二维码

收款码截取二维码由于支付宝微信生成的二维码,都会很大,这里我们只需要最关键的部分截取即可。这里写一篇博客主要是记录相关大小定位。其实这个定位我们可以打开window自带的画图工具得知。不带金额的支付宝 BufferedImage bufImage = ImageIO.read(new ClassPathResource("static/images/zfb/norm...

2020-02-15 16:46:03 1030

原创 frp常用配置详解

frp常用配置详解frp是一个非常优秀的内网穿透利器,只要有了它,再加一个公网服务器,我们可以穿透内网中的任何一个网络设备。1、frpc.ini 客户端配置[common]# 公网ip地址server_addr = 139.196.xx.x# 服务监听端口server_port = 7000# token校验token = raven#本地监控admin_addr = 1...

2020-02-14 20:11:22 11365

原创 浅谈html的布局

浅谈html的布局我也是一个前端渣渣,只会玩简单的一些html标签。每次看到别人网页构造的如此精妙,我都好羡慕,什么时候我也有这个能力。这不,又来强化html的布局方案。大致来说,css有三个阶段。其中:第一个阶段就是我们基于盒状模型,依赖 display属性 + position属性 + float属性来定位一些容器的布局,想写一个自适应的界面非常的麻烦。第二个阶段便是 进阶到 ...

2020-02-11 17:22:29 482

原创 Swap Nodes in Pairs

Given a linked list, swap every two adjacent nodes and return its head.You may not modify the values in the list’s nodes, only nodes itself may be changed.做这个题,想到递归去实现题意。/** * Definition for sin...

2020-02-10 16:03:41 207

空空如也

空空如也

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

TA关注的人

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