自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(344)
  • 资源 (24)
  • 收藏
  • 关注

原创 性能优化的利器:SWC

SWC(Speedy Web Compiler)=「用 Rust 写的高性能 JavaScript / TypeScript 编译器 + 压缩器 + 打包器」。SWC 既可用于编译,也可用于打包。编译时,它使用现代 JavaScript 特性获取 JavaScript / TypeScript 文件,并输出所有主流浏览器支持的有效代码。SWC 在单线程上比 Babel 快 20 倍 ,在四核上比 Babel 快 70 倍。SWC 把“JS → JS”做成了Rust 的流式并行管道。

2025-07-17 06:56:39 889

原创 HTTP性能优化汇总

HTTP性能优化是提升Web应用响应速度、降低延迟和减少资源消耗的关键,常见的HTTP性能问题,如高延迟、带宽浪费、连接复用不足等。

2025-07-16 11:33:40 512

原创 HTTP REST API、WebSocket、 gRPC 和 GraphQL 应用场景和底层实现

技术协议/传输通信模式数据格式典型场景HTTP RESTHTTP/1.1或HTTP/2请求-响应JSON/XML通用CRUD、公开APIWebSocketWS(基于HTTP升级)双向全双工文本/二进制实时聊天、高频推送gRPCHTTP/2单/双向流Protobuf高性能微服务、跨语言调用GraphQL查询/订阅JSON灵活查询、数据聚合。

2025-07-16 10:40:23 762

原创 Monad:函数式编程中的 “容器模式”

Monad(单子)是函数式编程中的一种设计模式,本质是一个带有特定接口的容器类型。它允许你以一种结构化的方式处理副作用、异步操作或其他复杂逻辑,避免层层嵌套的回调或条件判断,使代码更具可读性和可维护性。return(或unit):将值放入Monad容器中。bind(或>>=):将容器中的值提取出来,应用一个函数,然后将结果重新封装回Monad。需要处理可能失败的操作(如网络请求、数据库查询)。存在复杂的异步流程(如多个依赖的API调用)。代码中充满嵌套的条件判断或回调函数。

2025-06-30 22:36:02 275

原创 【Node.js 的底层实现机制】从事件驱动到异步 I/O

Node.js 作为 JavaScript 后端运行环境,其核心优势在于高并发处理能力和非阻塞 I/O 模型。特点:高并发处理:单线程事件循环高效处理大量并发连接I/O 密集型任务:非阻塞 I/O 模型避免线程切换开销,不适合 CPU 密集型任务(如视频编码)前后端技术统一:JavaScript 全栈开发Node.js 不是多线程的,主线程是单线程,但通过线程池处理部分操作使用场景Web 服务器(如 REST API)实时应用(如聊天、协作工具)微服务架构中的网关 / 代理服务。

2025-06-18 21:24:59 1013

原创 【solidity 进阶】合约的升级方式及核心原理

合约升级虽然提供了灵活性,但也带来了安全风险(例如,升级权限被滥用)和复杂性。因此,在设计可升级合约时,需要仔细考虑升级机制的安全性,并尽量减少升级的必要性。在实际应用中,代理模式(尤其是透明代理和UUPS代理)是最常用的方法。

2025-06-16 10:27:04 334

原创 移动端1px问题解决方案汇总

在移动设备上,由于高分辨率屏幕(如 Retina 屏)的物理像素密度(DPR)大于 1,直接使用 CSS 的 1px 会导致视觉上比设计稿更粗,这就是移动端开发中常见的 1px 问题。例如,iPhone 13 的 DPR 为 3,CSS 的 1px 实际对应 3 个物理像素,导致边框看起来过粗。通过 JavaScript 动态修改 的 scale 值,强制让 1 个 CSS 像素等于 1 个物理像素。通过 css 媒体查询检测设备,动态调整边框的缩放比例。简单易用,不需要媒体查询。

2025-06-13 09:24:42 325

原创 移动端 1px 问题解决方案

