- 博客(274)
- 收藏
- 关注
原创 CSS常用属性
默认情况下background-image属性放置在元素的左上角,如果图像不够大的话会在垂直和水平方向平铺图像,如果图像大小超过元素大小从图像的左上角显示元素大小的那部分。background-image、background-repeat、background-position 其中background-size单独书写。可以设置的属性(按顺序): list-style-type, list-style-position, list-style-image。能否管理文字的大小,在网页设计中是非常重要的。
2024-09-25 21:03:51
1217
原创 CSS基础
CSS(Cascading Style Sheets)层叠样式表,又叫级联样式表,简称样式表CSS文件后缀名为.cssCSS用于HTML文档中元素样式的定义。
2024-09-25 16:51:24
1108
原创 HTML5新增高级元素
HTML5未出来之前,在线的音频和视频都是借助Flash或者第三方工具实现的,现在HTML5也支持了这方面的功能。在一个支持HTML5的浏览器中,不需要安装任何插件就能播放音频和视频。标签允许您规定可替换的视频/音频文件供浏览器根据它对媒体类型或者编解码器的支持进行选择。但是这样的布局方式不仅使我们的文档结构不够清晰,而且。标签的一个比较典型的应用就是在搜索结果中向用户高亮显示搜索关键词。用于描述文档或文档的某个部分的细节,类似于下拉列表。主要应用在布局上,作为布局的每个区域的容器。定义可选数据的列表。
2024-09-24 23:30:38
609
原创 HTML中实体字符与元素分类
在HTML5中,元素不再按照这种⽅式来区分, 而是按照内容模型来区分,分为元数据型(metadata content)、区块型(sectioning content)、标题型(heading content)、文档流型(flow content)、语句型(phrasing content)、内嵌型(embedded content)、交互型 (interactive content)。div、form、h1~h6、hr、p、table、ul、等。a、b、em、i、span、strong等。
2024-09-24 22:23:32
966
原创 HTML5表单元素、新增类型、新增属性
表单在 Web 网页中用来给用户填写信息,从而能采用户信息,使网页具有交互的功能。所有的用户输入内容的地方都用表单来写,如登录注册、搜索框表单是由容器和控件组成的,一个表单一般应该包含用户填写信息的输入框,提交按钮等,这些输入框,按钮叫做控件,表单就是容器,它能够容纳各种各样的控件
2024-09-24 22:10:03
1520
原创 Python 并发编程
同步和异步强调的是消息通信机制 (synchronous communication/ asynchronous communication)。同步(synchronous):A调用B,等待B返回结果后,A继续执行异步(asynchronous ):A调用B,A继续执行,不等待B返回结果;B有结果了,通知A,A再做处理。高淇买一本书《Python实战笔记》。书店老板说:等三分钟啊,我帮你查查。高淇等一小时老板说,找到书了,发给你高淇买一本电子书《Python实战笔记》。
2024-09-24 21:05:50
1059
原创 HTML5基础元素
自定义列表不仅仅是一列项目,而是项目及其注释的组合。自定义列表以标签开始。每个自定义列表项以开始。每个自定义列表项的定义以开始。
2024-09-22 23:48:01
949
原创 ArrayBlockingQueue基本使用及其生产者、消费者方法实现原理解析
在初始化的时候,必须指定当前队列的长度。因为是基于数组实现的队列结构,数组长度不可变,必须提前设置数组长度信息。
2024-06-25 19:34:16
488
原创 Python全局解释器锁GIL问题
⚠️GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念,同样一段代码可以通过CPython,PyPy,Psyco等不同的Python执行环境来执行,就没有GIL的问题。Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制,Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。不好意思,同一时间执行的线程只有一个线程,它就是这个样子的。
2024-06-23 22:25:20
301
原创 Golang执行流程及语法注意事项
如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行如果我们是直接go run go源代码,那么如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行。go run运行时间明显要比第一种方式 长一点点。
2024-06-21 23:01:59
292
原创 异步编程CompletableFuture应用&源码分析
平时多线程开发一般就是使用Runnable,Callable,Thread,FutureTask,ThreadPoolExecutor这些内容和并发编程息息相关。相对来对来说成本都不高,多多使用是可以熟悉这些内容。这些内容组合在一起去解决一些并发编程的问题时,很多时候没有办法很方便的去完成异步编程的操作。Thread + Runnable:执行异步任务,但是没有返回结果Thread + Callable + FutureTask:完整一个可以有返回结果的异步任务上述的方式都是有一定的局限性的。
2024-06-06 09:03:36
1095
原创 异步编程FutureTask应用&源码分析
1.1 FutureTask介绍FutureTask是一个可以取消异步任务的类。FutureTask对Future做的一个基本实现。可以调用方法区开始和取消一个任务。一般是配合Callable去使用。异步任务启动之后,可以获取一个绑定当前异步任务的FutureTask。可以基于FutureTask的方法去取消任务,查看任务是否结果,以及获取任务的返回结果。FutureTask内部的整体结构中,实现了RunnableFuture的接口,这个接口又继承了Runnable, Future这个两个接口。
2024-06-05 23:24:38
442
原创 HTML5简介与基础骨架
HTML5是用来描述网页的一种语言,被称为超文本标记语言。用HTML5编写的文件,后缀以.html结尾HTML是一种标记语言,标记语言是一套标记标签。
2024-03-06 22:53:24
443
原创 Python 多个装饰器_执行顺序的深刻剖析
装饰器函数的执行顺序是分为(被装饰函数)定义阶段和(被装饰函数)执行阶段的,装饰器函数在被装饰函数定义好后立即执行。有时候,我们需要多个装饰器修饰一个函数。比如:需要增加日志功能、增加执行效率测试功能。【示例】增加日志和执行计时功能的装饰器。【示例】多个装饰器执行顺序。
2024-03-06 21:30:56
509
原创 Python 装饰器深入剖析_装饰器的写法
装饰器本质上是一个Python函数(其实就是闭包),它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。装饰器用于有以下场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。v4.0版本解决,装饰器。
2024-03-06 21:16:02
457
原创 Python 函数式编程核心(高阶函数、闭包等)刨析
排序算法,排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较如果是自定义对象呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。通常规定,对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1,这样,排序算法就不用关心具体的比较过程,而是根据比较结果直接排序。【示例】sorted对list进行排序print("升序排列:",sorter1)
2024-03-05 23:02:22
1033
原创 Python 包的概念和创建包导入包
当一个项目中有很多个模块时,需要再进行组织。我们将功能类似的模块放到一起,形成了“包”。本质上,“包”就是一个必须有的文件夹。典型结构如下:包下面可以包含“模块(module)”,也可以再包含“子包(subpackage)”。就像文件夹下面可以有文件,也可以有子文件夹一样。上图中,aaa。可以看到每个包里面都有文件。
2024-03-04 23:18:47
419
原创 Python import加载底层原理_importlib实现动态导入
动态导入import语句本质上就是调用内置函数,我们可以通过它实现动态导入。给动态传递不同的的参数值,就能导入不同的模块【示例】使用动态导入指定的模块注意:一般不建议我们自行使用导入,其行为在python2和python3中有差异,会导致意外错误。如果需要动态导入可以使用importlib模块。
2024-03-04 23:15:22
618
原创 Python 模块导入_import和from_import详解和区别
模块化设计的好处之一就是“代码复用性高”。写好的模块可以被反复调用,重复使用。模块的导入就是“在本模块中使用其他模块”。
2024-03-04 23:09:25
552
原创 Python 模块化编程的流程_设计和实现分离的思想
API(Application Programming Interface 应用程序编程接口)是用于描述模块中提供的函数和类的功能描述和使用方式描述。模块化编程中,首先设计的就是模块的API(即要实现的功能描述),然后开始编码实现API中描述的功能。可以通过help(模块名)查看模块的API。我们可以在模块的第一行增加一个文档字符串,用于描述模块的相关功能。我们可以根据这个特点,将模块源代码文件中的测试代码进行独立的处理。我们可以根据这个特点,将模块源代码文件中的测试代码进行独立的处理。
2024-03-04 22:38:13
472
原创 Python 模块化编程理念_什么是模块_哲学思想
py“量变引起质变”是哲学中一个重要的理论。量变为什么会引起质变呢?本质上理解,随着数量的增加,管理方式会发生本质的变化;旧的管理方式完全不适合,必须采用新的管理方式。❤️大家可以清晰的看到这发展的流程,核心的哲学思想就是“量变引起质变”、“物以类聚”。同样的思路,在企业管理、人的管理中思路完全一致。大家可以举一反三。
2024-03-04 22:28:09
400
原创 Scrapy下载中间件介绍及UserAgent_代理_selenium的使用
下载中间件是Scrapy请求/响应处理的钩子框架。这是一个轻、低层次的应用。通过可下载中间件,可以处理和的数据。
2024-03-03 16:19:21
1333
原创 Scrapy FormRequest对象的使用
FormRequest是Request的扩展类,具体常用的功能如下:请求时,携带参数,如表单数据从Response中获取表单的数据FormRequest类可以是:增加了新的构造函数的参数formdata。其余的参数与Request类相同.返回一个新FormRequest对象,其中的表单字段值已预先填充在给定响应中包含的HTML 元素中.
2024-03-03 15:41:35
1191
原创 Scrapy CrawlSpider的介绍
在Scrapy中Spider是所有爬虫的基类,而CrawSpiders就是Spider的派生类。适用于先爬取start_url列表中的网页,再从爬取的网页中获取link并继续爬取的工作。运行图如下。
2024-03-03 14:59:40
375
原创 Scrapy ImagePipeline保存图片和自定义
问题文件名不友好存储图片URL的参数名称与类型太固定解决方案自定义ImagePipeline,扩展继承实现方法发送请求,下载图片转发文件名实现修改文件名与保存路径。
2024-03-03 14:03:22
678
原创 Scrapy数据的提取
Scrapy有自己的数据提取机制。它们被称为选择器。我们可以通过使用的选择器re、xpath、css提取数据不用再与Xpath,BS4。
2024-03-03 13:14:03
439
原创 Scrapy的启动方式介绍
Scrapy启动的方式有多种方式:Scrapy命令运行运行环境运行Python脚本运行环境运行程序之前,要确认网站是否允许爬取robots.txt文件。
2024-03-02 23:57:14
1118
原创 Scrapy的介绍与安装
Scrapy 是一个用于抓取网站和提取结构化数据的应用程序框架,可用于各种有用的应用程序,如数据挖掘、信息处理或历史存档。尽管 Scrapy 最初是为网络抓取而设计的,但它也可用于使用 API提取数据或用作通用网络爬虫。
2024-03-02 21:37:13
868
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人