Temporal

前端面试题:JS中的let和var的区别

主宰稳场 提交于 2020-04-26 05:44:34
最近很多前端的朋友去面试被问到let和var的区别,其实 阮一峰老师的ES6 中已经很详细介绍了 let 的用法和 var 的区别。我简单总结一下,以便各位以后面试中使用。 ES6 新增了 let 命令,用来声明局部变量。它的用法类似于 var ,但是所声明的变量,只在 let 命令所在的代码块内有效,而且有暂时性死区的约束。 先看个 var 的常见变量提升的面试题目: 题目 1: var a = 99; // 全局变量a f(); // f是函数,虽然定义在调用的后面,但是函数声明会提升到作用域的顶部。 console.log(a); // a=>99, 此时是全局变量的a function f( ) { console.log(a); // 当前的a变量是下面变量a声明提升后,默认值undefined var a = 10; console.log(a); // a => 10 } // 输出结果: undefined 10 99 如果以上题目有理解困难的童鞋,请系统的看一下老马的 免费JS高级视频教程 。 ES6可以用let定义块级作用域变量 在ES6之前,我们都是用var来声明变量,而且JS只有函数作用域和全局作用域,没有块级作用域,所以 {} 限定不了var声明变量的访问范围。 例如: { var i = 9; } console.log(i); // 9 ES6新增的

【翻译】Flink Table Api & SQL —Streaming 概念 —— 时态表

时光总嘲笑我的痴心妄想 提交于 2020-04-24 09:14:52
本文翻译自官网: Temporal Tables https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/streaming/temporal_tables.html Flink Table Api & SQL 翻译目录 时态表(注:Temporal Table , 我翻译为时态表,可以访问表在不同时间的内容)表示一直在修改的表上的(参数化)视图的概念,该视图返回表在特定时间点的内容。 更改表可以是跟踪表的修改历史(例如,数据库更改日志),也可以是维表的具体修改(例如,数据库表)。 对于表的历史修改,Flink可以跟踪修改,并允许在查询中访问表的特定时间点的内容。 在Flink中,这种表由 Temporal Table Function表示 。 对于变化的维表,Flink允许在查询中的处理时访问表的内容。 在Flink中,这种表由 Temporal Table 表示 。 设计初衷 与表的修改历史相关 与维表(内容)变化相关 时态表函数 定义时态表函数 时态表 定义时态表 设计初衷 与表的修改历史相关 假设我们有下表 RatesHistory 。 SELECT * FROM RatesHistory; rowtime currency rate ======= ======== ====== 09

SDNnet PX Programmming Language

