highlight

QiaoJianFeng/vue-mini-player

ⅰ亾dé卋堺 提交于 2020-03-23 18:40:42
3 月,跳不动了?>>> vue-mini-player 基于 Vue 的一个轻量级视频播放组件,适配 PC 和移动端 安装 $ npm install vue-mini-player -S 使用 # main . js import vueMiniPlayer from ' vue-mini-player ' Vue . use ( vueMiniPlayer ) 在项目中使用 vueMiniPlayer < template > < vueMiniPlayer : video = " video " /> < /template > < script > export default { data () { return { video : { url : ' https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4 ' , cover : ' https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png ' } } } } < /script > 💡 特色 1.轻量级 HTML5 播放器,精美 UI 控件,简单易上手 2.提供以 npm 的形式安装提供全局组件 3.多格式视频配置,移动端+PC 通用模式 多类型视频支持

逆天的蝈蝈/SFDP

前提是你 提交于 2020-03-23 18:38:38
3 月,跳不动了?>>> 欢迎使用SFDP3.0超级表单开发平台 SFDP3.0是一个快速构建表单的插件平台 SFDP3.0 前身是TPFD基于Thinkphp开发的可视化表单插件,经过三个版本的迭代更新,发布全新重构的表单设计开发一体的平台。 作者相关开源软件 GVP项目PHP开源工作流: http://tpflow.cojz8.com/ 下载地址: https://gitee.com/ntdgg/tpflow 3.0版本主要特性 Characteristic ♥ 可视化表单设计器 基于JQ UI的元素拖拽 Draggable Sortable 元素可移动拖拽设计 界面布局自定义化 ♥ 动态表单构建器 全新动态构建器 无实体页面及数据,全部由表单构建器进行管理 ♥ 脚本定义支持 load_satr_fun 页面构建前执行的函数 load_end_fun 页面构建完成后函数 内置常见的所有脚本 Ajax Upload 支持jQ所有脚本 ♥ 函数定义支持 支持使用 commonfun.sFun 进行数据交互,使得表单动态而又活起来。 ♥ 设计版本管理 多版本设计支持 ♥ 元素管理支持 支持对表单函数的管理 相关链接 官方博客: http://www.cojz8.com/ 演示站点: http://sfdp.cojz8.com/ 开发手册:编写中 版权信息 SFDP 遵循 MIT

交互语法之框选高亮

戏子无情 提交于 2020-03-23 10:47:08
3 月,跳不动了?>>> 交互语法之框选高亮 G2 从 4.0 开始,将所有的交互行为使用全新的交互语法实现,并且不再默认内置,需要用户显式调用 chart.interaction() 接口。为了帮助大家更好地理解、使用交互语法,我们将会推出交互语法专题。 本文介绍的是最常见的交互:框选,包括框选的形状、框选过程中的图形变化以及框选后的各种操作。 框选中,高亮图形 框选后,拖拽 mask 框选后,过滤数据 框选后,过滤图形 框选的形状选择 多视图的框选联动 交互语法概览 G2 的交互语法,是将交互拆解成多个环节,每个环节由触发和反馈组成。只要你能将交互用自然语言的方式描述出来,就可以使用 G2 的交互语法进行组合搭建出交互行为。在这里我们再一起温习下 G2 交互语法中对于交互环节的定义,更详细的内容可以阅读可视化交互语法[1]。 G2 将每一个交互环节拆解成以下步骤: showEnable 示能:表示交互可以进行; start 开始:交互开始; processing 持续:交互持续; end 结束:交互结束; rollback 回滚:取消交互,恢复到原始状态; 下面我们就开始框选高亮图形的交互语法组装吧,为了帮助大家理解, 每个交互行为我们都会以自然语言 + 交互语法的形式向大家阐述。 我们以柱状图的高亮为例,实现交互的过程中我们会使用 G2 内置的 Action,Action

交互语法之组件高亮

