自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Lit】回归 Web 本质的响应式渲染艺术

文章摘要 本文深入探讨了Lit框架的设计哲学与技术实现。文章首先回顾前端发展历程,指出Lit代表了回归Web原生标准的趋势,其核心思想是"只做最必要的事情,让Web标准处理其余部分"。 通过对比原生Custom Elements与Lit的实现方式,展示了Lit如何通过声明式语法简化组件开发:使用static styles实现样式封装,@property装饰器自动处理属性变化,以及html模板标签提供类型安全的模板语法。 重点剖析了@property装饰器的实现原理,揭示其如何完成属性定义

2026-04-09 11:56:54 440

原创 【重构思维】用位运算做权限管理

本文介绍了使用位运算实现高效权限系统的原理与方法。文章首先通过内容管理系统权限控制的案例,指出传统权限管理方式的局限性,进而提出利用二进制位编码权限的思路。详细讲解了如何通过位运算实现权限的添加、检查和移除三大核心功能:使用按位或(|)添加权限,按位与(&)检查权限,配合按位非(~)移除权限。这种位运算权限系统具有存储空间小、运算速度快、扩展性强等优势,特别适合需要频繁检查权限的场景。文章通过JavaScript代码示例,展示了权限常量定义、权限组合运算等实用技巧,为开发者提供了一套高效可靠的权限管

2026-04-07 18:32:18 490

原创 【状态机实战】从 if-else 地狱到优雅的业务逻辑管理

/ 订单状态机配置// 初始状态// 状态定义states: {pending: {description: '待支付',console.log(`[订单${// 订单状态机配置 const orderMachineConfig = {// 初始状态 initialState : 'pending' , // 状态定义 states : {description : '待支付' , onEnter :(ctx) => {

2026-04-03 15:46:58 428

原创 Map 与 WeakMap 深度解析:从内存泄漏到 Vue 3 响应式原理的完整指南

JavaScript 是一门自动管理内存的语言,开发者不需要手动分配和释放内存。这一特性极大地降低了开发门槛,但也让很多开发者忽视了内存管理的重要性。JavaScript 的垃圾回收器(Garbage Collector,简称 GC)会定期扫描内存中的对象,找出那些"不再被使用"的对象,并释放它们占用的内存。那么,如何判断一个对象是否"不再被使用"呢?从"根对象"出发(全局对象、当前执行上下文中的变量等),遍历所有可达的对象,打上"可达"标记。

2026-04-03 11:38:54 460

原创 JavaScript 惰性函数深度解析:从原理到实践的极致性能优化

JavaScript性能优化:惰性函数的高效实践 本文揭示了JavaScript开发中常见的性能陷阱——重复的条件判断,并提出惰性函数作为优化方案。通过函数自我重写的特性,惰性函数在首次执行时检测环境并优化自身,后续调用直接执行精简逻辑,避免了无谓的性能消耗。文章通过事件绑定、单例模式和复杂计算缓存三个实战场景,展示了惰性函数如何提升代码效率。最后指出惰性思想在框架级应用(如路由懒加载)中的广泛价值,为开发者提供了从微观到宏观的性能优化思路。

2026-04-02 16:59:55 584

原创 Pretext:3周28k Star,这个库解决了前端性能的隐形杀手

前端性能优化新思路:Pretext 库解决文本测量引发的性能问题 前端性能优化常聚焦于网络请求和代码优化,但文本测量触发的 Layout Reflow 常被忽视。当频繁调用 getBoundingClientRect() 或读取 offsetHeight 时,浏览器会执行强制同步布局,导致主线程阻塞和页面卡顿。 Pretext 库采用纯 JavaScript 方案解决这一问题。它利用 Canvas 的 measureText API 计算文本宽度,结合换行算法预测高度,完全绕过 DOM 操作。通过分离预处理

2026-04-01 14:53:26 476

原创 【前端面试5】手写Function原型方法

摘要 本文详细介绍了JavaScript中Function原型的三个核心方法(call、apply、bind)的手写实现。首先通过分析官方文档说明其功能差异:call/apply用于显式绑定this并立即执行函数,区别在于参数传递方式;bind则返回绑定this的新函数,支持参数预置。手写实现的关键点包括:1)处理this绑定,使用Symbol防止属性冲突;2)参数传递逻辑;3)边界条件检查。测试验证表明手写版本与原生方法功能一致。最后提及可利用apply实现函数柯里化(参数收集与延迟执行),展示了这些方法

