element

java容器 Map Set List

为君一笑 提交于 2020-11-29 04:34:10
容器: 在java中,如果有一个类专门用来存放其他类的对象,这个类就叫做容器,或者叫集合,集合就是将若干性质相同或者相近的类的对象组合在一起而形成一个整体。 boolean add(Object obj):向容器中添加指定的元素 Iterator iterator():返回能够遍历当前集合中所有元素的迭代器 Object[] toArray():返回包含此容器中所有元素的数组。 Object get(int index):获取下标为index的那个元素 Object remove(int index):删除下标为index的那个元素 Object set(int index,Object element):将下标为index的那个元素置为element Object add(int index,Object element):在下标为index的位置添加一个对象element Object put(Object key,Object value):向容器中添加指定的元素 Object get(Object key):获取关键字为key的那个对象 int size():返回容器中的元素数 其中map、set、和List中的方法还是有所区别的,具体用法此处不做太多说明 三种容器接口的方法详解:http://blog.csdn.net/lushuaiyin/article/details

使用Python+selenium实现第一个自动化测试脚本

无人久伴 提交于 2020-11-28 07:20:18
原blog 一,安装Python. python官方下载地址: https://www.python.org/downloads/ 安装后点击开始菜单,在菜单最上面能找到IDLE. IDLE是python自带的shell, 点击打开, 即可开始编写python脚本了. 二,安装selenium 上面python已安装完成,接下来安装selenium. 安装selenium之前需要安装必要工具. setuptools 安装后,(比如zip包形式安装),进入解压的目录,在命令行执行如下命令即可安装. python setup.py install 再然后安装pip https://pypi.python.org/pypi/pip 同样,安装tar或解压包,进入目录cmd执行python setup.py install即可安装 安装selenium 上面2个工具安装好后,安装selenium只需在命令行进入python安装路径Script目录下,执行 pip install -U selenium 即可自动安装. 完成安装后在IDLE输入 from selenium import webdriver 如果没报错即代表安装成功. 三,注意事项 selenium3.0 需要独立安装 FireFox驱动 .解压后放在python安装路径下即可.

JAVA高级-面试题总结

