blink

Xilinx Vivado的使用详细介绍(4):Zedboard+vivado之流水灯(加SDK)

送分小仙女□ 提交于 2020-04-25 08:07:39
Vivado+zedboard之初学流水灯 Author:zhangxianhe 环境:vivado 2016.3(已验证适用于2015.4) 开发板:Zedboard version xc7z020clg484-1 实验:使用Vivado和SDK进行Zedboard开发,制作一个简单的流水灯程序以说明软硬件协同设计的方法、开发流程等。 本文将分为三个部分: 1. 使用Vivado创建一个工程,并构建一个Zynq嵌入式处理系统。 2. 在上述基础上,将完成后的硬件导入到SDK中进行软件设计。 3. 最后下载到ZedBoard上进行调试。 具体步骤如下: 1. 使用Vivado创建工程 1.1新建工程   1).鼠标左键双击Vivado2016.3图标,打开Vivado 2016.3;   2).单击Create New Project创建一个新的工程;   3).单击Next执行下一步;   4).选择工程所在的位置,并输入工程名ledflow,单击Next;   5).在Vivado中新建一个RTL工程,暂不添加文件(勾选 Do not specify sources at this time),后面需要的时候添加,单击Next;   6).这一步要注意,在左上角Select处选择Boards,选择ZedBoard Zynq Evaluation and Development

【翻译】Flink Table Api & SQL —— 概念与通用API

怎甘沉沦 提交于 2020-04-24 09:16:23
本文翻译自官网: https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/common.html Flink Table Api & SQL 翻译目录 Table API和SQL集成在共同API中。 该API的中心概念是 Table ,用作查询的输入和输出。 本文档介绍了使用Table API和SQL查询的程序的通用结构,如何注册 Table ,如何查询 Table 以及如何发出 Table(数据) 。 两个 planner 之间的主要区别 表API和SQL程序的结构 创建一个TableEnvironment 在 Catalog 中注册表 注册表格 注册一个TableSource 注册一个TableSink 注册 扩展 Catalog 查询表 表API SQL 混合 表API和SQL 发出表 (数据) 翻译并执行查询 与DataStream和DataSet API集成 Scala的隐式转换 将DataStream或DataSet注册为表 将DataStream或DataSet转换为表 将表转换为DataStream或DataSet 数据类型到表结构的映射 查询优化 解释表 两个 planner 之间的主要区别 Blink将批处理作业视为流的特殊情况。 因此

【翻译】Flink Table Api & SQL — Hive —— Hive 函数

