自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梅某某

疏影横斜水清浅,暗香浮动月黄昏。

  • 博客(188)
  • 资源 (2)
  • 收藏
  • 关注

原创 三五、Git使用流程(上传、下载、修改账号、生成SSH公钥)

配置git(第一次用)配置用户名 : git config –global user.name “你的名字或昵称”配置邮箱 : git config –global user.email “你的邮箱”查看配置信息: git config –list一 本地上传1、git初始化一个仓库 命令:git init;2、先把代码添加到暂存区(就相当于放到仓库门口) 命令:git a

2017-06-30 11:32:55 2738 2

原创 一八三、Webpack构建优化

Webpack构建优化技术总结 针对老旧Webpack项目构建缓慢问题,提出以下优化方案: 性能分析:使用speed-measure-webpack-plugin分析构建耗时,定位瓶颈 编译优化:用SWC替换Babel,提升JavaScript编译速度 并行处理:引入thread-loader实现多线程编译 缓存机制:利用Webpack5持久化缓存减少重复构建 环境区分:开发环境去除hash减少构建时间 插件升级:更新老旧插件如terser-webpack-plugin等 通过上述方法可显著提升Webpac

2026-01-28 09:00:00 637

原创 一八二、Vite相关性能优化

针对更细粒度的拆包,Vite还是基于的Rollup处理。主要有两种配置的形式,可以配置为一个对象或者一个函数。Vite 插件扩展了设计出色的 Rollup 接口,整个Rollup插件结构体系比较庞杂,简单来说,分成了build和output两大工作流的不同阶段进行分类。这个还需要单独去学习。就Vite来说他有可以和rollup结合的通用钩子,也有自己的独有钩子Vite独有钩子:钩子名称释义config在解析 Vite 配置前调用。

2026-01-27 10:00:00 1587

原创 一八二、webpack、grunt、gulp、rollup、parcel、vite 对比介绍

本文对比了六种主流前端构建工具:Webpack、Grunt、Gulp、Rollup、Parcel和Vite。Webpack适合大型复杂项目,Grunt适用于简单构建任务,Gulp以流式构建见长,Rollup专精于库开发,Parcel提供零配置快速开发,Vite则针对现代框架优化开发速度。文章从特点、适用场景等方面进行了分析,并给出了推荐使用场景:大项目选Webpack,库开发用Rollup,小项目或快速开发可选Parcel/Vite,简单构建任务考虑Gulp/Grunt。

2026-01-26 19:09:58 946

原创 一八一、研发如何做项目管理

研发项目管理核心在于通过科学方法确保高效交付。研发人员需掌握项目管理五大过程组(启动、规划、执行、监控、收尾)和十大知识领域,重点关注范围、进度、质量、风险与沟通管理。 关键要点: 范围管理:明确需求边界,通过评审确定功能清单和验收标准,防止范围蔓延 进度控制:使用WBS拆解任务,识别依赖关系,合理估时并预留缓冲 质量保障:建立DoD标准,将测试、监控等质量要求纳入计划 风险管理:提前识别技术、资源等风险,制定规避/缓解策略并持续跟踪 研发人员应转变思维,从单纯编码者升级为具备项目管理能力的交付者,通过规范

2026-01-24 09:00:00 996

原创 一八零、AG-UI:构建AI前端交互的统一协议

AG-UI(Agent User Interaction Protocol)是一个开源协议,旨在标准化AI Agent与前端应用的交互方式。它解决了AI集成中的技术碎片化、实时性不足和人机协作缺失等问题。AG-UI通过17种标准化事件类型,实现文本消息、工具调用、状态管理等核心功能,支持流式响应和实时同步。其架构包含前端应用层、AG-UI客户端和后端Agent,形成完整的AI交互生命周期管理体系。该协议特别强调人机协作机制,允许用户干预AI执行过程,同时确保数据传输安全。AG-UI的出现降低了开发者对接不同

2026-01-23 10:51:14 115

原创 一七九、WebRTC介绍