旧时模样 提交于 2020-11-28 07:11:23
最近面试了一些公司,针对面试中遇到的问题在此记录,提升自己,造福大家 以下所有java源码相关展示均为jdk1.8版本中内容 一、java源码相关 ArrayList创建和add等各种api使用原理 ArrayList 是一种变长的集合类,基于定长数组实现。 ArrayList 允许空值和重复元素 ,当往 ArrayList 中添加的元素数量大于其底层数组容量时,其会通过 扩容 机制重新生成一个更大的数组。 ArrayList 是非线程安全类 ,并发环境下,多个线程同时操作 ArrayList,会引发不可预知的异常或错误。 ArrayList创建源码 带有初始容量的构造方法 /** * Shared empty array instance used for empty instances. */ private static final Object[] EMPTY_ELEMENTDATA = {}; /** * Constructs an empty list with the specified initial capacity. * * @param initialCapacity the initial capacity of the list * @throws IllegalArgumentException if the specified initial

element-tree-grid(表格树)的使用

允我心安 提交于 2020-11-26 09:35:23
表格树,element-tree-grid需要单独下载并再配合elementUi里el-table使用。 步骤:1、npm install element-tree-grid --save(下载element-tree-grid)    2、在main.js里引用:import ElTreeGrid 'element-tree-grid '              Vue . component ( ElTreeGrid . name ,ElTreeGrid )    3、html代码(配合el-table使用):       <el-table :data='data'>         <el-table-tree-column fixed (是否固定)                   prop='属性 ' table='表头'                   levelKey='层级(0,1,2,3代表第几层)'                   parentKey='parentId(上一层级的ID,值与父层级的ID(treeKey)一致)’                   treeKey='目前层级的ID,子层级的parentKey与其一致 '                   :indentSize='没展开一个层级缩进的px'            

React 入门儿

时间秒杀一切 提交于 2020-11-26 08:25:55
谁都没有看见过风,更不用说你和我了。但是当纸币在飘的时候,我们知道那是风在数钱。 React 影响着我们工作的方方面面,我们每天都在使用它,只窥其表却难以窥其里。正所谓看不如写,本篇文章的目的就是从原理层面探究 React 是如何工作的。 工具 在写文章之前,为了方便理解,我准备了一个懒人调试仓库 simple_react ,这个仓库将 benchmark 用例(只有两个 ^ ^)和 React 源码共同放在 src 文件夹中,通过 snowpack 进行热更新,可以直接在源码中加入 log 和 debuger 进行调试。当然这里的“源码”并不是真的源码,因为 React 源码中充斥着巨量的 dev 代码和不明确的功能函数,所以我对源码进行了整理,用 typescript 对类型进行了规范,删除了大量和核心流程无关的代码(当然也误删了一些有关的 ^ ^)。 如果你只是希望了解 React 的运行流程而不是写一个可以用的框架的话,那么这个仓库完全可以满足你学习的需要。当然,这个仓库基于 React16.8 ,虽然这个版本并不包括当前的航道模型 Lane 等新特性,但是是我个人认为比较稳定且更适合阅读的一个版本。 (如果希望调试完整的源码,也可以参考 拉取源码 通过 yarn link 来进行 debug) 文章结构 fiber 架构设计及首次渲染流程 事件委托机制 状态的更新 时间片

Codeforces

ⅰ亾dé卋堺 提交于 2020-11-26 04:31:51
https://codeforc.es/gym/102222/problem/F 注意到其实用unsigned long long不会溢出。 #include<bits/stdc++.h> using namespace std; typedef long long ll; inline int read() { int x=0; int f=0; char c; do { c=getchar(); if(c=='-') f=1; } while(c<'0'||c>'9'); do { x=(x<<3)+(x<<1)+c-'0'; c=getchar(); } while(c>='0'&&c<='9'); return f?-x:x; } inline void _write(int x) { if(x>9) _write(x/10); putchar(x%10+'0'); } inline void write(int x) { if(x<0) { putchar('-'); x=-x; } _write(x); putchar('\n'); } void TestCase(int ti); int main() { #ifdef Yinku freopen("Yinku.in","r",stdin); //freopen("Yinku.out","w",stdout);

python之web自动化验证码识别解决方案

主宰稳场 提交于 2020-11-26 04:26:29
验证码识别解决方案 对于web应用程序来讲,处于安全性考虑,在登录的时候,都会设置验证码,验证码的类型种类繁多,有图片中辨别数字字母的,有点击图片中指定的文字的,也有算术计算结果的,再复杂一点就是滑动验证的。诸如此类的验证码,对我们的系统增加了安全性的保障,但是对于我们测试人员来讲,在自动化测试的过程中,无疑是一个棘手的问题。 1、web自动化验证码解决方案 一般在我们测试过程中,登录遇到上述的验证码的时候,有以下种解决方案: 第一种、让开发去掉验证码 第二种、设置一个万能的验证码 第三种、通过cookie绕过登录 第四种、自动识别技术识别验证码 2、自动识别技术识别验证码 前三种解决方案,想必大家都比较了解,本文重点阐述第四种解决方案,也就是验证码的自动识别,关于验证码识别这一块,可以通过两个方案来解决, 第一种是:OCR自动识别技术, 第二种是:通过第三方打码平台的接口来识别。 OCR识别技术 OCR中文名称光学识别, tesseract是一个有名的开源OCR识别框架,它与Leptonica图片处理库结合,可以读取各种格式的图像并将它们转化成超过60种语言的文本,可以不断训练自己的识别库,使图像转换文本的能力不断增强。如果团队深度需要,还可以以它为模板,开发出符合自身需求的OCR引擎。那么接下来给大家介绍一下如何使用tessract来识别我们的验证码。 关于OCR自动识别这一块

VHDL 2019: Interfaces

泄露秘密 提交于 2020-11-25 15:34:11
This is the second article in our series about VHDL 2019. In this article we look at the new ability to cleanly express interfaces. You can read the first part here. VHDL Interfaces Interfaces are a central element in hardware design. There are many standardized interfaces like I²C, AXI or VGA and every design also has internally designed interfaces to connect various parts of a system. Unfortunately, these interfaces are cumbersome to model using VHDL. Typically, they are not explicitly defined. Instead their description is repeated on every entity. The only way to identify them is through

时间日期控件的处理-Selenium

心不动则不痛 提交于 2020-11-25 05:40:26
很多人问时间日期的空间怎么处理,但是时间日期控件各种各样,你可能遇到正常点的像这样: 当然也可能遇到难点的,像这样: 当然,也不排除会遇到变态的,像这样: 呵呵,真要一个个想着怎么去选择,简直是非人类干的事!那么该怎么办?其实很简单,我们不去搞时间日期空间,我们把它当成一个普通的input框处理就好了!但是,很多此类型input框都是禁止手动输入的,怎么办?很简单,用js把禁止输入的readonly属性干掉就好了。来吧,看一下示例: 示例网址:http: // www.sucaijiayuan.com/api/demo.php?url=/demo/20141108-1/ 代码: # -*- coding: utf- 8 -*- from selenium import webdriver from time import sleep driver = webdriver.Firefox() driver. get ( ' http://www.sucaijiayuan.com/api/demo.php?url =/demo/ 20141108 - 1 / ' ) driver.switch_to.frame( ' iframe ' ) #js = " document.getElementById('txtBeginDate'). removeAttribute( '

dubbo系列之@Reference注解解析原理(五)

偶尔善良 提交于 2020-11-24 20:02:57
欢迎关注公众号【sharedCode】致力于主流中间件的源码分析, 可以直接与我联系 前言 上文中我们讲解了@Service注解的解析原理,了解到Dubbo默认支持两种方式进行解析,一种是通过springboot 自动配置来做的,另外一种是通过 DubboComponentScan 注解来解析的,本文继续也是以 DubboComponentScan 的方式来讲解的。 源码入口 com.alibaba.dubbo.config.spring.context.annotation.DubboComponentScanRegistrar Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { // 获取扫描包路径 Set<String> packagesToScan = getPackagesToScan(importingClassMetadata); // 注册@service解析的类 registerServiceAnnotationBeanPostProcessor(packagesToScan, registry); // 注册解析@Reference注解的bean