- 博客(47)
- 资源 (1)
- 收藏
- 关注
原创 3Blue1Brown《线性代数的本质》学习资料梳理
《线性代数的本质》学习指南:3Blue1Brown经典系列提供B站(国内)和YouTube(海外)观看链接,共13集+3附录。AI工程师重点推荐:前5集建立几何直觉(1小时),第6/7/9/12集掌握核心概念(PCA/点积/逆矩阵)。建议配合Python实践(如NumPy矩阵运算)和可视化工具(Manim/GeoGebra)加深理解。学习路径:第一周基础几何直觉→第二周AI核心概念→第三周综合应用。特别强调从计算思维转向空间变换的几何视角,这对理解神经网络权重矩阵等AI核心概念至关重要。配套资源包括交互式学
2025-12-26 10:45:59
2512
1
原创 数学基础:通过3Blue1Brown的线性代数、微积分系列视频直观理解核心概念 - 学习计划
为你整理了适合工程师的AI数学基础学习路径,重点放在和,而不是纯理论推导。
2025-12-26 10:22:26
1289
原创 前端工程师转型AI的优势与挑战
从下周开始,每天抽出1-2小时系统学习,同时立即启动一个小型AI前端项目。行动比完美规划更重要,在过程中调整方向。
2025-12-26 10:15:02
1006
原创 Vite 在项目中的使用分析
本文详细介绍了Vite的工作流程和关键配置,主要包括开发服务器、构建流程、插件处理等核心模块。重点说明了基础配置、路径解析、CSS预处理、开发服务器、构建优化等关键设置,特别强调了环境变量处理、路径别名、CommonJS兼容、静态资源处理等特性。同时提供了常用命令说明和使用注意事项,包括开发服务器启动、生产构建、SVG处理等操作指南,以及require使用限制、样式导入规范等开发规范。
2025-12-25 14:28:53
628
原创 web worker使用总结(包含多个worker)
本文介绍了一个基于Web Worker的实时数据处理架构方案。系统采用双Worker设计:WebSocketWorker负责WebSocket连接管理和消息解析,CommandWorker处理业务指令和API请求。两者通过MessageChannel实现高效通信,主线程通过postMessage与Worker交互。关键流程包括:1)初始化时建立Worker间通信通道;2)WebSocketWorker解析TLV格式消息并分发;3)CommandWorker识别指令类型,调用对应处理器执行业务逻辑;4)更新数
2025-12-25 14:08:20
380
原创 react项目图片使用分析
SVG Sprite 更新:修改 src/asset/svg/ 下的 SVG 后,需运行 yarn build:svg 重新生成 Sprite。SVG 图标:优先使用 SvgIcon 组件 + SVG Sprite。CSS 用图:放在 used-in-css 目录,便于管理。ID 格式:asset-svg-[dir]-[name]有专门的 used-in-css 目录存放 CSS 用图。路径别名:统一使用 @/asset/ 路径别名。位图图片:直接 import PNG/JPG。
2025-12-24 10:42:48
398
原创 React技术栈MVP架构
在React技术栈中实现MVP(Model-View-Presenter)架构可以显著提升应用的可测试性、可维护性和关注点分离。
2025-12-22 09:29:47
604
原创 PageGuard 组件工作原理分析
只有当路由的 `code` 在用户的 `accessControl` 中时,该路由才会出现在 `mainMenu3` 中。- 如果找不到(`find` 返回 `undefined`),说明用户无权限,`isForbidden = true`- 如果找到(`find` 返回真值),说明用户有权限,`isForbidden = false`- 在 `mainMenu3` 数组中查找是否存在 `path` 等于当前路径的菜单项。- 内容:所有路由配置,包含 `path`、`code`、`menu` 等字段。
2025-12-16 20:48:52
902
原创 react实现虚拟键盘支持Ant design Input和普通input Dom元素-升级篇
本文基于上一篇文章进行优化,不需要关注业务input怎么封装,不涉及业务改动。通用自定义数组键盘输入功能如下:直接贴代码。
2025-12-16 20:32:36
258
原创 React实现队列解决多个请求频繁并发到达server时序乱序问题
前端存在多个请求并发到后端,默认览器运行最多6并发请求,导致很多请求padding状态、而且后端处理不过来;场景1:如果这些数据可用丢包,使用节流就可用解决;要求:加入需要等待服务器处理完再发下一包数据,支持多个请求任务队列;场景2:如果这些数据不能丢包,需要把数据合并再发送给服务器。1、请求(任务)上一个请求完成,再开始执行下个任务;自定义Hook: useQueueTask.tsx。2、队列中任务参数合并再发送请求;3、支持多个任务在队列中进工作;
2025-12-16 20:24:56
254
原创 阿里验证码Web和H5客户端V3架构接入鼠标拖拽滑块离开对话框释放鼠标时一直处于验证中问题
思考:手动触发滑块按钮事件,看是不能触发插件的校验回调,通过JS获取滑块dom节点,研究mousedown,mosemove,mouseup, click事件,发现调用滑块的click事件可用触发插件校验回调函数(返回账号密码等信息),效果满足。分析:V3版本问题,V2无该问题。初步定位是因为V3滑块离开滑块弹框范围时释放鼠标,没有触发mouseup事件,导致插件没有回调验证函数;解决思路:尝试拖拽在滑块框外面时,手动触发校验,分析getInstance方法返回实列没有对外提供方法触发校验;
2025-12-16 19:48:45
387
原创 node.js快速下载及安装
本文介绍了通过命令行快速下载指定版本Node.js安装文件的方法。首先使用Invoke-WebRequest命令下载指定版本的.msi安装包到本地目录,然后卸载原有Node.js版本,最后双击下载的.msi文件完成新版本的安装或降级。这种方法解决了官网下载速度慢和难以找到历史版本的问题,提供了一种高效便捷的Node.js版本管理方案。
2025-12-08 11:13:31
398
原创 go.js Panel中文API
图表组件版本 3.0.26由开发(图形对象)(面板)(部件)Panel(面板)是一种(图形对象),它持有其他 GraphObject 作为其元素。Panel 负责调整其元素的大小和位置。Panel 的元素按照它们在(元素)集合中出现的顺序进行绘制。(部件)类继承自 Panel;Part 又是(节点)和(链接)的基类。每个 Panel 都有一个(类型)并建立自己的坐标系。(位置面板):用于根据元素在 Panel 本地坐标系中的绝对位置来排列元素。(垂直面板)和。
2025-09-17 14:07:14
757
原创 go.js Shape中文API
图表组件版本 3.0.26由提供Shape(形状)是一个,用于显示几何图形。(几何图形)决定了绘制什么;属性(填充)和(描边)(以及其他描边属性)决定了如何绘制。通常有两种类型的形状:一种通过设置使用自定义的,另一种使用或的值自动生成几何图形。显式设置的 Geometry 总是优先于 figure 和 arrowhead(箭头)属性。
2025-09-17 11:27:31
986
原创 react实现虚拟键盘支持Ant design Input和普通input Dom元素
3.使用window Selection对象获取获取焦点输入框光标对象信息,从而获取:当前输入框的值,光标开始位置和结束位置等信息。点击虚拟键盘上,值在输入框(Ant Design Input、或Dom inpu)中响应对应的值,支持在光标位置进行输入字符和删除等 操作,支持响应input onchange事件等功能。例如: 输入框值value=123|456,光标在3和4之间,selectionStart = 3, selectionEnd=3;1.点击虚拟键盘,发送点击按下按键的指令;
2023-12-11 14:03:09
1057
原创 react列表手势触摸拖拽元素和滚动条冲突问题
1.场景:列表支持手势touch触屏,列表支持手指上下(或左右)滑动进行滚动,手指点击listItem元素可拖拽元素。3.解决方案:300毫秒以内,判断用户手势滑动角度判断用户手势滑动是横向滑动操作类型:拖拽事件、滚动条事件两种类型。垂直方向:在不可取的方向上进行滑动,执行y轴方向滚动事件;3.2 x轴有滚动条例子:和y轴方向处理方案相反。2.问题:滚动条事件和手势touch事件冲突。水平方向:在可取范围手指拖动,执行拖拽事件。这样就能避手势触摸滑动和滚动条事件冲突问题。
2023-11-23 18:26:33
912
原创 ChunkLoadError:Loading chunk 538 failed
网上有很多解释和解决方案,这里不多说。出现乱码原因:文件断电加压过程中文件没有正常减压,导致文件乱码,加载页面时异步加载页面过程没有找到对应组件抱错。备注: 两台控台装同一个版本软件,左边是控台没有白屏的js文件代码,右边是当前出现问题控台对应js文件代码,可以看到右边文件文件出现乱码。解决方案:确保加压过程,不要出现错误,不要异常中断或抱错等场景。文件正常减压之后,页面即可正常访问。现象:加载页面时,页面空白。
2023-08-10 10:13:51
1316
原创 React状态管理
然而,倘若不设置一个默认函数,onSelect属性就是未定义的,点击FaStar组件时将报错,因为onSelect的值必须是一个函数。每次调用setSelectedStars函数修改selectedStars的值, useState钩子都会调用StarRating函数组件,使用selectedStars的值新重新渲染,钩子函数的强大就在这里。把组件变成可点击,使用React状态存储和修改它的值,状态通过React的钩子特性纳入函数组件。我们把状态存储在应用的根组件,然后把颜色向下传给子组件,负责渲染。
2022-09-27 11:53:48
2544
1
原创 JavaScript函数式编程
如果你需要对外公开自己的出生证明,但是想去掉隐私信息,你有两种选择:把隐私信息涂掉或找一台复印机,复制一份出生证明,然后涂改副本式更好的选择,及处理了出生证明也保障了原件的完好无损。应用中的不可变数据就是这个意思,我们不能直接更改原始的数据结构,而是创建数据结构的副本,所有的操作都使用副本。toString变成了纯函数,传入person做计算,返回一个新的person对象,而不更改传入的参数,因此没有副作用。在采用函数式分割的程序中,数据式不可变的,永不可修改的。纯函数也是函数式编程的核心概念。
2022-09-26 17:50:27
445
原创 模板字符串
在javascript代码中拼接html字符串是一件不容易的事情,而且代码可读性不好。不用再一行把所有内容都写全了或者不停的些多个加号把字符串拼接,繁琐而且容易出错。使用模板字符串可以更好的组织html代码,支持空白也错误文本的一部分,可直接插入格式化的html代码,便于阅读和理解。模板字符串为字符串拼接提供了一种新的方式,还可以在模板字符串中插入变量。`***${变量}***${变量}***`为什么要使用模板字符串?
2022-09-26 11:27:37
2470
原创 React memo使用解决高频组件渲染问题
新增一个名字为New Cat的Cat,添加到数组之后,即使memo包囊的子组件PureCat,子组件依然被重复渲染了。因为cats发生变化,state重新计算,导致父组件重新渲染,导致edit重新生成了新的方法,子组件props中edit发生了变化,导致子组件重新被渲染了。解决思路:子组件用 React.memo() 包裹,如果组件在相同 props 的情况下渲染相同的结果,React 将跳过渲染组件的操作并直接复用最近一次渲染的结果。期望:子组件不要频繁的渲染,只渲染新增或发生变化数据的子组件。
2022-09-26 10:26:45
1021
原创 async/await 在同步中实现异步
1.在遇到await test_sync(max) 时,没有立即打印“test end”,说明在此处等待请求响应。2.绿色日志“main start”和main end先打印,说明主线程已执行完成。红色方框是同步实现的异步代码执行结果,绿色方框是主线程的执行。首先,await不会阻塞主线程,而是在同步方法中实现异步的逻辑。相当于在promise成功的回调函数中执行await之后的代码。3.接着输出异步请求打印的日志0-9。4.最后打印test end日志。
2022-09-22 17:40:17
715
原创 Vue前端项目图片管理
场景:项目中使用的图片icon,怎么管理才能更好的提高性能,简化代码,减少图片资源内存等问题。方案一:雪碧图方案二: icon font,使用本文重点讲一下icon font这个步骤由UCD来设计完成。一般来说,首先要在阿里iconfont网站创建一个项目,免费的。然后再svg图片上传到该项目下。会自动生成iconfont字体库。......
2022-08-29 17:41:47
1166
原创 highcharts饼状图点击选中或鼠标悬停高亮其他置灰问题
场景:鼠标进入(或点击)饼状图区域,高亮该区域,其他区域灰白色。想要去掉置灰功能,百度好久都没有查到对应的API相关配置,无奈之下只能通过CSS样式了实现。现状:未选中模块:背景色、标签字体、链接线透明度变成opacity:0.2,导致整体置灰效果。期望:未选中的模块整体颜色跟正常保持一致。通过CSS来实现控制达到期望的效果。
2022-08-22 10:08:59
2147
1
原创 ValidationObserver和ValidationProvider实现from表单字段间依赖校验
核心代码:ValidationProvider的rules中传入校验规则和依赖字段对应的值,在校验函数中获取到当前输入的值及依赖字段的值,然后根据date校验器校验:当前阶段结束时间大于上一个阶段的结束时间逻辑完成依赖校验逻辑,校验失败返回错误消息。使用 ValidationProvider和extend来实现依赖校验逻辑,用extend定义好依赖校验逻辑,在组件ValidationProvider的rules属性中传入校验规则和参数,就可以完成依赖校验及提示对应的校验不通过错误信息。...
2022-08-15 11:30:43
1753
原创 Android学习登录页面 - 第一天
第一步在app/res/layout/fragment_home.xml中实现登录页面。解决方案前期手动敲代码实现页面,不依赖于UIdesign功能,加深记忆和深入思考。b.拖拽对应的文本、输入框、按钮等到布局中,调整样式使得页面布局样式能好看一点。3.感觉页面实现有点low,有没有关于androidUI组件库。1.描述实现登录页面功能用户名、用户密码、登录按钮。1.Android页面加载逻辑及底层实现原理?附登录页面代码****手动敲的代码****2.页面事件注册及校验逻辑?...
2022-07-27 11:43:14
797
原创 Web前端页面访问权限控制总结
登录是获取用户权限模板URL列表,定义filter过滤器,获取当前请求url,在权限列表中判断访问接口URL路径是否在用户权限列表中,如果在则URL鉴权通过,否则鉴权失败返回鉴权失败信息。,前端不做页面控制,有后端进行权限控制。-后端进行权限控制,基本上能避免绕过前台接口调用接口的问题,但是能看到不能访问一些菜单,给用户的体验不太好。,前端控制页面访问权限,后端不做接口权限控制。前后端在获取用户权限列表之后通过判断用户权限是否包括某个权限点,有该权限点则鉴权通过,否则鉴权失败。...
2022-07-22 18:11:56
5082
1
原创 【极光统计】极光和H5(Web)混合开发实现用户行为统计集成
一、因极光官方提供的Web端集成API接口中没有提供页面统计的接口,故需要App提供一个页面统计的接口,由App跳转到H5页面时,调用页面埋码接口进行页面统计。开发模式app和h5混合开发。
2022-07-22 16:53:12
1070
原创 Vue防抖节流
vue防抖-可以搜索输入框,输入多个字符进行搜索,当输入停止之后进行搜索操作者。--可以用于用户点击按钮事件防抖操作。1.多次操作只执行第一次操作。2.多次操作只执行最后一次操作。
2022-07-22 15:59:34
4949
原创 Vue响应式操作包括简单数据类型、对象、数组、树状结构总结
1.简单数据类型:Boolean、Number、String直接赋值:this.value = "张三"; // 页面上显示的值会更新成“张三”2.对象 Object假设组件data代码如下: data() { return { formData: { name: "李四" }, // form表单 }; },通过当前组件实例化对象 this.$set改变属性的值,代码如下:this.$set(this.formData, "name", "张三"); /
2022-07-07 09:36:38
2612
原创 Vant picker选择器设置默认值导致选择器失效
vant 版本 >=2.12.27场景:自定义选择器数据结构是数组对象,picker默认显示第一个或上传选择的项。html 代码:js代码:问题:选择器的在做选中,点击确认时,选中的值没有发生变化,还是未切换选择之前的值。问题定为:js代码中行位置: this.defaultIndex = this.value; // bug在这里。问题分析:这里服务器使用的key值,导致服务器计算picker选择的索引index出错,用户选中picker值的某一项,然后点击右上角的“确认”按钮,picker
2022-07-06 16:07:50
5889
原创 Vue Vant粘性布局使用
使用场景:手机端页面上向上滚动的时候,需要把特定的内容粘在屏幕的上方。支持多个内容块进行粘性布局。页面结构:从上到下headertabs - tab过滤条件列表诉求: 需要把header/tabs/过滤条件依次浮动在屏幕上方,不互相覆盖。实现方案:heaer使用fixed固定在屏幕上方tabs和过滤使用粘性布局。tabs的offsettop设置成tabs距离窗口顶部的位置。过滤条件设置offset top设置成tabs offset top+tabs本身高度的和。...
2022-06-15 18:13:44
1239
原创 Vue根据模板动态显示内容
使用场景:前台配置显示模板,后台返回的数据,前台根据数据模板动态渲染页面。优点:开发一个公共的页面,每个页面对应一个模板,减少不停的开发页面。把写页面和样式的重复工作用代码来实现,减少开发工作量。缺点:每个页面对应一个模板,模板里面需要配置页面内容。实现思路:1. 写一个公共的展示页面。2. 定义页面模板,及配置页面中每个字段属性。3. 根据模板把数据格式化。4.定义页面每个字段显示组件。比如:label、file、radio、checkbox等UI效果: 代码:1.公共UI展示组件CommonDispl
2022-06-15 17:58:45
3367
原创 Element UI Table实现可编辑表格+校验(行和行,列和列)
Element UI Table实现可编辑表格+校验(行和行,列和列)
2022-04-08 16:16:28
11858
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