- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 Java获取指定范围内的随机整数或小数
Java获取随机数可以使用Math.random()函数来获取随机数,这个方法取值范围是大于等于0且小于1的小数,利用这个函数可以衍生获取指定区间的随机整数或者随机小鼠。获取指定区间内的小数 /** * 取到大于等于min,小于max的随机小数 * @param min * @param max * @return */ private static Double getRandom(Double min, Double max){
2021-10-19 17:15:53
5619
原创 docker-compose解决容器依赖问题
背景做了个简单的程序,需要依赖mysql、redis、nginx等组件。后续可能需要发布到其他地方做一下简单的展示,一想到要在一台新电脑上装jdk、mysql这些杂七杂八的环境就头疼,于是想试试docker来打包。因为仅是展示,数据不太重要,所以打算用docker-compose来启动包括数据库在内的环境并且进行服务编排。问题项目需要依赖mysql,一开始以为在docker-compose.yml中配置depends_on属性就可以了,毕竟字面意思就是依赖于其他容器。但是编写完后启动项目报错,连
2021-09-10 17:14:50
5462
原创 CentOS7上搭建Samba服务提供文件夹共享
环境在虚拟机中,最小化安装CentOS 7系统。步骤安装Sambayum -y install samba创建用户useradd samba设置密码passwd samba输入你的密码将用户配置到samba中smbpasswd -a samba**注:**这里会要求你设置个密码,前面设置的是系统用户的密码,这里设置的是访问共享文件夹的时候需要用的密码。添加配置信息到配置文件中vim /etc/samba/smb.conf在[global]模块中修改如下内容:wor.
2021-07-13 18:01:25
347
原创 Mysql主从同步搭建
第一次搭建Mysql的主从同步,记录一下。环境服务器: 服务器为CentOS7,准备好两台IP互通的服务器,其中主库192.168.0.102,从库192.168.0.104。Mysql: 版本为5.7.34,用yum的方式安装,管理员账号均为root,密码123456,这里以test库的test表做测试(需要提前在主从两个库中建立该数据库,表结构需要保持一致)。注: 一开始以为搭建完主从同步后,从库会自动复制主库的旧数据,但实际上发现并不会,只有在主从搭建完成后才会保持同步更新,所以建议主从
2021-07-13 18:00:58
544
原创 JAVA实现WebSocket服务器
背景最近做一个物联网相关的项目,需要让服务器主动推送消息给客户端。简单的话可以在客户端进行ajax轮询,但对于服务器来说会有大量的无效请求,客户端一多还容易扑街,于是准备上WebSocket。环境为Spring Boot。思路关于客户端客户端连接上的时候,将该连接对象存入服务器内存中的Map集合中管理,key为客户端ID,value为该客户端的WebSocket连接对象。由于WebSocket连接无法跨服务器,后期若扩展的话,想主动向指定客户端下发消息,只能通过中间件查询到该客户端的连接在.
2021-04-30 16:55:28
7996
4
原创 1分钟搭建Typecho个人博客教程的
前言上个自己的Typecho博客链接:https://blog.visionki.com虽然之前写过一篇手动搭建Typecho的教程,但这些操作对于小白来说有一定的上手门槛,且用的是LAMP镜像,个人建议是将Apache换成Nginx以提高性能。如果想1分钟内拥有一个自己的Typecho博客,可以直接购买腾讯云的轻量应用服务器,现在自带Typecho镜像了。购买服务器腾讯云25岁以下身份认证自动获得学生身份,可以购买学生机,每个月就9块钱,建议买轻量那个。链接:腾讯云9元/月学生机如果非学生身
2021-03-09 13:34:47
3205
2
原创 CentOS 7 安装redis
吃灰了大半年的服务器,今天想把项目都迁移过来,需要装个redis,旧服务器上版本是4.0.8,但官网最新稳定版已经到6.0.10了,强迫症患者表示想装最新版。步骤1、下载压缩包cd /usr/local/srcwget http://download.redis.io/releases/redis-6.0.10.tar.gz2、解压并编译tar xzvf redis-6.0.10.tar.gzcd redis-6.0.10make3、这里编译的时候报错了,因为redis的6.0.10依
2021-02-12 17:01:36
129
3
原创 CentOS7 虚拟机无法ping通宿主机
背景在windows上使用VirtualBox来安装CentOS7虚拟机,使用的是桥接模式。宿主机能ping通虚拟机,虚拟机能ping通外部网络。但虚拟机无法ping通宿主机。解决方案一开始还以为是配置了静态ip导致出现了问题,但检查后发现原来是windows防火墙没开。在控制面板-系统和安全-防火墙左侧,点击高级设置,选择入站规则,把文件和打印机共享(回显请求)的规则启用即可。静态IP配置打开/etc/sysconfig/network-scripts/ifcfg-enp0s3文件(文件名未
2021-02-12 14:51:09
3147
2
原创 MongoTemplate通用BaseDao基类
背景虽然NoSql的优势之一就是不需要提前设计表结构,可以用JSON对象来接收MongoDB返回的结果,但实际开发中,大多数集合的结构不怎么会变,并且为了提高代码的可读性,通常还是会在程序中提供DO类来与数据库映射,并通过他来对数据库进行操作。习惯了mybatis的通用mapper,在写mongoDB数据库相关的操作没有类似genterator的工具去生成,便想着封装一个BaseDao基类,让其他的dao通过继承,就能直接使用最基本的增删改查。依赖为了方便设置更新时的对象属性,引入了fastjson
2020-11-26 16:46:09
810
原创 Ubuntu Server 安装桌面环境及guacamole
背景前面写了一篇Ubuntu安装VNC远程桌面,但是发现在开机自启上有问题,无法通过非交互式shell启动vnc,后面想到了模拟远程调用的方法去启动,如下:$ ssh -i /home/ubuntu/vision.pem -o "StrictHostKeyChecking no" ubuntu@127.0.0.1 "sudo su examinee -c 'vncserver -localhost no :1'"能正常启动,但需要在开机后sleep一段时间,原因是刚开机ssh还没准备好。还是麻烦,
2020-08-21 16:29:34
1260
原创 小程序下载PDF,打开并且分享给好友
小程序里下载PDF打开预览,用了wx.downloadFile和wx.openDocument这两个api就能完成。但是想转发给好友,wx.downloadFile接口不指定文件路径的时候,下载PDF虽然能正常打开,但是分享出去后缀会丢失,导致好友打不开。需要加上文件路径,带上文件名后才能正常分享。wx.downloadFile({ url: 'https://xxxx/00000101.pdf', filePath: wx.env.USER_DATA_PATH + '/tem
2020-05-17 22:36:17
2893
原创 树莓派4B安装realsense的Python3开发环境
设置虚拟内存sudo mousepad /etc/dphys-swapfilesudo /etc/init.d/dphys-swapfile restart改为固定的2048或者干脆使用动态分配的大小,重启安装依赖包sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgradesudo apt-get install git cmake libssl-dev libusb-1.0-
2020-05-17 22:31:54
2614
7
原创 Linux服务器安装JAVAWeb项目环境(一整套)
该教程将会安装JDK、Mysql、Nginx、Tomcat、Redis、MongoDB服务器上尽量用Tab键补全路径或文件名,防止出错。JAVA环境安装官网下载JDK前往:JDK官网地址下载64位压缩包,我这里用的是1.8版本下载例如jdk-8u191-linux-x64.tar.gz文件上传到服务器上传到服务器任意目录,并解压到/usr/local/java/文件夹下tar -...
2019-08-09 14:16:07
486
原创 Typecho博客搭建教程
闲来无事,搭了个博客,原先是看到这个主题,感觉很好看。搜了下是typecho的pinghsu主题。平时很少写博客,而且都放在CNDS上。于是想着干脆搭建一个自己的,开搞。购买服务器阿里云24岁以下身份认证自动获得学生身份,可以购买阿里云学生机器。推荐买1核2G的轻量级应用服务器,一年100出头。方便起见系统镜像选择LAMP的,默认安装好Apache、PHP、Mysql环境。域名设置没...
2019-08-07 17:49:46
17740
4
原创 Redis利用sorted set实现成员过期清除
Redis不支持给set里面的成员设置过期时间,目前只能给顶级key设置过期时间。换个思路,可以利用有序数组,存的时候将score设置成当时的时间戳。再跑个计划任务,每天晚上12点后将score小于12点时间戳的成员清除掉就行了。贴个redisTemplate.opsForZSet().add(key,object,System.currentTimeMillis()/1000);...
2019-07-10 17:20:23
1869
原创 mysql存储过程插入十万条五位数的数据(用于当验证码库)
用存储过程创建一个类似这样的表,从0到99999的五位数,不足五位数的补足delimiter // #定义标识符为双斜杠drop procedure if exists init; #如果存在init存储过程则删除create procedure init() #创建无参存储...
2018-10-08 16:14:46
881
原创 WebSocket简易聊天室-java后台
先上例子:http://chat.visionki.com(可以开多个页面自己和自己聊 -。- )WebSocket原理什么的网上一大堆,但是实现的例子却比较少,可能是我不太会查。于是自己捣鼓了一天,结合网上找到的例子,算是做出个能用的了。其中有两个类,一个WsPool.java用于管理连接。一个WsServer.java用于处理收发信息逻辑。先上代码再解释pack...
2018-07-02 12:16:00
3224
1
原创 Mybatis的动态sql传入int类型的0时不会当成参数查询
使用Mybatis时,将signNumber的值设为0,当成参数传入动态sql语句,代码如下:mapper的xml文件动态sql如下发现日志打印出来的sql语句并没有将0作为参数查询-------------------------------------------------------------------------------------------------------------...
2018-05-24 11:34:26
8594
1
原创 Calendar类能自动切换月份
Calendar类能自动切换月份 DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); System.out.println(format.format(new Date(calendar.getTimeInMillis()))); cal...
2018-05-17 16:04:56
1178
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人