自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【python】用tk做一个简单的商品搜索更新展示的桌面应用

这是一个简单的通过表格中的关键词 ,快速查找对应的商品,搜索+更新数据表的一个小的桌面应用。

2024-10-17 11:28:25 174

原创 python集合的定义与操作

print(f"b的元素2、3在集合a中存在,所以2、3被删除,集合b的值改变:{b},集合a不变:{a}")print(f"a的元素1在集合b中存在,所以1被删除,集合a的值改变:{a},集合b不变:{b}")print(f"新集合的值{new_ele}")#{1, 2, 3, 4, 5}print(f"比较出来的值,a有b没有的{new_ele}")#{2,3}print(f"取出的元素是{ele},取出后集合为{new_set}")print(f"原有两个集合不变,集合a:{a},集合b:{b}")

2024-10-09 18:45:14 483

原创 如何理解React State不可变性的原则

总的来说,React State 不可变性原则要求开发者遵循一种更安全、可预测和高效的状态管理方式,通过创建新的状态副本来更新状态,避免直接修改状态值,从而确保组件状态的一致性和可控性。要更新组件的状态,应该使用 setState 方法,该方法接受一个新的状态对象或一个返回新状态对象的函数作为参数,React 会根据新状态对象的变化来重新渲染组件。为了确保状态的不可变性,更新状态的函数应该是纯函数,即函数的返回值仅取决于其输入参数,不会修改外部状态,这样可以更容易追踪状态变化。

2024-10-07 22:40:55 269

原创 React 的生命周期方法有哪些?

static getDerivedStateFromProps(): 从 props 中派生 state,在组件实例化和接收新 props 时调用。static getDerivedStateFromError(): 在子组件抛出错误时调用,用于更新 state 以渲染备用 UI。shouldComponentUpdate(): 决定是否重新渲染组件,在接收新 props 或 state 时调用。constructor(): 构造函数,在组件被创建时调用,用于初始化 state 和绑定方法。

2024-10-06 22:43:21 294

原创 React和Vue.js的相似性和差异性是什么?

React 和 Vue.js 都使用虚拟 DOM 技术来提高性能,通过比较虚拟 DOM 的差异来最小化 DOM 操作,从而提高页面渲染效率。React 和 Vue.js 都支持组件化开发,允许开发者将界面拆分为独立的组件,提高代码的复用性和可维护性。React 和 Vue.js 都拥有庞大的生态系统,有丰富的第三方库和插件可供开发者使用,以满足不同的需求。React 和 Vue.js 都支持响应式数据绑定,当数据发生变化时,视图会自动更新以反映最新的数据状态。

2024-10-05 22:16:47 571

原创 介绍一款开源的 Modern GUI PySide6 / PyQt6的使用

发现替换了没有生效,就输入以下的命令:pyside6-rcc resources.qrc -o resources_rc.py。执行 pyinstaller -F .\main.py或者 pyinstaller -D .\main.py。教大家修改应用的标题和描述,打开main.py,找到如下代码就可以修改成自己想要的信息啦~就生成了这个文件,把这个文件移动到modules目录下替换就好了。现在想改改图标 ,找到对应的位置,替换为自己的图片。再次运行main ,发现图片就换成功啦。

2024-10-04 13:34:26 609

原创 讲讲Webpack的打包过程/打包原理/构建流程?

在整个打包过程中,Webpack会根据配置文件中的规则和插件对项目中的各种资源文件进行处理和优化,最终生成可供浏览器加载的静态资源文件。这种模块化的打包方式使得前端项目更易于管理和维护,同时也提高了项目的性能和加载速度。

2024-10-03 19:28:55 480

原创 python猫眼滑块验证+分页数据采集成果演示

最近在学习python ,这个爬虫脚本是关于猫眼电影的,因为爬的时候存在验证码弹窗,所以额外写了一个验证码滑块的脚本,在实现自动化完成滑块的验证,和分页数据的采集。你们对这个成果打几分?猫眼滑块验证 +分页数据采集python。

2024-09-28 20:09:00 298

原创 【flex-shrink】计算 flex弹性盒子的子元素的宽度大小

因为我们flex-basis用的百分比 ,首先先计算各占多少像素。元素二:80*3*(360/1200)=72。元素一:80*1*(120/1200)=8。元素一:0.3*400=120。元素二:0.9*400=360。所以他们两者总大小为:480。溢出部分:480-400=80。元素二:360-72=288。元素一:120-8=118。

2024-09-20 15:39:06 403

原创 【flex-grow】计算 flex弹性盒子的子元素的宽度大小

