XOR
selenium爬虫运行慢如何解决?
Selenium作为一个强大的自动化工具,可用于编写爬虫程序,尽管Selenium在处理动态网页上非常强大,但对于静态网页爬简单数据提取,使用轻量级库或工具可能更加上所述,Selenium作为一个灵活可定动化工具,在需要模拟用户行为、处理动态网页内容,并进行复杂交互的爬虫任务中是一种价值的选择。 那 ......
Git拉取出现“bad config line 1 in file C:\Users\quber/.gitconfig”的错误
# 1、🍕问题描述 我们在拉取Git项目的时候,突然出现如下图所示的错误提示:  # 2、🍔解决办法 - ......
Jenkins windows节点拉取代码报错: Host key verification failed
说明: 新增一个windows节点之后,在该节点上拉取gitlab上的代码发现报错,代码无法正常拉取下来。 解决办法: 需要在节点上将公钥发送给gitlab服务器。 因为是windwos的节点,所以下面所有的操作都是在git-bash中进行的。 1、生成公钥 ssh-keygen -t rsa 2、 ......
httpx详解
https://github.com/projectdiscovery/httpx Features • Installation • Usage • Running httpx • Notes • Join Discord httpx is a fast and multi-purpose HTT ......
适配器模式-08
### 概述 适配器模式 (Adapter Pattern) 将某个类的接口转换成客户希望的另一个接口,使接口不兼容的类也能够一起工作。又称包装器 (Wrapper)。既可以作为类结构型模式,也可以作为对象结构型模式。 **优点**:目标类和 adaptee 类解耦。提高了类的透明性和可复用性,灵活 ......
电脑显示远程计算机设备不接受连接怎么办
1.电脑显示远程计算机或设备将不接受连接怎么办? ```sh windows+r,输入inetcpl.cpl,点击确定,打开Internet选项。 点击Internet选项中连接属性,点击局域网设置。 将三个框的勾勾去掉,即为不选中状态,点击确定。 ......
20230418 1. 简单工厂模式 - 计算器
## 简单工厂模式实现计算器  定义运算类 ```java public abstract class Oper ......
20230418 2. 策略模式 - 商场促销
## 介绍 简单工厂模式虽然也能解决这个问题,但这个模式只是解决对象的创建问题,而且由于工厂本身包括所有的收费方式,商场是可能经常性地更改打折额度和返利额度,每次维护或扩展收费方式都要改动这个工厂,以致代码需重新编译部署,这真的是很糟糕的处理方式,所以用它不是最好的办法。面对算法的时常变动,应该有更 ......
20230419 3. 单一职责原则
## 介绍 电子阅读器vs.手机: 理想的阅读,不管是优秀的小说,还是专业的图书,经过一段适应时间,可以进入一种沉浸状态,达到'心流'的境界。在这样的状态下,我们仿佛在作者面前与他交流,听他讲故事、听他表达思想,忘记了外界的环境、忘记了时间……进入这样的状态,我们会非常专注,废寝忘食,会拥有很大的充 ......
20230419 4. 开放-封闭原则
开放-封闭原则(The Open-Closeed Principle,OCP) 或叫 开-闭原则 开放-封闭原则,是说软件实体(类、模块、函数等)应该可以扩展,但是不可修改。 **这个原则其实是有两个特征,一个是说'对于扩展是开放的(Open for extension)',另一个是说'对于修改是封 ......
20230419 5. 依赖倒转原则
## 依赖倒转原则 依赖倒转原则,也叫 依赖倒置原则 依赖倒转原则 1. 高层模块不应该依赖低层模块。两个都应该依赖抽象。 2. 抽象不应该依赖细节。细节应该依赖抽象。 要针对接口编程,不要对实现编程 **电脑硬件的发展,和面向对象思想发展是完全类似的。这也说明世间万物都是遵循某种类似的规律,谁先把 ......
20230419 6. 装饰模式 - 衣服搭配
## 介绍 需要把所需的功能**按正确的顺序**串联起来进行控制 建造者模式要求建造的过程必须是稳定的,而现在我们这个例子,建造过程是不稳定的 装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 ,为其他对象提供一种代理以控制对这个对象的访问。  * ISubject类,定义了 ......
20230419 8. 工厂方法模式 - 计算器
## 介绍 简单工厂模式的最大优点在于工厂类中包含必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。 就编程来说,我们应该尽量将长的代码分派切割成小段,再将每一小段'封装'起来,减少每段代码之间的耦合,这样风险就分散了,需要修改或扩展的难度就降低了。 工 ......
20230421 9. 原型模式 - 简历
原型模式(Prototype),用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。  原型模式其实就是 ......
20230421 10. 模板方法模式 - 试卷答题
既然用了继承,并且肯定这个继承有意义,就应该要成为子类的模板,所有重复的代码都应该要上升到父类去,而不是让每个子类都去重复 当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理 模板方法(Template Method) ......
20230421 11. 迪米特法则 - 最少知识
迪米特法则(LoD) 也叫 最少知识原则 迪米特法则(LoD):如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。 迪米特法则首先强调的前提是在类的结构设计上,每一个类都应当尽量降低成员的访问权限 面向对象 ......
Spring Boot 优雅实现多租户架构,so easy~!
## 一、概述 ### 1.什么是多租户架构? 多租户架构是指在一个应用中支持多个租户(Tenant)同时访问,每个租户拥有独立的资源和数据,并且彼此之间完全隔离。通俗来说,多租户就是把一个应用按照客户的需求“分割”成多个独立的实例,每个实例互不干扰。 ### 2. 多租户架构的优势 - 更好地满足 ......
js数据类型
* 字符串String:‘’,“”,“123”,‘都是字符串’ let a = 1 //是赋值号,是动态的,把右边的赋值给左边 * 数字Number:所有数字,整数,小数都是数字。 var b = 2.3 * 布尔Boolean:true,false var c = true * 空值Null:表示 ......
中视频如何制作出吸引人的标题
在一段中视频中,标题是用户最关注的内容之一。只有吸引人的标题才能促使用户点击观看中视频的内容。因此,制作中视频的标题至关重要,掌握一些标题制作的技巧也成为每个运营者必备的核心能力。(腾讯|课堂 搜|索“如何运营视频才能获得百万粉丝”) 一、福利诱惑:投放各种诱饵。福利诱惑型标题指的是在标题中使用与" ......
手牵手带你实现mini-vue
Vue 的双向数据绑定实现原理是什么样的,如果让我们自己去实现一个这样的双向数据绑定要怎么做呢,本文就与大家分享一下 Vue 的绑定原理及其简单实现 ......
10个ai算法常用库java版
根据 AI 项目的具体需求,可以选择最合适的库或框架,并开始尝试使用不同的算法来构建AI解决方案。 1.Deeplearning4j 它是一个用于 Java 和 Scala 的开源分布式深度学习库。Deeplearning4j 支持各种深度学习架构,包括卷积神经网络 (CNN)、递归神经网络 (RN ......
nvin的配置
【全程讲解】Neovim从零配置成属于你的个人编辑器_哔哩哔哩_bilibili eggtoopain/Neovim-Configuration-Tutorial (github.com) ......
数据结构---图
## 数据结构 图 #### 图的定义和基本术语 **V:顶点的有穷非空集合** **E:边的有穷集合** **无向图:每条边都是无方向.** **有向图:每条边都是有方向的.**  ### 几种关系以及代码示例  - 抽象工厂模式(Abstract Factory Pattern) - 建造者模式(Builder Pattern) - 单例模式(S ......
【对比】ChatGPT Plus与ChatGPT实操对比体验
如何充值ChatGPT Plus?了解ChatGPT与ChatGPT Plus差异,通过提问问题,对比ChatGPT3.5与4.0模型优缺点,带领没法玩ChatGPT的同学体验大怨种的付费体验 ......
最大安全整数
在 JavaScript 中,最大安全整数是2^53-1,即9007199254740991。这是因为在 JavaScript 中,整数和浮点数的存储方式是一样的,都是采用 IEEE 754 双精度浮点数表示,但整数必须存储在 53 位之内。 超出最大安全整数范围的数字将无法被准确表示,可能会发生误 ......
call 和 apply有什么区别
call和apply都是function原型上的方法,每一个函数作为function的实例都可以调用这两个方法, 这两个方法的目的都是改变函数的this指向并且让函数执行的。 唯一的区别就是**call时需要一个个传参数,而apply时将参数以数组的形式进行传递**。 ......