自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大众点评Cat实时应用监控平台服务端部署

Windows上部署大众点评Cat

2022-10-10 15:07:30 1144 1

原创 MinIo简单使用

对于项目的文件存储可以使用像阿里云、腾讯云这种平台的服务,当然也可以自己搭建一个文件管理系统。这里简单介绍一下MinIo官网地址: http://www.minio.org.cn/先根据官网地址进行下载MinIo的server端和client端,这里需要注意一点的是,在官网给的下载地址:http://dl.minio.org.cn/server/minio/release/windows-amd64/minio.exehttps://dl.minio.org.cn/client/mc/release/

2022-05-23 16:42:51 19111 4

原创 uniapp APP端运行报错 cid unmatched at view.umd.min.js:1

最近写的一个IM即时通讯系统差不多算是完善了,在h5端调试着一般都没有什么很难搞的bug。然而就在昨天,将项目运行到模拟器时聊天界面获取历史记录消息并渲染在页面上时,却报了一堆很奇怪的错误cid unmatched at view.umd.min.js:1TypeError: Invalid attempt to destructure non-iterable instance.In order to be iterable, non-array objects must have a [Symbo

2022-01-16 21:17:32 6553

原创 uniapp 实现聊天页面 textarea固定在底部且高度自增

在使用uniapp实现一个IM即时通讯系统的时候聊天界面是十分重要的,参考微信QQ的界面,决定模仿一个差不多的出来。对于消息内容,肯定就是使用scroll-view组件了,发送消息的输入框则固定在底部,且输入框使用textarea组件。页面效果如下(模拟器的原因导致软键盘附近有黑色):textarea自动增高,当内容输入过多会,输入框会向上增高一点,与QQ的输入是差不多的。ps: 上面的黑色背景是scroll-view,此处并没有填充消息对于这种效果,在APP端是比较好实现的页面:<

2022-01-15 14:50:58 11922 9

原创 uniapp封装websokcet并全局使用

在使用uniapp开发一个IM即时通讯系统时,需要用到websocket协议,uniapp提供了websocket的api,但是使用还是有点不太方便,在网上查找一番之后发现没有符合自己预期的,因此借鉴网上的并修改成自己想要的。具体代码如下:ws.js//是否已经连接上wslet isOpenSocket = false//心跳间隔,单位毫秒let heartBeatDelay = 3000let heartBeatInterval = null//心跳时发送的消息文本let heartBe

2021-12-24 22:34:27 5434 2

原创 springboot websokcet tomcat实现

使用springboot实现websocket有多种方式,其中最简单的一种就是使用@ServerEndpoint注解来实现。首先需要引入websocket的依赖:pom.xml(最主要的依赖)<!--ws--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifa

2021-12-24 22:10:20 2167

原创 实现用户头像固定url,不随头像更换而改变

最近偶然发现GitHub的用户头像url居然是固定,每个用户的头像是固定的url,例如我的GitHub头像url: https://avatars.githubusercontent.com/u/55083373,即时你更换了头像但这个url还是不会变,有兴趣的朋友可以去GitHub上注册账号然后再换头像试试,看看你的头像url是否变化。要实现这要的功能应该怎么做呢?我一开始就有两个想法在后端代码中,主动发起请求给真实的头像url,然后把图片的信息直接返回给前端。这样虽然是可以达到效果,但是会对后端

2021-12-12 21:49:51 2486

原创 uView2.0 u-index-list 添加#点击不生效

uview组件迎来了一次重大更新,当然现在的uview2.0版本还在测试当中组件有些小bug都是很正常的,最近在使用u-index-list这个组件时遇到了一个bug,先展示问题:这个页面的代码是直接复制的官方示例:示例地址:https://gitee.com/umicro/uView2.0/blob/master/pages/componentsC/indexList/indexList.nvue细心的朋友可能就发现了这只有A-Z 26个字母,如果昵称都匹配不到呢,在微信和QQ上都会多一个#,以此

2021-12-07 17:49:39 4197 2

原创 hutool工具包发送邮件

在写项目的时候,会需要发送邮件的需求,之前也用过common-email来发送邮件,虽然能够完成邮件发送的需求,但是代码编写起来还是有点麻烦的,所以现在改用hutool工具包进行邮件发送的服务。hutool官网文档: https://www.hutool.cn/docs/#/对于邮件发送,官网还是给出了很详细的配置具体链接: https://www.hutool.cn/docs/#/extra/%E9%82%AE%E4%BB%B6%E5%B7%A5%E5%85%B7-MailUtil?id=%e5

2021-12-01 09:38:38 1341

原创 简单聊聊JVM中的StringTable

先看下面一个问题:String str = new String("hello");执行这行代码,会new 出几个对象?不妨先思考一下,或者查查资料。正确答案是:一个或者两个,为什么说是一个或者两个,而不是一个,两个这种准确的回答呢?首先要弄清楚一点,创建一个String对象有几种方式,大致上分为两种:第一种: 通过 "xxx"这种形式,以字符串字面量的形式会创建出一个String对象,而以字符串字面量创建的对象都是会进入到一个叫做StringTable(字符串常量池,串池)的地方。第二

2021-09-19 10:50:39 147

原创 virualbox vagrant的基本使用

开发中使用mysql,redis等服务用Windows版本还是可以的,但部署的话还是会用到Linux版本,搭建一个Linux系统机最简单的方式就是使用虚拟机(eg: virtualbox vmware),但跟着百度走一步步的教程配置一台Linux虚拟机出来还是比较复杂。自然就会有更好的方式。vagrant就可以快速搭建出一台Linux虚拟机。我这边使用的是virtualbox搭配vagrantvagrant官网:https://www.vagrantup.com/找到对应平台版本进行下载,安装教程可以

2021-07-07 14:56:55 177

原创 mp高版本的一些小问题

mp也就是mybatis-plus,是一款java操作持久层的框架,也是mybatis的增强版。mp对于操作mysql中json类型的字段也有处理方式。只需要以下两步即可:在MySQL表中创建一个json类型的字段,通过mp的代码生成器生成对应的实体类:实体类属性上的注解是swagger2的,在这里没有什么太大意义,可忽略。很明显可以看出代码生成器生成后,json类型的字段,映射成了String类型的属性。2.给实体类加上注解:value是这个表的表名,重要的在于设置后面的autoResu

2021-06-20 17:10:17 790

原创 uniapp 运行到手机或模拟器

先说运行到模拟器的:我这边用的是夜神模拟器,安装就自行去百度查找方法吧,安装好后双击运行一个模拟器,待模拟器成功运行后,找到模拟器的文件夹目录:在此目录下运行cmd窗口:输入命令adb devices出现这种情况说明,你没有运行模拟器,或者你的模拟器还在加载中。当你启动模拟器后:记得重开一个cmd运行命令哦!敲完命令之后,会得到一个端口号,打开你的Hbuilderx:点击 工具->设置 在运行设置处的模拟器端口号填入更改的端口号:62001,夜神模拟器的默认就是这个,如果你的不是

2021-04-30 22:11:02 9576 2

原创 uniapp collapse折叠面板箭头居左等等一系列调整

对于uniapp的collapse折叠面板这个组件,是又喜又恨。喜的是不用自己写折叠面板,而恨的却是可设置的属性实在是太少了,连箭头都不能更换位置更换箭头方向,让人实在是懊恼。先贴一张我已经调整过的图,然后再细细道来。我打算用uniapp做安卓端的一个类似qq的IM通讯系统,所以将折叠面板最后调整成这个样子了。给Hbuilderx装上Collapse 折叠面板组件,这里就不做过多的说明。下载好Collapse 折叠面板后,根据所给的例子粘贴其代码:这样的折叠面板也还是可以的,就是和我想要的不一样

2021-04-24 19:26:00 5522 1

原创 nio ByteBuffer flip(),clear(),compact()方法的使用

在nio中,使用channel作为服务器与客户端之间的连接,而ByteBuffer给传输数据时提供缓冲区的功能,这样也能让数据传输的效率更高,下面简单介绍一些ByteBuffer。什么是ByteBuffer?,可以简单理解为是一个byte类型的数组,并对其进行了一些增强。在ByteBuffer类中,确实维护了一个byte数组:从图中也可以看出,ByteBuffer是一个抽象类,因此不能直接new,而要用一个allocate方法来获取一个ByteBuffer的实例.。ByteBuffer buf

2021-04-11 21:46:12 718

原创 java Files类 查看文件夹 删除不为空的文件夹

在很多时候都会遇到删除一个不为空的文件夹的情景,在不使用Files类时,可以使用递归的方式来删除,但递归的代码不是很容易理解,看起来也不够优雅。于是用Files这个类来操作,代码就变得优雅起来了。先上一段传统的代码来遍历一个不为空的文件夹,因为用代码来操作文件的话是十分危险的一个操作,删除文件很有可能就无法恢复,所以先来遍历一下。FileOperation.javaimport java.io.File;import java.io.IOException;import java.nio.file

2021-04-07 19:10:29 344

原创 java基础之io类的使用

之前一直都没有怎么仔细学习过Java的io操作,都是半推半就的使用着,最近想学习一下网络编程,发现里面对于io的操作还是涉及较多的,于是乎学习了一下Java的io类。这篇文章简单介绍一下Java的io类。1、什么是io? 什么是流?io: 是input/output的缩写,意思是输入与输出。流:流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。(来源于百度百科)流的分类:对于传输方向,分为输入流与输出流对于传输的数据的单位,分为字节

2021-03-23 17:08:01 211

原创 微信小程序入门

最近学习了一下微信小程序,今天来总结一下微信小程序的一些基础知识点。写了一点微信小程序的代码会发现,微信小程序与前端框架vue,react等是很相似的,微信小程序页面布局采用的是flex布局,这对编写者的前端知识需要一定的基础。接下来简单介绍一下编写微信小程序代码可能会遇到的问题:1.创建微信小程序项目:在官网可以下载微信开发者工具,创建项目时会出现下图:前面两个选项就不用多说了,分别是项目名称和项目存放地址,AppID指的是小程序的一个id,可以去官网网站注册一个小程序账号,用账号里的AppID

2021-02-06 10:30:57 382

原创 数据结构之双向链表

前面已经介绍过了单链表,这篇文章介绍一下双向链表。双向链表的节点比单链表的节点多一个pre域,也就是存放当前节点的前一个节点地址的地方。单链表里有许多操作是要找到待操作节点的前一个节点的,而双向链表则不需要,因为双向链表可以得到当前节点的前一个和后一个节点信息,可以完成相应的操作。双向链表节点:节点类:class Node{ //pre表示前一个节点,next表示后一个节点 //no表示序号,其他为一些数据 private Node pre; private Node next; pri

2021-01-29 18:07:47 414

原创 数据结构之单链表的其他基本操作

前面两篇文章介绍了一下单链表的增删改查,这篇文章来介绍一下单链表的一些其他基本操作。1)统计单链表长度2)获取单链表倒数第k个节点3)单链表反转4)单链表反向输出5)两个有序单链表合并为一个单链表且仍然有序根据前面两篇文章,应该都对单链表有一个简单的的认识,即想要操作单链表就需要一个节点指针,来指向单链表的每一个节点,要完成上面五个操作仍然需要一个节点指针,甚至还需要一个辅助指针。以下方法都不在单链表类内部,所以需要接收参数统计单链表长度思路: 即计算单链表的节点个数,很明显需要遍历单链