在目标元素的后面追加一个 ::after 伪元素,让这个元素布局为 absolute 之后、整个伸展开铺在目标元素上,然后把它的宽和高都设置为目标元素的两倍,border值设为 1px。接着借助 CSS 动画特效中的放缩能力,把整个伪元素缩小为原来的 50%。此时,伪元素的宽高刚好可以和原有的目标元素对齐,而 border 也缩小为了 1px 的二分之一,间接地实现了 0.5px 的效果。在移动设备上,由于高分辨率屏幕(如 Retina 屏)的物理像素密度(DPR)大于 1,直接使用 CSS 的。

2025-06-11 22:30:32 673

原创 <script> 标签的 async 与 defer 属性详解

使用 async 和 defer 属性的脚本都是异步加载的,都不会阻塞 HTML 文档的解析,但是他们的执行时机是不同的,下面来详细说明一下。

2025-06-11 22:04:32 320

原创 ES Modules 与 CommonJS 的核心区别详解

ES Modules (ESM) 和 CommonJS (CJS) 是 JavaScript 中两种主要的模块系统,它们在语法、加载机制、作用域和适用场景等方面存在显著差异。在实际开发中,理解两者差异有助于避免模块加载错误和性能问题,尤其是在构建大型应用或库时。

2025-06-11 17:25:30 1304

原创 【react实战】如何实现监听窗口大小变化

当前窗口: {size.width} x {size.height}

2025-06-08 18:01:45 537

原创 【每天一道算法题】用JavaScript实现的字符串比较算法

这个过程其实优点你查字典:先看第一个字母,谁小谁在前面;如果第一个字母一样,就看第二个字母,以此类推。如果都相同,但一个单词更短,那短的排在前面。

2025-06-07 09:55:54 340

原创 React 中 HTML 插入的全场景实践与安全指南

方法安全性适用场景推荐度JSX 重构✅可控的简单 HTML⭐⭐⭐⭐⭐⚠️不可控的信任 HTML⭐⭐⭐手动操作 DOM⚠️完全自定义 DOM 操作⭐⭐✅复杂 HTML 解析⭐⭐⭐⭐。

2025-06-06 17:09:51 1234

原创 react 常见的闭包陷阱深入解析

本文分析了React中常见的闭包陷阱问题。通过一段定时器代码示例,指出当依赖数组为空时,useEffect中的闭包会捕获状态变量的初始值而非最新值,导致状态更新失效。文章详细解释了闭包的概念及其在异步回调中的行为特性,并提供了两种解决方案:使用函数式状态更新或正确设置依赖数组。最后总结了stale值问题的本质在于闭包捕获的是变量的快照而非实时引用,提醒开发者在异步操作中注意闭包行为。

2025-06-06 16:39:44 828

原创 “packageManager“: “[email protected]“ 配置如何正确启动项目?

今天在学习开源项目的时候,在安装依赖时遇到了一个报错特此记录一下解决的过程。

2025-06-03 13:45:04 647

原创 Next.js路由导航完全指南

在前端框架(如 React、Vue 等)或移动端开发中,路由系统是实现页面 / 界面导航的核心机制。Next.js 采用 文件系统路由(File System Routing),即根据项目目录结构自动生成路由。Next.js 目前有两套路由解决方案,Next.js 从 v13.0.0 版本开始引入 App Router,之前的方案称之为“Pages Router”,目前的方案称之为“App Router”,两套路由系统可以相互兼容,Next.js v14+ 默认启用,本文基于 next v15版本说明。

2025-05-29 22:34:08 1298

原创 Next.js 布局(Layout)与模板(Template)深度解析:从原理到实战

在 Next.js 中,布局(Layout) 和 模板(Template) 都是用于组织页面结构的特殊文件,但它们在行为和使用场景上有重要区别。

2025-05-29 20:51:49 504

原创 【JavaScript 高级】事件循环机制详解