AG-UI协议:标准化AI Agent与前端交互的解决方案 随着AI技术发展,AI Agent与前端应用的交互面临标准化缺失的挑战。AG-UI协议应运而生,旨在规范AI智能体与用户界面间的通信流程。该协议由CopilotKit团队提出,定位为AI生态系统中专注于人机交互层面的规范,与MCP、A2A等协议形成互补。 AG-UI解决了技术碎片化、实时性困难和人机协作缺失三大核心问题。其架构包含前端应用层、AG-UI客户端和Agent后端三个部分,具有统一事件流、实时交互、工具编排等核心特性。协议定义了17种标准

2026-01-22 10:51:58 64

原创 一七八、Node.js PM2使用介绍

PM2 是一个功能强大且灵活的进程管理器,适合开发和生产环境的应用程序管理。提供多种配置和管理选项,帮助开发者轻松维护应用的稳定性和性能。

2024-11-08 11:29:27 1248

原创 一七七、window.performance API使用介绍

/ 创建性能标记performance.mark("开始处理");// 执行某些任务// ...// 创建另一个标记performance.mark("处理结束");// 测量两个标记之间的时间performance.measure("处理时间", "开始处理", "处理结束");// 获取所有标记条目console.log("标记名称:", mark.name);console.log("开始时间:", mark.startTime, "毫秒");});解释:使用。

2024-11-08 11:25:50 1892

原创 一七六、CSS 介绍及示例

CSS(Cascading Style Sheets)是层叠样式表的缩写,主要用于控制网页元素的样式,如颜色、字体、布局等。以下是常见的 CSS 属性及其示例。

2024-11-07 10:42:53 1139

原创 一七五、HTML 不同类型的事件及其说明和示例

HTML 事件处理程序是通过 JavaScript 来捕获和响应不同的用户操作、系统事件或浏览器事件。下面是不同类型的事件及其说明和示例。

2024-11-07 10:38:40 1151

原创 一七四、JavaScript里Object的常用方法及其示例

Object对象提供了许多用于操作对象的静态方法,涵盖了属性定义、对象冻结与密封、对象属性描述符、对象继承关系等多个方面,适用于在实际开发中处理对象时提高代码效率和可维护性。

2024-11-06 17:54:11 529

原创 一七三、JavaScript里数组Array 的常用方法及其示例

数组扩展运算符可以将数组展开成单独的元素,通常用于函数调用中将数组元素传递为多个参数。:删除或替换指定元素,也可以插入新元素,直接修改原数组。通过扩展运算符可以浅复制一个数组,创建一个新的数组副本。:将数组的一部分复制到另一部分位置,直接修改原数组。:从末尾开始查找,返回符合条件的最后一个元素的索引。:在数组末尾添加一个或多个元素,返回新长度。:在数组开头添加一个或多个元素,返回新长度。:移除数组末尾的一个元素,返回该元素。:移除数组开头的一个元素,返回该元素。:返回指定部分的新数组,不影响原数组。

2024-11-06 17:45:26 1315

原创 一七二、Vue3性能优化方式

是 Vue 3 提供的辅助函数,通过在组件定义时启用类型推断,可以更好地在 TypeScript 中使用组件,从而在开发过程中提高性能和可维护性。可以帮助 Vue 提前分析组件结构并优化渲染过程。Vue 3 的优化方法围绕高效的响应式系统和异步渲染展开,通过组合式 API、按需加载、虚拟滚动和按需等技术手段,使 Vue 应用具备更好的性能表现。

2024-10-30 16:20:54 1698 1

原创 一七一、React性能优化方式

是 React 用于管理组件加载状态的一个功能,它通常与懒加载组件和数据请求一起使用,确保应用程序在加载数据或组件时提供用户友好的过渡体验。以下是的基础介绍及其常见用法。

2024-10-30 16:11:09 1542

原创 一七零、GORM值为0或者空字符串的时候不能被更新&创建的五种解决办法

通过将字段定义为指针类型,可以避免默认忽略 0 值的问题。同样适用于空字符串。name := "张三"desc := ""Id : 1,

2024-09-26 15:05:53 1729

原创 一六九、go使用泛型封装一个可以应用于任何字段的模糊匹配

针对 json数据里的user_name进行模糊搜索,返回匹配的列。泛型使得这个方法可以适用于任何结构体类型。反射使得可以通过字段名动态访问字段。

2024-09-23 16:25:20 652

转载 一六八、Go语言之泛型

泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。ーー换句话说,在编写某些代码或数据结构时先不提供值的类型,而是之后再提供。泛型是一种独立于所使用的特定类型的编写代码的方法。使用泛型可以编写出适用于一组类型中的任何一种的函数和类型。总之,如果你发现自己多次编写完全相同的代码,而这些代码之间的唯一区别就是使用的类型不同,这个时候你就应该考虑是否可以使用类型参数。泛型和接口类型之间并不是替代关系,而是相辅相成的关系。

2024-08-19 20:09:20 186 1

转载 一六八、Go语言之单元测试

Go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程是类似的,并不需要学习新的语法、规则或工具。go test命令是一个按照一定约定和组织的测试代码的驱动程序。在包目录内,所有以_test.go为后缀名的源代码文件都是go test测试的一部分,不会被go build编译到最终的可执行文件中。在*_test.go文件中有三种类型的函数,单元测试函数、基准测试函数和示例函数。go test命令会遍历所有的*_test.go。

2024-08-19 20:02:49 129

原创 一六七、Linux安装go并部署go项目

go1.18 版本以后默认开启 go modules 模式,无需配置【export GO111MODULE=on】再拉去go.dev的时候就不需要科学上网了。注意GO1.13才支持direct的写法。go modules 模式下,可以不配置GOPATH,默认【/root/go】如果之前已经安装过go的版本,先清空下go,不然可能会报错误。如果没有安装 wget 可通过软件包管理器安装 wget。以 go1.19.3 版本下载链接演示。设置完后 查看Go环境变量。

2024-08-12 19:18:50 1113

原创 一六五、Linux安装Redis并使用Navicat连接

8.将redis-cli,redis-server拷贝到bin下,让redis-cli指令可以在任意目录下直接使用。因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的 kill -9 PID。检测是否有安装redis-cli和redis-server。然后你就能看到Redis愉快的运行了.解决: 关掉Redis,重启即可。6.将redis加入到开机启动。5.配置redis为后台启动。原因: Redis已经启动。#启动redis服务端。#启动redis客户端。

2024-08-12 17:49:40 1561

原创 一六四、技术文档模版

技术文档模版

2024-08-08 16:33:51 470

原创 一六三、go多版本安装与切换

在 smart-go-dl/releases 页面,下载系统对应的二进制程序,并将其放入 $GOBIN 目录中。装几个go版本比如1.19和1.21。当已安装某个版本后,执行如下命令。安装、管理多个 Go 版本。选择对应的版本,重启IDE。

2024-08-08 16:24:51 1589

原创 一六二、记node-sass安装失败和node切换失败问题

原因:而 n 默认安装路径是 /usr/local,若你的 node 不是在此路径下,n 切换版本就不能把 bin、lib、include、share 复制该路径中,所以我们必须通过 N_PREFIX 变量来修改 n 的默认 node 安装路径。,明白是node版本和node-sass版本不匹配。应该是node版本太高的问题。使用n切换node版本失败。或者修改node-sass。查询自己的node版本。

2024-08-06 14:39:26 429

原创 一六一、了解笛卡尔积定义和运算规则&go实现计算多个集合的笛卡尔积

是数学中两个集合之间的运算,其结果是所有可能的有序对组合。形式上,给定两个集合 ( A ) 和 ( B ),它们的笛卡尔积 ( A \times B ) 定义为:即,笛卡尔积中的元素是所有可能的由 ( A ) 中的元素和 ( B ) 中的元素组成的有序对。

2024-08-02 11:35:44 1613

原创 一六零、云服务器开发机配置zsh

在Linux中默认使用/bin/bash,在用户创建时,会自动给用户创建用户默认的shell。默认的shell就是/bin/bash。要修改shell将其设置为/bin/ksh,有两种方法方法。

2024-08-01 15:48:04 1080

原创 一五九、Go语言的泛型

目前 go 语言只支持在对象上定义泛型参数,应用到方法中,但无法直接在方法中定义泛型。datas []T// 存储数据// 获取数据问题// 打印数据func (q *Queue[T]) Print[E int](idx E) { // 编译不通过该方式就是直接定义一下接口,然后把泛型约束列出来。什么时候使用泛型?提升代码的复用能力。例如函数里只是类型不同,但处理逻辑完全一样的场景,推荐使用泛型;提升代码可读性和约束。应用泛型后,比 any, interface{} 会有更好的可读性;