2021-01-27 21:33:01 613

原创 数据结构之单链表的删除,修改,遍历

上一篇文章已经介绍了单链表的插入(三种插入方法)https://blog.csdn.net/six_teen/article/details/113066700这篇文章介绍一下单链表的基础操作之删除,修改,遍历。首先是单链表的遍历:遍历思路:1)先判断链表是否为空,如果为空直接输出链表为空然后退出遍历方法,链表为空的条件是:head.getNext()==null,即头节点的下一个节点为空2)单链表的所有操作都需要一个指针用来指向链表的节点,所以先创建一个节点指针并指向第一个节点:HeroNod

2021-01-25 21:32:40 1133 1

原创 数据结构之单链表的插入

什么是链表?如上图,链表和生活中的链条很相似,链表在逻辑结构上是以链条的形式连接而成的,但物理结构上链表的节点不是连续性存储的。如图,每一个节点都分为两块区域,data区和next区,data区存储数据,next区存储下一个节点的地址。因为节点的这种特性,所以链表可以充分利用内存中零散的空间。链表一般分为带头节点的链表和不带头节点的链表(头结点用head表示)后续演示都使用带头节点的链表(一般头结点data区为空,next区指向第一个节点):先定义一个节点类:no表示节点序号,name,.

2021-01-24 10:48:23 10509 1