JavaScript通过事件循环机制实现单线程下的异步编程。核心概念包括调用栈(LIFO结构跟踪函数调用)、任务队列(FIFO结构存储异步任务)和事件循环(监控调用栈与队列)。执行顺序为:同步代码>微任务(Promise等)>宏任务(setTimeout等),且每次事件循环必须清空微任务队列。需注意避免微任务递归导致阻塞,不同环境实现可能略有差异。这种机制使JavaScript能高效处理并发任务而不阻塞主线程。

2025-05-29 20:14:54 497

原创 Web Vitals 核心指标快速掌握指南

TTFB(Time to First Byte),是指从点击链接到浏览器收到第一个数据字节的时间,它反映了服务器响应请求的效率。目标< 200 ms,为良好。FCP(First Contentful Paint),也称为首次内容绘制,是指用户看到第一个内容元素(比如文本、图片)的时间。LCP(Largest Contentful Paint),又称作最大内容绘制,是指页面上最大内容元素(通常为主图、标题等)完全渲染的时间。

2025-05-28 11:50:40 633

原创 Webpack 分包策略详解及实现

Webpack 的分包策略(Code Splitting)是优化前端应用性能的重要手段,它能将代码拆分成多个 bundle,实现按需加载或并行加载,从而减少初始加载时间。

2025-05-21 10:33:58 864

原创 【solidity基础】一文说清楚合约函数的大小事

/ 函数体function 关键字声明函数functionName:函数的名称。parameterType 和 parameterName:函数的参数,可包含多个参数,参数之间用逗号分隔。visibility:函数的可见性,如 public、private、internal、external。modifiers:可选的修饰符,如 pure、view、payable 等。returns:指定函数的返回值类型,可返回多个值。

2025-05-21 09:55:41 787

原创 【solidity必知】常见的address(this),tx.origin 和 msg.sender 语句解释

address(this):当前合约的地址tx.origin:合约调用源地址msg.sender:合约的调用者。

2025-05-21 09:54:31 364

原创 web2转行web3需要知道的那些事

我本身是一个前端开发,所以这篇文章的出发点也是一个前端人转行web3的总结,有我自己的学习经验以及网上整理的一些内容,希望对大家有帮助。

2025-05-21 09:52:46 1095

原创 【钱包协议】:WalletConnect 详解

WalletConnect 是一种开源协议,用于在去中心化应用(DApp)和加密钱包之间建立安全连接,实现跨设备通信。它通过端到端加密的通信通道,允许用户通过移动钱包(如MetaMask Mobile、Trust Wallet等)与桌面或网页端的DApp进行连接和交易签名,而无需暴露私钥或敏感信息,为 Web3 应用提供了更安全、便捷的身份验证方式。WalletConnect 是一个链无关的协议生态系统,专注于为用户提供跨钱包和应用程序的无缝连接服务。

2025-05-21 09:43:52 987

原创 【钱包协议】 EIP1193 和 EIP6963 详解

特性EIP-1193EIP-6963解决的问题钱包与 DApp 的通信协议不统一钱包发现与连接流程不便捷核心功能标准化 API 方法和事件系统自动扫描钱包、统一连接界面技术实现浏览器对象数组依赖关系独立标准依赖 EIP-1193 实现现状已广泛支持(MetaMask、WalletConnect)2023 年提出,逐步被钱包和 DApp 采纳。

2025-05-21 09:42:41 729

原创 【solidity必知】抽象合约与接口的知识点汇总

抽象合约是包含至少一个未实现函数(抽象函数)的合约。抽象函数没有函数体,仅定义了函数的签名,要求继承该抽象合约的子合约必须实现这些抽象函数。抽象合约通过 abstract 关键字实现。要实现一个抽象合约,必须在继承的子合约中提供这些未实现函数的具体实现。// 定义抽象合约// 状态变量// 构造函数// 抽象函数,没有函数体// 普通函数,有函数体// 继承抽象合约的子合约// 实现抽象函数。

2025-05-01 06:32:38 531

原创 【solidity基础】一文说清楚合约函数的大小事

在Solidity里,函数是合约的关键构成部分,用于执行特定任务或操作的代码块,可以包含逻辑、访问状态变量、进行计算,并且可以接受参数和返回值。但是solidity的函数与其他语言不太一样,经常会有同学搞混,这里开一篇文章完整介绍一下solidity函数的用法。

