- 博客(65)
- 收藏
- 关注
原创 selenium + chrome109以上版本会自动在C:\Program Files (x86)目录下创建scoped_dir*文件夹
使用user-data-dir参数解决chromedriver109以上版本在C盘生成临时文件夹的问题
2023-12-19 15:04:23
3264
原创 Dexie 查询sql速度优化
项目需要离线处理大量的数据,没办法加后端,只能在纯前端的项目里进行数据的加载、存储、查询等,且这个项目还要支持数据的筛选、分页。因此使用了缓存,每次在筛选的时候判断筛选条件是否发送变化,若发生了变化则重新进行count,若没有变化则视为进行翻页操作,仍使用之前的count。其中一个解决办法就是加入筛选条件的缓存,当缓存的条件不变时不进行count操作而直接使用之前count出来的数据。个人做过对比在5000条数据量的情况下,进行统计大概需要花费3秒左右,而进行同样的查询只需要几十毫秒。
2023-12-08 16:33:05
895
原创 应用程序已被Java 安全阻止-- 如何全局设置Java 控制面板参数
最近遇到一个客户问题,客户方存在一个使用场景为使用IE访问一个页面 之后通过点击页面的按钮调起一个applet程序,结果遇到了一个弹窗告警:应用程序已被Java安全阻止。对于这个问题 解决方案有两个:1.将访问的页面站点加入到例外站点中。2.修改Java控制面板中参数,将‘高级-对以下项执行已签名代码证书撤销检查’项设置为不检查。
2023-01-04 11:01:44
2420
原创 RegShot简介与使用方法
简介RegShot 是一种注册表比较工具,它通过两次抓取注册表而快速地比较出答案。它还可以将您的注册表以纯文本方式记录下来,便于浏览;还可以监察 Win.ini,System.ini 中的键值;还可以监察您Windows目录和 System 目录中文件的变化,为您手工卸载某些软件创造条件。主要功能通过扫描并保存注册表的“快照”,并对两次快照进行自动的对比,找出快照间存在的不同之处,结果保存成txt或者html文档。使用方法下载并解压Regshot后,根据计算机的版本打开对应版本的-Unicode运
2022-04-25 10:43:27
3635
原创 selemium ie登陆后不再提示是否密码(含修改注册表解决方式)
selemium ie登陆后不再提示是否密码(含修改注册表解决方式) 问题描述: 当输入账号密码登陆后,浏览器下面会弹出提示询问是否保存密码,在做自动代填时,若用户选择‘是’就会有密码泄漏的风险。问题解决: 在ie浏览器的设置-内容中可以选择取消勾选 自动完成’表单上的用户名和密码‘,这样就不会自动保存密码 也不会进行询问。项目中若不能直接修改浏览器的配置,则可以通过修改注册表的方式来达成:python实现如下: ...
2022-01-26 17:03:06
1213
原创 selenium 如何解决网页信任证书的问题
java:java有两种方法都可以实现对网页证书的信任python:python使用此方法可以使用对于证书的信任问题低版本的selenium无法实现,因为options的capability选项在selenium3.x版本才引入,高版本对于48以下的火狐不兼容,需要自己在环境变量中配置火狐浏览器的地址...
2021-12-31 16:35:55
10660
原创 python selenium 运行时弹出窗口(弹出driver的cmd窗口)
python selenium 运行时弹出窗口近期在做一个网页代填项目时,用到了python的selenium,虽然实现了代填功能但是每次运行时都会弹出窗口,初始是python窗口,后续改进了又弹出了driver的窗口。在我看来是无伤大雅的,不过测试不接受,只能改,经过了各种尝试与搜索最后终算是较完美的解决了。去除python窗口项目初始是通过C++的process去调起python然后执行脚本的,后来发现会弹出python窗口。使用的命令为python.exe ie.py效果如下打开了
2021-11-28 17:38:25
3367
2
原创 Java发起Http/https请求
Java发起Http/https请求import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.utils.URIBuilder;import org.apache.http.conn.ssl.SSLConnectionSocketFactory;import org.apache.htt
2021-11-28 16:25:07
776
原创 # 请求接口报错:Invalid character found in method name.HTTP method names must be token 解决方案
请求接口报错:Invalid character found in method name.HTTP method names must be token 解决方案解决方案1:将请求接口的方式从https改为http。解决方案2:给接口配置ssl证书或者使用nginx来设置代理。下面演示在Springboot中通过配置ssl证书来解决此问题的方案首先cd到Java的bin目录下打开cmd窗口执行命令keytool -genkey -alias apitesthttps -keyalg RSA -
2021-11-28 15:43:00
4214
原创 RDP连通测试(拨测)
RDP连通测试(拨测)命令使用xfreerdp命令可以进行连通测试,具体命令如下:xfreerdp /cert-ignore /v:ip:3389 /u:username /p:passwd +auth-only /sec:nla执行此命令后可以通过返回的状态码来判断可否使用此账号密码连接目标的rdp端口。返回值为0,则拨测成功返回值为1,则拨测失败。账号密码错误显示超时,则输入ip不通。Unable to connect 则端口不通。通过这几个不同的返回状态就可以做rdp的拨测
2021-11-26 14:49:05
862
原创 net use 命令使用教程
作用使用net use 命令可以将远端的共享资源挂载到本地,即将共享目录映射到本地的指定位置。用法假设现在存在两台机器,一台ip为10.13.0.99作为目标机器,一台ip为10.13.6.139作为本地机器,现在我想在本地机器(10.13.6.139)上将目标机器(10.13.0.99)的c盘映射为本地的z盘,则只需输入命令net use z: \\10.13.0.99\c$ password /user:username成功挂载之后就可以在我的电脑处看到挂载的c盘内容例子当想要共享某
2021-11-25 11:03:32
7225
1
原创 npm离线安装遇到的问题:EISDIR:illegal operation on a directiory
最近手头有个任务需要安装apidoc,但是因为内网开发环境隔离问题无法直接安装,所以需要进行离线安装apidoc。在离线安装时,第一次安装没有进行全局安装 导致安装有警告 且apidoc -h 无法被识别,所以打算卸载后重新进行全局安装。但是在安装时遇到报错:EISDIR:illegal operation on a directiory。查询博客各种方法无效,最后解决办法是去到npm的目录下直接删除之前安装时生成的文件夹,删除后再次安装就成功了。进到node_modules里把apidoc的
2021-10-12 14:57:04
1399
2
原创 idea远程调试jar包与tomcat的方法
idea远程调试方法调试JAR包首先需要在虚拟机或者远程运行jar包,在运行jar包时增加JVM参数:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,addrees=8888其中8888是端口号,可以自定义,注意需要虚拟机中打开对应端口例如:java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,addrees=8888 helloworld.jar在jar包运行
2021-07-08 15:22:03
615
原创 guacamole SSH实现中文输入
问题根因项目一开始移植的是guacamole官方的guacamole-common项目,在使用ssh访问资产时发现是无法进行中文输入的,原因是guacamole-common中无论是rdp还是ssh访问初始使用的都是击键????输入,按键盘调用的都是keyboard.onkeydown与keyboard.onkeyup方法,都只能一次传输一个按键,然后在远端模拟结果,因此在ssh访问中就无法使用本地的输入法进行中文输入。解决方案使用官方文档中提供的方法,将????输入改为数据流输入。可将上述代码封
2021-07-07 20:00:04
2020
2
原创 rabbbitmq 新建用户、分配权限 打开web管理页面流程
rabbbitmq 新建用户、分配权限 打开web管理页面流程新建用户直接使用命令rabbitmqctl add_user username password分配权限直接使用命令rabbitmqctl set_permissions username ".*" ".*" ".*"后续三个.*分别赋予用户 config/read/write 的权限rabbitmqctl set_user_tags username administrator给指定用户赋予admin标签 可以登陆后台管理页面
2021-04-01 16:08:18
213
转载 idea将程序打成jar包方法
idea将程序打成jar包方法idea打包java可执行jar包看链接即可https://www.cnblogs.com/blog5277/p/5920560.html
2021-04-01 15:48:49
152
原创 mq使用replyto队列进行消息回复
消费者import com.rabbitmq.client.*;import com.rabbitmq.client.Connection;import com.rabbitmq.client.Channel;import com.rabbitmq.client.DefaultConsumer;import com.shterm.test.ConnectionUtil;import java.io.IOException;import java.util.Timer;import java
2021-03-29 15:17:28
917
原创 RabbitMQ 各方法参数详解与实
RabbitMQ 各方法参数exchangeDeclareexchangeDeclare方法 有很多重载Exchange.DeclareOk exchangeDeclare(String exchange, String type) throws IOException;Exchange.DeclareOk exchangeDeclare(String exchange, BuiltinExchangeType type) throws IOException;Exchange.Declare
2021-03-12 17:04:44
758
原创 guacamole客户端实现剪切板功能
思路主要参考https://www.cnblogs.com/redirect/p/10066730.html在modules/client.js中能找到onclipboard的定义 于是在相应位置进行修改 //监听堡垒机端往剪切板复制事件,然后写入文本框中 this.onclipboard = function(stream, mimetype){ if (/^text\//.exec(mimetype)) { var stringReader =
2021-02-25 16:53:01
2029
4
原创 linux实用命令与工具
lsof列出所有线程打开的文件lsof -p 线程PID 列出指定线程打开的文件lsof -p 线程PID |wc -l 列出打开文件数ps axufps axuf|grep guacd 显示guacd的线程树pstreepstree -p 线程PID 查看指定线程的线程树toptop -p 线程PID 查看指定线程的内存占用、CPU占用top -H -p 可以查看线程打开的线程数iftopiftop可以监控线程的出入口流量,直接打iftop 打开窗口ip雷达windows系统中
2021-02-25 16:21:19
244
原创 Guacamole关于客户端只能打开5个的bug
Guacamole关于客户端只能打开5个的bug在测试自己开发的guacamole客户端的时候发现,当打开的客户端数量为5个后,打开第六个客户端时,所有的客户端都会失去响应,等待一段时间后,后端与前端都报了timeout错误,使用chrome和火狐浏览器都会发生这种情况。但如果使用ie或者edge就不会有上述限制。这个问题让我郁闷了很久,头一次见chrome火狐不如ie的。后来感觉这个表现和线程池中线程不够的表现一样,就是线程太少了来不及响应所以报了timeout,于是朝着这个方向去搜索,发现了浏览器对*
2021-01-20 17:19:30
532
原创 guacamole协议及命令详解
guacamole协议协议组成Guacamole 协议由若干指令组成。每条指令是一个逗号分隔的列表,最后以分号终止,其中列表中的第一个元素是指令操作码,其后的元素是该指令的参数:OPCODE,ARG1,ARG2,ARG3,……;指令列表中的每个元素都是由一个正的十进制整数前缀和一个具体的元素值组成,其中前缀由一个英文句点( . )分隔。整数前缀表示具体的元素值的Unicode字符的数量,字符由UTF-8编码:LENGTH.VALUE若干条完整的指令组成一条消息,该消息从客户端发送到服务器,或
2021-01-18 10:42:19
5057
2
原创 guacamole协议与客户端源码解析
guacamole协议协议组成Guacamole 协议由若干指令组成。每条指令是一个逗号分隔的列表,最后以分号终止,其中列表中的第一个元素是指令操作码,其后的元素是该指令的参数:OPCODE,ARG1,ARG2,ARG3,……;指令列表中的每个元素都是由一个正的十进制整数前缀和一个具体的元素值组成,其中前缀由一个英文句点( . )分隔。整数前缀表示具体的元素值的Unicode字符的数量,字符由UTF-8编码:LENGTH.VALUE若干条完整的指令组成一条消息,该消息从客户端发送到服务器,或
2020-12-16 20:10:34
1958
1
原创 guacamole客户端访问非本地gaucd服务时报错
guacamole客户端访问非本地gaucd服务时报错的问题解决先描述我遇到的问题是在开发机上开发guacamole代码,在内网虚拟机上配置了guacd服务,但是在开发机上运行项目时,用网页进行访问一直报错检查过虚拟机防火墙已经开放了对应的端口 但是还是无法正常连接。附上客户端配置代码奇怪的是当把hostname的值改成localhost再把项目打包放到虚拟机后,项目上正常运行的。解决方案在guacd的配置目录/etc/guacamole下新增配置文件 gaucd.conf[daemon]
2020-12-15 19:29:25
1017
原创 JDBC-连接池
1.连接池1.1 概述池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资 源开销。例如,数据库连接池,在系统初始化时创建一定数量数据库连接对象,需要时直接从池中取出一个空闲 对象,用完后并不直接释放掉对象,而是再放到对象池中,以便下一次对象请求可以直接复用。这样可以消除对象创建和销毁所带来的延迟,从而提高系统的性能。例如,连续不断的创建数据库连接对象import java.sql.Connection;import java.sql.DriverM
2020-10-06 16:22:05
136
原创 JDBC基础
1.JUnit1.1 概述JUnit,是一个Java语言的单元测试框架,用于编写和运行可重复的测试JUnit 起源于 1997年,当时Java测试过程中缺乏成熟的工具,两位编程大师 Kent Beck 和 Erich Gamma 在一次旅途的飞机上完成了JUnit 雏形的设计和实现。到目前为止,JUnit 经过各个版本迭代演进,已经发展到了 5.x 版本,为 JDK 8以及更高的版本上提供更 好的支持,例如 Lambda 、重复测试,参数化测试等。JUnit5 与以前版本的 JUnit 不同,
2020-10-06 16:21:17
156
1
原创 oracle5 alter、序列、视图、索引
1.alter1.1 概述在表创建好的情况下,可以使用alter关键字,来修改表的信息主要包括:在表中添加新列删除表中的列给表中添加约束删除表中的约束修改表名修改列的数据类型设置约束失效注意,alter属于DDL语句,会结束当前事务1.2 使用测试用的表,如下:create table t_user(id number constraint user_id_pk primary key,name varchar2(100),salary number);drop
2020-09-17 19:50:21
407
原创 oracle数据库设计、建表、DML、事务
1.数据建模1.1 软件开发软件开发流程,其实就是软件的设计思路和方法的一般过程,其实包括分析设计编码测试部署上线运维1.2 数据建模在需求分析过程中,有一些重要的工作给系统进行建模,它为后续的设计和实现工作提供了支持数据建模主要是要抽象出系统中所涉及到的实体,以及它们之间的关系。此过程一般需要经过三个阶段:概念建模逻辑建模物理建模通常最后以E-R图的形式进行展现,根据E-R图就可以进行数据库设计了概念建模:此阶段主要进行的步骤有:客户交流理解需求形
2020-09-17 19:49:12
312
原创 oracle3 聚合函数、分组、子查询、分页
1. 聚合函数1.1 概述聚合函数,一般会操作多组数据,并对每一组中的某个列,执行计算并返回单一的值。聚合函数经常与 SELECT 语句的 GROUP BY 子句一同使用,所以也把其它称之为分组函数。在查询数据的时候,经常会把数据按照某一个条件进行分组,例如select last_name,dept_idfrom s_emporder by dept_id;可以看出,一共查询出了25条数据,但其实可以把部门编号相同的员工,归为一组,这样就得到 了若干小组分组完成后,就可以使用聚合
2020-09-15 19:38:08
361
原创 Oracle2 函数、多表查询、结果集、伪列
1. 单行函数1.1概述oracle数据库中,内置了很多常用的函数,整体分为:单行函数字符函数日期函数数字函数转换函数聚合函数单行函数,也可以称为单值函数,每操作一行数据,都会返回一个结果例如,查询id小于5的员工信息(id、last_name、salary)select id,last_name,salaryfrom s_empwhere id<5;//运行结果:ID LAST_NAME SALARY---------- --------------- --
2020-09-15 19:37:22
332
原创 Oracle1 概述、sql、查询、条件
1.数据库概述数据库技术,是之前60年代开始兴起的一门信息管理自动化的新兴学科,是计算机科学中的一个重要分 支。随着计算机应用的不断发展,数据处理越来越占主导地位,数据库技术的应用也越来越广泛。数据管理是数据库的核心任务,内容包括对数据的分类、组织、编码、储存、检索和维护。特点实现数据共享数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数 据库,并提供数据共享。减少数据的冗余度同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。
2020-09-15 19:36:42
158
原创 xml 使用、命令空间、约束、解析
1.XML初识1.1 概念XML ,可拓展标记语言标记,指的是标记语言,也称标签语言,可以用一系列的标签来对数据进行描述。例如:tom拓展,指的是用户可以自定义标签。1.2作用可以用来作为数据传输的标准XML可以作为配置文件XML可以持久化数据XML简化平台变更2.XML语法2.1 文档声明XML 声明文件的可选部分,如果存在需要放在文档的第一行,如下所示:1 <?xml version="1.0" encoding="utf-8"?&g
2020-09-15 19:35:52
209
原创 网络编程概述
网络编程1.软件架构C/S架构: 客户端/服务器的软件结构,需要下载客户端和服务器进行通信B/S架构:浏览器/服务器的软件结构,使用浏览器和服务器进行通信C/S与B/S各有优势:C/S在图像的表现能力上以及运行速度上要强于B/SC/S需要专门的客户端,且不能跨平台B/S不需要专门的客户端,只要安装了浏览器就可以B/S基于网页语言,与操作系统无关无论是B/S还是C/S都离不开网络的支持网络编程,就是在一定的协议下,实现两台计算机的通信的程序。2. 通信协议TCP/IP协议栈,传
2020-09-07 20:34:33
175
原创 corejava综合 仿web服务器
模拟web服务器1.项目开发流程提出需求<->评估需求->评估工作量-》ui设计-》前后端分离开发-》联调-》发布上线-》运维监控2.项目介绍web服务器一般指网络服务器,是指驻留于英特网上某种类型计算机的程序、可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的丧Web服务器是Apache。Nginx、IIs。例如:百度服务器。模拟WEB服务器就是开服一个类似Apache Tomcat一样的服务器
2020-09-07 20:23:46
183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人