原创 数据结构之队列

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列可以由数组实现,也可以由链表实现,下面代码以数组实现队列。数组实现队列思路:1)需要两个变量(或者说是指针),指向队列的头部和尾部,队列初始化时都指向为-1,front为头部,rear为尾部。2)定义一个数组array和一个maxSize变量,创建数组时用maxSize,这也是用数组实

2021-01-22 21:01:31 83

原创 数据结构之稀疏数组

1.什么是稀疏数组?百度百科的定义如下:https://baike.baidu.com/item/%E7%A8%80%E7%96%8F%E7%9F%A9%E9%98%B5/3249303?fr=aladdin稀疏数组也是二维数组,是一种较为特殊的二维数组。存储的元素是在一个非常大的二维数组中找出有效元素进行存储,但存储的元素一般较少且没有规律,所以称为稀疏数组。2.为什么会有稀疏数组(及其应用)?设想一个场景,在一款APP上与电脑进行五子棋博弈,而又突然有事但棋局又不想毁掉,这个时候可以选择.

2021-01-21 10:06:39 281 2

原创 docker nginx -v 挂载配置文件问题

学习docker为的是部署时能更轻松的解决环境问题,docker启动nginx相比学习了docker的朋友们基本上都会使用了,但要修改配置文件或者是部署dist前端项目就会有点麻烦了,如果直接进入容器,你会发现,容器中的环境基本上是一个阉割版的,Linux上的许多命令在容器中是无法使用的,所以这样是十分麻烦的。好在docker有数据卷挂载技术,但是在启动nginx时又会遇到一堆的问题。情景再现:docker run -d -p 80:80 -v /home/nginx/conf:/etc/nginx -