【代码】flex弹性盒子的子元素的宽度大小计算。

2024-09-20 13:01:50 378

原创 [解决问题]Notice: not found environment variable ‘NODE_HOME‘, please use ‘gnvm reg noderoot‘.

这样我们的gnvm 就安装好了,如果还是出现那个报错。gnvm install 16.20.2 //安装对应的版本。现在就可以使用这些命令了,安装你想要的node版本了。执行提示的操作:gnvm reg noderoot。gnvm use 16.20.2 //使用该版本。以上错误是环境变量没有配置的缘故。现在开始你的编程之旅吧~存在node 安装gnvm。

2024-09-13 07:09:28 182

原创 【python】数据容器序列的切片操作

从索引4到1 不含索引1 步长为-1。#从索引4到1 不含索引1 步长为-1。#从索引4到1 不含索引1 步长为-1。#切片从头到尾 切片 步长为1可省略。#从索引1到4 不含索引4 步长为1。#切片从头到尾 切片 步长为1可省略。#从索引1到4 不含索引4 步长为1。#切片从头到尾 切片 步长为1可省略。#从索引1到4 不含索引4 步长为1。#从尾到头 步长为-1 倒序。#从尾到头 步长为-1 倒序。#从尾到头 步长为-1 倒序。#字符串序列的切片操作。#列表序列的切片操作。#元组序列的切片操作。

2024-09-10 22:13:28 455

原创 python 字符串的定义和操作方法

print(f"{strip}截取后的值{new_str},类型为{type(new_str)}")print(f"{strip}替换后{restr}")print(f"去掉首尾空格:{strip}")print(f"去掉wh:{strip2}")print(f"字符y的数量:{num}")# 获取字符串对应索引的值。# 去掉首尾包含wh的字符。#获取对应字符元素的数量。#对应元素所在的索引。

2024-09-07 14:45:03 464

原创 typeof和instanceof的区别是什么?

例如,typeof "hello" 返回 "string",typeof 42 返回 "number"。例如,obj instanceof Array 用于检测 obj 是否是 Array 的实例。因此,typeof 用于检测数据类型,而 instanceof 用于检测对象的原型链关系。instanceof 是一个用于检测对象的原型链的操作符。它用于检测一个对象是否是另一个对象的实例,返回一个布尔值。typeof 是一个操作符,用于检测给定变量的数据类型,返回一个表示该变量类型的字符串。

2024-09-06 21:57:17 235

原创 python 列表定义与常用操作方法

查找元素在列表中的第一次出现的索引。#在对应索引的位置 加某元素。# 列表的常用操作方法。

2024-09-05 22:44:56 193

原创 如何用原生 JS给一个按钮绑定两个 onclick 事件?

在这个示例中,我们首先获取了 id 为 "myButton" 的按钮元素,然后分别定义了两个点击事件处理函数 handleClick1 和 handleClick2。接着,使用 addEventListener 方法为按钮元素分别绑定了这两个点击事件处理函数,当按钮被点击时,会依次执行这两个事件处理函数。这样就实现了给一个按钮绑定两个 onclick 事件的效果。然后,使用 addEventListener 方法为按钮元素添加两个不同的 click 事件监听器,分别执行不同的操作。

2024-09-04 19:23:53 536

原创 【解决方法】vscode python输出控制台出现乱码的解决方案

这样可以指定Python的标准输入、输出和错误流的编码为UTF-8。尝试以上方法中的一种或多种,看看是否能够解决控制台输出乱码的问题。,这样可以指定Python在UTF-8编码下运行,例如。:在运行Python脚本时,可以尝试添加命令行参数。表示Unicode字符串,例如。:在打印中文字符时,可以使用。:在操作系统中设置环境变量。函数,并在字符串前加上。

2024-08-06 23:23:49 392

原创 【解决方法】git clone出现 curl 56 OpenSSL SSL_read: Connection was reset, errno 10054

当我们克隆别人的项目出现以下提示信息时候。输入以下这段命令就好了。

2024-07-30 23:01:34 363

原创 在Webpack中,常见的loader有哪些?

这些是Webpack中一些常见的Loader,它们可以帮助开发者处理不同类型的文件,实现代码转换、优化和静态检查等功能。用于将ES6/ES7等新版本的JavaScript代码转换为向后兼容的旧版本JavaScript代码,以确保在不支持新特性的浏览器中也能正常运行。用于处理CSS文件,将CSS文件转换为模块,并解析CSS文件中的import和url()等语句。用于处理Sass/SCSS样式文件,将Sass/SCSS文件转换为CSS文件。用于处理Less样式文件,将Less文件转换为CSS文件。