2025-04-30 17:25:01 1174

原创 【solidity必知】常用全局变量汇总

solidity 全局变量汇总表格

2025-04-30 16:27:40 198

原创 mitt 事件发布-订阅库在 react 中的使用

mitt是一个轻量级的事件发布 - 订阅库,在 React 项目里,使用它能实现组件间的通信。

2025-04-28 10:19:31 537

原创 如何同步fork的更新

当你fork。

2025-03-26 13:46:16 734

原创 手把手教你用 react-intl 实现国际化

在项目中创建不同语言对应的消息文件,这些文件通常是 JSON 格式,用于存储不同语言的文本信息。在需要使用国际化文本的组件中,引入 useIntl 钩子(函数式组件)或 injectIntl(类组件)来获取翻译函数。在应用的根组件中引入 IntlProvider,并根据用户选择的语言或浏览器默认语言提供相应的消息资源。首先,你需要在项目中安装 react-intl。

2025-03-20 11:41:43 351

原创 Cursor实用开发技巧

Cursor是一款基于AI技术的编程工具,能显著提升开发效率。

2025-03-11 22:05:29 809

原创 手把手带你配置:mac电脑react- native环境

Node.js 是 JavaScript 运行环境,Watchman 用于监控文件系统变化。

2025-03-04 15:50:29 573 2

转载 从0到1构建部署Arbitrum Stylus合约的完整流程

创建 .env 文件存储自己的私钥(在根文件夹里创建,直接把私钥放在.env 文件里,如下图所示,切记只在测试时使用这种私钥存储方法,主网生产时使用此方法存储私钥容易被盗),存储私钥后运行部署命令。安装 Stylus CLI 工具,它用于协助在 Rust 中构建、验证和部署 Arbitrum Stylus 程序。添加 WASM (WebAssembly) 作为 Rust 编译器的构建目标。安装 foundry 用于 Ethereum 远程调用,便于我们后续调试。成功后,继续执行,安装 foundry。

2025-02-27 11:04:12 80

原创 VSCode AI提效工具,通义灵码前端开发体验

安装依旧很简单,vs code拓展插件中搜索就出来了,记住下边这个图标。这对程序员提效真的太哇塞了,有数据显示可以直接节省12%的开发时间。只要你描述的够详细,需求实现的越完善,这在同类产品中确实出众👍!重要的是个人版完全免费,这对普通开发者简直太友好了。(1)根据我的需求描述,进行功能需求分析。(2)生成的完整项目结构,及详细的代码。

2025-02-19 20:09:54 635

原创 vue3 项目如何接入 AI 大模型

例如,定义一个message数据模型用于绑定输入框,创建sendMessage方法处理发送消息的逻辑,包括将用户输入的消息发送到后端API,并接收AI的回复。创建对话组件:在src/components目录下,创建一个如Chat.vue的组件文件,用于实现对话功能。注册对应AI平台的账号,进入账户设置页面找到“View API Keys”或类似选项,创建属于自己的API密钥,并妥善保存。确定要接入的AI模型,如OpenAI的gpt-3.5-turbo、科大讯飞的星火大模型等。

2025-02-14 15:08:56 1629

原创 vue-router 中滚动行为设置的妙用

在 vue-router 里,滚动行为设置。下面为你详细介绍滚动行为设置的作用和使用方法。

2025-02-10 19:59:31 451

原创 本地部署deepseek的具体方法,无需联网也能使用AI了

Ollama 是一个开源的本地大语言模型运行框架,旨在帮助用户在本地机器上轻松部署和运行大型语言模型(LLM),而无需依赖外部服务器或云服务。Ollama 为开发者和终端用户提供了简单高效的接口,使得本地运行和管理大型语言模型变得更加便捷。这里以7B模型为例,根据你的硬件配置,也可以选择其他大小的模型,如1.5B、8B、14B等。如果需要通过网页使用,可以下载并安装支持Ollama的网页应用。在终端中输入问题,即可与DeepSeek进行交互。然后在网页应用中选择Ollama作为模型提供方。

