element

多图预警 | 我为博客园新增了十几个功能

与世无争的帅哥 提交于 2020-08-11 02:24:15
前置 最近写了几篇随笔,大家都不看内容,看博客皮肤 😂,满足你们。以下所有功能都可作为一个插件使用,你可以将它迁移到你的博客,代码仓库地址在文末。或者使用 awescnb 将这些插件集成到你现有的博客园皮肤。若有错误,恳请指点一二,感激不尽。欢迎评论区交流。另外插件还在不断扩充。 基本配置 属性 描述 值类型 默认值 可选值 name 全局主题名称 String 'reacg' 'reacg' 'element' 'gshang' 'acg' color 全局主题色 String '#ffb3cc' 16 进制颜色值 avatar 头像图片链接 String 无 title 网站标题 String 你的博客名 favicon 网站图标链接 String 内置 headerBackground 头部背景,图片链接 String 内置 theme: { name: 'reacg', color: '#FFB3CC', title: '', avatar: '//pic.cnblogs.com/avatar/1501373/20200119190802.png', favicon: 'https://guangzan.gitee.io/imagehost/awescnb/favicon.png', headerBackground: 'https://guangzan.gitee.io

vue项目中使用bpmn-自定义platter

六眼飞鱼酱① 提交于 2020-08-11 02:15:29
内容概述 本系列“vue项目中使用bpmn-xxxx”分为七篇,均为自己使用过程中用到的实例,手工原创,目前陆续更新中。主要包括vue项目中bpmn使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。如果转载或通过爬虫直接爬的,格式特别丑,请来原创看: 我是作者原文 前情提要 经过前四篇的学习,我们能够实现bpmn基本绘图、预览、为节点加事件加颜色等效果,这一篇我们来说,如何自定义左侧工具栏(platter),首先看一下自定义前后效果图对比: 我们本次要实现的目标:基于左侧platter原有元素类型,创建出一个新的自定义节点。暂且叫它“草莓蛋糕”节点,类型是 bpmn:Task, 样式我们自己找一个好看的小草莓蛋糕图案。所以,开动吧~首先新建一个“customPalette”文件夹,里面放我们今天所有自定义的文件。 步骤1:建立platter类函数,命名为CustomPalette.js export default class CustomPalette { constructor(create, elementFactory, palette) { this .create = create; this .elementFactory = elementFactory; palette.registerProvider( this );

如何在jQuery中选择具有多个类的元素?

会有一股神秘感。 提交于 2020-08-11 02:08:09
问题: I want to select all the elements that have the two classes a and b . 我想选择具有两个类 a 和 b 所有元素。 <element class="a b"> So, only the elements that have both classes. 因此,只有具有 两个 类的元素。 When I use $(".a, .b") it gives me the union, but I want the intersection. 当我使用 $(".a, .b") 它会给我联合,但是我想要交点。 解决方案: 参考一: https://stackoom.com/question/4Mts/如何在jQuery中选择具有多个类的元素 参考二: https://oldbug.net/q/4Mts/How-can-I-select-an-element-with-multiple-classes-in-jQuery 来源: oschina 链接: https://my.oschina.net/u/3797416/blog/4467293

Flink双流操作

痞子三分冷 提交于 2020-08-11 01:57:58
Flink 系列博客 Flink QuickStart Flink双流操作 Flink on Yarn Kerberos的配置 Flink on Yarn部署和任务提交操作 Flink配置Prometheus监控 Flink in docker 部署 Flink HA 部署 Flink 常见调优参数总结 Flink 源码之任务提交流程分析 Flink 源码之基本算子 Flink 源码之Trigger Flink 源码之Evictor 简介 Flink 双数据流转换为单数据流操作的运算有 cogroup , join 和 coflatmap 。下面为大家对比介绍下这3个运算的功能和用法。 Join :只输出条件匹配的元素对。 CoGroup : 除了输出匹配的元素对以外,未能匹配的元素也会输出。 CoFlatMap :没有匹配条件,不进行匹配,分别处理两个流的元素。在此基础上完全可以实现join和cogroup的功能,比他们使用上更加自由。 对于join和cogroup来说,代码结构大致如下: val stream1 = ... val stream2 = ... stream1.join(stream2) .where(_._1).equalTo(_._1) //join的条件stream1中的某个字段和stream2中的字段值相等 .window(...) // 指定window

ArrayList源码-常用方法

微笑、不失礼 提交于 2020-08-10 22:44:16
ArrayList 这个类应该是平时代码中最常用的一种列表实现类,在此通过查看源码来进一步理解常用方法,同时了解一下不常用的方法,应该会有惊喜。这次换个方式来看,以方法熟悉度去看对应源码,有必要的在贴源码。 1. ArrayList 头部注释 此类从 java 1.2 开始引入。它是 List 接口的 可调整大小 的 数组 实现。实现所有 可选的 列表操作,并允许所有元素,包括 null 。 除了实现 List 接口之外,此类还提供一些方法来 操纵内部 用于存储列表的 数组的大小 。此类与 Vector 大致等效,但它是 不同步 的。 size,isEmpty,get, set ,iterator 和 listIterator 操作在恒定时间内运行。add 操作在“ 摊销固定时间 ”中运行,也就是说,添加n个元素需要O(n)时间。所有其他操作均以线性时间运行(大致而言)。 与 LinkedList 实现的常量因子相比,常量因子较低。 每个 ArrayList 实例都有一个“ 容量 ”。 容量是用于在列表中存储元素的 数组的大小 。 它总是至少与列表大小一样大。 将元素添加到ArrayList后,其容量会自动增长。 除了添加元素具有固定的摊销时间成本外,没有指定增长策略的详细信息。在操作添加大量元素之前,应用程序可以使用 ensureCapacity 增加ArrayList

1.7 xss之同源策略与跨域访问

泄露秘密 提交于 2020-08-10 22:02:35
同源策略: 同源策略 在web应用的安全模型中是一个重要概念。在这个策略下,web浏览器允许第一个页面的脚本访问第二个页面里的数据,但是也只有在两个页面有相同的源时。源是由URI,主机名,端口号组合而成的。这个策略可以阻止一个页面上的恶意脚本通过页面的DOM对象获得访问另一个页面上敏感信息的权限。 对于普遍依赖于cookie维护授权用户session的现代浏览器来说,这种机制有特殊意义。客户端必须在不同站点提供的内容之间维持一个严格限制,以防丢失数据机密或者完整性。 源决定规则 RFC6454 中有定义URI源的算法定义。对于绝对的URIs,源就是{协议,主机,端口}定义的。只有这些值完全一样才认为两个资源是同源的。 为了举例,下面的表格给出了与URL " http://www.example.com/dir/page.html " 的对比。 对比URL 结果 结果 http://www.example.com/dir/page2.html 同源 相同的协议,主机,端口 http://www.example.com/dir2/other.html 同源 相同的协议,主机,端口 http://username:password@www.example.com/dir2/other.html 同源 相同的协议,主机,端口 http://www.example.com:81/dir

Redis 5大数据结构

好久不见. 提交于 2020-08-10 21:13:13
一、字符串 字符串类型是redis最基础的数据结构,首先键是字符串类型,而且其他几种结构都是在字符串类型基础上构建的,所以字符串类型能为其他四种数据结构的学习尊定基础。字符串类型实际上可以是字符串(简单的字符串、复杂的字符串(xml、json)、数字(整数、浮点数)、二进制(图片、音频、视频)),但最大不能超过512M。 使用场景: 缓存功能:字符串最经典的使用场景,redis最为缓存层,Mysql作为储存层,绝大部分请求数据都是redis中获取,由于redis具有支撑高并发特性,所以缓存通常能起到加速读写和降低 后端压力的作用。(redis为何具备支撑高并发的特性,下次文章讲解)。 计数器:许多运用都会使用redis作为计数的基础工具,他可以实现快速计数、查询缓存的功能,同时数据可以一步落地到其他的数据源。如:视频播放数系统就是使用redis作为视频播放数计数的基础组件。 共享session:出于负载均衡的考虑,分布式服务会将用户信息的访问均衡到不同服务器上,用户刷新一次访问可能会需要重新登录,为避免这个问题可以用redis将用户session集中管理,在这种模式下只要保证redis的高可用和扩展性的,每次获取用户更新或查询登录信息都直接从redis中集中获取。 限速:处于安全考虑,每次进行登录时让用户输入手机验证码,为了短信接口不被频繁访问,会限制用户每分钟获取验证码的频率。

GStreamer基础教程12

被刻印的时光 ゝ 提交于 2020-08-10 20:20:16
摘要   GStreamer提供了不同的命令行工具用于快速的查看信息以及验证Pipeline的是否能够正确运行,在平时的开发过程中,我们也优先使用GStreamer的命令行工具验证,再将Pipeline集成到应用中。本文将介绍gst-inspect-1.0,gst-discoverer-1.0,gst-launch-1.0命令行工具的使用。 gst-inspect-1.0 此命令有3种工作模式,实际中我们常用第一种和第三种方式:   一、不带任何参数。这样会列出当前系统中支持的所有Element,这些Element可用于构造Pipeline.   二、跟文件名。这样会将指定文件作为一个GStreamer插件,尝试列出其中所包含的Element。例如下面的命令列出了libgstjpeg.so所包含的2个Elements: $ gst-inspect- 1.0 /usr/lib/x86_64-linux-gnu/gstreamer- 1.0 / libgstjpeg.so Plugin Details: Name jpeg Description JPeg plugin library Filename /usr/lib/x86_64-linux-gnu/gstreamer- 1.0 / libgstjpeg.so Version 1.8 . 3 License LGPL Source

Python+Selenium基础篇之5-第一个完整的自动化测试脚本

笑着哭i 提交于 2020-08-10 20:17:57
前面文章,我们介绍了如何采用XPath表达式去定位网页元素,在掌握了如何抓取或者如何书写精确的XPath表达式后,我们可以开始写自己的第一个真正意义上的webui 自动化测试脚本,就相当于,你在学习Python,如何在控制台打印Hello,Python! 一样。 我们的测试用例是:打开百度首页,搜索Selenium,然后检查搜索列表,有没有Selenium这个官网链接选项。 在写自动化脚本之前,需要明确手动脚本的步骤,然后去拆分到具体没一个步骤做什么,考虑好了之后,才开始动手去写脚本。我把这个测试场景分拆如下步骤: 1) 启动后浏览器,这里我们用Chrome 2) 打开百度首页,https://www.baidu.com 3) 定位搜索输入框,记录下输入框元素的xpath表达式://*[@id='kw'] 4) 定位搜索提交按钮(百度一下这个按钮),获取xpath表达式://*[@id='su'] 5) 在搜索输入框输入“Selenium”,点击百度一下这个按钮。 6) 在搜索结果列表去判断是否存在Selenium官网这个链接。 7) 退出浏览器,结束测试。 如果,还不会通过火狐浏览器上插件firepath获取元素的表达式,请看上一篇文章。如果你没有安装Chrome,那就用Firefox。 1) 桌面新建一个记事本,命名并保存为FirstScript.py 2)

改造 layui 表格组件实现多重排序

 ̄綄美尐妖づ 提交于 2020-08-10 20:10:00
  layui 的表格组件目前只支持单列排序,在实际应用中并不能很好的支撑我们的业务需求。今天一时手痒,决定改造一番以支持多重排序。   实现思路也比较简单,只需要用一个数组来存放所有排序的列,再把这个数组传到后端(后端排序)进行排序即可。沿用一般的使用习惯,按住 shift 键点击表头可增加排序列,按住 ctrl 键点击表头可减少排序列。话不多说,先上最终效果图:    1. 定义排序列数组    我当前用的是 2.5.6 版本,源码之前为适应业务需求也做过相应修改,所以下文说到的行数只是个大概数。   为兼容之前单列排序的使用习惯,我们增加一个 multiSort 的配置属性,默认为 false,为 true 时才开启多列排序。修改源码大概第 235 行,增加两个属性 multiSort、sortCols。 //构造器 , Class = function (options) { var that = this; that.index = ++table.index; that.mutlSort = false; that.sortCols = []; // 组合排序列集合 that.config = $.extend({}, that.config, table.config, options); that.render(); };   2. 修改表头点击事件