2021-01-14 12:37:39 6909 9

原创 远程连接virtualBox本地虚拟机并访问虚拟机服务

项目部署可以说是一个很头疼的问题,环境依赖问题可以让人自闭,原本把项目跑起来只需要几十秒,楞是在给服务器安装环境上浪费了一大把时间,特此来学习一下docker。docker是什么我就不多说了,现在准备一下需要的东西,一台Linux虚拟机,我用的是virtualBox(别问为什么不是vm,问就是电脑带vm太卡)。我这边Linux使用的系统是centos7,virtualBox安装centos7的教程网上应该能找到挺多的,这里就不再介绍了,但强调几个地方,最好不要装图形化界面,为的是更好的熟悉Linux命令,

2021-01-11 15:40:17 4931 1

原创 springboot+vue博客系统总结

最近一段时间都在利用springboot和vue写一个自己的博客系统,不只是个人系统,是一个类似csdn的博客系统,目前已上线,访问地址如下: http://182.61.19.181:3000/ (ps: 由于经费有限,预计在2021-02-08后服务器失效)。在这次开发中(算的上是开发吧),遇到了挺多困难的,但也更让我熟悉springboot和vue等一系列框架就,以及自我解决问题的办法,同时也提升了代码的能力。该项目已托管于gitee,地址如下:https://gitee.com/six_teen

2021-01-10 09:50:26 1281

原创 nuxt vue-image-crop-upload头像上传

换头像是一个经常容易遇到的问题,饿了么ui给的例子也不是那么好看,自己写一个又感觉太难(作为菜鸡一枚),在网上找了一会。发现vue-image-crop-upload这个vue的组件不错,而且github上的星星也蛮多,就打算用这个了。前段时间试过一次,然而nuxt貌似不给面子,按照github上的方法引用vue-image-crop-upload组件,报错。Nuxt: Unexpected token <看着网上各种博客都貌似正常使用,我十分疑惑,然后换了一个框架,vue-admin-elem

2020-12-31 14:43:35 694

原创 vue markdown内容网页展示

之前使用了mavonEditor这款Markdown编辑器进行博客文章的编写,最近在弄把博客文章进行网页展示效果,开始使用marked.js,但是代码高亮问题导致页面样式及其的丑陋。后面又在网上四处寻找方法,最后产生想法,要是能用mavonEditor将Markdown的内容展示该多好呢。然后就在网上查询资料,最后还是找到了方法(不得不说,面向百度编程真的很妙)首先下载好mavonEditor之后,然后在vue中引用之后,接着就是对mavonEditor这个组件的属性进行设置<mavon-ed

2020-12-06 10:36:40 1401

原创 vue v-emoji-picker的使用

在做一个评论模块的时候,想在评论的内容添加一些emoji表情,在网上搜了一堆之后,发现最适合的还是v-emoji-picker组件库。首先是下载该库npm install v-emoji-picker(我这边前端的依赖管理用的是npm)下载完成后,你可以选择在全局使用该组件,也可以在某个页面使用。因为这个组件没有设置是否显示和隐藏的属性,所以我们可以使用vue的指令v-show 来使这个组件是否显示出来<template> <div class="app-container"&g

2020-12-05 18:07:36 6117 18

原创 axios异步请求上传文件 java后端接收

mavonEditor 是一款不错的Markdown编辑器,在最近的使用中 图片上传困扰了我一会,好在后面解决了,所以写此篇博客来帮助一样有困扰的朋友们。在mavonEditor的github地址上有一些关于图片上传的介绍,介绍中的图片上传有大致两种:上传到服务器返回图片地址直接将图片保存为base64编码说实在的第二种保存为base64编码的方法,看官方介绍和查询的一些资料着实让我摸不着头脑(如果有朋友实现了,麻烦教教我),所以我就放弃了第二种,选择了第一种。如上图这是官方的介绍,给mav