江枫思渺然 提交于 2020-04-20 16:43:07
写在前面 本篇是关于 SDNet PX Programming Language User Guide 其中「Introduction」 部分的一些翻译、理解以及我从其他方面看来的一些资料的整合。网上相关的资料十分少,因此欢迎同样在研究 px 的同学联系我一起探讨。 Introduction PX 是用于特定领域的高级程序设计语言(the high-level domain-specific programming language)用于 Xilinx® 网络 SDNet™ 开发环境组成部件的可编程包处理器( PPP )。 注1:PPP 是 Programmable Packet Processor 的缩写 PX 可以用于两个目的。第一,生成用于 PPP 实例的架构的可合成的 RTL 代码(to generate synthesizable RTL code for the architecture of a PPP instance);第二,更改已经存在的 PPP 实例的固件(to change firmware for an existing PPP instance); 注2: RTL 是指 Register Transfer Level,也就是寄存器传送级 PX 的目的是允许用户专注于需要的包处理功能而不需要关心达到高性能的具体实现细节,是一门声明性语言(a

CVPR2020|3D-VID:基于LiDar Video信息的3D目标检测框架

一笑奈何 提交于 2020-04-19 11:33:36
作者:蒋天园 Date:2020-04-18 来源: 3D-VID:基于LiDar Video信息的3D目标检测框架|CVPR2020 Brief paper地址:https://arxiv.org/pdf/2004.01389.pdf code地址:https://github.com/yinjunbo/3DVID 这是一篇来自北理工和百度合作的文章,目前还未开源,只有项目地址,2020年3月份放置在arxiv上,已经被CVPR2020接收;从标题我们猜测该文采用的时空信息将多帧的点云信息融合做3D目标检测,目前的确是没有研究是通过视频流的方式做3D目标检测,不过这也要求数据集是一些连续的帧才能使得这样一个任务的完成,但是KITTI的确是没有满足这样的要求,因此作者在Nuscence上进行的实验。这是一个CVPR19年上的公布的数据集,这里先给出一张目前在公布的nuscence的榜单,如下,这里的榜一的文章目前将SECOND的代码重构,加入了更多SOTA的方法开源了新的3Ddetection base,即Det 3D项目,链接为:https://github.com/poodarchu/Det3D,而MEGV则是采用了多尺度检测的head,规定了不同大小的物体的检测采用不同的head,同时采用了一种数据增广方式缓解了nuscence中的longtail问题 本文主要内容

Java8系列 (六) 新的日期和时间API

99封情书 提交于 2020-04-18 04:31:45
概述 在Java8之前, 我们一般都是使用 SimpleDateFormat 来解析和格式化日期时间, 但它是线程不安全的。 @Test public void test() { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss" ); ExecutorService executorService = Executors.newFixedThreadPool(5 ); for ( int i = 0; i < 10; i++ ) { executorService.execute(() -> { try { Date date = sdf.parse("20191103091515" ); System.out.println(date.toString()); } catch (ParseException e) { e.printStackTrace(); } }); } executorService.shutdown(); } 多次运行上面这段程序, 会报不同的异常, 下面是其中的一种 Exception in thread "pool-1-thread-2" Exception in thread "pool-1-thread-4" Exception in thread "pool-1-thread

详解Java8的日期和时间API

雨燕双飞 提交于 2020-04-18 04:07:55
详解Java8的日期和时间API 在 JDK1.0 的时候,Java引入了 java.util.Date 来处理日期和时间;在 JDK1.1 的时候又引入了功能更强大的 java.util.Calendar ,但是 Calendar 的API还是不尽如人意,,存在实例易变、没有处理闰秒等等的问题。所以在 JDK1.8 的时候,Java引入了 java.time API,这才真正修改了过去的缺陷,且更为好用。本篇就详细介绍一下 JDK1.8 的日期和时间API。 本篇主要包括以下内容: 详解Java8的日期和时间API Java8之前的日期和时间API的缺陷 java.time类图介绍 概况 chrono format temporal zone Java 8日期/时间类 Instant Duration Period LocalDate和LocalTime LocalDateTime 日期操作和格式化 时区 Java8之前的日期和时间API的缺陷 在Java 8之前,所有关于时间和日期的API都存在各种使用方面的缺陷,主要有: Java的java.util.Date和java.util.Calendar类易用性差,不支持时区,而且他们都不是线程安全的; 用于格式化日期的类DateFormat被放在java.text包中,它是一个抽象类

7 Papers | 微软亚研麻将AI「Suphx」技术细节;港中文、商汤动作识别时序金字塔网络

て烟熏妆下的殇ゞ 提交于 2020-04-13 20:24:18
【今日推荐】:为什么一到面试就懵逼!>>> 本周的重要论文有微软麻将 AI 研究团队公布 Suphx 所有技术细节,以及港中文联合商汤科技推出的特征级通用时序金字塔网络。 目录: Background Matting: The World is Your Green Screen Suphx: Mastering Mahjong with Deep Reinforcement Learning A mountable toilet system for personalized health monitoring via the analysis of excreta Weakly-Supervised Reinforcement Learning for Controllable Behavior Evolving Normalization-Activation Layers Temporal Pyramid Network for Action Recognition Tracking Objects as Points ArXiv Weekly Radiostation:NLP、CV、ML更多精选论文(附音频) 论文 1:Background Matting: The World is Your Green Screen 作者:Soumyadip Sengupta

GDB Cypher:Cypher用户的最佳选择

核能气质少年 提交于 2020-04-09 00:58:06
Neo4J 是DB-Engines图数据领域长期排名第一的数据库产品,目前有社区版和企业版两个版本: • 社区版:单实例、无容灾、不支持热备、缺乏技术支撑 • 企业版:高性能、可扩展、高可用、多种安全级别、数据完整性、完全托管、丰富的监控&审计 企业版目前最便宜的4Core单实例一年价格将近30万,高昂的价格让国内中小企业望而却步。目前国内大部分用户都选择社区版并在上面做定制开发,这需要企业投入额外人力成本进行图数据自管理和运营。下面是Neo4j企业版和Gdb云产品不同规格的价格对比: 兼容性 既然想要接入Gdb,那么Gdb目前Cypher支持到什么程度了?是否可以满足业务的使用需求? 目前Gdb Cypher只支持bolt-v3协议;数据类型上目前支持Temporal外所有的数据类型,子句上基本支持所有常用的子句,函数上除过一些算数 来源: oschina 链接: https://my.oschina.net/u/4275644/blog/3225397

基于TPNN的儿童英语声学模型训练

本秂侑毒 提交于 2020-03-19 16:46:42
3 月,跳不动了?>>> 前言 TPNN作为学而思网校自主研发的深度学习平台,专门针对声学模型训练进行了架构优化,可以轻松帮助研发人员完成语音特征和解码器的无缝对接,同时在此框架下,我们也实现了主流的声学模型架构和高效的多卡训练技术,在TPNN的框架下,我们进行了大规模数据下儿童声学模型的技术研发。 通过大量实验,包括模型结构,特征维度,建模单元等,结合n-gram语言模型,融入了上万小时的儿童英语数据,最终实现了最适合中国儿童的英语识别的声学模型架构,我们的儿童声学模型可以达到92%以上的识别精度,拥有领先业界的性能。 同时考虑到业务的需要,我们也实现了儿童声学模型的离线识别方案,利用8bit量化,neon优化,混合精度运算等技术,我们可以在损失少量的性能的情况下,在移动端达到接近服务器的计算速度。 本文将从TPNN的“多卡训练技术” “声学模型训练” “移动端的模型优化”这几个方面为大家介绍学而思网校的儿童声学模型训练技术。 一、TPNN的多卡加速技术 基于深度学习的的声学模型在语音识别领域取得了巨大的成功,但这些模型的训练都必须建立在海量的数据训练上,面对海量的训练数据,模型的训练时间大大增加,识别会严重拖慢研究和开发进度。 因此高效的多卡训练方案对于一个深度学习框架是一个非常重要的环节。 TPNN拥有在NVidia的NCCL通信框架基础上,利用BMUF技术

ES6中let 和 const 的新特性

ε祈祈猫儿з 提交于 2020-03-01 16:39:31
在javascript中,我们都知道使用var来声明变量。javascript是函数级作用域,函数内可以访问函数外的变量,函数外不能访问函数内的变量。 ECMAScript 6 是 JavaScript 语言教程,全面介绍 ECMAScript 6 新引入的语法特性。 ES6 与上一个版本 ES5 的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码。 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 那今天就让我们来详细了解一下let 和 const . let的特性: 不存在变量提升现象: 即声明前使用,报ReferenceError。适用于for循环计数器。 var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为undefined let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。 // var 的情况 console.log(foo); // 输出undefined var foo = 2; // let 的情况 console.log(bar); // 报错ReferenceError let bar = 2; //前端全栈学习交流圈