[亡魂溺海] 提交于 2020-03-23 10:42:29
3 月,跳不动了?>>> 交互语法之组件高亮 G2 从 4.0 开始,将所有的交互行为使用全新的交互语法实现,并且不再默认内置,需要用户显式调用 chart.interaction() 接口。为了帮助大家更好地理解、使用交互语法,我们将会推出交互语法专题。 本文介绍的是最常见的 通过组件高亮图形 (突出当前关联图形元素,其他图形元素变暗)中的一种。我们还可以通过鼠标高亮图形、框选高亮图形,这些都会将在后续章节向大家详细介绍。 交互语法概览 G2 的交互语法,是将交互拆解成多个环节,每个环节由触发和反馈组成。只要你能将交互用自然语言的方式描述出来,就可以使用 G2 的交互语法进行组合搭建出交互行为。在这里我们再一起温习下 G2 交互语法中对于交互环节的定义,更详细的内容可以阅读可视化交互语法[1]。 G2 将每一个交互环节拆解成以下步骤: showEnable 示能:表示交互可以进行; start 开始:交互开始; processing 持续:交互持续; end 结束:交互结束; rollback 回滚:取消交互,恢复到原始状态; 下面我们就开始 通过组件高亮图形 的交互语法组装吧,为了帮助大家理解, 每个交互行为我们都会以自然语言 + 交互语法的形式向大家阐述。交互实现过程 中我们会使用 G2 内置的 Action,Action 的定义和列表参考 G2 配置交互[2]。

Python爬取网易云音乐1万条评论,感受到疫情下的真情