2026-02-05 11:38:23 566

原创 【前端面试4】框架以及TS

摘要 本文整理了11个前端开发面试常见问题及答案,涵盖Vue、React、TypeScript等核心知识点。内容包括:AST抽象语法树的作用和结构、Vue单文件组件(SFC)的优势、SSR服务端渲染原理、Vue2数组响应式监听局限、keep-alive缓存机制、计算属性与监听器的区别、生成器与迭代器的应用场景、TS的infer关键字用法、Vite构建工具原理、Tree Shaking优化方法,以及Math.random()在抽奖系统中的安全隐患及解决方案。这些问题既考察基础概念理解,也涉及实际开发中的性能优

2026-02-04 14:12:26 648

原创 【前端面试3】初中级难度

本文总结了前端开发常见的面试题,重点对比了Vue3和Vue2在响应式原理、编译优化等方面的差异,解析了TypeScript中type和interface的区别,详细介绍了JS的map方法和parseInt陷阱。此外还涵盖了跨页面通信方案、脚本延迟加载方式、Vue模板编译原理、scoped CSS实现机制以及虚拟DOM概念等内容。这些知识点覆盖了前端开发的核心技术栈,包括Vue框架特性、TypeScript类型系统、JavaScript基础及性能优化等方面,对准备中级前端工程师面试具有重要参考价值。

2026-02-03 17:42:08 666

原创 【前端面试2】基础面试(杂项)

本文整理了10个前端开发常见面试题及解析,涵盖CSS布局、Vue特性、JavaScript核心概念等知识点。主要内容包括:Flex布局的flex:1缩写含义、CSS居中方案选择、v-if与v-show的性能差异、nextTick的作用原理、v-for循环中key的使用注意事项、跨域解决方案、数组遍历方法区别、Promise.all的错误处理、数组排序陷阱以及箭头函数返回对象的正确写法。这些题目既考察基础概念,又涉及实际开发中的常见问题处理技巧,适合中级前端工程师复习巩固核心知识。

2026-01-29 17:49:43 676

原创 【前端面试1】基础JS的面试题

本文整理了10个前端面试常见问题及解析,涵盖隐式类型转换、this指向、闭包应用、事件冒泡、变量提升、赋值操作、类型运算、JSON键值、原型链和数组拍平等知识点。通过代码示例和详细解释,展示了如[]==![]返回true、箭头函数this指向、防抖函数实现原理、事件代理技巧、var变量提升特性等核心概念。这些题目既考察JavaScript基础,也涉及实际应用场景,适合前端开发者查漏补缺和面试准备。文章采用问题驱动方式,每个案例都包含代码、运行结果和原理分析,帮助读者深入理解JavaScript特性。

2026-01-28 15:18:07 964

原创 【alova】现代认证架构:双 Token 机制的搭建

本文围绕双 Token 认证机制,结合 Alova 请求库,介绍了一种前端可落地的实现方案。通过短生命周期的 Access Token 进行接口鉴权,在失效返回 401 时,使用独立实例携带 Refresh Token 完成续签,并借助 `methodInstance.send()` 重放原请求。该方案实现简单、职责清晰,在保证安全性的同时兼顾了用户体验。

2026-01-21 08:58:30 1117

原创 【uni-vt】2.使用uni-vt新特性快速接入LLM

《uni-vt框架高效接入LLM实践指南》 本文详细介绍了如何通过uni-vt框架快速集成大语言模型(LLM)。主要内容包括: 环境配置:从源码拉取到项目启动的完整步骤 模型接入:以百度千帆为例,演示API密钥配置和请求体修改 界面定制:提供修改输入框和头像的自定义方案 测试验证:展示实际对话效果和真机测试结果 该框架通过统一接口简化了LLM接入流程,开发者只需关注核心业务逻辑,即可快速实现AI功能集成。文章包含可复用的代码示例,帮助开发者快速上手应用。

2025-08-28 16:10:48 950

原创 [ISITDTU 2019]EasyPHP 1超简单题解,不信你看不会

大佬wp看不懂?来看看我吧。

2025-07-31 22:04:09 849

原创 uni-vt:开箱即用的Vite、Pinia、Mock集成方案

uni-vt是一个基于uniapp+vite5+ts+vue3开发的uniapp快速启动模板。包含(mock、pinia、地图、scss、unocss等)。无需hbuilder x,不管你使用何种工具都可以快速启动。

2025-02-06 00:21:45 1056