2025-02-05 11:07:53 1344

原创 如何快速创建一个 vue3 项目?

Vue CLI:功能强大,支持多种配置和插件,适合复杂项目。Vite:开发体验极佳,启动速度快,适合现代前端项目。官方模板:简单快捷,适合快速上手。StackBlitz 和 CodeSandbox:在线编辑,无需本地环境,适合快速原型开发和学习。你可以根据自己的需求和偏好选择适合的方法来创建 Vue 3 项目。

2025-01-17 10:08:06 1165

原创 一文读懂 React 的 Fiber 架构到底是什么?

React 的 Fiber 架构是 React 16 版本引入的一种新的架构,旨在改善 React 的渲染性能和用户体验。

2025-01-16 18:31:54 613

chrome插件开发模板

chrome-extension-template-react react 实现的 chrome 扩展插件模板,帮助你快速学习插件开发。

2025-03-27

利用ollama搭建本地deepseek服务

这是利用ollama搭建本地deepseek服务的前端模板: 手把手带你部署本地deepseek服务,具体操作请查看这篇博文。https://editor.csdn.net/md/?articleId=145451543

2025-03-04

中英文对照简历模板(可编辑)

这是一个中英文对照的简历模板,为 docx 格式,可以自由编辑。 适用于任何需要优化简历的求职者,尤其需要英文环境的求职者。

2025-02-14

中文简历模板(可编辑)

使用场景及目标:用于企业HR筛选符合自身企业的优秀人才或用以求职者参考借鉴,以便更好地展示自己各方面的情况来提高应聘成功率。 其他说明:这份简历展示了求职者的技能特点,校园经历,实习情况以及教育背景等信息,使对方快速了解到个人的优势所在,是双方建立联系并进一步深入了解的前提。

2025-02-14

英文简历模板(可编辑)

内容概要:本文档是一份个人英文简历,主要包括个人信息(联系方式与省份)、自我评估、认证与技能、工作经验及教育背景五大部分。 适用人群:正在撰写或修改简历并期望获取有效工作机会的求职人员,特别是具有类似IT行业工作经验的人群。 使用场景及目标:①作为范例帮助求职者检查自身简历中对于技术技能、工作职责描述是否详尽完整;②辅助初入职场或转行人员学习如何展示自己的技能优势和过往经历从而获得心仪offer的目标。

2025-02-14

快速自学JavaScript的基础语法

js基础语法,帮助大家快速学习js,成功躲过自学路上的一个个大坑。本文档是作者在自学后,根据查询各种资料整理出来的一个JavaScript的基础语法文档,用于学习交流,欢迎大家指定,拒绝喷子。

2019-11-22

git基础知识整理.pdf

Git基础知识整理 Git是目前世界上最先进的分布式版本控制系统(没有之一)。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

2020-01-02

ES6 入门基础语法总结

es6 基础语法总结。包括let与const 、 箭头函数 、 Promise 、数据类型、类、解构赋值等等。

2020-04-05

vue随堂笔记.pdf

vue随堂笔记.pdf

2021-11-10

influxdb详解-从入门到精通

一、InfluxDB的安装和简介 二、InfluxDB安装后web页面无法访问的解决方案 三、InfluxDB在windows下的安装和配置 四、InfluxDB的关键概念 五、InfluxDB的基本操作 六、InfluxDB的HTTP API写入操作 七、InfluxDB数据保留策略(Retention Policies) 八、InfluxDB连续查询……

2022-11-25

前端仿 element UI 实现表格组件

主要也是网上搜集来的代码,用于研究学习用,样式很简单,只注重了功能的实现。

2022-06-13

jquery 世界地图/各国地图使用手册

各种地图应有尽有,都在examples文件夹下,需要的朋友自己去看吧

2022-06-10

processing 可视化设计工具

