• 2024-07-04selenium08_鼠标事件、键盘事件
    1.鼠标事件需要导入:fromselenium.webdriver.common.action_chainsimportActionChains1)右击el=driver.find_element_by_id("kw")#定位元素ActionChains(driver).context_click(el).perform()#右击2)双击el= driver.find_element_by_xpath("//div[@id='qrcode�
  • 2024-07-03【408考点之数据结构】B树和B+树
    B树和B+树在大规模数据存储和检索中,B树和B+树是两种广泛使用的数据结构。它们被设计用来高效地管理数据,使得插入、删除和查找操作都能在对数时间内完成。以下是对这两种数据结构的详细介绍。1.B树(B-Tree)定义:B树是一种自平衡的多路查找树,通常用于数据库和文件系统中。B树
  • 2024-06-30键盘操作
    键盘操作:(1)删除键(2)空格键(3)回车键(4)制表键(5)全选、复制、剪切、粘贴fromseleniumimportwebdriverimporttimefromselenium.webdriver.common.keysimportKeysdriver=webdriver.Chrome()driver.maximize_window()driver.get("https://www.baidu.com")input_element=driv
  • 2024-06-21Redis 分布式锁
    Redis分布式锁分布式锁的演变本地锁(单机用)利用redis进行分布式锁使用set防止死锁加过期时间使用setnx防止A请求未执行完锁过期删除B请求加锁后A完成后误删该锁使用Hash结构,规定每个请求只能删除自己的锁保证并发安全,申请锁和加过期时间需要原子性,用lua脚本
  • 2024-06-14一篇文章看懂Redission原理
    文章目录☃️可重入锁原理☃️锁重试和WatchDog机制☃️MutiLock原理上一篇文章讲解了Rediision的使用,这篇文章讲解其原理☃️可重入锁原理在Lock锁中,他是借助于底层的一个voaltile的一个state变量来记录重入的状态的,比如当前没有人持有这把锁,那么state=0,假如有人
  • 2024-06-08优先队列的实现:基于最小堆的 Java 实现
    优先队列是一种重要的数据结构,与普通队列不同,它每次从队列中取出的是具有最高优先级的元素。本文将介绍如何使用最小堆来实现优先队列,并提供详细的Java代码示例和解释。什么是优先队列?优先队列是一种抽象数据类型,其中每个元素都有一个与之相关的优先级。在删除操作中,总
  • 2024-06-08Redis-10-分布式锁.md
    参考:分布式锁介绍1.概念额,为什么的话,建议先了解下我这篇文章。Java-并发-并发的基本概念我们在并发场景下,区分一个场景是否有并发问题,个人理解,锁的场景需要考虑:共享:是否共享某个资源竞态:如何构建竞态关系首先,我们得拎清楚它到底会不会共享,不是说多线程它就必然要有并发
  • 2024-06-07python自动化脚本:12306-火车票购票
    1.导包:importtimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.common.keysimportKeysfromselenium.webdriver.support.uiimportWebDriverWait2.选择浏览器驱动:这里选择的是Chromedriver=webdriver.Chrom
  • 2024-06-07《手把手教你》系列练习篇之13-python+ selenium自动化测试 -压轴篇(详细教程)
    1.简介“压轴”原本是戏曲名词,指一场折子戏演出的倒数第二个剧目。在现代社会中有很多应用,比如“压轴戏”,但压轴也是人们知识的一个盲区。“压轴”本意是指倒数第二个节目,而不是人们常说的倒数第一个,倒数第一个节目称“压台”。想看“压台篇”,敬请关注宏哥等待压台篇发
  • 2024-06-04探索sqlmap在WebSocket安全测试中的应用
    探索sqlmap在WebSocket安全测试中的应用WebSocket与HTTP的区别WebSocket,对于初次接触的人来说,往往会引发一个疑问:既然我们已经有了广泛使用的HTTP协议,为何还需要引入另一种协议?WebSocket又能为我们带来哪些实质性的好处呢?这背后的答案在于HTTP协议的一个关键限制——通信的发起
  • 2024-06-02Object 对象实现for of 迭代遍历
    实现代码Object.prototype[Symbol.iterator]=function(){letkeys=Object.keys(this);letindex=0;return{next:()=>{return{value:this[keys[index++]],done:index>=keys.lengt
  • 2024-06-01docker 通过dockerfile制作镜像
    1.安装一个docker2.启动docker3.创建dockerfilemdkir-p/data/`date+%F`cd/data/2024-05-31生成密钥ssh-keygen ls-l/root/.ssh/id_rsa.pubcp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys将authorized_keys和Centos-vault-8.5.2111.repo上传到此目录
  • 2024-05-27PHP 多维数组排序
    PHP封装多维数组排序函数1functionallKeySort(&$array){2if(!is_array($array)){3return;4}5$keys=array_keys($array);6sort($keys);7$sortedArray=array();8foreach($keysas$key){9$sortedArray[$
  • 2024-05-16ssh免密登录本机设置
    设置SSH免密登录本机主要涉及生成密钥对、将公钥复制到本地(或远程服务器,如果是双向免密)以及测试免密登录等步骤。以下是一个基本的设置流程:生成密钥对:打开终端或命令提示符,并执行以下命令来生成RSA密钥对:ssh-keygen-trsa系统将会提示你指定保存密钥文件的路径和文件名。
  • 2024-05-10一键自动化博客发布工具,用过的人都说好(infoq篇)
    infoq的博客发布界面也是非常简洁的。首页就只有基本的标题,内容和封面图片,所以infoq的实现也相对比较简单。一起来看看吧。前提条件前提条件当然是先下载blog-auto-publishing-tools这个博客自动发布工具,地址如下:https://github.com/ddean2009/blog-auto-publishing-toolsin
  • 2024-05-06SSH远程连接时报错提示Permission denied (publickey).的解决方法
    1.发现问题在Linux终端使用sshroot@server_ip来连接到远程服务器时,出现Permissiondenied(publickey).提示2.分析问题远程主机禁用了ssh密码登录权限本地访问远程主机的公钥没有添加或者被取消(无法认证)本地生成的一对秘钥,私钥~/.ssh/id_rsa和公钥~/.ssh/id_rsa.pub。
  • 2024-04-29winscp/putty 免密登录linux server
    参考 puttyWinScp免密登录远程Linux 原理生成一对公钥和私钥,私钥以文件的形式保存在本地,公钥保存在远程机器上,一般是/home/users/username/.ssh/authorized_keys。这样每次登录只需指定私钥文件,远程机器通过比对公钥和私钥来验证登录的合法性第一步:生成公钥/私钥双击putt
  • 2024-04-17Python中容易被忽略的内置类型
    Python中的内置类型是我们开发中最常见的,很多人都能熟练的使用它们。然而有一些内置类型确实不那么常见的,或者说往往会被我们忽略,所以这次的主题就是带领大家重新认识这些“不同寻常”的内置类型。1.frozenset不可变集合(frozenset)与普通的set一样,只不过它的元素是不可变的,因此
  • 2024-04-17批量扫描并上报所有服务器已信任的authorized_keys
    https://www.cnblogs.com/iAmSoScArEd/p/18140656-我超怕的codefromflaskimportFlask,requestimportcsvapp=Flask(__name__)@app.route('/',methods=['POST'])defreceive_data():data=request.data.decode('utf-8')
  • 2024-04-16linux免密登陆设置
    要实现免密登录Linux服务器,你需要将本机的SSH公钥添加到服务器的~/.ssh/authorized_keys文件中。以下是具体步骤:生成SSH密钥对(如果尚未生成):如果你还没有SSH密钥对,可以使用ssh-keygen命令生成。例如,执行ssh-keygen-trsa来生成RSA类型的密钥对。按照提示操作,通常可以直接按
  • 2024-04-1352 Things: Number 48: What is the purpose and use of a TPM?
    52Things:Number48:WhatisthepurposeanduseofaTPM?52件事:48号:TPM的目的和用途是什么?Thisisthelatestinaseriesofblogpoststoaddressthelistof'52ThingsEveryPhDStudentShouldKnowToDoCryptography':asetofquestionscompiledto
  • 2024-04-11selenium之鼠标键盘操作
    selenium之鼠标键盘操作一、鼠标1、导包:fromselenium.webdriver.common.action_chainsimportActionChains2、常规操作2.1左键单击search_ele=WebDriverWait(driver,15,0.5).until(EC.visibility_of_element_located(("id","search-input")))search_ele.send_k
  • 2024-04-11Redis的Lua脚本使用方法详解
    Redis的Lua脚本功能允许用户执行一段自定义的Lua代码,该代码可以访问和操作Redis的数据。这个功能对于执行复杂的操作或事务性的操作特别有用,因为它可以保证操作的原子性。下面是Redis的Lua脚本使用方法的详细解释:1.EVAL命令Redis提供了EVAL命令来执行Lua脚本。这个命令的基本
  • 2024-04-09Vue中component lists rendered with v-for should have explicit keys异常
    在Vue.js中,当你在组件列表中使用v-for指令渲染多个组件时,每个组件元素都应当有一个明确的key属性。Vue.js引擎通过这个key来优化虚拟DOM的diff过程,提升页面更新效率,并确保状态保持一致。例如,如果你有这样的代码:Vue<ul><liv-for="iteminitems">{{
  • 2024-04-06详细介绍Linux SSH远程免密登陆实现方法
    目录概述1安装工具2产生pub_key以及相关文件2.1在本机上产生pub_key2.2在linux生成key2.3追加.pub2.4修改authorized_keys的权限3windows平台上添加秘钥4验证 4.1登录文件管理系统4.2登录控制台概述本文主要介绍使用WinScp和putty工具搭建一个ssh