HTML5的新特性

1.H5有哪些新的特性?HTML5现在已经不是SGML(标准通用置标语言)的子集,主要是关于图像,位置,存储,多任务等功能的增加。绘画canvas用于媒介回放的video和audio元素本地离线存储localStorage长期存储数据,浏览器关闭后数据不丢失sessionStorage的数据在浏览器关闭后自动删除语义化更好的内容元素,比如article、footer、header、nav、sect...
分类: 其他 发布时间: 06-30 23:26 阅读次数: 0

Javascript分支语句switch

switch结构语法(就是怎么用):swicth(表达式){        case 值1: 代码块; break; case 值2: break; ... case 值n: break; deault: break;}执行规则:将表达式分别与case后面的值作比较,若相等则会执行对应的代码若表达式的值与case后面的值均不相等,则执行default后的代码注意:该结构判断为全等判断 ...
分类: 其他 发布时间: 06-30 23:26 阅读次数: 0

基于LLVM-for循环结构的支持

循环结构通常需要先初始化一个归纳变量,然后之后就要对这个变量做更新(增加或减少其数值),以及一个表示循环结束的终止条件,我们的for循环可以定义如下所示,其中i=1表示的是条件、i def printstar(n x) for i = 1, i < n, 1.0 in x + 1 还是一样的我们先去配置token enum Token_Type { ...
分类: 其他 发布时间: 06-30 23:25 阅读次数: 0

基于LLVM-自定义二元运算符的重载

下面就简单的介绍下,我们去构造 | (逻辑或运算符)作为样例,TOY语言当中的 | 运算符是这样使用的,其中前面的binary代表的是标识符,代表的是二元运算符的表示,然后后面就是| 运算符,再就是(LHS RHS) 根据这两个参数进行选择 def binary | 5 (LHS RHS) if LHS then 1 else if RHS then 1 else 0; 这段代码的意思...
分类: 其他 发布时间: 06-30 23:25 阅读次数: 0

基于LLVM-增加JIT支持

JIT其实就是Just-In-Time也就是即时编译,在程序运行的时候会将代码翻译成机器码并且去执行,与之相对的就是AOT(Ahead Of Time),它在程序运行之前就会将代码翻译成机器码,JIT结合了AOT和解释执行的优势,它能够产生高效的机器码,并且具备足够的灵活性 首先我们定义一个执行引擎作为全局静态变量 static ExecutionEngine *TheExecutio...
分类: 其他 发布时间: 06-30 23:24 阅读次数: 0

基于LLVM的Pass优化

当我们如果完成了对源码的转换,得到了LLVM的IR表示形式,它是作为一种向汇编代码转换的一个公共平台,依赖不同的后端会得到不同的汇编码,在转换为汇编码之前,如果我们对IR进行优化的话就可以得到执行效率更高的代码 在LLVM的架构当中,Pass的作用就是优化LLVM IR,Pass作用于LLVM IR,用来处理IR,分析IR,寻找优化的机会并修改IR,从而产生优化的代码。在下面命令行工具o...
分类: 其他 发布时间: 06-30 23:24 阅读次数: 0

基于LLVM-自定义Pass

首先我们要先去编写一个 FuncBlockCount.c文件 #include "llvm/IR/Function.h" #include "llvm/Pass.h" #include "llvm/Support/raw_ostream.h" //引入llvm命名空间,可以让其实用LLVM当中的函数 using namespace llvm;
分类: 其他 发布时间: 06-30 23:24 阅读次数: 0

Hive调用python脚本实现数据清洗、统计过程

本实例通过python脚本对电影数据进行清洗,帮助读者了解hive调用python脚本的整个流程。操作步骤:1、创建基表CREATE TABLE u_data ( userid INT, //用户ID movieid INT, //电影ID rating INT, //电影评分 unixtime STRING)。 //时间戳 ROW FORMAT DELIMITED F...
分类: 其他 发布时间: 06-30 23:23 阅读次数: 0

Hive中的TRANSFORM:使用脚本完成Map/Reduce

首先来看一下数据:12345hive> select * from test;OK1       32       23       1假设,我们要输出每一列的md5值。在目前的hive中是没有这个udf的。我们看一下Python的代码:123456789101112#!/home/tops/bin/python import sysimport hashlib for line in sy...
分类: 其他 发布时间: 06-30 23:23 阅读次数: 0

尾递归是个什么鬼

了解尾递归之前,先了解一下尾调用。在计算机科学里,尾调用是指一个函数里的最后一个动作是一个函数调用的情形:即这个调用的返回值直接被当前函数返回的情形。这种情形下该调用位置为尾位置。(摘自维基百科)以上的解释来自维基百科。介绍了什么叫尾调用。例如:1234function foo(data) {    a(data);    return b(data);}  这里的a(data)和b(data)都...
分类: 其他 发布时间: 06-30 23:23 阅读次数: 0

Scala之类型参数化:Type Parameterization

Scala之类型参数化:Type ParameterizationScala之类型参数化Type Parameterization型变Variance不变 Invariant协变Covariant逆变Contravariant类型参数的边界控制下界Lower Bound上界Upper Bound视界View Bound上下文边界Context Bound型变:Variance型变试图在规范和回答这...
分类: 其他 发布时间: 06-30 23:23 阅读次数: 0

Scala:Function1、Function2

Function1带一个参数的方法,声明时,它需要两个泛型参数,第一个是传入的数据类型,第二个表示返回的数据类型,Function1是 trait ,它有一个apply方法,用来对输入参数进行处理了,使用Function1,必须实现apply接口val funs = new Function1[Int,Int] { def apply(x:Int) = { x + 1 } } /...
分类: 其他 发布时间: 06-30 23:22 阅读次数: 0

Scala中的偏函数与部分应用函数

Scala中有PartialFunction的概念, 同时还要一个概念叫Partial Applied Function. 前者译作偏函数, 后者译作"偏应用函数"或"部分应用函数", 一字之差, 差距很大.首先偏函数是个数学概念, 偏函数不是"函数"的一种, 而是一个跟函数平行的概念.  Scala可以通过模式匹配来定义偏函数, 下面这两种方式定义的函数, 都可以认为是偏函数, 因为他们都只对其...
分类: 其他 发布时间: 06-30 23:22 阅读次数: 0

模式匹配与函数组合

课程内容:函数组合composeandThen柯里化 vs 偏应用偏函数 PartialFunctions范围和域 range and domain使用orElse进行组合case 之谜函数组合让我们创建两个函数:scala> def f(s: String) = "f(" + s + ")" f: (String)java.lang.String scala> def g(s: S...
分类: 其他 发布时间: 06-30 23:22 阅读次数: 0

Scala 高级类型

高级类型«PreviousNext»课程内容:视界 (“类型类”)其他类型限制更高级多态性类型 和 特设多态性F-界多态性 / 递归类型结构类型抽象类型成员类型擦除和清单案例分析: Finagle视界(“类型类”)有时候,你并不需要指定一个类型是等/子/超于另一个类,你可以通过转换这个类来伪装这种关联关系。一个视界指定一个类型可以被“看作是”另一个类型。这对对象的只读操作是很有用的。*隐式*函数允...
分类: 其他 发布时间: 06-30 23:22 阅读次数: 0

Scala学习——泛型[T]的6种使用(初)

package com.dtspark.scala.basics/** * 1,scala的类和方法、函数都可以是泛型。 *  * 2,关于对类型边界的限定分为上边界和下边界(对类进行限制) * 上边界:表达了泛型的类型必须是"某种类型"或某种类型的"子类",语法为“<:”, * 下边界:表达了泛型的类型必须是"某种类型"或某种类型的"父类",语法为“>:”, *  * 3, "&l
分类: 其他 发布时间: 06-30 23:21 阅读次数: 0

Scala泛型、隐式转换和隐式参数、视图介绍、Scala中的上界、下界、结合柯里化进行隐式转换

二、泛型一、Scala泛型 1. 泛型介绍 泛型用于指定方法或类可以接受任意类型参数,参数在实际使用时才被确定,泛型可以有效地增强程序的适用性,使用泛型可以使得类或方法具有更强的通用性。泛型的典型应用场景是集合及集合中的方法参数,可以说同java一样,scala中泛型无处不在,具体可以查看scala的api。 2. 泛型类、泛型方法 泛型类:指定类可以接受任意类型参数。 泛型方法:指定方法可以接受...
分类: 其他 发布时间: 06-30 23:21 阅读次数: 0

卡尔曼(Kalman)滤波(四)--深入浅出Kalman滤波算法

Kalman滤波是一种递归过程,主要有两个更新过程:时间更新和观测更新,其中时间更新主要包括状态预测和协方差预测,主要是对系统的预测,而观测更新主要包括计算卡尔曼增益、状态更新和协方差更新,因此整个递归过程主要包括五个方面的计算:1)状态预测;2)协方差预测;3)卡尔曼增益;4)状态更新;5)协方差更新;       用数学公式表示,如下:状态预测:        (1)其中,X(k|k)是k时刻...
分类: 其他 发布时间: 06-30 23:21 阅读次数: 0

机器学习算法原理与实践(三)、卡尔曼滤波器算法浅析及matlab实战

协方差矩阵状态协方差矩阵传递状态协方差的更新Matlab 实现Matlab效果测试代码测试效果【原创】Liu_LongPo 转载请注明出处 【CSDN】http://blog.csdn.net/llp1992卡尔曼滤波器是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。而且由于观测包含系统的噪声和干扰的影响,所以最优估计也可看做是滤波过程。卡尔曼滤波器的核心内容就...
分类: 其他 发布时间: 06-30 23:21 阅读次数: 0

自身类型(self type)引用

定义特质可以要求混入它的类扩展自另一个类型,但是当使用自身类型(self type)的声明来定义特质时(this: ClassName =>),这样的特质只能被混入给定类型的子类当中。 如果尝试将该特质混入不符合自身类型所要求的类时,就会报错。从技术角度上看,自身类型是在类中提到this时,对于this的假设性类型。从实用角度上看,自身类型指定了对于特质能够混入的具体类的需求。如果你的特质仅...
分类: 其他 发布时间: 06-30 23:20 阅读次数: 0