- 博客(113)
- 资源 (15)
- 收藏
- 关注
原创 Vue的Object变化侦测原理
本文所有内容来自《深入浅出Vue.js》的读书笔记什么是变化侦测vue.js会通过状态生成DOM,并将其输出到页面上显示出来,这个过程称为渲染。vue.js的渲染过程是声明式的,通过模板来描述状态和DOM节点之间的映射关系如何追踪变化js中有两种方法可以检测到变化:基于Object.defineProperty基于ES6的proxyfunction defineReactive(data, key, val) { Object.defineProperty(data, k.
2021-07-26 14:39:18 338 1
原创 基于nginx-rtmp-module搭建直播系统
基于nginx-rtmp-module 搭建直播系统nginx基础nginx-rtmp-module基础实验操作安装nginxNRM的搭建推流拉流实验效果展示nginx基础nginx-rtmp-module基础实验操作安装nginx从官网下载稳定版本 nginx:http://nginx.org/en/download.htmltar -zxvf nginx-1.12.0.tar.gz接着使用configure进行配置,该脚本定义系统的各方面配置,最终输出makefile文件cd n
2021-07-04 22:32:25 963 3
原创 前端/微信小程序 flex布局笔记
前端/微信小程序flex布局笔记参考学习资料微信小程序官方文档html/wxml:<!--flex 布局学习 --> <view class="flex-study"> <view class="item-flex">1</view> <view class="item-flex">2</view> <view class="item-flex">3</view>
2021-01-31 21:41:51 262 1
原创 js数据结构与算法 图的BFS和DFS
本文为技术学习的笔记-《Learning JavaScript Data Structures and Algorithms, Third Edition》1.图的相关术语图是网络结构的抽象模型。图是由一组边连接的节点(或顶点)。一个图G=(V, E)由以下元素组成:V:一组顶点E:一组边,连接V中的顶点下图表示一个图:由一条边连接在一起的顶点称为相邻顶点;一个顶点的度是其相邻顶点的数量;路径是顶点v1,v2, …, vk的一个连续序列,其中vi和vi+1是相邻的;简单.
2020-08-18 23:21:37 631
原创 SpringBoot集成Dubbo框架
1. Dubbo框架 Dubbo框架是一个高性能、重量轻、基于java的RPC框架。Dubbo提供了三个关键功能,包括基于接口的远程调用、容错和负载平衡,以及自动服务注册和发现。Dubbo可以和Spring框架无缝集成。官方的Dubbo框架如下图所示:其核心部分包含:1. 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。2. 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡...
2020-07-12 21:59:42 509
原创 基于Tensorflow的ResNet经典卷积神经网络的实现
1.关于ResNetResNet(Residual Neural Network)残差神经网络是由微软研究员的何凯明等人提出,该卷积神经网络达到了惊人的152层,在ILSVRC2015比赛中以top5错误率3.57%一举夺冠。相比较VGGNet,尽管ResNet模型的深度远远大于VGGNet,但是参数量确比较低。RestNet的提出的创新点在于引入了残差学习单元(Residual Unit)。该创新点受到了Shmidhuber2015年提出的HighwayNetwork的启发。Highway Net
2020-06-09 11:48:10 618
原创 基于Tensorflow的VGGNet16经典卷积网络模型的实现
1. 背景 2014年ILSVRC图像分类大赛上,VGGNet网络模型以top-5错误率 7.3%取得了第二名的成绩。相比较当年第一名的谷歌GoogleNet模型(InceptionV1)top-5错误率6.6%略逊一筹,然而,在将网络迁移到其他图片数据上应用时,VGGNet却比GoogleNet有更好的泛化性。该模型是由牛津大学计算机视觉几何组合Google DeppMind公司研究员合作开发的深度卷积神经网络。在整个网络中,全部使用了大小相同的卷积核3x3和最大池化核2x2。根据网络深...
2020-06-08 16:40:30 632
原创 基于Tensorflow的AlexNet经典卷积网络模型的实现
1.背景 Hinton的学生Alex Krizhevsky于2012年借助深度学习的相关理论提出了深度卷积神经网路模型AlexNet。同年在ILSVRC大赛上,该模型取得了top-5错误率仅为15.3%的好成绩,相比较于第二名的top-5错误率为16.2%以明显的优势胜出。从此Alex成为了CNN领域比较有标志性的一个网络模型。 AlexNet模型中自带了很多的开创新特点:AlexNet使用ReLu作为CNN的激活函数取得了成功,原因在于ReLu激活函数能够在较深的网...
2020-06-08 16:11:42 410
原创 基于Inception-V3模型的迁移学习在图像识别分类中的应用
1.背景 自1998年LeNet-5模型的提出一直到现在,卷积神经网络模型的层数和复杂度都发生了巨大的变化,下表中罗列了ILSVRC(Lareg Scale Visual Recognition Challenge)第一名模型的表现:年份 模型名称 层数 Top5错误率 2012 AlexNet 8 15.3% 2013 ZF Net 8 14.8% 2014 GoogLeNet 22 6.67% ...
2020-06-06 15:44:10 994
原创 基于Tensorflow的LeNet-5经典卷积神经网络模型的实现
1.背景 LeNet-5模型是Yann LeCun教授于1998年在论文Gradient-based learning applied to document recognition中提出,它是第一个成功应用于数字识别问题的卷积神经网络,其主要模型结构图如下:2.主要代码本文中的全部代码来源于TensorFlow实战Google深度学习框架第5、6章节。模型定义代码cnndemo.py:"""resnet5 手写字体识别"""import tensorflow...
2020-06-05 20:35:20 506
原创 PyQt5 使用 QAbstractTableModel 和 QTableView 组件实现分页效果展示
1.背景 项目中需要实现一个历史消息分页查看的功能,并能够对消息进行删除的操作。换做是在web网站里面,这是一个非常常规的功能,但是如何在桌面应用程序做到这一点,还需要花点心思去探索一下。不过无论桌面应用程序还是html网页,本质上开发的思路没有任何的区别。需要克服的难点问题就是,如何使用PyQt5 的组件来实现上述的功能。通过查阅QT的的资料文档,找到了两个组件可以实现这样的功...
2020-04-17 14:06:08 6911 4
原创 基于windows平台 PyQt5 程序打包后安装开机自动运行
目录1.背景 2.使用的打包技术 FBS 3.三种基于windows平台软件自启动方案4. 操作实验 4.1 Run/RunOnce Key 添加注册表的方式 4.2Start Menu/Startup Folder5.总结1.背景 本文主要实现了使用PyQt5开发软件完成后,打包软...
2020-04-15 17:40:00 1548 1
原创 python 实现仿微信聊天时间格式化显示
时间格式化所使用的算法为: """ 1.如果不在同一年 '%Y年%m月%d日' 2.如果在同一年 2.1 如果在同一个月 2.1.1 如果在同一天 '%H:%M' 2.1.2 如果是昨天 '昨天 %H:%M' 2.1.2 如果在同一周...
2020-04-15 00:28:17 384
原创 PyQt5 编写画布小程序
实现的效果图如下:该实例中,设计到的知识点 有:1.pyqt的常用的布局方式,这里使用到了QVBoxLayout,QHBoxLayout,如何灵活运用这些布局;2.常用组件的使用方法,这里使用到了QPushButton, QLabel, QPixmap;3.使用QPainter进行绘制;4.pyqt的事件与槽的用法;主要代码如下:import randomim...
2020-04-12 13:35:51 1884
原创 javascript实现二叉搜索树(BST)
本文参考自《学习javascript数据结构与算法》第10章的部分内容。javascript是一门动态的编程语言,因为上手快,功能强大,深受web开发人员的青睐,现如今js已经远远不是当初只被用来实现网页交互的脚本工具,在现如今的软件开发领域,基本上都有他的身影,从立足于开发后端的node.js平台, 到开发桌面应用的electron框架,再到使用HTML,css,js混合式app开...
2020-04-08 23:26:06 341
原创 PyQt5编写登录页面
效果图:python代码:import sysfrom PyQt5.QtCore import Qtfrom PyQt5.QtGui import QPixmap, QPainter, QColor, QFont, QIconfrom PyQt5.QtWidgets import QWidget, QVBoxLayout, QApplication, QLabel, QDes...
2020-01-15 10:36:49 1256
原创 使用zTree实现对树结构的增删改查
一、目标想要实现的效果如下:二、数据如何设计使用集成的方式来进行树结构的设计,具体数据库表设计如下:组织表:字段名称 数据类型 描述 id integer 主键 orgname string 组织名称 pid integer 父节点的编号 三、基于pid的数据库设计,ztree的使用这里需要用到ztree这...
2020-01-09 19:29:25 1465 1
原创 Layui+angular 分页插件封装
页面效果:插件源代码:/** * @description CHPager 基于angular v1.5.0+ 版本 layui 分页插件的封装 * @author chenpeng * @version v1.0 */; (function (undefined) { "use strict" var _global; function ext...
2019-12-26 11:24:41 422
转载 linux根目录空间不足,追加空间到根目录下
首先看下比较尴尬的情况,查看分区命令:df -h具体操作步骤把/opt内容备份,可以备份到临时目录tmp下面 将/opt文件系统所在的逻辑卷删除 扩大/root文件系统的空间 删除了/opt, 就要新建一个/opt 最后恢复/opt,把压缩在临时目录刚刚压缩的,恢复过来1.对/opt目录备份tar cvf /tmp/opt.tar /opt2...
2019-09-27 10:52:51 3925 1
原创 vue项目中对某个区域绘制水印
首先看一下效果:其实原理很简单,就是使用canvas画成图,然后设置div的背景即可,这里参考了其他人思路又按照我自己的需求,封装了一个插件,可以直接在项目中使用,这里可以对某一个单独的区域设置水印:'use strict'const watermark = {}/** * * @param {要设置的水印的内容} str * @param {需要设置水印的容器}...
2019-09-13 19:37:17 2089 2
原创 基于Vue的网页版录音并播放
最近项目中需要实现一个效果,需要在网页上录制音频,并上传给后台,后续还需要做语音识别处理。下面的表格罗列了我的前端项目中所使用的框架以及插件(本项目基于Vue):插件名称 资源地址 ElementUI https://element.eleme.cn/#/zh-CN/ 网页录音js插件(兼容主流浏览器,使用了感觉还可以的。IE?不存在的,一想到flash,恶心到吐了)...
2019-05-25 17:14:41 11515 20
原创 SpringBoot+Vue项目使用poi-tl来实现导出word文档
项目需求:需要将数据导出成word文档,但是必须是按照一定的格式。这里使用了一个小插件,是基于poi的再次封装:https://github.com/Sayi/poi-tl/1.maven引入包<!-- poi Excel、Word操作--> <dependency> <groupId>com.deepoove...
2019-05-22 13:36:19 5107 3
原创 Vue 项目中 使用fullcalendar 时间段选择插件(类似课程表格)
最近完成一个项目,有这样的需求,我们需要选择一个会议室,但是最好能够通过在图上显示出该 会议室在某某时间段内已经被预定了。先看一下这个功能最终实现的效果,看一看是不是你想要的效果,是您需要的请继续读下去,如果不是请忽略本文。本文中是基于VUE+elementui项目中实现的前后端分离的前端功能部分:所使用的插件:https://github.com/fullcalendar/ful...
2019-05-16 09:10:24 13199 16
原创 Vue + ElementUI 实现一个动态添加元素的小例子
废话不多说先来张效果图吧:这样效果实现的思路是,让这个动态加载元素绑定一个数组,通过修改数组中的元素来实现动态的添加元素效果:好了主要的前端代码如下: <el-form-item label="上次所提议题" > <!-- 渲染问题列表 --> <section v-for="(valu...
2019-05-15 17:37:40 8198 1
原创 SpringBoot + Vue (ElementUI)的小例子
关于SpringBoot项目的搭建,Vue的环境搭建这里不再中赘述。1.首先建立数据库表:DROP TABLE IF EXISTS `semester`;CREATE TABLE `semester` ( `id` int(11) NOT NULL AUTO_INCREMENT, `semesterid` char(200) CHARACTER SET utf8 COLLAT...
2019-05-14 12:42:58 2202 1
原创 微信小程序-组件样式覆盖
现在有这样一个需求:你的页面为home.wxml,你用到了一个组件比如modal.wxml,但是当你把组件引入过来的时候,却发现样式需要做调整?这下没辙了,我用别人的组件还可以修改别人的样式吗。这样不会破坏人家写的代码了吗?别担心,微信小程序的设计者们考虑到了这个问题。下面介绍如何覆盖你用的样式。好了,别废话了,我们直接上主题吧。尴尬的处境:(home.wxml)这个模态框...
2019-04-27 15:01:54 9779 3
原创 SpringBoot 集成 MongoDB 实现文件上传下载
一个项目(本文是基于SpringBoot2.0.5项目环境下的操作)里面需要用到MongoDB 上传文件的操作,记录 一下开发的过程。另附一个使用swagger进行调试使用的小坑。1.引入项目依赖(pom.xml) <!-- mogodb 的支持--> <dependency> <groupId>org.spr...
2019-04-23 20:14:13 3867 3
原创 java 解决倒水问题
问题导入:倒水问题描述:现在有3L,4L的杯子,无限多的水,要求用这两个容器倒出5L的水,如何求解?求解具体代码:/** * Question:倒水问题描述:现在有3L,4L的杯子,无限多的水,要求用这两个容器倒出5L的水,如何求解? * Author: ChenPeng * CompleteTime:2019-04-21 */import java.util.*;...
2019-04-21 19:46:39 1785
转载 数据挖掘关联规则Apriori算法
以超市销售数据为例子,提取关联规则的最大困难在于当存在很多商品时,可能的商品的组合的数目会达到一种令人望而却步的程度。因而各种关联规则分析的算法从不同方面入手,以减少可能的搜索空间的大小以及减少扫描数据的次数。Apriori算法时经典的挖掘频繁项集的算法,第一次实现了再大数据集上可行的关联规则提取,其核心思想是通过连接产生候选项与其支持度,然后通过剪枝生成频繁项集。1.关联规则的一般方式项...
2019-04-14 14:59:17 2264
转载 数据库锁知识点整理
问题导入:数据库以及线程发生死锁的原理以及必要条件是什么?如何避免死锁?所谓死锁是指的两个或者两个以上的进程在执行的过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞现象。如果没有外力作用,那么它们将无法推送下去。此时,称系统处于死锁状态或者系统产生了死锁,这些永远在相互等待的线程称为死锁进程。下面用一个例子来说明死锁,如果一个程序需要并行处理多个任务,那么就可以创建多个线程,但是线...
2019-03-20 22:12:54 358
转载 数据库范式
范化是在识别数据库中的数据元素,关系,以及定义所需的表和各个表中的项目这些初始工作之后的一个细化的过程。常见的范式有1NF,2NF,3NF,BCNF,4NF。 1NF,即第一范式,是指数据库表的每一列都是不可分割的基本数据项,同一列不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间...
2019-03-20 17:09:41 232
转载 深入工厂模式,观察者模式,适配器模式,单例模式
工厂模式专门负责实例化有大量公共接口的类。工厂模式可以动态地决定将哪一个类实例化,而不必实现知道每次要实例化哪一个类。客户类和工厂类是分开的。消费者无论什么时候需要某种产品,需要做的只是向工厂提出请求即可。消费者无需修改就可以接纳新产品。当然也存在缺点,就是当产品修改时,工厂类也要做出相应的修改。工厂模式包含以下几个形态1)简单工厂模式(Simple Factory)模式。简单工厂模...
2019-03-19 19:39:24 923
转载 手撕forward 和 redirect
在设计Web应用的时候,通常要把有一个系统进行结构化设计,按照模块进行划分,让不同的Servlet来实现不同的功能,例如可以让其中的一个Servlet接收用户的请求,另一个Servlet来处理用户的请求。为了实现这种程序的模块化,就需要保证在不同的Servlet之间可以相互跳转,而Servlet有两种方式:forward和redirect方式。forward是服务器内部的重定向,服务器直接...
2019-03-19 10:53:38 174
转载 JDBC事务隔离级别
读“脏数据”一个事务读取了另一个事务尚未提交的数据,例如当事务A与事务B并发执行,当事务A更新后,事务B查询读取到事务A尚未提交的数据,此时事务A回滚,则事务B读取到的数据是无效的“脏数据”。“不可重复读”一个事务的操作导致另一个事务前后两次读取到不同的数据,例如当事务A与事务B并发执行时,当事务B查询读取数据后,事务A更新操作更改事务B查询到的数据,此时事务B再次读取该数据...
2019-03-18 20:53:42 336
转载 Java 线程池的理解
为什么要引入java线程池?new Thread()不好吗?因为通过new Thread()方法来创建线程执行我们的任务,是非常耗时,并且他们独立各自运行,缺乏统一管理。这样最直接的后果:过度消耗资源,最终导致性能急剧下降,这样引入线程池就可以处理上面的问题。使用线程池的好处?线程池中的线程可以被所有的工作线程重复利用,减少线程创建的次数; 可以限制线程的个数,不会导致...
2019-03-18 19:01:08 263
转载 Java 线程同步举例-使用Condition类实现
题目描述:一个文件中有10000个数,用Java语言实现一个多线程程序,将这10000个数输出到5个不同的文件中。要求启动10个线程,两两一组,分为5组。每组两个线程分别将文件中的奇数和偶数输出到改组对应的一个文件中,需要偶数线程每打印10个偶数,就将奇数线程打印10个奇数,如此交替执行。同时需要输出记录输出速度,每完成1000个数就在控制台中打印当前完成数量,并在所有线程结束后,在控制台输...
2019-03-18 16:08:28 408
转载 Java 实现多线程方式总结
java 虚拟机是运行所有java程序抽象的计算机,是java语言允许并发地运行多个线程。多线程的实现一般 有以下三个方法:(1) 实现Runnable接口,并实现该接口的run()方法。自定义类并实现Runnable接口,实现run()方法; 创建Thread对象,用实现Runnable接口的对象作为参数实例化该Thread对象; 调用Thread的start()方法。packa...
2019-03-17 20:40:44 212
原创 图解Java 堆
问题:java堆被分成老年代和年轻代,他们有何区别?根据对象的生命周期的长短把对象分成不同的种类(年轻代,年老代和持久代),并分别进行内存回收, 也就是分代垃圾回收。什么情况下会触发fullGC,应该如何避免?1)调用System.gc()方法会触发fullGC,因此,在编码的时候尽量避免调用这个方法;2)老年代空间不足。由于老年代主要用来存储从年轻代转入的对象,大对象和...
2019-03-17 14:07:30 335
转载 JVM的工作原理
为了方便管理,JVM在执行Java程序的时候,会把它所管理的内存划分为多个不同的区域:(1)class文件class文件是Java程序编译后生成的中间代码,这些中间代码将会被JVM解释执行。(2) 类装载子系统类装载子系统负责把class文件装载到内存中,供虚拟机和用户自定义类装载器。其中,启动类装载器是JVM实现的一部分;用户自定义类装载器则是java程序的一部分,必须是C...
2019-03-16 20:19:15 240
VC基于ODBC和ADO方式SQL Server实例
2018-11-25
SpringMVC的Socket实现+Java Tomcat websocket实现+Java Socket通信实现 +Java UDP通信实现
2018-07-31
SpringMVC文件上传和下载的工具类(完整项目)
2018-07-22
java 实现office文档的在线预览
2016-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人