2024-07-25 23:12:59 450

原创 Webpack如何配置压缩代码?压缩了什么?

在上面的配置中,我们通过new webpack.optimize.UglifyJsPlugin来实例化UglifyJsPlugin插件,并传入相应的压缩选项。这里设置了一些常见的压缩选项,如去除console语句、去除debugger语句、去除注释等。要配置Webpack来压缩代码,可以使用Webpack提供的UglifyJsPlugin插件。通过配置UglifyJsPlugin,可以有效地压缩JavaScript代码,减小文件体积,提高页面加载速度。去除debugger语句和console语句。

2024-07-24 20:05:07 293

原创 如何理解React State不可变性的原则

总的来说,React State 不可变性原则要求开发者遵循一种更安全、可预测和高效的状态管理方式,通过创建新的状态副本来更新状态,避免直接修改状态值,从而确保组件状态的一致性和可控性。要更新组件的状态,应该使用 setState 方法,该方法接受一个新的状态对象或一个返回新状态对象的函数作为参数,React 会根据新状态对象的变化来重新渲染组件。为了确保状态的不可变性,更新状态的函数应该是纯函数,即函数的返回值仅取决于其输入参数,不会修改外部状态,这样可以更容易追踪状态变化。

2024-07-22 22:48:30 421

原创 vue中hash和history的区别 ?

总的来说,hash 模式适合对浏览器兼容性要求较高的项目,而 history 模式适合对 URL 友好展示和用户体验要求较高的项目。hash 模式的优点是对浏览器的兼容性较好,因为 hash 不会触发页面的重新加载,可以在不支持 HTML5 History API 的浏览器中正常使用。history 模式利用 HTML5 History API 来实现路由,可以更加友好地展示 URL,不包含 # 符号,更符合用户习惯。在实际开发中,可以根据项目的需求和对浏览器兼容性的要求选择合适的路由模式。

2024-07-21 23:28:00 547

原创 JS中null和undefined的判断方法和区别?

在编写代码时,需要根据具体情况来判断和处理这两种特殊值。在 JavaScript 中,null 和 undefined 是两种不同的数据类型,它们之间有一些区别。undefined 表示一个未定义的值,通常表示变量声明但未赋值时的默认值,也可以用来表示函数没有返回值。undefined 是一个全局对象的属性,表示未定义的值,通常用来表示变量未初始化或函数没有返回值。null 表示一个空值或不存在的值,是一个表示“无”的对象,可以被显式赋值。null 是一个特殊的关键字,可以用来显式赋值给变量,表示空值。

2024-07-20 22:08:58 428

原创 讲解js的call、apply和bind区别?

而 bind 是创建一个新函数,并永久地设置函数执行上下文,但不会立即执行函数。apply() 方法接收两个参数,第一个参数是要设置为函数执行上下文的对象,第二个参数是一个数组或类数组对象,包含传递给函数的参数列表。绑定函数会永久地将指定的对象设置为函数执行时的上下文,并在调用时传递给函数的参数前面添加指定的参数。call() 方法调用一个函数,其第一个参数是要设置为函数执行上下文的对象,后续参数是传递给函数的参数列表。bind() 方法不会立即执行函数,而是返回一个新函数,需要在后续调用该函数。

2024-07-18 22:20:00 362

原创 React和Vue.js的相似性和差异性是什么?

React 和 Vue.js 都使用虚拟 DOM 技术来提高性能,通过比较虚拟 DOM 的差异来最小化 DOM 操作,从而提高页面渲染效率。React 和 Vue.js 都支持组件化开发,允许开发者将界面拆分为独立的组件,提高代码的复用性和可维护性。React 和 Vue.js 都拥有庞大的生态系统,有丰富的第三方库和插件可供开发者使用,以满足不同的需求。React 和 Vue.js 都支持响应式数据绑定,当数据发生变化时,视图会自动更新以反映最新的数据状态。

2024-07-17 21:01:28 466

原创 生成式 AI 的发展方向,是 Chat 还是 Agent?

当谈到生成式AI在对话系统(Chat)和自主代理(Agent)领域的发展现状时,可以看到这两个领域都取得了显著的进展,并在各自的技术和应用场景中发挥着重要作用。对话系统(Chat)

2024-07-17 18:39:13 831

原创 React 的生命周期方法有哪些?

