自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 代码实现基数排序

基数排序

2022-06-20 16:07:21 106 1

原创 代码实现快速排序

快速排序

2022-06-20 15:46:14 108

原创 代码实现归并排序

算法

2022-06-20 15:44:15 109

原创 Mybatis基础

Maven资源导出的配置!-- build中配置resources,防止资源导出失败--> <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <incl

2022-01-02 11:18:44 118

原创 Spring5基础

IOC底层原理1、什么是 IOC(1)控制反转,把对象创建和对象之间的调用过程,交给 Spring 进行管理(2)使用 IOC 目的:为了耦合度降低(3)做入门案例就是 IOC 实现2、IOC 底层原理(1)xml 解析、工厂模式、反射3、画图讲解 IOC 底层原理IOC(BeanFactory 接口)1、IOC 思想基于 IOC 容器完成,IOC 容器底层就是对象工厂2、Spring 提供 IOC 容器实现两种方式:(两个接口)(1)BeanFactory:IOC 容器基本实现,是

2021-12-24 09:40:37 93

原创 JavaWeb基础

servlet程序的在web.xml中的配置 <!--servlet标签给tomcat配置servlet程序--> <servlet> <!--servlet-name标签给servlet程序起一个别名--> <servlet-name>HelloServlet</servlet-name> <!--servlet-class 标签是servlet程序的全类名 -->

2021-12-19 19:32:31 61

原创 3D盒子旋转

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; }

2021-12-16 10:30:17 229

原创 css3制作3D旋转相册

代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>3D旋转相册</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; }

2021-12-14 16:13:49 432

原创 vue中使用better-scroll插件总结

1、npm i better-scroll2、创建一个Scroll的组件,进行封装 <template> <div class=wrapper ref='myScroll'> //滚动前给特定的高度小于滚动内容的高度 <div class=content> //滚动内容 <slot></slot> //预留一个插槽,在需要滚动的页面引入Scroll组件并将需要滚动的内容放进插槽中 &

2021-10-16 19:40:56 203

原创 webpack基础总结

1、运行指令开发环境:webpack ./src/index.js(入口文件) -o ./dist/bundle.js(输出文件) --mode=development 整体打包环境是开发环境生产环境:webpack ./src/index.js(入口文件) -o ./dist/bundle.js(输出文件) --mode=production 整体打包环境是生产环境webpack基本配置的框架创建webpack.config.js的文件在其中进行配置const {resolve} = requ

2021-10-15 10:08:52 44

原创 Vue中使用swiper插件的方法

1:安装 npm install --save swiper@3 (要指定版本)2:创建一个用轮播的组件:例如SwiperImage.vue3: main.js文件中 引入以下文件 import 'swiper/dist/css/swiper.min.css' import 'swiper/dist/js/swiper.min.js'3: 组件中模板的代码如下 <template> <div class="swiper-image"> <div c

2021-10-07 17:40:14 722

原创 Vue2基础面试总结

Vue的特点?1、vue采用组件化模式,提高代码的复用率,维护性更好2、声明式编码,无需直接操作dom,提高开发效率3、使用虚拟DOM+diff算法,尽量复用dom节点。

2021-10-06 17:24:40 287 1

原创 javascript基础面试总结

变量提升用var声明变量存在变量提升的情况,用let和const不存以上情况var a = 10;function foo() { console.log(a); var a = 20; console.log(a);}foo();// 变量提升后的代码var a = 10;function foo() { var a; //变量提升 提升函数作用域的最前面 console.log(a); //结果为undefined 因为var声明的

2021-09-03 18:51:41 401 1

原创 React框架中用axios框架配置代理跨域访问服务器获取数据

1. 第一步:创建代理配置文件在src下创建配置文件:src/setupProxy.js2. 编写setupProxy.js配置具体代理规则:const proxy = require('http-proxy-middleware')module.exports = function(app) { app.use( proxy('/api1', { //api1是需要转发的请求(所有带有/api1前缀的请求都会转发给5000) target: 'http://local

2021-08-18 10:18:13 312

原创 javascript实现五大排序算法(冒泡排序、选择排序、插入排序、希尔排序、快速排序)j

排序算法之冒泡排序算法O(N*N):原理:1、对未排序的各个元素从头到尾依次比较相邻的两个元素大小关系2、如果左边的元素大,则两元素交换位置3、向右移动一个位置,比较下面两个元素4、移动到最右端是,此时最大的元素在最右端5、然后从新按照思路开始,这次走到倒数第二个位置即可,依次类推 完成排序代码实现:let array = [78,1,56,45,12,36,99,84,23,7]for (let j = array.length - 1; j >= 0; j--) {

2021-08-14 12:01:22 478 1

原创 javascript 实现无向图结构的封装并完成广度优先搜索和深度优先搜索

图的封装需要用到队列以及字典的封装结构代码如下://封装队列类 队列的特点 从后端插入元素 从前端删除(取)元素function Queue() { this.items = [] //将元素加入到队列中 Queue.prototype.enQueue = function (element) { this.items.push(element) } //前端删除队列元素 Queue.prototype.delQueue = func

2021-08-14 06:56:02 151

原创 javascript封装二叉搜索树(BST)

二叉搜索树(Binary Search Tree) 特点: 1、若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值 2、若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值.如图示:二叉搜索树的插入节点: //插入数据 BinarySearchTree.prototype.insert = function (key) { let newNode = new Node(key) //创建新节点 //判断跟节点是否有值 if

2021-08-12 21:09:51 162

原创 前端学习node总结

系统模块之文件操作(fs)//文件读取操作const fs = require('fs');fs.readFile('文件路径/文件名称',[,'文件编码'],callback) //加中括号的参数为可选参数//例子fs.readFile('../css/base.css','utf-8',(err,doc) => { //如果文件读取错误 参数err的值为错误对象 否则err的值为null //doc 为文件内容 if(err == null) {

2021-08-12 09:59:07 162

原创 javascript手动写代码实现哈希表(拉链法)

只给代码,原理不做阐述//设计哈希函数//将字符串转化成较大的数字: hashcode//将hashcode压缩到数组范围内function hashFunc(str,size) { let hashcode = 0 //霍纳算法来计算 hashcode的值 for (let i = 0; i < str.length; i++) { hashcode = 37 * hashcode + str.charCodeAt(i) } le

2021-08-12 09:35:30 193

原创 javascript 实现集合及一系列的操作

javascript 实现集合及一系列的操作//封装Set类function Set() { this.items = {} //1、add() 方法 Set.prototype.add = function (value) { if (this.has(value)) { //如果存在就不能添加 return false } this.items[value] = value //不存在就添加到集合中

2021-08-11 14:48:35 297

原创 Javascript 实现单向链表和双向链表

链表原理:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)

2021-08-11 10:33:11 115

原创 javascript 实现优先级队列

javascript 实现优先级队列//封装优先级队列function PriorityQueue() { //在优先级队列创建一个内部类 function QueueElement(element,priority) { this.element = element this.priority = priority } this.items = [] //实现插入的方法 PriorityQueue.prototype.

2021-08-10 15:41:37 283

原创 javascript 基于数组方式实现队列及一系列队列的相关操作

javascript 基于数组方式实现队列及一系列队列的相关操作//封装队列类 队列的特点 从后端插入元素 从前端删除(取)元素function Queue() { this.items = [] //将元素加入到队列中 Queue.prototype.enQueue = function (element) { this.items.push(element) } //前端删除队列元素 Queue.prototype.delQueue

2021-08-10 14:55:06 161

原创 javascript 利用栈实现10进制转化2进制、8进制、16进制

1、首先封装一个栈//封装栈类function Stack() { this.items = [] //栈的相关操作 //1、将元素压入栈 Stack.prototype.push = function (element) { this.items.push(element) } //2、将元素出栈 Stack.prototype.pop = function () { return this.items.pop(

2021-08-10 09:24:35 603 1

原创 Javascript 基于数组的方式实现栈及其一系列相关的操作

Javascript 基于数组的方式实现栈及其一系列相关的操作代码实现://封装栈类function Stack() { this.items = [] //栈的相关操作 //1、将元素压入栈 Stack.prototype.push = function (element) { this.items.push(element) } //2、将元素出栈 Stack.prototype.pop = function () {

2021-08-10 08:21:23 195

原创 scrapy 对接 selenium 爬取京东ipad商品信息并存到mongoDB数据库中

爬取京东所有有关ipad的商品信息, 在搜索栏中输入iPad 点击搜索来到以下页面接下来我们分析商品每页的url这是第二页的url : https://search.jd.com/Searchkeyword=ipad&qrst=1&suggest=1.his.0.0&wq=ipad&ev=exbrand_Apple%5E&page=3&s=56&click=0我们把多余的参数去掉 换成如下的格式:https://search.jd.com/S

2021-05-12 12:20:00 362

原创 谷歌浏览器 Selenium避免检测

适合谷歌浏览器版本大于等于88from selenium import webdriverfrom selenium.webdriver import ChromeOptionsoption = ChromeOptions()option.add_argument('--disable-blink-features=AutomationControlled')browser = webdriver.Chrome(options=option)browser.get('https://www.ba

2021-05-11 19:45:41 968 1

原创 scrapy框架分析ajax请求爬取图片并同时存到mongodb和mysql数据库中把照片存到本地

本次爬取的网站https://image.so.com/打开此页面切换到美女的页面,打开浏览器的开发者工具,切换到XHR选项,然后往下拉页面,我么会看到出现许多的ajax请求,如图:对上面的许多请求进行分析会发现我们要爬取图片的数据就在很多类似这样的 zjl?ch=beauty&sn=30 sn=0时代表0-30张图片,sn=30代表31-60张图片依次排列 点进去,如图切换到Headers 找到我们要请求的url (Request URL) 经过分析我们要请求的url很有规律经过简单的

2021-05-11 19:17:54 269

原创 Scrapy框架分析ajax爬取腾讯招聘网站所有有关python的招聘信息并保存到mongoDB数据库

本次爬取网站的链接:https://careers.tencent.com/第一步:在搜索框输入我们想要爬取职位的关键信息 如python c/c++ 点击搜索第二步:来到相关职位信息的页面第三步:在页面任何地方点击右键,再点击检查 然后点击network 会出现如下页面点击刷新后 如图点击新出现内容的第二行 进入如下页面我们想要的数据就在Data里 然后点击Headers找到我们需要的url如图图片中Request URL对应的我们要找的url ,对这个url发送请求就能得

2021-05-09 11:11:00 278

原创 python + 基于协程的异步爬虫

python 基于协程的异步爬虫实现高效率爬取图片图片网址:https://pic.netbian.com/4kmeinv/爬取该网页页面的所有高清图片代码如下:结果如图所示:

2021-04-07 07:51:49 150 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除