2020-12-02 09:41:58 1407 1

原创 阿里云oss 上传图片

之前使用过阿里云的oss储存服务,也写了一个上传图片的代码,但是最近在写东西的时候发现对这方面又比较陌生,而且发现在官网找文档也有点费劲,所以把代码写出来之后特地写个博客记录一下,以防以后还需要用到。首先在官方文档中https://help.aliyun.com/document_detail/84781.html找到简单上传中的文件流上传可以根据这段代码进行改善,成为自己需要的代码。阿里云oss上传文件之前需要开通这个服务并且创建一个bucket,这方面的创建可以结合文档创建适合自己的bucke

2020-12-01 21:16:22 2508

原创 springsecurity 基本使用

最近开始学习了springsecurity框架,为写后台页面做个权限管理什么的打基础。springsecurity是基础springboot的,所以创建一个springboot工程引入依赖就可以很轻松的整合springsecurity了。(类似的权限管理框架还有shiro)1. 创建一个普通的springboot项目(不用勾选任何东西),我这边使用的springboot版本是2.2.1.RELEASE依赖如下:pom.xml<dependencies> <!--sprin

2020-11-18 09:31:39 300

原创 springsecurity UsernamePasswordAuthenticationFilter PasswordEncoder

最近开始学习了springsecurity框架,为写后台页面做个权限管理什么的打基础。springsecurity是基础springboot的,所以创建一个springboot工程引入依赖就可以很轻松的整合springsecurity了。(类似的权限管理框架还有shiro)1. 创建一个普通的springboot项目(不用勾选任何东西),我这边使用的springboot版本是2.2.1.RELEASE依赖如下:pom.xml<dependencies> <!--sprin

2020-11-17 18:10:58 1714

原创 spring 注解开启声明式事务

spring开启声明式事务:导入依赖:pom.xml<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <!--spring依赖--> <dependency> <groupId>org.springframework</gro

2020-11-01 09:47:05 1407

原创 spring 注解版 aop实现

首先不做过多的源码解释(其实是源码我也看不太明白,目前只会使用)。下面来介绍spring aop应该怎么用注解实现。所需依赖:pom.xml<dependencies> <!--spring依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-conte

2020-10-30 08:47:34 261

原创 spring 注解版 属性赋值 自动注入

spring的属性赋值,给一个bean的属性进行赋值,可以使用@Value注解。该注解可以注入基本数值,字符串什么的@Value("zhangsan"),也可以结合SpEL表达式@Value("#{18+1}"),还可以读取配置文件中的属性@Value("${person.nickname}")(person.nickname,是外部配置文件的一个属性名)。Person.java(一个普通的bean)package com.sixteen.entity;import lombok.Data;i

2020-10-23 21:07:53 892

原创 spring 注解版

相信使用过spring的朋友都被配置文件支配过,尤其是整合ssm,那简直就是配置地狱,但随着springboot的兴起,spring的注解也开始流行起来,也可以用注解来进行配置。首先这是一个建立在maven工程的spring项目,我用的是idea。导入依赖pom.xml<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <!--sp

2020-10-20 20:38:46 298

原创 idea操作git流程(图文教程)

idea是jetbrain的一款java编辑器,jetbrain全家桶的编辑器都很好用,接下来就以图文的方式介绍,idea如何操作git1. 首先你需要在自己电脑上安装一个Git,安装git的流程网上应该很多了,这里就跳过了,后续操作都是在git安装好之后的,如果你还没有安装git,可以先去安装一下。2. 安装idea编辑器,不建议使用最新版本,最新版本可能会有点不太稳定,我用的是1.2.x版本。点击file->setting找到version control 下的git 如图我这个版本的i

2020-10-16 21:20:04 2053 2

原创 bootstrap.yml读取nacos配置中心的配置文件

最近搞nacos做为springboot的配置中心时,运行项目就一直报错,报错原因是没有加载到配置文件,可是nacos服务的地方又确确实实配置了配置文件,最后在启动的控制台中找到了一些线索,结合百度和源码查看找到了原因所在。线索:(ps:因为不知道怎么截横向的长图只能这样了)项目启动时的控制台输出写着需要 spring.application.name.properties配置文件后面找到了PropertySourceBootstrapConfiguration类应该是默认读取配置中心以p

2020-10-15 19:58:44 24380 2

空空如也

空空如也

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

TA关注的人

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