需要注意的是,React 17 中已经废弃了一些生命周期方法,如 componentWillMount、componentWillReceiveProps 等。从 props 中派生 state,在组件实例化和接收新 props 时调用。决定是否重新渲染组件,在接收新 props 或 state 时调用。构造函数,在组件被创建时调用,用于初始化 state 和绑定方法。从 props 中派生 state,在接收新 props 时调用。在子组件抛出错误时调用,用于更新 state 以渲染备用 UI。

2024-07-16 18:30:38 438

原创 Vue3中的ref函数

在Vue 3中,ref函数是用来创建一个响应式的基本数据类型的函数。通过ref函数创建的变量会被自动包装成一个响应式对象,当这个变量的值发生变化时,相关的视图会自动更新。通过ref函数,可以方便地创建响应式的基本数据类型,实现数据的双向绑定和视图的自动更新,是Vue 3中非常常用的功能之一。ref函数也可以用于创建对象类型的响应式数据,但需要注意对象内部的属性需要单独使用ref包装才能实现深层响应式。使用ref函数创建的变量是一个包含.value属性的响应式对象,通过.value访问和修改变量的值。

2024-07-15 22:10:25 398

原创 Bootstrap 栅格系统的工作原理?

Bootstrap的栅格系统可以根据不同的屏幕尺寸自动调整列的宽度。每个列(.col)可以占据1到12个列的宽度,通过设置不同的列宽度,可以实现不同屏幕尺寸下的布局。Bootstrap的栅格系统是一种响应式的网格布局系统,用于在不同屏幕尺寸下实现页面布局的自适应。总的来说,Bootstrap的栅格系统通过将页面划分为12列的网格布局,并提供响应式的类来控制布局在不同屏幕尺寸下的表现,从而实现了灵活的网页布局。除了设置列的宽度外,Bootstrap还提供了偏移和间隔的类,用于调整列之间的间距和位置。

2024-07-14 21:46:41 220

原创 CSS 单位中 px、em 和 rem 的区别?

em是相对于父元素字体大小计算的,而rem是相对于根元素字体大小计算的。rem单位不会受到父元素字体大小的影响,更适合用于响应式设计中,可以更方便地控制整个页面的布局。em单位具有继承性,会继承父元素的字体大小,因此在响应式设计中可以使用em单位来实现相对大小。rem是相对长度单位,它是相对于根元素(html元素)的字体大小来计算的。px是相对长度单位,它是相对于显示器屏幕分辨率的一个点的大小。em是相对长度单位,它是相对于父元素的字体大小来计算的。px单位是固定的,不会随着父元素的改变而改变。

2024-07-13 19:41:57 643

原创 开源项目有哪些机遇与挑战?

随着全球经济和科技环境的快速变化,开源软件项目的蓬勃发展成为了开发者社区的热门话题。越来越多的开发者和企业选择参与开源项目,以推动技术创新和实现协作共赢。你如何看待当前开源项目的发展趋势?你在参与开源项目时有哪些经验和收获?:开源项目数量和规模不断增长,涵盖了各种领域和技术。越来越多的开发者和组织选择开源软件作为他们的首选解决方案。:开源社区的参与度和活跃度持续增加,开发者们通过贡献代码、提交问题和参与讨论来共同推动项目的发展。

2024-07-12 20:54:42 526

原创 Vue 组件之间的通信方式

使用 Vuex 管理应用的状态,各个组件可以通过 Vuex 中的 state、mutations、actions 进行通信。使用 Vue 实例的 $emit 方法触发一个自定义事件,然后在需要监听该事件的组件中使用 $on 方法监听事件。父组件通过 props 向子组件传递数据,子组件通过事件($emit)向父组件发送消息。根据具体的场景和需求,可以选择合适的通信方式来实现组件之间的数据传递和消息通信。适用于非父子组件之间的通信,通过事件总线实现组件之间的通信。适用于父组件直接访问子组件的方法或属性。

2024-07-12 20:39:16 314

原创 如何用CSS3画一个三角形?

在这个示例中,我们创建了一个宽度为 0、高度为 0 的元素,并设置了三个边框,分别控制三角形的左斜边、右斜边和底边。通过调整边框的宽度和颜色,可以绘制出不同样式的三角形。要用 CSS3 画一个三角形,可以利用元素的边框和透明边框的特性来实现。这样就可以在页面上展示一个三角形。

2024-07-11 20:27:42 588

原创 Vue2.0和Vue3.0的区别?

