自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的小熊不见了

技术改变生活,而你改变世界

  • 博客(53)
  • 资源 (5)
  • 问答 (2)
  • 收藏
  • 关注

原创 【无标题】

python最近又在搞大事情,就在最近,github上突然多了一个神奇的项目: git地址.并且最近一直在更新。一看这个名字就让我们不禁想起JavaScript,再去官网一看pyscript官网, 这家伙不仅模仿了JavaScript的名字,甚至连身子都想要取而代之!官方对pyscript的期望是可以在浏览器上直接运行python。|...|<py-script> print('Now you can!') </py-script>||怀着一颗好奇心,我们把gith

2022-05-09 22:38:53 316 1

原创 移动端h5自适应适配之flexible.js打假

移动端h5自适应适配之flexible.js打假最近做一个移动端的h5适配,在网上找方案基本上都是使用flexible.js,然后顺理成章我也入了这个坑。引用flexible.js的方式无外乎cdn引入:<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.2/??flexible_css.js,flexible.js"></script>下载文件到本地或者npm安装。源代码如下:在引入之后发现遇到了各种奇怪的问题,比

2021-11-24 15:55:45 2957 1

原创 使用RedisTemplate操作bitmap完成每日签到

使用RedisTemplate操作bitmap完成每日签到用户一天有没有签到只有两种状态:是和否(1,0)。一个月最多31天,4个byte32位刚好能容纳一个月的数据量,每一位0和1分别表示是否签到。因此使用4个byte就能表示一个人一个月的签到状态Redis BITMAPSETBITredis命令:SETBIT key offset value指令:SETBIT mykey 7 1使用以上命令后,则bitmap如下:java代码:GETBIT使用setbit指令签到后,如果想要

2020-11-03 17:12:47 5580 4

原创 线上环境mysql主从同步的搭建过程

之前搭建过一套主从同步的mysql集群,但是是基于新数据库,而这次线上环境要升级成主从同步的集群,记录一下升级过程和中间遇到的各种问题。由于是直接对线上数据库进行修改,因此要保证对线上环境造成尽量小的影响。所以把之前的数据库当作主数据库,这样相应的服务不用修改配置文件。要做的就是安装一个从数据库并且实时同步主数据库的改动。如果两个库在同一个服务器的话则安装mysql时需要改变其端口。如果在另一个服务器安装的话注意查看并卸载旧的mysql。首先安装从库:安装mysql下载软件包:wget htt

2020-07-28 17:44:48 394

原创 搭建直播系统并实现h5播放rtmp

推流只能用rtmp协议,拉流可以使用rtmp协议和hls协议。rtmp协议时adobe公司开发的开放协议,hls是苹果公司推出的直播协议。我们使用nginx的rtmp插件来搭建推流服务器基于nginx的rtmp直播服务器安装加载nginx-rtmp-module模块的nginx首先下载nginx到 https://github.com/arut/nginx-rtmp-module 下载rtmp模块(git clone https://github.com/arut/nginx-rtmp-mo

2020-07-09 17:06:03 8850 3

原创 别再误人子弟了-tomcat、undertow、jetty性能对比

在网上搜索查询发现清一色的都是说undertow高并发性能优于tomcat,并且还提供了各种实验依据以作证明,但是我私下测试发现情况和网上大部分结果并不一致。简单接口测试 @GetMapping("/test") publicStringtest() { returnUUID.randomUUID().toString(); }这是第一次测试的接口,使用jemter每秒600个线程调用这个接口。TomcatUndertowJetty...

2020-06-14 14:22:54 17350 6

原创 使用vue实现一个电子签名组件

使用vue实现一个电子签名组件在生活中我们使用到电子签名最多的地方可能就是银行了,每次都会让你留下大名。今天我们就要用vue实现一个电子签名的面板想要绘制图形,第一步想到的就是使用canvas标签,在之前的文章里我们使用canvas实现了一个前端生成图形验证码的组件,被吐槽不够安全,那么这个电子签名组件相比不会被吐槽了吧~canvas<canvas> 标签是 HTM...