原创 【问题解决】uniapp 安装pinia时报错 npm ERR! While resolving: uni-preset-vue@0.0.0

问题解决

2024-08-25 15:31:27 2861 1

原创 react练手项目

最近在学习react,学完之后做的第一个react项目。大部分靠手撕,虽然使用了antd,但是能用的地方都没有使用。其中使用了redux,ant design,classnames,router等。目前差的一点点样式后期会慢慢补齐并不断更新。项目是纯react前端项目,适合练手。用作毕设其它需要自行制作后端。后续有时间的话也会更新gin框架后端。有用的话给一个star吧。

2024-05-22 19:07:29 770 1

原创 #记第一次后端上线

第一次上线后端项目,才疏学浅,有错误之处请多多关照。

2023-04-26 22:00:51 297

原创 [小白向] 配置第一个Java web项目

简单配置Java web,通俗易懂的教程。

2022-07-19 15:15:13 627

原创 一元线性回归(最小二乘法)

这里写自定义目录标题前言实现原理工具准备1, 线性回归最小二乘参数估计使用python计算最小二乘法的线性回归检验前言本次知识来自贾俊平《统计学》第七版,初次学习,如有纰漏,请各位多多包含。诸位之意见笔者会一一听取实现原理通过实验或调查获得测量数据后,可假定-一个函数关系,通过一定的方法确定其各项系数,即求取有关数量之间关系的经验公式从几何上看,就是要选择一条曲线,使之与所获得的数据更好地吻合.因此,求取经验公式的过程也就是曲线拟合的过程.怎样才能正确地获得与实验数据配合的最佳曲线呢?常用的方法有:

2022-04-30 17:06:42 43116

原创 python 3.10更新的一些新特性

@目录IDLE首先最容易看到的变化就是python自带的IDLE:把指示用的指针移动。match-case我们先来看一个Java代码示例(无作用,仅语法):如果是对c或者java等语言有了解的话,应该不难理解,但是,python以前是没有这种语法的,但是在3.10版本之后,python更新了属于自家的match-case语句。来看官方文档怎么说:A match statement takes an expression and compares its value to success

2022-04-06 20:13:47 3002

原创 VS Code配置Java环境(Java17)