2024-08-01 15:42:49 497

原创 一五八、Go语言设计模式之函数选项模式学习

函数选项模式(Functional Options Pattern)也称为选项模式(Options Pattern),是一种创造性的设计模式,允许你使用接受零个或多个函数作为参数的可变构造函数构建复杂结构。这个构造函数为什么要这么写,后来在一个交流群里看到有人对类似的代码也有同样的疑问,于是查阅了资料之后才知道了这是一种Go语言中常用的设计模式–这个配置结构体中的字段可能有几个也可能有十几个,并且可能随着业务的发展不断增加新的字段。添加新的字段时也不会影响之前的代码,我们只需要为新字段编写对应的。

2024-07-30 16:23:04 1024

原创 一五七、go语言json技巧

Tag是结构体的元信息,可以在运行的时候通过反射的机制读取出来。Tag在结构体字段的后方定义,由一对反引号结构体tag由一个或多个键值对组成。键与值使用冒号分隔,值用双引号括起来。同一个结构体字段可以设置多个键值对tag,不同的键值对之间使用空格分隔。Go语言内置的 json 包使用RFC3339标准中定义的时间格式,对我们序列化时间字段的时候有很多限制。if err!= nil {return也就是内置的json包不识别我们常用的字符串时间格式,如。

2024-07-30 15:54:43 837

原创 一五六、Node+Vue 使用七牛上传图片,并配置个人域名

1. 七牛云ak/sk获取2. Node.js获取七牛token3. Vue获取token并上传图片4. 七牛云配置域名

2024-07-16 19:46:19 344

原创 一五五、配置域名SSL Nginx 服务器 SSL 证书安装部署

上文,但是没有ssl,现在我们给域名加上ssl,增加安全性。

2024-07-15 20:11:02 598

原创 一五四、给Node项目、Vue spa静态项目、ssr项目配置域名

之前部署了一套blog的前后端+ssr项目,但是没有域名,只是设置了ip+端口访问,现在买了域名并且备案,就把之前的项目改为域名访问,这里记录一下前序文章可以查看服务器部署Node项目、Vue spa静态项目、ssr项目从零到一实现自动化部署。

2024-07-15 17:21:53 612

原创 保密在线答案

11.新修订的《中华人民共和国保守国家秘密法》对解密制度作了进一步完善,将定期审核修改为( ),强调机关、单位每年必须审核所确定的国家秘密,并作出变更或者解密的决定,做到既确保国家秘密安全,又便利信息资源合理利用。不能确定期限的,应当确定( )。16.( )是一种法定的文字与符号标识,用以表明所标识的物品(载体以及设备、产品等)承载内容属于国家秘密,并提示其密级和保密期限。10.在涉密岗位工作的人员(以下简称涉密人员),按照涉密程度分为( )涉密人员、( )涉密人员和( )涉密人员,实行分类管理。

2024-07-10 16:19:02 48293

原创 一五三、MAC 安装MongoDB&可视化工具连接

【代码】一五三、MAC 安装MongoDB&可视化工具连接。

2024-06-17 10:56:54 892

原创 一五二、go缓存GCache和Go-Redis

GCache:适用于单机应用中的本地缓存需求,性能高,易于使用,不适合分布式场景。Go-Redis:适用于分布式系统中的缓存需求,可以在多个应用实例之间共享缓存数据,支持高并发和持久化。根据具体的应用场景和需求选择合适的缓存方案,以提高系统性能和可扩展性。

2024-06-11 17:57:50 677

原创 一五一、Go入门到进阶:并发编程

​ 5、当 M 执行某一个 G 时候如果发生了 syscall 或则其余阻塞操作,M 会阻塞,如果当前有一些 G 在执行,runtime 会把这个线程 M 从 P 中摘除 (detach),然后再创建一个新的操作系统的线程 (如果有空闲的线程可用就复用空闲线程) 来服务于这个 P;M 会从 P 的本地队列弹出一个可执行状态的 G 来执行,如果 P 的本地队列为空,就会想其他的 MP 组合偷取一个可执行的 G 来执行;​ 2、有两个存储 G 的队列,一个是局部调度器 P 的本地队列、一个是全局 G 队列。

2024-06-11 17:56:22 693

原创 一五零、MAC 安装mysql&可视化工具连接

可视化工具下载:https://xclient.info/s/navicat-premium.html 支持在 MySQL、SQL Server、SQLite、Oracle、PostgreSQL 、Redis之间传输数据。包括存储过程,事件,触发器,函数,视图等。mysql安装,按照网上教程一步步安装(官网下载安装包->解压->完成安装),最后在「系统偏好设置」无法启动mysql。原因:下载的版本是8.0最新版本,MAC上这种方法无法启动成功。刚开始没有密码,输入密码直接回车。

2024-06-11 15:47:00 1058

原创 一四九、MAC 安装redis&可视化工具连接

可视化工具下载:https://xclient.info/s/navicat-premium.html 支持在 MySQL、SQL Server、SQLite、Oracle、PostgreSQL 、Redis之间传输数据。以守护线程的方式启动redis在终端输入:redis-server /opt/homebrew/etc/redis.conf。a. 打开文件 /opt/homebrew/etc/redis.conf。输入命令:redis-cli:用客户端连接上服务器端。开始测试使用redis。

2024-06-11 15:36:53 1078

原创 一四八、clone代码遇到的权限问题解决

查看自己是开发者权限,重置几遍公钥再添加也不行,去网上找方法,介绍这种情况的原因就是新的ssh客户端不支持ssh-rsa算法,要修改本地配置重新使用ssh-rsa算法。看起来像是没有权限导致的,又按照icode上的提示操作一遍没啥用。在config里添加如下内容。

2023-11-23 20:44:31 1312

原创 一四七、web+小程序骨架屏整理

智能小程序骨架屏。

2023-05-17 16:53:57 1111

Shell从入门到精通

学习目标 熟悉Linux系统常用命令与工具,掌握Shell脚本语言语法结构,能独立编写Shell脚本,完成自动化运维常规任务,提高工作效率,为以后学习其他语言打下坚实的基础。 目标人群 运维工程师、开发工程师、Linux系统爱好者或已经具备其他编程语言的人群。 操作系统 本文档实验均采用CentOS7_X64系统。

2024-10-18

1.Linux从入门到精通

Linux是一套免费使用和自由传播的类UNIX操作系统,是一个基于POSIX移植操作系统接口(Portable Operating System Interface of UNIX,POSIX)和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。 目前被广泛使用于企业服务器、WEB网站平台、大数据、虚拟化、Android、超级计算机等领域,未来Linux将应用各行各业,例如云计算、物联网、人工智能等。 本章向读者介绍Linux发展简介、Linux发行版特点、32位及64位CPU特性及Linux内核命名规则。 1.1 为什么要学习Linux 我们为什么要学习Linux?我们目前的处境是什么?我们想达到什么样的目标?在谈到这三个问题时,相信每个人都有自己的答案,我们来自不同的家庭,各种经历也都不一样,但最终的目标都是希望通过学习技术,提升自己的专业技术。真正做一个对社会有贡献的人。 想想我们刚步入学堂的那一刻起,心里就狠狠下决心,以后不管做什么,都要有一番出息,可是20年、30年过去了,我们收获了什么,得到了什么,到底是在追求什么?方向又在哪里呢? 在生活中各种挫折、感情、生活以及

2024-10-18

Docker - 3小时快速通关

Docker - 快速通关 . 安装 . 命令 . 存储 . ⽹络 .. Redis主从同步集群 .. 启动MySQL . Docker Compose .. 命令式安装 .. compose.yaml .. 特性 . Dockerfile . 附录 - ⼀键安装超多中间件 .. yaml .. 启动 .. 访问

2024-10-18

Vue源码分析.xmind

Vue源码分析Vue源码分析Vue源码分析Vue源码分析Vue源码分析Vue源码分析Vue源码分析Vue源码分析

2020-03-31

pyCharm、webStorm主题+设置

做为一个程序员,一款漂亮的编译器可以使你的代码赏心悦目 注:引入默认可能是mac的快捷键 需要改成windows或者对应自己顺手的快捷键

2018-07-23

空空如也

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

TA关注的人

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