- 博客(67)
- 资源 (152)
- 收藏
- 关注
原创 Echarts数据可视化特效散点图点动态闪烁效果
效果如下:Echarts数据可视化series-effectscatter特效散点图全解mytextStyle={ color:"#333", //文字颜色 fontStyle:"normal", //italic斜体 oblique倾斜 fontWeight:"normal", //文字粗细bold bolder lighter 100 | 200 | 300 | 400... fontFa
2020-05-31 14:41:26 7916
原创 JavaScript中Null和Undefined的区别
Null:null是js中的关键字,表示空值,null可以看作是object的一个特殊的值,如果一个object值为空,表示这个对象不是有效对象。Undefined:undefined不是js中的关键字,其是一个全局变量,是Global的一个属性,以下情况会返回undefined:1)使用了一个未定义的变量;var i;2)使用了已定义但未声明的变量;3)使用了一个对象属性,但该属性不存在或者未赋值;4)调用函数时,该提供的参数没有提供:function func(a){
2020-05-30 23:00:56 415
原创 小白学前端之:JavaScript null 和 undefined 的区别
nullnull 表示一个变量被声明了,并被赋值为空var lzh = null;console.log(lzh); // nullconsole.log(typeof lzh); // objectundefined简单的理解:undefined 表示一个变量被声明了,但是还没有赋值,比如:var lzh;console.log(lzh); // undefinedconsole.log(typeof lzh); // undefined详细一点的理解:在 Jav
2020-05-30 22:57:31 223
原创 用setTimeout代替setInterval
解决setInterval占用内存问题,用setTimeout代替/**************************************************** tomTimer 自定义定时器方法,解决setInterval占用内存问题 ****************************************************/function tomTimer(f, timerName, time) { return function walk() {
2020-05-28 00:05:59 334
原创 HttpClient、HttpURLConnection、OKHttp和Volley
今天突然想起有必要总结一下市面上通用的一些网络请求方式,主要通过分析其优缺点和性能,为以后选择网络请求连接方式提供支持。现在常用的网络请求方式主要有:HttpClient、HttpURLConnection、OKHttp和Volley。一、HttpClient:HttpClient是Apache的一个三方网络框架,网络请求做了完善的封装,api众多,用起来比较方便,开发快。实现比较稳定,bug比较少,但是正式由于其api众多,是我们很难再不破坏兼容性的情况下对其进行扩展。所以,Android团队对.
2020-05-28 00:01:02 609
原创 禁止前端页面用户打开HTML页面调试功能的初级方法
禁止用户打开HTML页面调试有些时候,我们可能想要禁止用户修改或者调试我们HTML页面的代码,这个时候需要组织用户打开调试窗口,下面介绍一些能够阻止用户在浏览器中打开调试窗口的方法,这些方法只能一定程度的提高打开调试的门槛,并不能完全杜绝。禁用F12对于使用F12打开调试窗口的方法,我们只要注册F12按键的处理方法,并阻止默认事件行为即可:window.onkeydown = window.onkeyup = window.onkeypress = function (event) {
2020-05-27 23:48:48 1198
原创 JavaScript中清空数组的三种方式对比以及JavaScript常用数组操作方法
方式1,splicevar ary = [1,2,3,4];ary.splice(0,ary.length);console.log(ary); // 输出 [],空数组,即被清空了定义和用法splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。注释:该方法会改变原始数组。语法arrayObject.splice(index,howmany,item1,.....,itemX)参数 描述 index 必需。整数,规定添加/删除项目的位置
2020-05-26 00:41:32 1116
原创 超快的HTML5 2D渲染引擎Pixi.js入门
PixiJS是一个2D渲染引擎,能自动侦测并使用WebGL或Canvas。PixiJS使用JavaScript或HTML5基础来显示媒体,创建动画或管理交互式图像,从而制作游戏或应用。PixiJS适合制作游戏但并非是游戏引擎,其核心本质是尽可能快速有效地在屏幕上移动物体。PixiJS作为JavaScript的2D渲染器,目标是提供快速轻量且兼容所有设备的2D库。提供无缝Canvas回退、支持主流浏览器,包括桌面和移动设备。PIXI只做三件事Loading and displaying o
2020-05-24 22:09:20 1658 1
原创 时间和日期的JS库Moment.js常见用法总结
Moment.js常见用法总结Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率。 日常开发中,通常会对时间进行下面这几个操作:比如获取时间,设置时间,格式化时间,比较时间等等。接下来,我将按照这些操作对Moment.js中的Doc进行整理分类,方便学习和日后的查阅。获取时间 Start of Time moment().startOf(String) 获取今天0时0分0秒 moment().start
2020-05-24 21:39:35 708 1
原创 时间和日期的JS库Day.js入门教程
dayjs是一个轻量的处理时间和日期的 JavaScript 库,这里是dayjs的github网址https://github.com/iamkun/dayjs。dayjs好处???? 和Moment.js有着相同的API和模式 ???? 不可变、持久性 ???? 提供链式调用 ???? 国际化标准 ???? 超小的压缩体积,仅仅有2kb左右 ???? 极大多数的浏览器兼容dayjs安装NPM:npm install dayjs --savevar dayjs = req
2020-05-24 21:38:07 1441
原创 WebSocket刷新断开原因、设计心跳机制防止自动断开连接
1、断开原因WebSocket断开的原因有很多,最好在WebSocket断开时,将错误打印出来。ws.onclose = function (e) { console.log('websocket 断开: ' + e.code + ' ' + e.reason + ' ' + e.wasClean) console.log(e)}错误状态码:WebSocket断开时,会触发CloseEvent, CloseEvent会在连接关闭时发送给使用 WebSockets 的客户端. 它在
2020-05-24 16:44:33 8376
原创 理解WebSocket心跳及重连机制以及加强版的reconnectingwebsocket.js实现
理解WebSocket心跳及重连机制 在使用websocket的过程中,有时候会遇到网络断开的情况,但是在网络断开的时候服务器端并没有触发onclose的事件。这样会有:服务器会继续向客户端发送多余的链接,并且这些数据还会丢失。所以就需要一种机制来检测客户端和服务端是否处于正常的链接状态。因此就有了websocket的心跳了。还有心跳,说明还活着,没有心跳说明已经挂掉了。1. 为什么叫心跳包呢?它就像心跳一样每隔固定的时间发一次,来告诉服务器,我还活着。2. 心跳机制是?心跳机制是每隔..
2020-05-24 14:31:07 5786
原创 Java中常见定时任务的实现方式
定时任务实现的几种方式:Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。 ScheduledExecutorService:也jdk自带的一个类;是基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去执行,也就是说,任务是并发执行,互不影响。 Spring Task:Spring3.0以后自带的task,可以将它看成一个轻
2020-05-24 11:16:33 204
原创 SpringBoot两种定时任务(Spring Schedule 与 Quartz 整合 )实现
前言最近在项目中使用到定时任务,之前一直都是使用Quartz 来实现,最近看Spring 基础发现其实Spring 提供 Spring Schedule 可以帮助我们实现简单的定时任务功能。下面说一下两种方式在Spring Boot 项目中的使用。Spring Schedule 实现定时任务Spring Schedule 实现定时任务有两种方式 1. 使用XML配置定时任务, 2. 使用 @Scheduled 注解。 因为是Spring Boot 项目 可能尽量避免使用XML配置的形式,主要说
2020-05-24 11:10:26 425
原创 Spring Batch开发简单入门实践
什么是 Spring BatchSpring Batch 作为 Spring 的子项目,是一款基于 Spring 的企业批处理框架。通过它可以构建出健壮的企业批处理应用。Spring Batch 不仅提供了统一的读写接口、丰富的任务处理方式、灵活的事务管理及并发处理,同时还支持日志、监控、任务重启与跳过等特性,大大简化了批处理应用开发,将开发人员从复杂的任务配置管理过程中解放出来,使他们可以更多地去关注核心的业务处理过程。更多的介绍可以参考官网:https://spring.io/projects/
2020-05-24 11:07:35 898
原创 高效的CSV文本处理利器——univocity-parsers
univocity-parsers简介工作中经常会遇到需要导出或者解析csv的需求,Java中处理csv的开源库也有很多,本文主要介绍通过univocity-parsers来解析和生成csv,univocity-parsers的github地址见此,在写这篇文章的时候univocity-parsers 最新版为2.6.3注: 本文所有例子源码在都在github上。使用详解在详解介绍之前,我们先通过一个简单的例子来看看如何使用univocity-parsers@Slf4jpubl.
2020-05-24 10:23:53 2483
原创 前端一键复制粘贴插件——clipboard.js的使用
将文本复制到剪贴板应该不难。配置它不需要几十个步骤,也不需要加载数百KB的js文件 。但最重要的是,它不应该依赖Flash或任何臃肿的框架。这就是clipboard.js存在的原因。安装从npm安装npm install clipboard --save或者,如果您不喜欢包管理,只需下载一个ZIP文件设置 script引入 <scriptsrc="dist/clipboard.min.js"></script> 三方CDN引入现在需...
2020-05-22 21:05:33 1142
转载 HTTP、websocket、XMPP、COAP、MQTT和DDS协议对比
对于物联网,最重要的是在互联网中设备与设备的通讯,现在物联网在internet通信中比较常见的通讯协议包括:HTTP、websocket、XMPP、COAP、MQTT1、HTTP和websocket在互联网时代,TCP/IP协议已经一统江湖,现在的物联网的通信架构也是构建在传统互联网基础架构之上。在当前的互联网通信协议中,HTTP协议由于开发成本低,开放程度高,几乎占据大半江山,所以很多厂商在构建物联网系统时也基于http协议进行开发。包括google主导的physicweb项目,都是期望在传统w.
2020-05-19 12:49:51 1579
原创 基于guava的重试组件Guava-Retryer
一、使用场景在日常开发中,我们经常会遇到需要调用外部服务和接口的场景。外部服务对于调用者来说一般都是不可靠的,尤其是在网络环境比较差的情况下,网络抖动很容易导致请求超时等异常情况,这时候就需要使用失败重试策略重新调用 API 接口来获取。重试策略在服务治理方面也有很广泛的使用,通过定时检测,来查看服务是否存活(Active)。Guava Retrying 是一个灵活方便的重试组件,包含了多种的重试策略,而且扩展起来非常容易。用作者的话来说:This is a small extensio
2020-05-19 00:14:17 350
原创 Jquery ajax, Axios, Fetch区别之我见
引言前端技术真是一个发展飞快的领域,我三年前入职的时候只有原生XHR和Jquery ajax,我们还曾被JQuery 1.9版本版本以下不支持大文件请求这个问题卡了半天(最后自己写了原生的XHR请求)。一晃眼,JQuery ajax早已不能专美于前,axios和fetch都已经开始分别抢占“请求”这个前端高地。本文将会尝试着阐述他们之间的区别,并给出自己的一些理解。1 JQuery ajax$.ajax({ type: 'POST', url: url, data: data
2020-05-18 22:58:05 398
原创 Guava学习笔记(六):Immutable(不可变)集合
不可变集合,顾名思义就是说集合是不可被修改的。集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变。 为什么要用immutable对象?immutable对象有以下的优点: 1.对不可靠的客户代码库来说,它使用安全,可以在未受信任的类库中安全的使用这些对象 2.线程安全的:immutable对象在多线程下安全,没有竞态条件 3.不需要支持可变性, 可以尽量节...
2020-05-18 13:22:43 426
原创 程序员技能树的分层分级方法
版本一初级—初掌握java基础,熟悉常用类库。理解java web中的servlet,jsp,并了解常用的框架对java web的封装原理,能够借助框架完成增删改查功能。理解数据库在web开发中的地位。初级—中理解java中较为高级的特性,如反射,动态代理,JVM,内存模型,多线程等等。熟练使用框架,对框架中遇到的bug,能够借助日志和搜索引擎分析出问题的原因。在团队中,能够独立完成普通后台业务功能的开发。了解数据库的高级特性,如索引,存储引擎等等。初级—高理解java分布式架构,微
2020-05-17 21:59:05 1235
原创 JAVA中加密算法的简单使用入门
在开发应用过程中,客户端与服务端经常需要进行数据传输,涉及到重要隐私安全信息时,开发者自然会想到对其进行加密,即使传输过程中被“有心人”截取,也不会将信息泄露。对于加密算法,相信很多开发者都有了解,比如 MD5加密,Base64加密,SHA-1加密,DES加密,AES加密,RSA加密等等。在这里我主要总结一下常用的加密算法,后续还会不断更新,如果总结的不好,敬请原谅,有错误的地方欢迎大家指出。一、MD5加密1、 概述Message Digest Algorithm MD5(中文名为消息摘要算法第
2020-05-17 10:27:49 496
原创 常见加解密算法详解
本文主要介绍移动端的加解密算法的分类、其优缺点特性及应用,帮助读者由浅入深地了解和选择加解密算法。文中会包含算法的关键代码,以利于读者理解使用。算法分类根据加密结果是否可以被解密,算法可以分为可逆加密和不可逆加密(单向加密),从这个意义上来说,单向加密只能称之为加密算法而不是加解密算法。对于可逆加密,又可以根据密钥的的对称性分为对称加密和非对称加密。具体的分类结构如下:可逆加密 对称加密:DES,3DES,AES,PBE 非对称加密:RSA,DSA,ECC 不可逆加密(单向加密):MD5,
2020-05-17 10:18:17 4751
原创 密码学和加密数字货币的简介
所有货币都需要一些方法来控制供应,并强制执行各种安全属性以防止作弊。在法定货币方面,像中央银行这样的组织控制货币供应量,并对实体货币增加防伪功能。这些安全功能提高了对攻击者的防范能力,但是他们不可能不赚钱地进行伪造。最终,执法对于阻止人们违反制度规则是必要的。加密数字货币也必须采取安全措施,防止人们篡改系统状态,并避免对不同的人造成不一致的陈述。如果Alice说服Bob,她给他一个数字货币,例如,她不应该说服卡罗尔,向卡罗尔支付同一个数字货币。与法定货币不同的是,加密货币的安全规则需要纯粹在技术上执行,
2020-05-17 10:16:04 5780
原创 移动商务智能的加密算法
序言BI应用的主要对象是对数据安全非常敏感的企业,这就要求我们在Mobile BI的开发过程中要特别注意对数据的存储、通信、验证等进行保护,而加密算法可以防止数据的读取、确保数据的完整性以及实现身份认证,这篇文章对应用普遍的加密算法进行简单的介绍,以便在后继Mobile BI安全功能的讲解中可以对安全功能实现的理论基础有一个清晰的认知。加密算法可以简单的分为“对称密钥加密算法”和“非对称密钥加密算法”,这是以加解密过程中使用的密钥是否相同来区分的:“对称加密算法”是指加密和解密使用同一个密钥,一
2020-05-17 10:06:04 1767
原创 常见编码和加密算法
0x00 前言正文开始之前先闲扯几句吧,玩CTF的小伙伴也许会遇到类似这样的问题:表哥,你知道这是什么加密吗?其实CTF中脑洞密码题(非现代加密方式)一般都是各种古典密码的变形,一般出题者会对密文进行一些处理,但是会给留一些线索,所以写此文的目的是想给小伙伴做题时给一些参考,当然常在CTF里出现的编码也可以了解一下。本来是想尽快写出参考的文章,无奈期间被各种事情耽搁导致文章断断续续写了2个月,文章肯定有许多没有提及到,欢迎小伙伴补充,总之,希望对小伙伴们有帮助吧!0x01 目录 常见编码:
2020-05-17 09:56:09 10714
原创 RSocket 基于消息传递的反应式应用层网络协议
下面基于RSocket的一些主要特性分别做一下介绍,并和HTTP之类的常见协议进行比较:Multiplexed, Binary Protocol 多路复用的二进制协议 Bidirectional Streaming 双向流 Flow Control 流控制 Socket Resumption 连接恢复 Message passing 消息传递模型 Transport independent 与传输层解耦的应用层协议一、Multiplexed Binary Protocol现在Multip
2020-05-15 22:54:21 1177
原创 用 RSocket 解决响应式服务之间的通讯
分布式系统中的通讯问题确实,微服务无处不在。从部署和维护非常麻烦的单体应用程序到完全分布式、微型、可扩展的微服务,我们经历了漫长的过程。微服务架构设计有很多好处。但是,它也有缺点。首先,为了向客户交付最终产品,服务之间必须交换大量数据。在单体应用程序中这不是问题,因为它整个通信都在单个 JVM 进程中进行。而在“微服务架构”中,部署在单独的容器中服务需要通过内部或外部网络进行通信。此时,“网络”是一等公民。如果在云上运行应用程序,事情将变得更加复杂。在这种情况下,网络问题和延迟增加将是不可避免的事情。与
2020-05-15 22:42:41 641
原创 Springboot2.2.6中的RSocket使用, RSocket 进行反应式数据传输
在微服务架构中,不同服务之间通过应用协议进行数据传输。典型的传输方式包括基于 HTTP 协议的 REST 或 SOAP API 和基于 TCP 字节流的 gRPC 等。HTTP 协议的优势在于其广泛的适用性,有非常多的服务器和客户端实现的支持,但 HTTP 协议本身比较简单,只支持请求-响应模式。gRPC 等基于 TCP 的协议使用二进制字节流传输,保证了传输的效率。不过 gRPC 基于 HTTP/2,不支持其他传输层实现。HTTP/2 协议使用了二进制字节流,但是并没有改变 HTTP/1 协议已有的语义,
2020-05-15 22:29:32 3646
原创 neo4j入门(一)概述
neo4j入门创建一个节点CREATE (ee:Person { name: "Emil", from: "Sweden", klout: 99 })寻找节点MATCH (ee:Person) WHERE ee.name = "Emil" RETURN ee;模式匹配MATCH (ee:Person)-[:KNOWS]-(friends)WHERE ee.name = "Emil" RETURN ee, friendsMATCH (js:Person)-[:KNO
2020-05-15 13:33:28 168
原创 ETL工具选型参考
ETL工具选型目前主流的ETL工具有Kettle、talend、NiFi、datastage、informatica、cogons、SSIS等,其中NiFi、kettle和talend是开源软件,其他均为商业软件。成本开源软件本身是不收费的,所以主要成本在培训和咨询方面,成本会维持在一个相对较低的水平。商业软件本身收费较高,一般会提供几次免费的咨询服务或技术支持。易用性NiFi:有非常容易使用的WEB UI,社区活跃度较高。Talend:有 GUI 图形界面但是以 Eclipse
2020-05-15 13:32:01 4439
原创 linux中screen 命令简单使用
新建会话 screen -S name 退出会话 ctrl+a then d 查看会话 screen -ls 恢复会话 screen -r id/name 删除会话 screen -X -S id/name quit
2020-05-15 13:30:16 187
原创 Spark、Strom、Flink和Beam的技术选型
Spark streaming、Storm、Flink和Beam都是开源的分布式系统,具有低延迟、可扩展和容错性诸多优点,允许你在运行数据流代码时,将任务分配到一系列具有容错能力的计算机上并行运行,都提供了简单的API来简化底层实现的复杂程度。StormStorm中的核心抽象是“stream”。流是无限制的元组序列。Storm提供了用于以分布式且可靠的方式将流转换为新流的原语。例如,可以将推文流转换为趋势主题流。Storm为进行流转换提供的基本原语是“spouts”和“bolts”。spouts
2020-05-15 13:25:57 1875
原创 外排序 External sorting
外排序(External sorting)是指能够处理极大量数据的排序算法。通常来说,外排序处理的数据不能一次装入内存,只能放在读写较慢的外存储器(通常是硬盘)上。外排序通常采用的是一种“排序-归并”的策略。在排序阶段先读入能放在内存中的数据量,将其排序输出到一个临时文件,依此进行,将待排序数据组织为多个有序的临时文件。尔后在归并阶段将这些临时文件组合为一个大的有序文件,也即排序结果。外排序的一个例子是外归并排序(External merge sort),它读入一些能放在内存内的数据量,在内存中排序后输
2020-05-15 12:52:31 420
原创 Google的Guava开发库快速快速入门
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。guava类似Apache Commons工具集基本工具包BaseOptionalguava的Optional类似
2020-05-15 00:19:55 203
原创 不同应用系统之间数据交互的几种方式
信息系统的普及应用导致原有系统间的信息孤岛需要通过系统间接口进行数据交互,信息交互的接口常见有以下几种:(1)数据库交互:服务方提供表或存储过程,由调用方控制commit或rollback。(2)文件交互:双方对请求文件各应答文件通过锁定文件及文件内容标志控制。(3)基于TCP/IP协议的信息交互:约定报文格式,性能较高。如ISO8583报文国际标准的包格式的通讯协议。(4)基于HTTP协议的信息交互:如SOAP协议。(5)基于WebService协议的信息交互:比较通用的接口协议。
2020-05-12 23:59:30 35166 1
原创 HDF5文件介绍
一、HDF5文件介绍Hierarchical Data Format Version 5, HDF5: 层次性数据格式第五版是一种存储相同类型数值的大数组的机制,适用于可被层次性组织且数据集需要被元数据标记的数据模型常用的接口模块为 h5pyHDF5 三大要素:hdf5 files: 能够存储两类数据对象 dataset 和 group 的容器,其操作类似 python 标准的文件操作;File 实例对象本身就是一个组,以 / 为名,是遍历文件的入口dataset(array-like):
2020-05-11 13:38:45 3404
原创 H5桌面通知: Notification API 的应用
这是利用html5桌面通知Notification API实现的,先看看代码,再分析Notification。// 桌面通知 (() => { // 请求权限 Notification.requestPermission().then(function(permission) { if(permission === 'granted'){ console.log('用户允许通知了'); }else
2020-05-11 00:02:27 548
台电U盘加密.zip
2019-12-21
大数据+分析案例+视频讲解.rar
2019-12-19
软考+系统+架构师+教程+真题+解答.rar
2019-12-14
通信专业技术人员职业资格考试辅导书最新版.zip
2019-12-06
最优停止理论.zip
2019-12-01
15000条航班数据2016年.zip
2019-09-14
企业数据湖
2019-03-18
备份软件-CobianBackup
2019-03-18
人人都会数据分析:从生活实例学统计
2019-01-22
中文知识图谱报告-2018
2019-01-13
全国中文知识图谱研讨会2015
2019-01-13
中文知识图谱研讨会2014
2019-01-13
Modern Big Data Processing with Hadoop
2018-12-28
大数据科学
2018-12-28
SQL 经典实例
2018-12-21
收获,不止SQL优化--抓住SQL的本质
2018-12-21
MySQL王者晋级之路
2018-12-21
Using Flume
2018-12-21
Flume 构建高可用、可扩展的海量日志采集系统
2018-12-21
疯狂Ajax讲义(第3版)+源代码(百度云下载)
2018-11-19
疯狂HTML 5+CSS 3+JavaScript讲义(第2版)+源代码
2018-11-19
DivertTCPconn-master.zip
2021-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人