VS Code配置Java环境前言Java三大IDE下载地址Java 下载环境变量配置VS Code配置下载插件最后前言Visual Studio Code(简称“VS Code” )是Microsoft在2015年4月30日发布的跨平台源代码编辑器, 可在桌面上运行,并且可用于Windows,macOS和Linux,支持现在很多主流语言(java,python,c/c++,c#,go,php等),做wb等项目,都绕不开vs code,作为一个编译器来说,vs code还很年轻,他的优点在于体积小、速度

2022-02-23 17:03:11 7298 3

原创 python|位运算

python位运算前言位运算左移右移按位或按位与异或取反位运算应用位1的个数汉明距离交替位二进制数找不同二进制求和2的幂附:位运算与其他方法对比前言很久没有写博客了,在2021年的最后时间里,来更新一下2021最后一篇博客,希望看客们万事如意,新的一年快乐顺心。位运算众所周知,程序中的所有数在计算机内存中都是以二进制的形式储存的。然后我们的位运算就是直接对整数在内存中的二进制位进行操作。位运算功能强大,是很多题目的不二之选。(图片来源网络,侵删)位运算基本运算符如图所示,下面来依次实现:左移

2021-12-19 21:09:44 3180 1

原创 python|牛顿迭代

@python牛顿迭代前言前几天刷题时候看到一道题,就是不用任何内置函数与库,实现算一个数的根,第一反应就是二分法(前面文章有介绍,如有需要,请点击此处),后面在一众评论和题解中发现一个方法,叫做牛顿迭代,还蛮有意思的,下面,我们就一起来看一下牛爵爷的方法。牛顿迭代解释牛顿 迭代法 (Newton’s method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是 牛顿 在17世纪提出的一种在 实数 域和 复数 域上近似求解方程的方法。 多数方程不存在求根公式,因

2021-11-21 22:32:45 3385 1

原创 requests和selenium

requests与selenium对比requests1,获取响应头,进行UA伪装:2,获取网页的整个页面数据xpath解析selenium1,安装浏览器驱动2,selenium代码的编写(模拟登录QQ空间)3,解析第一条说说requestsrequests是一个python的第三方库,用来做爬虫项目等,以我小白的理解,我觉得它比scrapy简单不少。接下来,让我们对它来个简单的使用吧,以QQ空间为例。1,获取响应头,进行UA伪装:我们只需要打开网页,然后按下F12,便会获得以下界面:按下CT

2021-10-30 12:45:42 3508

原创 python摩尔投票法和二分法

摩尔投票法和二分法摩尔投票法leetcode(力扣)算法实现如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入摩尔投票法摩尔投票法是对于无序数组而言的,把无序数组看作一堆选票,如果数组无序,那么就让不同的数相互抵消(一票抵消一票),最后剩下的就是多的数(选出得票最多的)。

2021-10-26 13:00:21 806

原创 如何优雅的在VS Code里面使用MySql

vscode配置mysql前言vs code介绍vs code下载以及语言配置开始配置mysql一,下载插件二,连接数据库三,MySQL在vs code中的使用插件卸载前言如果你是一个小白的话(本人亦是初学),这个编译器和这个插件都能帮到你,跟着配置没什么大问题。如果不是小白的话,也请不要绕道,请帮忙斧正。另外,使用MySQL不止vs code能配置,pycharm,VS之类的都可以。vs code介绍Visual Studio Code(简称“VS Code” )是Microsoft在2015年4

2021-10-01 16:31:34 27853 6

原创 leetcode力扣刷题1,7,9

力扣刷题力扣1,两数之和7,整数反转9,回文数vs code配置leetcode力扣以下简介来源百度百科力扣(LeetCode)是领扣网络旗下专注于程序员技术成长和企业技术人才服务的品牌。源自美国硅谷,力扣为全球程序员提供了专业的IT技术职业 化提升平台,有效帮助程序员实现快速进步和长期成长。此外,力扣(LeetCode)致力于解决程序员技术评估、培训、职业匹配的痛点,逐步引领互联网技术求职和招聘迈向专业化。1,两数之和来看一下力扣的评论,哈哈好了,言归正转,上题解:class

2021-09-19 10:07:52 724 2

原创 leetcode力扣刷题509(斐波那契数列,面试题01.01,面试题17.14

leetcode刷题简单题1,7,9leetcode1,两数之和7,整数反转9,回文数leetcode 力扣(LeetCode)是领扣网络旗下专注于程序员技术成长和企业技术人才服务的品牌。源自美国硅谷,力扣为全球程序员提供了专业的IT技术职业化提升平台,有效帮助程序员实现快速进步和长期成长。 此外,力扣(LeetCode)致力于解决程序员技术评估、培训、职业匹配的痛点,逐步引领互联网技术求职和招聘迈向专业化。1,两数之和开始之前,分享一条网友评论:话不多说,开始吧。这道题直接用字典来写,

2021-09-19 09:38:01 232

原创 python学习之numpy基本

python高性能运算库numpy目录python高性能运算库numpy引言准备工作numpy基本使用numpy 安装开始使用numpy数据类型,维度,维度转换numpy随机数numpy arange()函数均值,中位数,最大值,最小值numpy 切片其它函数引言NumPy是Python中科学计算的基础包。它是一个Python库,提供多维数组对象。Numpy是一个运行速度非常快的库,主要用作数组和矩阵的计算。,是广播功能函数。是Scipy、Pandas等的基础。学习numpy是学习pandas等数据分

2021-08-24 13:54:26 763 2

原创 解决scrapy的无输出问题

scrapy问题解决**scrapy无输出问题解决**昨天跟着老师敲的时候,发现自己的scrapy无输出,心想:老师运行是对的,为什么我运行就是错的,于是在网络上疯狂寻找答案,最终还是没能解决,一觉之后,突然想到以前使用xpath时的错误。突然就想着试一下。果然,解决了问题。使用requests时的类似错误import requestsfrom lxml import etreeheaders={ 'User-Agent':"Mozilla/5.0 (Windows NT 10.0;

2021-08-13 12:50:25 4199 7

原创 爬虫首战之豆瓣喜剧电影

爬虫初学者实战之爬取豆瓣电影喜剧榜top50并输出为excel只用简单的requests模块,跟着操作就能成功。准备工作:jupyter notebook,Windows10正式开始爬取:pip install requestspip install pandas指定一下url:url="https://movie.douban.com/j/chart/top_list"设置参数:参数怎么来呢?我们需要打开上面的url,然后按照分类进入到喜剧电影排行榜中,按F12,如下:观察

2021-07-25 18:58:46 691

空空如也

空空如也

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

TA关注的人

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