醉酒当歌 提交于 2020-04-24 08:20:35
本文翻译自官网:Hive Functions https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/hive/hive_functions.html Flink Table Api & SQL 翻译目录 用户可以在Flink中使用 Hive 现有的自定义函数。 支持的UDF类型包括: UDF GenericUDF GenericUDTF UDAF GenericUDAFResolver2 根据查询的计划和执行,Hive的UDF和GenericUDF会自动转换为Flink的ScalarFunction,Hive的GenericUDTF会自动转换为Flink的TableFunction,Hive的UDAF和GenericUDAFResolver2会转换为Flink的AggregateFunction。 要使用Hive用户定义的函数,用户必须 设置由Hive Metastore支持的HiveCatalog,其中包含该函数作为会话的当前 catalog 在Flink的classpath中包含该函数的 jar 使用 Blink planner 使用Hive 自定义的函数 假设我们在Hive Metastore中注册了以下Hive函数: /** * Test simple udf. Registered

【翻译】Flink Table Api & SQL —— Overview

这一生的挚爱 提交于 2020-04-24 08:20:07
本文翻译自官网: https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/ Flink Table Api & SQL 翻译目录 一直没有用 flink 的 table 或 sql api,最近开始要使用这部分功能了,先把官网对应的文档翻译一遍,方便自己慢慢查看 ----------------------------------------------- Apache Flink 具有两个关联 API-Table API 和 SQL - 用于统一流和批处理。 Table API 是用 于 Scala 和Java 的语言集成查询 API,它允许以非常直观的方式组合来自关系运算符(例如选择,过滤和联接)的查询。 Flink 的 SQL 基于 实现 SQL 标准的 Apache Calcite 。 无论输入是批处理输入(DataSet)还是流输入(DataStream),在两个接口中指定的查询都具有相同的语义并指定相同的结果。 Table API 和 SQL 接口与 Flink 的 DataStream 和 DataSet API 紧密集成在一起。 您可以轻松地在所有 API 和基于 API 的库之间切换。 例如,您可以使用 CEP 库 从 DataStream 中提取模式, 然后再使用 Table

为什么要读源代码,如何阅读源代码

匆匆过客 提交于 2020-04-22 05:42:26
由于项目的需求,最近花了较多的时间来看开源项目的代码,在本文中,简单总结一下对为什么要看源码、如何看源码这两个问题的思考。 本文地址: https://www.cnblogs.com/xybaby/p/10794700.html 看源码的意义 看源码只是一种方法、手段,而不是目的。我也曾经给自己制定过“阅读xxx源码”的目标,现在看起来真的很蠢,一点不smart(specific、measurable、attainable、relevant、time-bound)。只有搞清楚了阅读代码的目标,才能有的放矢,抓住重点,高效达成任务。 看源码的意义总结起来包含但不限于以下几点: 第一:解决问题(BUG) 只要是代码,就会有bug,只是说bug的多与少、深与浅罢了。现在大家都喜欢发布、使用开源项目,不同的开源项目社区成熟度、代码质量又会有较大的差异,遇到bug就不足为奇了。 当然,遇到bug肯定是先在网上搜索是否有类似的问题,一般可以在google、Stack Overflow、项目的issues里面有对应的关键词搜索。如果搜不到,那么就只能看源码解决了 第二:知其所以然 我在 如何学习新技术、团队技术选型时要注意些什么 里面提到过,如果我们需要将一个开源项目用到自己的项目中,那么就必须了解这项项目的优缺点,并深知原理,对部分细节(尤其是项目的优势、feature)进行深入研究

Flink 新场景:OLAP 引擎性能优化及应用案例

时光怂恿深爱的人放手 提交于 2020-04-21 10:33:34
摘要:本文由阿里巴巴技术专家贺小令(晓令)分享,主要介绍 Apache Flink 新场景 OLAP 引擎,内容分为以下四部分: 背景介绍 Flink OLAP 引擎 案例介绍 未来计划 一、背景介绍 1.OLAP 及其分类 OLAP 是一种让用户可以用从不同视角方便快捷的分析数据的计算方法。主流的 OLAP 可以分为3类:多维 OLAP ( Multi-dimensional OLAP )、关系型 OLAP ( Relational OLAP ) 和混合 OLAP ( Hybrid OLAP ) 三大类。 (1)多维 OLAP ( MOLAP ) 传统的 OLAP 分析方式 数据存储在多维数据集中 (2)关系型 OLAP ( ROLAP ) 以关系数据库为核心,以关系型结构进行多维数据的表示 通过 SQL 的 where 条件以呈现传统 OLAP 的切片、切块功能 (3)混合 OLAP ( HOLAP ) 将 MOLAP 和 ROLPA 的优势结合起来,以获得更快的性能 以下将详细介绍每种分类的具体特征。 ■ 多维 OLAP ( MOLAP ) MOLAP 的典型代表是 Kylin 和 Druid。 MOLAP 处理流程 首先,对原始数据做数据预处理;然后,将预处理后的数据存至数据仓库,用户的请求通过 OLAP server 即可查询数据仓库中的数据。 MOLAP 的优点和缺点

树莓派Zero W GPIO控制

橙三吉。 提交于 2020-04-21 08:22:14
作者:陈拓 chentuo@ms.xab.ac.cn 2018.06.09/2018.07.05 0. 概述 本文介绍树莓派 Zero W的GPIO控制,并用LED看效果。 0.1 树莓派GPIO编号方式 功能物理引脚 从左到右,从上到下:左边奇数,右边偶数:1-40 BCM 编号侧重CPU寄存器,根据BCM2835的GPIO寄存器编号。 wiringPi 编号侧重实现逻辑,把扩展GPIO端口从0开始编号,这种编号方便编程。如图 WiringPi一栏。 操作GPIO时一定先要清楚使用那一套编号。 1. 准备 1.1 硬件 树莓派Pi Zero W LED(3mm或5mm) 1KΩ电阻 杜邦线3根 电脑(我用Windows 7) 1.2 GPIO接口 1.3 接线 首先我们把LED和树莓派连接。LED的正极串联一个1KΩ电阻接树莓派的GPIO18(pin12),负极接地。(注意,下面借用了别人一张图,图中LED正极接在pin11上,我们是接在pin12上) 2. 测试 2.1 连接电脑和Pi Zero W 用putty连接电脑和Pi Zero W,看本文最后的参考文档。Host Name填raspberrypi.local,端口22,用户名pi,密码raspberry。 注意:boot 分区有一个名为ssh 的空文本文件,这个ssh 文件容易丢失,如果ssh 不能登录了,先检查ssh

ASP.NET CORE之上传文件夹

好久不见. 提交于 2020-04-17 20:46:24
最近闲余时间在做一个仿百度网盘的项目,其中就有一个上传文件夹的功能。查了下网上好像对这个问题的描述比较少,所以在此记录一下。 1、网上找来找去发现 webkitdirectory 这个东西,H5的一个新的属性吧,就是在文件控件上标记这个属性可以获取到选择文件夹里的所有文件的。 < input type ="file" name ="file" webkitdirectory > 特地看了下百度网盘网页版也是使用的这个属性,但是网上都说该属性只有chrome浏览器支持。然后我就不信,用360浏览器试了试还是可以用。结果发现360有两种模式(极速模式和兼容模式),极速模式是以Blink(Webkit)为内核的浏览模式,而chrome好像也是使用的这个内核。所以说我刚刚试的也可以用,但是切换到兼容模式则不能用了(IE内核)。 2、言归正传,直接贴代码吧。 < input type ="file" name ="file" webkitdirectory > < button id ="upload" type ="button" onclick ="Upload()" > 上传 </ button > var files = []; $(document).ready( function () { $( 'input').change( function () { files =

CSS基础知识巩固你的前端基础

别等时光非礼了梦想. 提交于 2020-04-11 13:11:20
CSS基础知识 css ,英文 Cascading Style Sheets ,中文名:级联样式表。层叠样式表。 css 是一种表现语言,是对网页语言的补充。 css 用于网页的风格设计,包括字体,颜色,位置等。 css 使用的4中方式:引入外部样式文件,导入外部样式文件,使用内部样式定义,使用内联样式定义。 引入外部样式文件: <link type="text/css" rel="stylesheet" href="css样式文件的url"/> 导入外部样式文件: <style type="text/css"> @import "css样式文件的url"; </style> 使用内部样式定义: <style type="text/css"> div { background-color: #ffffff; width: 300px; height: 300px; } </style> 使用内联样式定义: <div style="background-color: #ffffff; width: 100px; height: 100px;"> </div> css的两个特性:层叠,继承 层叠:层叠样式生效的优先级: 内联样式->内部样式->外部样式->浏览器默认效果。 继承,就是css属性可以从父元素向下传递到子元素。 css 的选择器 元素选择器,是最简单的选择器。 通配符选择器

CSS基础知识

瘦欲@ 提交于 2020-04-06 18:24:29
CSS基础知识 css ,英文 Cascading Style Sheets ,中文名:级联样式表。层叠样式表。 css 是一种表现语言,是对网页语言的补充。 css 用于网页的风格设计,包括字体,颜色,位置等。 css 使用的4中方式:引入外部样式文件,导入外部样式文件,使用内部样式定义,使用内联样式定义。 引入外部样式文件: <link type="text/css" rel="stylesheet" href="css样式文件的url"/> 导入外部样式文件: <style type="text/css"> @import "css样式文件的url"; </style> 使用内部样式定义: <style type="text/css"> div { background-color: #ffffff; width: 300px; height: 300px; } </style> 使用内联样式定义: <div style="background-color: #ffffff; width: 100px; height: 100px;"> </div> css的两个特性:层叠,继承 层叠:层叠样式生效的优先级: 内联样式->内部样式->外部样式->浏览器默认效果。 继承,就是css属性可以从父元素向下传递到子元素。 css 的选择器 元素选择器,是最简单的选择器。 通配符选择器