2020-01-03 16:26:30 1994

原创 MongoDB实现问卷/考试设计

MongoDB的特点MongoDB是一个面向文档存储的数据库。在MongoDB中,一条记录叫做document(文档),由类似于JSON结构的键值对组成。由于类似于MongoDB直接存储JSON的特性,MongoDB天生适合作为存储结构复杂的数据结构的介质。类似于问卷调查和考试这种需求,用mysql这种关系型数据库实现起来太过复杂,效率低下;而如果使用MongoDB来实现的话,则会发现异常清晰...

2019-10-30 21:53:28 1267 10

原创 Docker安装ELK并实现JSON格式日志分析

ELK是什么ELK是elastic公司提供的一套完整的日志收集以及前端展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch、Logstash和Kibana。其中Logstash负责对日志进行处理,如日志的过滤、日志的格式化等;ElasticSearch具有强大的文本搜索能力,因此作为日志的存储容器;而Kibana负责前端的展示。ELK搭建架构如下图:加入了filebea...

2019-10-24 13:52:55 1276

原创 电商左侧商品分类菜单实现

电商左侧商品分类菜单实现无论是pc端还是手机端,都有类似左侧分类,点击后右侧切换内容的功能页面。要想实现这个功能,首先第一步是要掌握左右布局的方法。左右布局推荐使用flex弹性布局.parent { display: flex;}.left { width: 200px; height: 100%; background-color: red...

2019-10-11 10:40:38 2610

原创 程序员不装x能行?先给登录来一个图形验证码!(canvas实现)

细心的同学可以发现,现在很多网站当登录多次之后就会出现一个图形验证码,或是当提交表单、或点击获取手机验证码等等场景都会有图形验证码的出现。那么图形验证码是为了解决什么问题而出现的呢?什么是图形验证码图形验证码是验证码的一种。验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Human...

2019-09-09 14:36:43 629

原创 给手机端页面留一个调试后门吧(vue)

当我们在浏览器开发vue页面时,由于浏览器对于调试有天然的支持,我们开发起来很方便。但是现在已经进入了移动端时代,移动端页面的需求越来越大。在开发移动端页面的时候我们通常是在浏览器完成开发完成,之后才在手机端测试,如果测试出现问题还得重新回到浏览器上寻找错误。甚至还有嵌入在APP的页面,经过调试之后还要重新发包。当然还有更加奇怪的现象,由于手机浏览器和Web浏览器的差异,经常会发现在W...

2019-09-04 10:25:47 1254

原创 Spring Boot集成quartz实现定时任务并支持切换任务数据源

org.quartz实现定时任务并自定义切换任务数据源在工作中经常会需要使用到定时任务处理各种周期性的任务,org.quartz是处理此类定时任务的一个优秀框架。随着项目一点点推进,此时我们并不满足于任务仅仅是定时执行,我们还想要对任务进行更多的控制,随时能对任务进行人为干预,就需要对quartz有更深入的了解。而随着微服务的流行,项目中多数据源的情况也越来越常见,在定时任务中集成多数据源切...

2019-08-28 18:01:03 2545

原创 vue父子组件通信高级用法

vue项目的一大亮点就是组件化。使用组件可以极大地提高项目中代码的复用率,减少代码量。但是使用组件最大的难点就是父子组件之间的通信。子通信父父组件<template> <div class="parent"> 我是父组件 <!--父组件监听子组件触发的say方法,调用自己的parentSay方法--> <!--通过:m...

2019-08-27 10:51:30 1064

原创 Mysql主从复制原理及搭建

Mysql主从复制原理主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中。对于多级复制,数据库服务器即可充当主机,也可充当从机。MySQL主从复制的基础是主服务器对数据库修改记录二进制日志,从服务器通过主服务器的二进制日志自动执行更新。Mysq主从复制的类型 基于语句的复制: 主服务器上面执行的语句在从服务...

2019-08-22 13:41:31 1045

原创 只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下: public class Result<T> { // 接口调用成功或者失败 private Integer code = 0; // 失败的具体code ...

2019-08-21 18:26:43 2532

原创 从一道没人能答对的面试题聊聊Java的值传递

这是一道我们公司的面试题,从招第二个Java以来就一直存在了。但是面试了这么长的时间还没有一个人可以全部答对,让我们一度以为是这题出的不对。首先请看面试题。 以下运算的输出分别是多少: public static void main(String[] args) { int i = 0; change(i); System.out....

2019-08-19 16:23:22 412 2

原创 数据库事务详解

事务的产生是为了简化我们的编程模型,使我们在开发的过程中不用考虑各种潜在的错误和并发问题,而不是伴随着数据库系统天生就存在的。事务支持是在引擎层实现的,InnoDB支持事务而MyISAM不支持。假设数据库不支持事务,看下面的示例:a账户要转给b账户100元:update acount set amount =amount -100 where user=a // 1update aco...

2019-06-18 16:07:50 369

原创 linux安装mysql8并且实现主从同步

服务器准备准备服务器Server1和Server2,如果在同一个服务器的话则安装mysql时需要改变其端口。卸载mysql在安装之前必须先检查主机上有没有安装过mysql,如果安装过的话必须先卸载。安装mysql下载软件包:wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm本地安装:yum ...

2019-06-03 09:53:20 1102 1

原创 Spring/Spring Boot中使用@Async

Spring/Spring Boot中使用@Async当我们在调用某些耗时的方法,比如发起第三方调用时而不关心他的返回值,可以采用@Async来实现异步调用。极大的提升程序的响应速度。在以往的编程方法中我们一般都是开启另一个线程去处理类似的场景,而在Spring 3.x之后则可以使用@Async。@Target({ElementType.METHOD, ElementType.TYPE})...

2019-05-21 10:50:02 599

原创 Spring Cloud服务注册与发现从eureka迁移到Nacos实践

现在准备将服务注册与发现从eureka迁移到Nacos。Nacos官网:[https://nacos.io/en-us/docs/quick-start.html](https://nacos.io/en-us/docs/quick-start.html)首先是Naco需要的软件环境:1. 64bit OS: Linux/Unix/Mac/Windows supported, Li...

2019-05-05 10:17:35 3896

原创 Spring Cloud实战-服务注册与发现(Eureka)

# Spring Cloud简介Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。并且已经包含了很多完善的子项目,为分布式应用提供了一整套的解决方案。# Eureka简介Spring Cloud 封装了...

2019-05-05 10:17:13 314

原创 spring boot整合quartz实现通过页面操作管理定时任务

# spring boot整合quartz实现通过页面操作管理定时任务说起quartz,大家肯定就会想起那些繁杂的配置,复杂的代码。但是如果项目中要用到定时任务的话,除了quartz似乎也想不出来别的框架了,毕竟人家做的确实优秀。但是在spring boot中使用quartz,再也不用像以前那么大费周章了。spring boot将quartz的实现细节全都给你封装好了,调用定时任务是需要一...

2019-05-05 10:16:01 914

原创 Vue.js动态绑定class

在项目中我们经常遇到需要动态切换`class`的需求,比如说点击图片放大,又或者选中项变颜色,再比如实现换皮肤的功能等等。这时候`vue`的动态`class`就能帮助我们了。使用对象控制classboolean控制<div v-bind:class="{ active: isActive }"></div>在上面的语法中,active 是c...

2019-05-05 10:13:54 901

原创 使用docker-compose对分布式docker项目进行统一部署

# 什么是docker-compose`Docker Compose` 是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用。如果你的项目中已经有很多docker启动的项目并且他们之间还需要进行通信,那么你就需要在项目中引入docker-compose了。如果你的项目中还没有引入docker的话,可以参考之前的文章。# 安装与卸载docker-co...

2019-05-05 10:13:25 1204

原创 在Vue中如何不影响业务代码的情况下实现页面埋点

实现思路我们的目的是在不引入外部SDK,业务代码方完全无感知的情况下实现页面的日志采集功能。由于在Vue中每一次的页面跳转都会进入路由的beforeEach和afterEach钩子函数,因此我们将借助路由实现业务代码无感知的埋点功能。在此之前,需要保证项目中除了日志服务之外其他的请求都会经过一个入口方法,因为我们会将日志信息进行聚合,避免发送过多的请求以减轻日志服务器的压力。客户端交互日志...

2019-02-23 19:37:22 2633

原创 总说自定义注解,可是自定义注解到底该怎么用?

您的关注是我最大的动力随着软件开发的发展,xml配置已经被注解所取代,注解被越来越多的运用到我们的代码中了。如果我们想要使自己定义的注解来进行一些操作该怎么做呢?自定义注解在项目中新建Java文件是选择Annotation类型则会为我们创建一个注解文件。关于注解的详细介绍可以看之前写的注解详解文章。@Retention(RetentionPolicy.RUNTIME)@Target(...

2019-02-23 19:36:54 2058 1

原创 页面日志采集(埋点)思路及其实现

页面日志采集页面浏览日志采集。指的是当一个页面被浏览器或者APP加载呈现时采集的日志,也是页面浏览量(Page View, PV)和访客数(Unique Visitors,UV)的统计基础。页面交互日志采集。获取用户操作日志,通过量化获知用户的兴趣点或者体验优化点。页面浏览日志采集流程目前典型的网页访问过程是以客户端发送请求、服务器响应并返回所请求的内容进行的。客户端日志采集如果要...

2019-02-23 19:36:08 2991

原创 使用Taro统一多端开发之页面跳转和发送请求

这节中我们使用taro-cli为我们生成的项目添加功能。新建页面在page下新建test1文件夹,先把index下的模板文件复制过去。声明页面修改app.js,在config中的page下新增test1页面路径:pages: [ 'pages/index/index', 'pages/test1/index', ],在config下新增t...

2019-02-23 19:35:40 2551

原创 多端统一开发-Taro的安装与使用

TaroTaro是一套遵循React语法规则的多端开发解决方案。目前市面上已经有各式各样的小程序、h5和安卓、ios端,如何解决一次开发,多端运行已经成为开发者目前迫切需要解决的难题。而使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信/百度/支付宝/字节跳动小程序、H5、React-Native 等)运行的代码。环境Taro 是一个基...

2019-02-23 19:35:11 674

原创 vue实战-vue父子组件通信方式汇总

vue项目的一大亮点就是组件化。使用组件可以极大地提高项目中代码的复用率,减少代码量。但是使用组件最大的难点就是父子组件之间的通信。子通信父&amp;lt;template&amp;gt; &amp;lt;div class=&quot;parent&quot;&amp;gt; 我是父组件 &amp;lt;!--父组件监听子组件触发的say方法,调用自己的parentSay方法--&amp;gt; &

2019-02-20 19:02:21 289

原创 Spring Boot实战-使用WebFlux进行响应式编程(2)

响应式编程范式为开发高性能 Web 应用带来了新的机会和挑战。Spring 5 中的 WebFlux 模块可以作为开发响应式 Web 应用的基础。由于 Spring 框架的流行,WebFlux 会成为开发 Web 应用的重要趋势之一。在上一节中我们对WebFlux进行了介绍并且使用WebFlux开发了一个极其简单的接口,接下来展示更多关于WebFlux 的用法新建一个UserControlle...

2019-02-20 19:01:28 409

原创 vue实战-换皮肤2(使用less实现)

在上一节中我们通过动态切换html中css的引用路径实现了vue中的换皮肤功能。但是这种方法有一个缺陷,那就是只能用css的语法来实现。这个缺陷在某些变态的需求下会增加我们很多工作量,因此本节中将介绍vue中另一种换皮肤的实现思路,用less语法实现换肤。上节中讲过,想要达到换皮肤的目的无非就是替换掉样式文件,而一般项目中使用less都会在style标签中import样式文件。但是现在我们想...

2019-02-19 17:27:25 1834 1

原创 vue实战-实现换主题/皮肤功能

现在的app和pc网站做的越来越花哨,但是有时候用户并不喜欢你给他挑选好的主题颜色,这个时候就需要一个换皮肤的功能了。那么我们怎么在vue中实现这个换皮肤的功能呢?实现思路我们用vue一般都是写单页面程序,因此在实际发布的时候只有一个html以及一堆静态文件(js、css、img之类)。而在html中引用了这些js和css。我们要换皮肤的话其实就是动态的去切换css,所以在这里实...

2019-02-19 16:29:03 1496

原创 Spring Boot实战-使用WebFlux进行响应式编程(1)

响应式编程范式为开发高性能 Web 应用带来了新的机会和挑战。Spring 5 中的 WebFlux 模块可以作为开发响应式 Web 应用的基础。由于 Spring 框架的流行,WebFlux 会成为开发 Web 应用的重要趋势之一。在进行WebFlux开发之前,我们需要先了解WebFlux以及什么是响应式编程。WebFlux使用异步非阻塞的方式,可以极大地提高系统的吞吐量。WebFlu...

2019-02-19 16:28:29 697

原创 Spring Boot实战-集成mongdb并实现自动分库分表

MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。MongoDB使用文档的方式存储数据,而且非常容易进行分库分表的操作。在Spring Boot中集成mongdb非常简单,只需要在新建项目的时候勾选mongdb一项即可,使用起来也足够简单。但是由于使用时很简单也造...

2019-02-15 14:50:35 4074 17

原创 vue实现换主题\皮肤功能

现在的app和pc网站做的越来越花哨,但是有时候用户并不喜欢你给他挑选好的主题颜色,这个时候就需要一个换皮肤的功能了。那么我们怎么在vue中实现这个换皮肤的功能呢?实现思路我们用vue一般都是写单页面程序,因此在实际发布的时候只有一个html以及一堆静态文件(js、css、img之类)。而在html中引用了这些js和css。我们要换皮肤的话其实就是动态的去切换css,所以在这里实...

2019-02-13 17:16:52 9414 2

原创 Spring Boot从入门到精通-页面模板

在web大行其道的今天,有了接口之后最好的展示方式就是用页面。而Spring Boot中对于模板页有良好的支持。下面我们来介绍Spring Boot推荐的模板 thymeleaf。首先在pom.xml中加入依赖:&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifac...

2019-02-02 22:07:35 323

原创 Spring Boot从入门到精通-集成swagger

现在我们的项目中已经有了一个可供外部调用的rest api接口,随着项目的扩展以后会有越来越多的接口,这个时候就需要同时对外部提供关于接口的详细说明文档,而swagger帮我们使用很少的时间就可以构建出一套接口文档。首先在pom.xml中引用swagger所需的依赖。&lt;dependency&gt; &lt;groupId&gt;io.springfox&lt;/group...

2019-01-25 17:33:10 281

原创 Spring Boot从入门到精通-mybatis多数据源

在上一节我们通过Spring Boot集成了mybatis,在某些特定的场景下可能会需要我们使用到多数据源。本节来介绍Spring Boot集成mybatis多数据源的一种解决方案。由于我们会用到Spring Boot aop,因此在pom.xml中添加依赖&lt;!-- springboot-aop包,AOP切面注解,Aspectd等相关注解 --&gt; &lt;d...

2019-01-25 17:32:52 311

中国省市json带id和name

中国省市json带id和name,可以直接在文件中引用import

2018-11-27

vue.js 压缩版

vue.js 压缩版,直接引用虽然方便但是速度还是很慢的。

2018-11-26

springboot整合elastic-search完整版代码

springboot整合elastic-search完整版代码,下载解压后需要在yml配置文件中填上你的elasticsearch安装的地址信息,就可以使用了

2018-07-20

全国省市区数据库

全国省市区数据库,下载文件后可以直接执行sql文件哦,

2018-07-20

springboot整合fastdfs完整版代码

springboot整合fastdfs完整版代码,下载解压后需要在yml配置文件中填上你的数据库信息和安装fastdfs的服务器信息

2018-07-20

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

TA关注的人

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