总体来说,Vue 3.0 在性能、开发体验和功能扩展方面都有显著的改进,特别是引入了 Composition API 和改进了响应式系统,使得开发者在构建大型应用时能够更加灵活、高效地进行开发。Vue 3.0 引入了 Composition API,这是一个基于函数的 API,使得组件的逻辑可以更好地封装和复用,特别是在处理复杂逻辑和共享代码时更为灵活和清晰。Vue 3.0 的编译器生成的代码更加高效和精简,减少了不必要的 DOM 操作,提高了渲染性能。

2024-07-10 21:07:04 718

原创 vue3的常用 Composition API有哪些?

Vue.js 3.0 引入了 Composition API,作为一种新的组织组件逻辑的方式,相比于传统的 Options API,Composition API 提供了更灵活、更可复用的代码组织方式。reactive():创建一个响应式的对象,返回一个 Proxy 对象,使得整个对象的属性都是响应式的。computed():创建一个计算属性,返回一个响应式的 ref 对象,可以基于其他响应式数据进行计算。ref():创建一个响应式的基本数据类型,返回一个包含响应式数据的对象。

2024-07-09 21:33:08 501

原创 BFC 是什么?

BFC 是块级格式化上下文(Block Formatting Context)的缩写,是 CSS 中一个重要的概念,用于控制块级盒子的布局及浮动元素的交互。BFC 是一个独立的渲染区域,内部的块级盒子会按照特定的规则进行布局,不会影响到外部元素的布局。浮动清除:在 BFC 中,浮动元素的父元素会包裹浮动元素,防止浮动元素溢出到父元素外部。防止文字环绕:在 BFC 中,块级盒子不会围绕浮动元素排列,而是会在浮动元素的下方显示。自适应高度:BFC 可以包含浮动元素,使得父元素的高度能够自适应内部元素的高度。

2024-07-08 22:12:31 499

原创 谈谈CSS3选择器及其优先级

CSS3引入了许多新的选择器,这些选择器可以更精确地选择文档中的元素,从而实现更灵活的样式设计。选择器名称:例如 div > p 选择所有 <p> 元素,作为 <div> 元素的直接子元素。在CSS中,选择器的优先级决定了当多个规则应用到同一个元素时,哪一个规则会被应用。优先级:较高,优先级为 100。优先级:中等,优先级为 10。优先级:中等,优先级为 10。优先级:中等,优先级为 10。优先级:中等,优先级为 10。优先级:较高,优先级为 10。优先级:较低,优先级为 1。优先级:较低,优先级为 0。

2024-07-07 11:28:13 452

原创 常见的块元素、行内元素以及行内块元素,三者有何不同?

总的来说,块级元素会独占一行,行内元素不会独占一行且宽度由内容决定,行内块元素可以设置宽高且不会独占一行。常见的块级元素包括 <div>、<p>、<h1>~<h6>、<ul>、<ol>、<li>、<header>、<footer>、<section> 等。常见的行内元素包括 <span>、<a>、<strong>、<em>、<img>、<br>、<input> 等。常见的行内块元素包括 <img>、<input>、<button> 等。行内元素不会独占一行,相邻的行内元素会在同一行显示,宽度由内容决定。

2024-07-06 20:16:36 249

原创 如何用CSS3画一条0.5px的直线?

来将元素在垂直方向上缩放为原来的一半高度,从而实现看起来像是0.5像素宽的线条。在 CSS 中,实际上无法直接指定 0.5px 的线条粗细,因为 CSS 中的像素单位是最小单位,通常无法表示小数像素。但是,可以通过一些技巧来模拟出看起来像是 0.5px 粗细的线条,例如使用伪元素和缩放等技巧。除了使用伪元素来模拟0.5像素线条之外,还有一种常见的方法是使用 CSS 的 transform 属性来实现。需要注意的是,这种方法是一种近似实现,实际上并没有真正的 0.5px 粗细,而是通过视觉上的伪装来实现。

2024-07-05 18:33:47 566

原创 今天聊聊AI

AI究竟是在帮助开发者还是取代他们?总的来说,AI技术的未来发展将在科技、经济、社会等多个领域产生深远影响,为人类带来更多的便利和机遇,同时也需要我们认真思考和解决相关的伦理和法律问题。:AI工具在自动驾驶领域取得了重大进展,包括感知、决策、路径规划等方面,如特斯拉、Waymo等公司的自动驾驶技术。:AI技术将继续不断创新和突破,如更强大的深度学习模型、更智能的自然语言处理系统等,推动AI技术的发展。:随着AI技术的发展,AI伦理和法律将成为一个重要的议题,如隐私保护、数据安全、社会公平等。

2024-07-05 18:07:49 967

空空如也

空空如也

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

TA关注的人

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