- 博客(22)
- 收藏
- 关注
原创 JS闭包小例子
JS闭包前言一、闭包 scope总结前言闭包是JS很强大的功能,但是也会很轻易把人搞晕。下面运行完的结果是什么?function makeAdder(a) { return function(b) { return a + b; };}var add5 = makeAdder(5);var add20 = makeAdder(20);add5(6); // ?add20(7); // ?看起来 makeAdder 函数执行完后,它的局部变量就不存在了,错,它的局部变量依
2021-06-05 14:21:20 164
原创 JS面向对象编程
JS面向对象编程前言一、JS面向对象基础用法二、JS面向对象一般用法三、JS面向对象二般用法四、JS面向对象三般用法五、JS面向对象四般用法 - 原型六、原型链七、apply 和 call 函数八、new 关键字前言Java ,JS 都是面向对象编程语言,但是它们的语法有重大区别。Java 中有关键字 class ,用于定义类型。JS 中没有定义类型的关键字,而是使用函数作为类,准确的说JS是基于原型的语言。一、JS面向对象基础用法// 相当于构造方法的函数function makePerso
2021-06-05 13:53:19 377
原创 JS语法特性2
JS语法特性2一、IIFE 直接调用函数表达式二、待续总结一、IIFE 直接调用函数表达式Immediately invoked function expression ,简称 IIFE ,同时声明并调用函数。1、语法(function() { // 这里的代码会立即执行})();2、使用 IIFE实现递规需要提供一个有名函数 counter ,名称 counter 只在函数自己的作用域内可见。var charsInBody = (function counter(elm) { i
2021-06-05 11:26:10 110
原创 JS语法特性1
JS中流程控制小技巧前言一、循环二、&& 和 ||总结前言作为一名后端开发,很少会写前端代码,如果掌握一些前端小技巧,会让自己写出的前端代码更加优雅。一、循环1、一般循环语法for (var i = 0; i < 5; i++) { // Will execute 5 times}2、循环数组的语法for (let value of array) { // do something with value}3、循环对象属性的语法for (let prop
2021-06-04 18:30:06 154
原创 Javascript中let,const,var的使用
JS中 let, const, var关键字一、变量二、let三、const四、var总结一、变量JS中定义变量时可使用这三个关键字之一:let, const, var。二、let一般用法:let a;let name = 'Simon';let用来定义块级变量,变量在它所定义的块内可见:// myLetVariable 在这里不可见for (let myLetVariable = 0; myLetVariable < 5; myLetVariable++) { // my
2021-06-04 18:16:08 223 1
原创 React.memo
这里写自定义目录标题React.memo高阶组件如何提升性能仅检查props浅层对比函数式示例忠告React.memoReact.memo 是什么?memo 是备忘录的意思。memoizing 是将值缓存起来的意思。总的来说,React.memo 是利用缓存进行性能优化的。高阶组件React.memo 是 HOCs ,接收一个Component,返回一个Component。const MyComponent = React.memo(function MyComponent(props) {
2021-05-31 23:12:13 1525 1
原创 React高阶组件
目录React高阶组件HOC作用用法高级用法React高阶组件React中的组件是非常常用的,但高阶组件是什么鬼?HOC高阶组件全称是 Higher Order Componets,简称 HOCs。作用高阶组件作用只有一句话:a higher-order component is a function that takes a component and returns a new component.HOCs是一个函数HOCs接受一个React组件HOCs返回一个React组件H
2021-05-31 15:30:45 113
原创 PageOffice在浏览器中处理office软件
PageOffice介绍1、PageOffice是收费的软件2、PageOffice官网有试用版软件下载3、PageOffice可以与java程序集成,在浏览器中编辑office软件官网下载地址解压后的软件包使用步骤文件描述很详细,主要有以下几步:1、根据重要说明,将pageoffice jar包安装到本地maven仓库2、使用IDEA打开demo maven工程3、在D盘创建 D:/lic 文件夹,在D盘根目录创建 D:/test.doc 文件,里面可以写点内容4、启动
2020-06-19 20:43:47 2460
原创 OpenOffice完成office文件转换
1、OpenOffice官网下载程序,安装需要jdk环境。2、IDEA创建工程maven依赖<properties> <jodconverter.version>4.3.0</jodconverter.version></properties><dependency> <groupId>org.jodconverter</groupId> <artifactId>jodc
2020-06-19 19:42:04 370
原创 ES版本问题
ES版本问题ES版本变化ES6之前与ES6之后,在ES内部的核心索引结构有重大变化,随之导致的是应用层API的大量变化。ES5与ES6的索引库结构区别ES5版本的索引文档结构,一个索引库中可以创建多个类型:ES6及以上版本的索引文档结构,一个索引库中只能创建一种类型:ES官网说明官网解释:ES6创建的索引只能包含单个映射类型。ES7中的映射类型将被废弃。ES8将会彻底删除类型。可以看出,ES6是一个版本的分水岭,之前和之后的变化非常大。ES5与ES6相关API
2020-06-19 19:15:43 356
原创 Elasticsearch 6.0版本重大改变
Elasticsearch 6.0版本重大改变Elasticsearch软件的版本很多,从5.x到6.x到7.x到8.x,各版本间有何重要变化呢?最重大的变化也许就在 6.0 了。1、ES 6.0之前,一个索引中可创建多个type,ES 6.0之后,一个索引中只能创建一个type。(因为ES中的类型只是逻辑类型,本质上仅是 lucen 索引中的一个属性而已。如果同一个索引中使用多个不同的 type,不同 type 定义了相同名称,不同类型的 field,一次性查询多个 type 时,就会导致同一个 l
2020-06-16 00:20:37 354
原创 Vue的props与监听子组件事件
Vue组件间数据传递1、props用来由父组件向子组件传递数据2、监听子组件事件用来由子组件向父组件传递数据Vue的prop单向下行绑定父组件监听子组件事件(单向上行)子组件向父组件提交事件,父组件监听事件,进行操作。子组件向父组件提交事件,也可传递数据。父组件可用函数监听事件。...
2020-06-15 23:20:41 351
原创 Github OAuth app 单点登录
基于Github的OAuth2.0协议的单点登录项目开发过程中,多个子系统需要集成统一认证平台,统一登录,说白了就是第三方登录。当下第三方登录最流行的协议是OAuth2.0。如:微信开放平台,支付宝开放平台,QQ开放平台,Github开放平台等,都提供了第三方登录的功能,现提供一个demo,供码友们参考。Github单点登录的流程流程地址 https://developer.github.com/apps/building-oauth-apps/按照流程操作即可,只不过全程是英文,有些不便。
2020-06-14 20:15:28 1629
原创 Elasticsearch 5.6.7 UpdateByQuery
Elasticsearch 5.6.7 UpdateByQueryElasticsearch 5.6.7 UpdateByQueryElasticsearch版本项目的pom.xmlSpringBoot启动类Es配置类Student类ES测试类修改前的student数据修改后的student数据Elasticsearch 5.6.7 UpdateByQuery在使用Elasticsearch做项目过程中,需要根据query到的文档进行修改,也就是Elasticsearch官网的_update_by_qu
2020-06-13 22:18:15 429
原创 SparkSQL数据源
SparkSQL支持通过DataFrame接口操作多种数据源。DataFrame可以进行关系型转换操作,也能用来创建临时表。创建临时表后可以对它进行SQL查询。本章节描述了使用Spark数据源loading和saving数据的一般方法,然后是一些内建数据源的指定选项。一般load/save函数最简单的形式,使用默认数据源进行所有操作(默认是parquet,除非用spark.sql.source...
2020-03-02 15:14:39 224
原创 SparkSQL开始向导
开始:SparkSessionSpark所有功能的入口点是SparkSession,使用SparkSession.builder()创建一个基本的SparkSession。import org.apache.spark.sql.SparkSession;SparkSession spark = SparkSession .builder() .appName("Java Spark...
2020-03-01 21:13:57 133
原创 Spark SQL,DataFrames,Datasets概念
SparkSQL是spark中对结构化数据进行处理的模块。SparkSQL提供了更多有关数据和计算的结构信息。在Spark内部,这些信息用来进行额外的优化。可以用SQL或Dataset API的方式与SparkSQL进行交互,不管用的是哪种语言编写的计算,最终都会使用同一种计算引擎。SQLSparkSQL的一个用法就是执行sql查询。比如从Hive中读取数据。如果使用另一种语言运行SQL...
2020-03-01 17:55:53 94
原创 Spark弹性分布式数据集编程向导(Java)
概览1、大体上说,每一个Spark应用都是一个驱动程序,包含两部分,一部分是运行用户的主函数,另一部分是在集群中执行多种并行任务。2、Spark提供了(抽象出来了)RDD弹性分布式数据集,是一个在集群中跨节点的分区的元素集合,可以进行并行操作。3、RDD的创建有两种方式,第一种是由hadoop文件系统中的文件创建,也就是hdfs文件,也可以是hadoop支持的其它文件系统。第二种是由驱动程序...
2020-02-28 23:25:17 229
原创 Spark各种库介绍
Spark是大数据处理的引擎,提供了4种数据处理的库,还有很多第三方的库。本篇文章仅简单列举Spark的几种库及其特点。SQL and DataFramessql和数据帧,此模块支持结构化数据的处理。将Spark程序与sql查询无缝集成在Spark程序中可以使用SQL或者DataFrame API进行结构化数据查询,支持在Java,Scala,Python,R语言中使用。如:res...
2020-02-28 17:17:45 1576
原创 Spark概述
什么是Spark1、大数据处理分析引擎2、快如闪电3、操作统一Spark特点1、速度快,比Hadoop快100倍2、简单易用,拥有Java,Scala,R,Python,SQL这几种操作方式。3、包容性,拥有多个库:SQL and DataFrames支持关系型操作,支持SQL。MLlib支持机器学习。GraphX支持图形处理。Spark Streaming 支持流式处理。...
2020-02-28 15:59:11 99
原创 centos虚拟机安装spark
spark介绍官网都有,我就不多啰嗦了,贴上官网链接:spark官网spark下载spark官网下载选择spark版本,最好选稳定版,不选预览版。选择软件包类型,默认是预编译的Hadoop 2.7版本点击超链接,跳到下载镜像列表就用推荐的第一个镜像地址下载,spark-2.4.5-bin-hadoop2.7.tgz, 222MB。将软件包上传到centos服务器1、在mac...
2020-02-25 23:56:23 492
原创 mac系统下VirtualBox+Centos7虚拟机ssh配置
环境1、mac操作系统2、virtualbox+centos7虚拟系统虚拟机网络配置1、界面名称:桥接网卡2、控制芯片:准虚拟化网络3、混杂模式:全部允许查看虚拟机ipmac iTerm2中操作1、生成ssh密钥(之前已经生成过,此步骤就不再覆盖了)ssh-keygen2、将生成的公钥发送到centos虚拟机中ssh-copy-id -i .ssh/id_rsa.pu...
2020-02-25 23:10:53 688
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人