据说这个 `processing` 工具是高效艺术系的课程,主要用于制作数字艺术作品、数据可视化作品和互动多媒体艺术作品等,可以实现动态表单、处理手势、定义行为,还可以模拟自然系统以及整合其他各种媒介,最重要的是他是一种开发语言,是一门非常非常简单的开发语言。 `processing` 主要以 JAVA 为主,可以实现跨平台,目前主流的浏览器都支持。官方提供了大量的库,比如串口、网络、视频、可视化、声音、GUI、3D动画等,可以突破 PS, AI 等设计工具的限制,创作出更具有创意的艺术作品。

2022-06-02

threeJS下载应用

threeJS下载应用

2022-05-27

SuperSlide+jquery滚动样例

SuperSlide+jquery滚动样例,多种滚动实现方式展示,包括各个参数的使用说明。免费!免费!免费!

2022-05-20

前端vue项目实现返回顶部功能的两个超简单方法

vue项目开发过程中,时常会遇到返回顶部的需求,网上的很多方法写的很复杂却没有实现简单的功能,今天就总结了两种简单的方法供大家学习交流。

2022-03-29

前端面试包装简历.pdf

前端面试简历,仅供参考。

2020-04-10

微信小程序中下拉选择中带手动输入搜索的实现

微信小程序中下拉选择中带手动输入搜索的实现

2022-02-10

微信小程序代码实现:拖拽排序列表

利用movable-view, movable-area实现小程序拖拽功能。

2021-06-21

flowup鼠标滚动页面缓慢滑出的效果插件下载

flowUp.js,实现鼠标滚动页面缓慢滑出的效果。 需要先引入jquery才可以使用。 有需要的小伙伴,可以下载使用。 仅供学习交流使用

2019-12-18

微信小程序表单验证.rar

微信小程序表单组件没有自带的验证功能,因此开发小程序的表单验证时候一般利用官方社区开发的WxValidate插件自己进行表单验证。压缩包中有两个文件,一个是使用说明,一个是js。

2021-10-19

微信小程序自定义时间选择器

支持多种自定义功能。在开发工具中浏览: https://developers.weixin.qq.com/s/N9EdArmQ7a6j 复制链接在浏览器中打开

2021-05-27

wx-timePicker-master.rar

微信小程序 日期时间选择器,三种模式可选,提供三种模式 date(yyyy-MM-dd) time(hh:mm:ss) dateTime(yyyy-MM-dd hh:mm:ss)

2021-03-24

mac版本 git 图形化工具Sourcetree 安装包.zip

SourceTree是一个免费的Git图形化管理工具,可以不再苦记各种 git 命令,通过鼠标点点点就能实现 git 的各种操作,简直不能再优秀!!!!

2020-06-24

HTTP权威指南-HTTP:web 的基础 -- 思维导图整理

Web 基础构建及 HTTP 的核心技术,资源为手动整理,学习不易,思维导图降低你的学习成本及难度。

2020-05-25

Snipastemac 截图

你还可以将剪贴板里的文字或者颜色信息转化为图片窗口,并且将它们进行缩放、旋转、翻转、设为半透明,甚至让鼠标能穿透它们!如果你是程序员、设计师,或者是大部分工作时间都在电脑前,贴图功能将改变你的工作方式、提升工作效率。

2020-05-25

HTTP权威指南:http结构解析--思维导图

主要介绍了 HTTP 服务器、代理、缓存、网关和机器人应用程序, 这些都是 Web 系统架构的构造模块。

2020-05-27

reset.css html内置样式重置

html标签内置样式重置,使用率比较高,放出来为了方便寻找,也为需要的人提供遍历。 只为大家学习交流,有问题随时联系作者。

2020-01-02

微信小程序 开发知识体系.pdf

微信小程序知识体系梳理,帮助你快速了解微信小程序。 微信小程序知识体系梳理,帮助你快速了解微信小程序。 本文档为个人整理,仅供学习交流使用。

2020-01-14

我的简历模板.docx

web前端简历模板分享,找了好久都不到一个合适的模板,自己做了一个,分享出来给需要的同学使用。 简历格式为docx

2020-01-14

空空如也

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

TA关注的人

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