狂风中的少年 提交于 2020-03-21 03:26:32
3 月,跳不动了?>>> 一、前言 昨天打开网易云音乐被这条视频刷屏了⬇️ 致敬所有疫情前线的工作人员! ​ music.163.com 1600万+的播放量,1.3万+的评论 那么今天我们用python看看这些评论里留下了哪些感人的故事, 二、数据抓取 首先,我们用电脑打开网易云音乐这条视频的链接。找到 最新评论, 目标就是把这些评论全部取出来。接着发现每点击“下一页”,网站的url并没有任何变化,说明整个评论区的内容都是通过 Ajax异步请求 技术得到的。关于这个概念大家可以百度,简单来说就是能够实现在后台与服务器交换数据,在不重新加载页面的情况下更新网页。打开浏览器F12,进入开发者工具,选择Network,我们选择XHR(XmlHttpRequest)就可以选出Ajax的请求包: 然后再一个个点进去查看response,就能找到包含评论的数据包⬇️ 点进去就能看到header信息 可以发现是一个post请求并且接收两个参数 params 以及 encSecKey 我们先来试试看 import requests import json url = 'https://music.163.com/weapi/v1/resource/comments/R_VI_62_3F79C7B87510106B8118EE3F811C1BC5?csrf_token=' headers = {

基金定投选星期几更划算?[python统计分析]

荒凉一梦 提交于 2020-03-21 02:46:57
3 月,跳不动了?>>> 基金定投 常见的一种方式是定期定额投资,即每周或每月固定的时间段,向基金公司申购固定份额的基金。基金定投可以平均成本、分散风险,实现自动投资,所以基金定投又称为“懒人投资术”。今天主要用python带大家分析一下,从统计数据上来看,到底什么时候定投获得收益的概率最大。 (本文为学习讨论,不作为投资建议) 整体思路:选取一定的时间段,分别模拟周一至周五定投,比较最终受益情况,确定基金定投最适宜的时间。 下面开始详细介绍: 第一步:网站分析,分析数据交换url 以天天基金网为例,随便找一只基金 打开Chrome自带的开发者工具,点击下一页,从 Network 分页里找到数据传输接口(关于开发者工具的使用,可参见 Crossin:爬虫必备工具,掌握它就解决了一半的问题 ) 点击此请求,打开响应数据 就是它没错了,接着我们看看该url的参数 Callback可以忽略,fundcode为该基金代码,pageIndex为当前页码,pageSize为返回数据条数,这里一次返回20条,startData和endData分别为起始时间和终止时间,但是都为空值,最后一个参数也不用管。 第二步:requests模拟请求,得到数据 正常情况,应该是for循环,一页一页的取数据,但是我们从第一步可以看到,该url参数中含有起始、截止时间,那我们可以试试,能不能忽略页码信息

qemu PCIe总线结构

三世轮回 提交于 2020-03-21 02:33:53
3 月,跳不动了?>>> 本文是写这个章节的一些边角料: source/认识鲲鹏920:一个服务器SoC/设备和设备总线.rst · Kenneth-Lee-2012/从鲲鹏920了解现代服务器实现和应用_公开 - 码云 Gitee.com ,由于没法放到那个文档的主逻辑中,我放在这里。(顺便感慨说一句,你看我在那里写一句话,可能我在背后要确认两三天。正经写点东西还是很难的) 本文用3.1.50源代码版本作为参考。 qemu可以虚拟机模拟一个虚拟的PCIe的总线系统(关于PCIe的基本原理可以看前面的这个链接)。具体模拟成的样子在具体模拟的那个机器上上定义,比如我在PC上用这个参数启动虚拟机: ~/work/qemu-run-arm64/qemu/aarch64-softmmu/qemu-system-aarch64 \ -s -cpu cortex-a57 -machine virt \ -nographic -smp 2 -m 1024m -kernel arch/arm64/boot/Image \ -append "console=ttyAMA0" mainchine是ARM平台virt,它的机器定义在就在hw/arm/virt.c中。所以它会有一个默认的PCI结构。默认是这样的: 那么如果你要在其中插入一个PCIe设备,方法就是用这个参数: -device <dev>[

AML工作原理快速调研

馋奶兔 提交于 2020-03-21 02:30:01
3 月,跳不动了?>>> 前两天邀请人做这个文档的Review: in nek:评审邀请:Linux内核软件架构基础 ,有读者告诉我我对AML的理解有误。我找我们做BIOS的兄弟确认了一把,把逻辑链放在这里。 先定义一下问题:ACPI是一种定义BIOS和OS之间接口的方法。和其他一些方法,比如Device Tree(简称DTS),不同,ACPI支持函数接口,也就是说,OS可以通过“调用”接口给出的函数实现功能。这种所谓的“调用”,有几种可能: BIOS中给定一个数据结构,整体描述了一个函数,这个函数本身就是CPU的本地汇编。BIOS把整个数据接口传递到OS管理的内存空间,OS直接调用这个空间中的函数。 BIOS中给定一个数据结构,整体描述了一个函数,这个函数本身就是CPU的本地汇编。这个数据结构留在BIOS控制的内存中,传递给OS一个指针,OS远程调用这个指令的地址,完成请求。 BIOS中实现了一个本地函数,然后把这个函数的位置和格式告知OS,OS通过一个统一的接口把函数的标识和请求的参数传递给BIOS,BIOS内部完成调用,然后把结果通知OS。 BIOS给定一个数据结构,整体描述了一个函数,用一种平台无关的格式标识,这个数据结构整体提供给OS,OS上有一个解释器,解释执行这个平台无关的格式,实现对功能的执行。 用图来表达,区别如下: 严格来说,前两个方案没有什么区别,内存这东西

React Hook + TS 购物车实战(性能优化、闭包陷阱、自定义hook)

╄→гoц情女王★ 提交于 2020-03-20 23:42:54
3 月,跳不动了?>>> 前言 本文由一个基础的购物车需求展开,一步一步带你深入理解React Hook中的坑和优化 通过本篇文章你可以学到: ✨React Hook + TypeScript编写 业务组件 的实践 ✨如何利用React.memo 优化性能 ✨如何避免Hook带来的 闭包陷阱 ✨如何抽象出简单好用的 自定义hook 预览地址 https:// sl1673495.github.io/rea ct-cart 代码仓库 本文涉及到的代码已经整理到github仓库中,用cra搭建了一个示例工程,关于性能优化的部分可以打开控制台查看重渲染的情况。 https:// github.com/sl1673495/re act-cart 需求分解 作为一个购物车需求,那么它必然涉及到几个需求点: 1. 勾选、全选与反选。 2. 根据选中项计算总价。 需求实现 获取数据 首先我们请求到购物车数据,这里并不是本文的重点,可以通过自定义请求hook实现,也可以通过普通的useState + useEffect实现。 const getCart = () => { return axios ( '/api/cart' ) } const { // 购物车数据 cartData , // 重新请求数据的方法 refresh } = useRequest < CartResponse > (

JQuery实现模糊查询关键字高亮输入框

守給你的承諾、 提交于 2020-03-18 12:25:05
这事还得从产品经理说起...... 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>模糊查询关键字高亮输入框</title> 6 </head> 7 <style> 8 * { 9 margin:0; 10 padding:0; 11 font-size: 16px; 12 } 13 ul li { 14 list-style:none; 15 } 16 17 input { 18 border: none; 19 outline: medium; 20 background-color: transparent; 21 /* 去掉背景 */ 22 } 23 24 .left{ 25 float: left; 26 } 27 28 .right{ 29 float: right; 30 } 31 32 .none{ 33 display: none; 34 } 35 36 .box_select{ 37 width: 500px; 38 margin: 50px auto; 39 } 40 41 #searchInput{ 42 padding:0 10px; 43 width: 200px; 44 height: 40px; 45 line-height: 10px; 46 border: