自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python爬虫 【2】 —— scrapy框架使用

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,就是我们熟知的蜘蛛爬虫框架,我们用蜘蛛来获取互联网上的各种信息,然后再对这些信息进行数据分析处理。

2024-05-17 17:19:37 788

原创 Python爬虫 【1】 —— 爬虫基础

Cookie,指某些网站为了辨别用户身份,进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)比如说有些网站需要登录后才能访问某个页面,在登陆之前,你想抓取某个页面内容是不允许的。其实上面的 urlopen 参数可以传人一个 request 请求,它其实就是一个 Request 类的实例,构造时需要传入 Url,Data 等等的内容。Request请求对象的里面有data参数,它就是用在POST里的,我们要传送的数据就这这个参数data,data是一个字典,里面要匹配键值对。

2024-05-07 15:53:56 1109

原创 Python自功化办公 —— word 转 PDF

这里基本是固定写法拿来即用即可。首先需要引入pywin32。

2024-04-10 16:08:28 164

原创 Java经典面试题—— 对比 Hashtable、HashMap、TreeMap 有什么不同?

Collection 表示一组对象,它是集中、收集的意思。Collection 接口中常用的两个子接口是 List、Set 接口。Collection接口中定义的方法由于List、Set是Collection的子接口,意味着所有List、Set的实现类都有上面的方法。List是有序、可重复的容器。有序:有序(元素存入集合的顺序和取出的顺序一致)。List中每个元素都有索引标记。可以根据元素的索引标记(在List中的位置)访问元素,从而精确控制这些元素。可重复:List允许加入重复的元素。

2023-05-18 15:30:35 1410 1

原创 java-微信支付

摘要算法就是我们常说的散列函数、哈希函数(Hash Function),它能够把任意长度的数据“压缩”成固定长度、而且独一无二的“摘要”字符串,就好像是给这段数据生成了一个数字“指纹”。百度搜索 MySQL ,进入官网下载 ,会经常发现有 sha1 , sha512 , 这些都是数字摘要。// 原文 String input = "baizhan";// 算法 String algorithm = "MD5";

2023-05-17 17:13:37 1983

原创 认识Redis 以及 Redis常见问题(缓存穿透、缓存雪崩、缓存击穿、热key\大key、数据不一致等)

布隆过滤器,它是一种概率型数据结构,用于判断一个元素是否在集合中。当布隆过滤器说,某个数据存在时,这个数据可能不存在;当布隆过滤器说,某个数据不存在时,那么这个数据一定不存在。

2023-03-17 14:55:19 729

原创 Java经典面试题——对比 Vector、ArrayList、LinkedList 有何区别?

迭代器只会调用一次 node(int) 方法,在执行 list.iterator() 的时候:先调用 AbstractSequentialList 类的 iterator() 方法,再调用 AbstractList 类的 listIterator() 方法,再调用 LinkedList 类的 listIterator(int) 方法,如下图所示。这三者都是实现集合框架中的 List ,也就是所谓的有序集合,因此具体功能也比较近似,比如都提供按照位置进行定位、添加或者删除的操作,都提供迭代器以遍历其内容等。

2023-03-09 14:51:10 917

原创 Java经典面试题—— int 和 Integer 有什么区别?谈谈 Integer 的值缓存范围

我们知道 Java 的对象都是引用类型,如果是一个原始数据类型数组,它在内存里是一段连续的内存,而对象数组则不然,数据存储的是引用,对象往往是分散地存储在堆的不同位置。这种设计虽然带来了极大灵活性,但是也导致了数据操作的低效,尤其是无法充分利用现代 CPU 缓存机制。原则上,建议避免无意中的装箱、拆箱行为,尤其是在性能敏感的场合,创建 10 万个 Java 对象和 10 万个整数的开销可不是一个数量级的,不管是内存使用还是处理速度,光是对象头的空间占用就已经是数量级的差距了。,也就是生成的字节码是一致的。

2023-03-06 15:07:01 1665

原创 Java经典面试题——谈谈 Java 反射机制,动态代理是基于什么原理?

使用 jdk 的反射机制,创建对象的能力, 创建的是代理类的对象。而不用你创建类文件。不用写java文件。动态:在程序执行时,调用jdk提供的方法才能创建代理类的对象。jdk动态代理,必须有接口,目标类必须实现接口, 没有接口时,需要使用cglib动态代理。

2023-03-04 11:33:50 747

原创 Java经典面试题——Exception 和 Error 有什么区别?

不检查异常就是所谓的运行时异常,类似 NullPointerException、ArrayIndexOutOfBoundsException 之类,通常是可以编码避免的逻辑错误,具体根据需要来判断是否需要捕获,并不会在编译期强制要求。Exception 和 Error 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。

2023-03-03 16:25:11 85

原创 Java经典面试题——谈谈 final、finally、finalize 有什么不同?

缓存:final 配合 static 关键字提高了代码性能,JVM和Java应用都会缓存 final 变量。同步:final 变量或对象是只读的,可以安全的在多线程环境下进行共享,而不需要额外的同步开销。内联:使用 final 关键字,JVM会显式地主动对方法、变量及类进行内联优化。

2023-03-03 15:20:54 490

原创 Java经典面试题——String、StringBuffer、StringBuilder有什么区别?

StringBuffer本质是一个线程安全的可修改字符序列,它保证了线程安全,也随之带来了额外的性能开销,所以除非有线程安全的需要,不然还是推荐使用它的后继者,也就是StringBuilder。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。count 是一个 int 类型的变量,表示字符序列的长度。随着字符串的拼接,value 数组的长度会不断增加,因此在 StringBuilder 对象的实现中,value 数组的长度是可以动态扩展的,就像ArrayList那样。

2023-03-02 14:46:07 388

原创 Python自动化办公【自动组织文件】

在很多时候,为了避免误删文件,在删除文件时都不会将文件真正删除,而是制造出放入垃圾桶的效果,放入垃圾桶的文件经过一段时间后再由其他脚本将其真正删除,这样我们在误删文件后,就可以从垃圾桶中将文件恢复。有时需要对某个目录中的所有文件进行监控,当目录本身或目录中的文件发生改变时,程序需要做出相应的操作,例如,程序依赖于某些配置文件,当配置文件改变时,在不重启程序的情况下载入文件中的新内容。在很多时候,我们需要处理具有特定格式的文件,需要以二进制形式将文件内容读入,然后根据该文件的格式规则进行解析。......

2022-08-17 16:46:09 531

原创 Python自动化办公【PDF文件自动化】

PDF 文件可以分为可编辑型PDF 文件与扫描型PDF 文件,内容可以复制,是可编辑型PDF文件,反之则是扫描型PDF 文件。简单理解扫描型PDF文件是由一张张图像构建而成。

2022-08-15 17:10:39 1330

原创 Python办公自动化【Word】

在Python中,可以使用为了避免歧义,接下来文章中Word表示Word软件本身,Word文档表示Word软件中的文档。

2022-07-29 15:32:50 2949 2

原创 Python自动化办公【Excel】

使用Excel自动化处理,将会用到Python第三方库,所以我们需要提前通过来进行安装。安装Python第三方库的命令如下:这些第三方库的主要功能是对Excel表格进行不同的操作,其中会涉及一些重叠的功能,如多个第三方库都有对Excel工作簿进行读写的功能。之所以要介绍多个第三个库,主要原因在于不同第三方库的设计理念不同,因此不同的第三方库有其相应的特性与缺陷,只有多个第三方库配合使用,互补各自的缺陷,我们才可以完美地控制Excel表格。为了避免歧义,下面使用Excel表示Excel软件本身,使用工作簿表

2022-07-13 09:12:58 3570 3

原创 JAVA基础深化和提高【下】

IO流主要内容IO 简介IO 流入门案例File 类的使用常用流对象Apache IO 包一、IO简介1 什么是IO对于任何程序设计而言,输入输出(Input/Output)系统都是非常核心的功能。程序运行需要数据,数据的获取往往需要跟外部系统进行通信,外部系统可能是文件、数据库、其他程序、网络、IO设备等等。外部系统比较复杂多变,那么我们有必要通过某种手段进行抽象、屏蔽外部的差异,从而实现更加便捷的编程。输入(Input)指的是:可以让程序外部系统获得数据(核心含义是“读”,读取外部数

2022-03-17 15:26:05 942

原创 诱人的TypeScript

TypeScript介绍:微软推出,JavaScript 的超集,其目的是为了更好的编写JavaScript,实际上最终运行在浏览器当中的仍然是JavaScript官网:https://www.typescriptlang.org/中文网:https://www.tslang.cn/docs/handbook/typescript-in-5-minutes.html【版本更新可能会比官网慢一些,版本会比较低】TypeScript所应用于的框架:Vue 、 React 、 AngularTS的优点

2022-03-17 11:23:52 132

原创 智能电话本项目

一、项目介绍1 项目描述该项目是用于日常生活中记录联系人信息的一款智能小工具。实现了对联系人的姓名、年龄、性别、电话号码、住址的添加以及修改、查找、删除、排序等功能。该项目是以windows控制台为运行平台,所有的操作都应在控制台上进行。编写目的通过该项目可以对以往所学过的知识点进行统一的复习,将平时所学的内容综合到一起并运用到实际的项目中。该项目能够充分的体现出一些简单的业务流程处理,能够使同学们掌握基本的业务流程处理。进一步理解什么事面向对象设计()OOD:Object Oriented

2022-02-23 14:05:45 168

原创 JAVA 基础深化和提高【中】

数据结构主要内容:数据结构简介线性结构树形结构数据结构简介1 什么是数据结构简单地说,数据结构是以某种特定的布局方式存储数据的容器,这种"布局方式"决定了数据结构对于某些操作是高效的,而对于其他操作则是低效的.所以我们需要理解各种数据结构,才能在处理实际问题时选取最合适的数据结构。数据结构=逻辑结构+物理结构(顺序、链式、索引、散列)逻辑结构:数据元素间抽象化的相互关系物理结构:(存储结构),在计算机存储器中的存储形式2 数据结构逻辑分类数据结构从逻辑上划分为三种基本类型:2.1线

2022-02-21 12:23:31 183

原创 JAVA 基础深化和提高【上】

异常机制导引问题工作中,程序遇到的情况不可能完美。比如:程序要打开某个文件,这个文件可能不存在或者文件格式不对;程序在运行着,但是内存或硬盘可能满了等等。软件程序在运行过程中,非常可能遇到刚刚提到的这些问题,我们称之为异常,英文是:Exception,意思是例外。遇到这些例外情况,或者叫异常,我们怎么让写的程序做出合理的处理,安全的退出,而不至于程序崩溃呢?我们这里就要讲解这些问题。如果我们要拷贝一个文件,在没有异常机制的情况下,我们需要考虑各种异常情况,伪代码如下:【示例】伪代码:使用 i

2022-02-19 10:51:05 726

原创 前后端交互

服务器网络相关知识网站分类静态网站动态网站静态网站技术:HTML + CSS + JavaScript + jQuery特点:网页内容是固定,数据是静态的,可维护性差动态网站技术:HTML + CSS + JavaScript + jQuery + 前后端交互 + 服务器特点:数据是可变的,数据是动态获取的,通过前后端交互从服务器获取数据服务器常用语言:Java、Python、PHP(本套课程要了解的知识)前后端的关系(客户端和服务器端)服务器端是为客户端服务的,客户端就

2022-02-15 11:22:12 3140 1

原创 PHP、数据库编程模块:PHP、数据库编程与设计

PHP基础1.php简介2.php概述与名词解释3.php常见数据类型4.php运算符5.php流程控制语句6.php函数7.php类与对象8.php会话session与缓存cookie(扩展)PHP简介PHP,即“PHP: Hypertext Preprocessor”,是一种被广泛应用的开源通用脚本语言,尤其适用于 Web 开发并可嵌入 HTML 中去。它的语法利用了 C、Java 和 Perl,易于学习。该语言的主要目标是允许 web 开发人员快速编写动态生成的 web 页面,但

2022-02-07 14:42:07 1292

原创 Http服务与Ajax模块

什么是AjaxAjax的技术的产生Ajax被认为是(Asynchronous JavaScript and XML的缩写)。现在,允许浏览器与服务器通信而无须刷新当前页面的技术 都被叫做Ajax.“Ajax”这个名字是在2005年2月,Adaptive Path的Jesse James Garrett在他的文章Ajax:A New Approach to Web Application中创造。而Ajax这项技术,是 Google 在Google Labs发布Google Maps和Google Su

2022-02-07 10:30:14 813

原创 BootStrap框架模块:BootStrap4实战

BootStrap4实战微票儿 (opens new window)本项目是由BootStrap3升级到BootStrap4,笔者心得是,如果没有必须要求,最好不要升级。如果是新项目在3和4之间做选择。建议使用4版本。1.1 项目实战一全局公共CSS文件/* 导航 */.navbar-brand{ padding: 0 15px; height: 70px;}/* banner */.banner{ /* height: 500px; */ padding

2022-01-14 14:18:51 1434

原创 BootStrap框架模块:BootStrap4组件

BootStrap4组件1.1 BootStrap组件部分一警告提示框(Alert)警告框组件通过提供一些灵活的预定义消息,为常见的用户动作提供常见的上下反馈消息和提示。 警报是一组颜色控件(共八个颜色样式),可用于任何长度的文本,以及可选的关闭按钮,系统提供8个可用的正确的样式(如,.alert-success),如你还可以使用jQuery插件方法来解除内联元素。<div class="alert alert-primary" role="alert"> A simple prim

2022-01-14 14:18:35 1825

原创 BootStrap框架模块:BootStrap4基础

BootStrap简介Bootstrap 是全球最受欢迎的前端开源工具库,它支持 Sass 变量和 mixin、响应式栅格系统、自带大量组件和众多强大的 JavaScript 插件。基于 Bootstrap 提供的强大功能,能够让你快速设计并自定义你的网站。利用 BootstrapCDN 和一个最简模板快速上手 Bootstrap。Bootstrap 是全球最流行的前端框架,用于构建响应式、移动设备优先的 WEB 站点。BootStrap中文官网第一章 BootStrap4基础下载 Bootstr

2022-01-14 14:06:28 4821

原创 jQuery:源码与扩展

源码与扩展源码jQuery有很多设计是⾮常优秀的The Write Less,Do More(写更少,做更多),⽆疑是JQuery的核⼼理念,简洁的API、优雅的链式、强⼤查询与便捷的操作。经典细节1_⽴即执⾏函数(function(global, factory){ ...})(typeof window !== "undefined" ? window : this, function( window,noGlobal(){...});Q:采⽤⽴即执⾏函数,这样做,有什么好处呢?A

2022-01-13 11:34:11 196

原创 jQuery:Swiper

Swiper开源、免费强大的触摸滑动插件 官网地址Swiper 使⽤⽅法首先加载插件,需要用到的文件有swiper-bundle.min.js和swiper-bundle.min.css⽂件,不同Swiper版本用到的文件名略有不同。可下载Swiper文件或使用CDN。<!DOCTYPE html><html><head> ... <link rel="stylesheet" href="dist/css/swiper-bundle.min.cs

2022-01-13 11:33:27 2833

原创 jQuery:应用

jQuery应用菜单功能<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> &l

2022-01-13 11:32:42 112

原创 jQuery:基础知识

jQuery基础知识jQuery简介jQuery是一个高效、精简并且功能丰富的JavaScript工具库。它提供的API易于使用并兼容众多浏览器,这让诸如HTML文档遍历和操作、事件处理、动画和Ajax操作更加简单。jQuery版本说明jQuery分为三个⼤版本:1.x 2.x 3.x1.x 版本兼容ie678,使⽤最为⼴泛的,官⽅只做BUG维护,功能不再新增。因此⼀般项⽬来说,使⽤1.x版本就可以了,最终版本:1.12.4 (2016年5⽉20⽇)2.x 版本不兼容ie678,很少有⼈使⽤

2022-01-13 11:25:34 178

原创 JavaScript:编程风格

编程风格(上)“编程风格”(programming style)指的是编写代码的样式规则。不同的程序员,往往有不同的编程风格。有人说,编译器的规范叫做“语法规则”(grammar),这是程序员必须遵守的;而编译器忽略的部分,就叫“编程风格”(programming style)好的编程风格有助于写出质量更高、错误更少、更易于维护的程序。所以,编程风格的选择要考虑如何尽量使代码清晰易读、减少出错缩进行首的空格和Tab键,都可以产生代码缩进效果(indent)Tab键可以节省击键次数,但不同的文本

2022-01-13 09:04:12 222

原创 JavaScript:算法与数据

排序之冒泡排序比较相邻的两个元素,如果前一个比后一个大,则交换位置比较完第一轮的时候,最后一个元素是最大的元素这时候最后一个元素是最大的,所以最后一个元素就不需要参与比较大小function sort(arr) { for (var i = 0; i < arr.length-1; i++) { for (var j = 0; j < arr.length - 1 -i; j++) { // 相邻元素两两对比,元素交换,大的元素交

2022-01-12 16:26:36 175

原创 JavaScript:正则对象

正则表达式基础正则表达式(regular expression)用来按照“给定模式”匹配文本。比如,正则表达式给出一个 Email 地址的模式,然后用它来确定一个字符串是否为 Email 地址。新建正则表达式有两种方法。一种是使用字面量,以斜杠表示开始和结束var regex = /xyz/;另一种是使用RegExp构造函数var regex = new RegExp('xyz');正则执行方法正则的执行的方法主要有两种,一种是 test() 方法,另一种是 exec() 方法test(

2022-01-12 16:25:46 960

原创 JavaScript:面向对象编程

面向对象简介面向对象编程(Object Oriented Programming,缩写为 OOP)是目前主流的编程范式为什么要使用面向对象《大话设计模式》中大鸟给小菜讲的故事非常经典:“话说三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大悦,于是大宴众文武,在酒席间,曹操诗性大发,不觉吟道:‘喝酒唱歌,人生真爽……’众文武齐呼:‘丞相好诗!’于是一臣子速命印刷工匠刻版印刷,以便流传天下。”“样张出来给曹操一看,曹操感觉不妥,说道:‘喝与唱,此话

2022-01-12 16:04:27 447

原创 JavaScript:浏览器环境概述(BOM)

浏览器环境概述(BOM)JavaScript是浏览器的内置脚本语言,一旦网页内嵌了JavaScript脚本,浏览器加载网页,就会去执行脚本,从而达到操作浏览器的目的,实现网页的各种动态效果代码嵌入网页的方法<script> 元素直接嵌入代码。<script> var x = 1 + 5; console.log(x);</script><script> 标签加载外部脚本<scriptsrc="https://www.examp

2022-01-11 15:00:31 589

原创 JavaScript:DOM模型

DOM概述DOM 是 JavaScript 操作网页的接口,全称为“文档对象模型”(Document Object Model)。它的作用是将网页转为一个JavaScript 对象,从而可以用脚本进行各种操作(比如对元素增删内容)浏览器会根据 DOM 模型,将结构化文档HTML解析成一系列的节点,再由这些节点组成一个树状结构(DOM Tree)。所有的节点和最终的树状结构,都有规范的对外接口DOM 只是一个接口规范,可以用各种语言实现。所以严格地说,DOM 不是 JavaScript 语法的一部分,但

2022-01-11 14:55:48 1139

原创 JavaScript:Math与Date

Math对象_静态属性Math是 JavaScript 的原生对象,提供各种数学功能。该对象不是构造函数,不能生成实例,所有的属性和方法都必须在Math对象上调用Math对象的静态属性,提供以下一些数学常数Math.E:常数e。Math.LN2:2 的自然对数。Math.LN10:10 的自然对数。Math.LOG2E:以 2 为底的e的对数。Math.LOG10E:以 10 为底的e的对数。Math.PI:常数 PI。Math.SQRT1_2:0.5 的平方根。Math.SQRT2

2022-01-10 14:32:29 472

原创 JavaScript:函数与对象

函数概述函数是一段可以反复调用的代码块函数的声明JavaScript 有三种声明函数的方法function 命令: function命令声明的代码区块,就是一个函数。function命令后面是函数名,函数名后面是一对圆括号,里面是传入函数的参数。函数体放在大括号里面。function print(s) { console.log(s);}函数表达式 除了用function命令声明函数,还可以采用变量赋值的写法var print = function(s) { console

2022-01-10 11:44:44 547

原创 JavaScript:字符串与数组

字符串字符串就是零个或多个排在一起的字符,放在单引号或双引号之中'itbaizhan'"itbaizhan"单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号'key = "value"'"It's a long itbaizhan"如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号字符串内部使用双引号,也是如此'Did she say \'Hello\'?'// "Did she say 'Hello'?""Did s

2022-01-06 11:39:09 1408

空空如也

空空如也

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

TA关注的人

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