自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 构建一个抗揍的 Go TCP 聊天服务:异常兜底与防御性编程实践

本文分享了如何通过防御性编程将Go实现的TCP聊天服务改造为抗攻击的健壮系统。关键措施包括:1) 使用recover捕获goroutine panic防止服务崩溃;2) 采用单通道写入机制避免并发写入阻塞;3) 流式读取实现超长消息防护;4) 分离加锁与处理逻辑防止广播死锁;5) 利用sync.Once实现幂等资源释放。这些方法有效应对了网络抖动、恶意攻击和资源泄露等问题,使简单聊天服务具备生产环境所需的可靠性。

2026-04-05 21:59:09 263

原创 使用 sync.Once 解决 Go 并发场景下的重复下线广播问题

本文介绍了在Go语言并发场景下使用sync.Once解决重复下线广播问题的实践。文章首先描述了聊天室服务端中User对象的管理流程,包括上线、消息处理和下线广播等核心业务。随后分析了当用户输入exit指令时,由于连接关闭和错误处理逻辑并发触发,导致下线消息被重复广播的Bug。通过引入sync.Once机制,确保注销逻辑只执行一次,优雅地解决了重复消息问题和潜在资源释放风险。这种方法有效解耦了多个触发条件和唯一清理终态,提升了系统的健壮性。

2026-04-05 19:08:54 209

原创 让 gRPC 服务同时支持 HTTP/JSON 的gRPC-Gateway

gRPC-Gateway 摘要 gRPC-Gateway 是 Google 官方提供的反向代理工具,可将 gRPC 服务自动转换为 RESTful HTTP/JSON 接口。它通过解析 Protobuf 文件中的 google.api.http 注解,生成 HTTP 网关代码,实现 gRPC 和 HTTP 双协议支持。主要流程包括:1) 在 Protobuf 中定义 HTTP 映射注解;2) 生成网关代码;3) 同时启动 gRPC 服务和 HTTP 网关服务。该方案解决了 gRPC 二进制协议与前端/传统

2026-04-05 10:36:21 170

原创 Protocol Buffers(.proto)实战入门:Go 生态最常用的接口定义语言

本文介绍了Protocol Buffers(Protobuf)的基本概念和使用方法,重点讲解.proto文件的定义与Go语言实现。主要内容包括:消息(Message)的定义语法与字段类型规则、常用字段规则(repeated/optional/map)、枚举类型、嵌套消息结构;服务(Service)定义与gRPC接口规范;进阶特性如保留字段和文件导入;最后给出Go代码生成命令和最佳实践建议,包括字段编号管理、版本兼容策略和命名规范。作为gRPC的核心基础,Protobuf因其跨语言特性和高性能序列化,成为微服

2026-04-05 09:15:57 204

原创 Go中如何跨语言实现传输? - GRPC

gRPC是Google开源的高性能RPC框架,基于HTTP/2和Protocol Buffers,支持多语言调用。相比RESTful API,它性能更高、接口更规范,适合微服务架构。核心包括: Protobuf定义服务接口和数据结构 支持4种RPC模式:一元、服务端流式、客户端流式、双向流式 开发流程: 编写.proto文件定义服务 生成Go代码 实现服务端逻辑 客户端调用 提供拦截器机制处理通用逻辑 示例展示了一元RPC的实现,包括服务定义、服务端注册和客户端调用。gRPC还支持流式传输和拦截器等高级特性

2026-04-05 08:42:23 554

原创 Git 开发中最常用的命令与场景

本文介绍了Git开发中最常用的命令与场景,包括用户配置、仓库初始化、文件状态管理、提交操作、版本回退、分支管理和远程仓库操作。重点讲解了工作区/暂存区/仓库区的概念,以及add/commit/log/reset等核心命令的使用方法。同时详细说明了分支的创建、切换、合并和冲突解决流程,以及远程仓库的关联、推送、拉取和克隆操作。这些命令涵盖了Git日常开发中的主要需求,适合开发者快速掌握Git的基本工作流程。

2026-04-02 19:10:44 136

原创 原来PHP是这样用Cookie的?

PHP中的Cookie使用指南:Cookie是解决HTTP无状态问题的关键机制,允许服务器通过小段文本信息识别用户。使用setcookie()函数设置Cookie,需注意在输出前调用,可控制有效期、路径、域名和安全选项。通过$_COOKIE超全局变量读取Cookie值,删除则需设置过期时间。为防止篡改,建议对Cookie内容进行签名验证,使用hash_hmac()生成签名并在读取时比对。合理使用Cookie可实现登录状态保持、用户偏好存储等功能,同时注意安全设置如HTTPS传输和禁止JS访问。

2026-04-01 19:40:57 239

原创 PHP 中处理图像的利器 GD库

PHP GD库图像处理摘要 PHP的GD库是强大的图像处理工具,支持生成验证码、缩略图、水印和图表等常见需求。基本操作流程为:创建画布→分配颜色→绘制内容→输出/保存→销毁资源。 核心功能包括: 基础图形绘制:直线、矩形、圆形等 缩略图生成:通过imagecopyresampled实现高质量缩放 水印添加:支持文字和图片水印 验证码生成:结合随机数和干扰元素 GD库操作简单高效,是PHP开发者处理图像的必备工具,适用于各种Web应用场景。

2026-04-01 03:33:35 351

原创 如何使用PHP创建图像验证码

PHP创建图像验证码的实现主要依赖GD库,通过7个步骤完成:1.开启Session并配置参数;2.创建画布并设置颜色;3.生成随机验证码字符串;4.绘制干扰线和噪点;5.使用TTF字体绘制旋转文字;6.存储加密验证码到Session;7.输出PNG图片并销毁资源。关键函数包括imagecreatetruecolor、imagettftext等,通过干扰元素和字体变形增强安全性,最后需设置响应头确保正确显示。验证时只需比对Session中存储的加密值即可。

2026-04-01 02:23:29 309

原创 Go 中最强大的权限控制库(Casbin)

Casbin 是一个强大的 Go 权限控制库,支持 ACL、RBAC、ABAC 等多种访问控制模型。通过模型文件定义权限逻辑,策略文件存储具体规则,执行器(Enforcer)提供权限判断核心功能。ACL 模型直接定义用户-资源-操作关系,适合简单场景;RBAC 模型通过角色中间层管理权限,支持动态角色分配和权限管理,是企业开发常用方案。Casbin 还支持多租户场景的 RBAC with Domains,满足复杂权限需求。其灵活的配置和丰富的存储适配器(Mysql/Redis等)使其成为 Go 生态中最强大

2026-03-30 16:57:33 372

原创 Go 中最主流 JWT 库 jwt -go

JWT(JSON Web Token)是前后端分离项目中最主流的身份认证方案,通过加密Token实现无状态验证,适用于分布式系统和微服务架构。JWT由Header、Payload和Signature三部分组成,支持自定义声明。在Go中,jwt-go库提供核心API:通过jwt.NewWithClaims()生成Token,jwt.ParseWithClaims()解析验证Token,并可作为Gin中间件保护接口。JWT工作流程包括用户登录后生成Token,客户端存储并在请求头中携带,服务器验证后允许访问资源

2026-03-29 10:35:51 450 1

原创 PHP 中的文件读写与上传

本文介绍了PHP中文件操作的核心功能,包括文件判断与信息获取、文件读写、目录操作和文件上传。主要内容:1. 使用file_exists()等函数判断文件属性;2. 通过file_get_contents()和file_put_contents()实现简单读写,或使用fopen()系列函数进行精细控制;3. 目录创建、删除和遍历方法;4. 图片上传处理流程,包括错误检查、类型验证和存储。文章提供了实用的代码示例,涵盖从基础文件操作到实际应用场景的实现要点。

2026-03-28 00:53:12 54

原创 Go 生态最快 JSON 库 - jsoniter

jsoniter 是 Go 生态中性能最快的 JSON 编解码库,比标准库 encoding/json 快 3-10 倍。它完全兼容标准库 API,支持零成本替换,同时提供高性能便捷 API(如 MarshalToString 和部分解析功能)以及底层 Iterator/Stream API 满足极致性能需求。支持全局配置忽略未知字段,适用于高并发、大数据量场景,是 Go 后端开发的首选 JSON 处理方案。

2026-03-27 23:25:33 587

原创 GORM 实战入门:从环境搭建到企业级常用特性全解析

本文介绍了Go语言主流ORM框架GORM的实战入门指南。主要内容包括:环境搭建与MySQL数据库连接配置,重点讲解了DSN参数和连接池优化;模型定义规则,详细说明结构体与数据库表的映射方式及常用gorm Tag属性;CRUD操作基础,涵盖创建记录的多种API及其特点。文章强调开发与生产环境的配置差异,提供性能优化建议,适合Go开发者快速掌握GORM的核心功能,为构建企业级应用奠定基础。

2026-03-27 20:43:07 439

原创 PHP 引入 PHP

PHP提供了四种文件引入方式:include、require及其_once变体。include宽松处理错误,require严格处理;*_once版本避免重复引入。最佳实践包括:必需文件用require,函数/类用*_once,使用__DIR__构建绝对路径,生产环境隐藏错误。典型应用场景包括视图模块化和类自动加载。

2026-03-26 23:52:26 308

原创 PHP mysqli 实用开发指南

《PHP mysqli 实用开发指南》摘要: 本文介绍了PHP中MySQLi扩展的核心使用方法,包含连接数据库、执行查询、数据操作和安全防护等关键内容。重点讲解了面向对象和过程化两种编程风格,详细说明了查询数据的多种获取方式(fetch_assoc/fetch_object等),以及插入、更新、删除数据的标准流程。特别强调了预处理语句的重要性,通过bind_param绑定参数有效防止SQL注入攻击。文章提供了大量实用代码示例,包括获取自增ID、受影响行数等开发常见需求,是PHP数据库开发的实用参考手册。

2026-03-26 21:14:29 542

原创 php 如何使用mysqli连接mysql

本文介绍了如何使用PHP的mysqli扩展连接MySQL数据库。首先通过命令行检查是否加载了mysqli扩展,若未加载则需要找到php.ini配置文件并取消extension=mysqli的注释。如果扩展未安装,提供了针对Ubuntu/Debian、CentOS/RHEL、macOS和Windows等不同系统的安装方法。最后强调修改配置后必须重启PHP服务器才能使更改生效。文章提供了详细的命令行操作步骤,帮助开发者快速解决mysqli扩展的连接问题。

2026-03-26 18:31:31 513

原创 Gin 日志体系详解

Gin日志体系解析 本文系统介绍了Gin框架的日志处理方案,从原生日记功能到企业级日志工具集成。Gin默认提供基础日志中间件Logger和Recovery,支持请求信息记录和panic恢复,但存在结构化不足、级别控制弱等问题。针对生产环境需求,重点推荐Uber开源的Zap日志库,具备高性能、结构化JSON输出、精细级别控制等优势,并提供完整的集成代码示例,包括日志切割、多输出配置等企业级功能实现方案。文章还对比了Logrus等替代方案,为不同场景提供选型建议,解决Gin开发中的全日志需求。

2026-03-26 01:30:32 571

原创 Gin 实战入门:从环境搭建到企业级常用特性全解析

本文介绍了Go语言高性能Web框架Gin的实战入门指南,重点讲解了企业级开发中的常用特性。主要内容包括:环境搭建与第一个Gin服务的创建,详细说明了路由定义和HTTP方法的使用;高频场景下的参数获取方法,涵盖路径参数、Query参数和Form表单参数三种常见传参方式;并提供了完整的代码示例和语法说明。文章面向有Go语言基础的开发者,所有代码均可直接运行,适合快速上手Gin开发。

2026-03-26 00:34:54 461

原创 Gin 接收前端传参方式有几种?

Gin 接收前端参数的几种方式: 路径参数:通过 c.Param() 获取 RESTful 风格的 URL 参数 查询字符串:使用 c.Query() 或 c.DefaultQuery() 获取 URL 查询参数 表单数据:通过 c.PostForm() 或 c.DefaultPostForm() 获取表单提交数据 JSON 数据:使用 c.ShouldBindJSON() 绑定 JSON 请求体到结构体 文件上传:通过 c.FormFile() 和 c.SaveUploadedFile() 处理文件上传

2026-03-25 23:50:02 432

原创 从依赖到自主:手写一个 ICO 文件转换器

本文介绍了如何从零实现一个ICO文件转换器,避免使用存在安全风险的第三方库。文章首先分析了依赖第三方库的三大问题:安全隐患(如CVE漏洞)、依赖黑洞和功能过剩。然后详细解析了ICO文件格式,包括6字节的文件头、16字节的目录条目和PNG图像数据三部分结构。最后提供了核心实现思路:验证PNG输入、计算偏移量、构建文件头和目录,最终拼接数据。作者用不到200行代码实现了一个轻量级转换器,既提升了安全性又减少了不必要的依赖。

2026-03-24 22:13:40 480

原创 JS 最常用的性能优化 防抖和节流

本文介绍了JavaScript中两种常用的性能优化技术:防抖和节流。防抖的核心是等待事件停止触发后再执行(如搜索框输入停止后发送请求),通过setTimeout实现重新计时。节流则是在持续触发事件时固定间隔执行一次(如滚动页面时定期更新位置),可采用时间戳或定时器实现。两种技术都能有效减少高频事件带来的性能损耗,防抖适用于后端请求场景,节流更适合前端渲染优化。文中提供了代码实现和典型应用示例,帮助开发者理解并应用这两种优化方案。

2026-03-24 15:57:17 313

原创 JS中的两大定时器

JavaScript中有两种定时器:setTimeout(一次性定时器)和setInterval(循环定时器)。setTimeout在指定延迟后执行一次,而setInterval会重复执行直到手动清除。定时器属于宏任务,执行优先级低于同步代码和微任务(如Promise和async/await)。使用clearTimeout和clearInterval可取消定时器,避免内存泄漏。定时器与微任务的区别体现在事件循环中,微任务优先于宏任务执行。典型执行顺序为:同步代码 > 微任务 > 宏任务(定时器)

2026-03-24 15:08:33 584

原创 搞懂 Event:是什么、有什么用、用在哪、解决什么问题

JS中的Event对象是事件驱动模型的核心,它能精准捕获用户操作细节并解决交互问题。通过e.target、e.key等属性可获取点击元素、按键信息等;使用e.preventDefault()和e.stopPropagation()方法可阻止默认行为和事件冒泡。Event常用于动态列表事件委托、表单验证、快捷键操作、弹窗关闭和鼠标跟随等场景,如通过e.target判断点击元素、e.key识别回车提交、e.offsetX获取鼠标位置等。这些特性使开发者能精确控制用户交互行为。

2026-03-24 14:42:40 472

原创 DOM 事件:onclick VS addEventListener(‘click‘)区别

DOM事件处理中,onclick和addEventListener('click')的主要区别在于:1)onclick只能绑定单个事件处理器,后者支持多个;2)移除方式不同,onclick设为null即可,后者需用removeEventListener且必须传入相同函数引用;3)事件阶段控制,onclick仅支持冒泡阶段,后者可选择捕获或冒泡阶段。现代开发推荐使用功能更强大的addEventListener,仅在快速测试等简单场景使用onclick。

2026-03-24 02:10:33 178

原创 [特殊字符] JS Date 对象8大使用场景

本文总结了JavaScript Date对象的8个核心使用场景,包括:获取当前时间、指定时间、获取年月日时分秒等基础方法;时间格式化技巧;获取时间戳的两种方式;计算时间差和倒计时功能实现;判断是否为当天;时间相对描述转换(如"几分钟前");以及获取当月首末日期的方法。这些方法涵盖了日常开发中最常用的日期处理需求,特别是格式化、时间差计算和倒计时等实用功能,为开发者提供了全面的日期操作参考方案。

2026-03-23 21:36:31 76

原创 JS Math 对象 完全讲解

JavaScript中的Math对象提供了一系列数学计算方法,无需实例化即可直接使用。常用方法包括:生成0-1随机数的random(),四舍五入的round(),向上/向下取整的ceil()/floor(),取绝对值的abs(),获取最大/最小值的max()/min(),进行幂运算的pow(),开平方的sqrt(),以及圆周率常量PI。这些方法可满足基本数学运算需求,如随机数生成、数字取整、数值比较等,是JavaScript开发中常用的数学工具。

2026-03-23 21:15:49 43

原创 Js常用数组处理

forEach()遍历数组,替代for循环 Array.isArray()判断是否为数组 push()在末尾添加元素 shift()删除首个元素 unshift()在开头添加元素 join()将数组转为字符串 reverse()颠倒数组顺序 indexOf()查找元素位置 这些方法涵盖了数组的遍历、增删、转换和查找等常见操作,是处理数组的基础工具。

2026-03-23 21:00:34 55

原创 Js常用的字符串处理

本文介绍了JavaScript字符串常用方法的核心特性与使用场景。所有字符串方法均不会修改原字符串,而是返回新字符串。重点方法包括:charAt()获取指定位置字符、concat()拼接字符串、substring()和slice()截取子串、indexOf()查找子串位置、trim()去除空白字符、split()分割字符串为数组。特别推荐优先使用slice()方法进行截取操作,因其支持负数索引更灵活。这些方法广泛应用于表单验证、文本处理、数据解析等场景,是JavaScript字符串操作的基础工具。

2026-03-23 20:07:55 335

原创 一文掌握 Go fmt:最常用的字符串与字节串操作总结

本文总结了Go语言fmt包中最常用的字符串与字节串操作方法。字符串操作包括fmt.Sprint直接拼接、fmt.Sprintf格式化拼接以及fmt.Println打印输出;字节串操作提供了fmt.Append、fmt.Appendf等高效拼接方法,特别适用于网络编程。文章还介绍了字符串与字节切片互转的方法,并列举了常用的格式化占位符。这些方法涵盖了日常开发中字符串处理的主要需求,是Go开发者必备的基础技能。

2026-03-20 00:33:27 231

原创 实践刘丹冰的即时通讯系统

本文介绍了基于Go语言构建即时通讯系统的实践过程。系统分为两个版本迭代:V0.1实现基础TCP服务端搭建,包括监听端口、接收连接和并发处理;V0.2新增用户上线广播功能,通过用户抽象模块(User)和服务端升级(OnlineMap管理、消息广播)实现多人感知。核心亮点包括协程并发处理、读写锁保证线程安全、通道实现消息广播等Go语言特性应用,为后续扩展即时通讯功能奠定了基础。

2026-03-16 18:43:45 366

原创 C++ 中 单引号 ‘‘ 和 双引号 ““ 到底有什么区别?

C++中单引号('')和双引号("")的区别在于:单引号表示单个字符(char类型,1字节),如'a';双引号表示字符串(const char*类型),如"a"实际上是2字节('a'+'\0')。单引号只能包含1个字符,双引号可包含任意长度字符串。使用时需注意类型匹配,如在unordered_map<char,>中用"a"会报错,必须用'a'。内存中,'a'占1字节,"a"占2字节(包含结束符)。

2026-03-14 23:15:45 39

原创 如何使用WebSocket实现一个公域聊天室?

本文介绍了如何使用WebSocket实现一个公域聊天室。核心功能包括:所有用户在同一房间内交流、用户进出通知、多人同时在线互不阻塞。关键技术点:1) WebSocket长连接实现实时通讯;2) Go协程处理并发连接;3) 全局客户端列表+广播机制;4) sync.Mutex保证线程安全。文章详细展示了Go语言实现代码,包括HTTP升级WebSocket、用户注册/注销、消息广播等核心功能,并提供了完整的代码示例。这种实现方式适用于需要实时交互的多人聊天场景。

2026-03-14 20:43:13 165

原创 Golang中实时推送的功臣 - WebSocket

WebSocket是基于TCP的双向长连接通信协议,解决了HTTP短连接无法实现服务端主动推送的问题。它支持客户端和服务端随时互相发送消息,适用于实时推送、聊天、直播等场景。Go语言中可使用gorilla/websocket库实现WebSocket服务:先通过Upgrader将HTTP连接升级为WebSocket长连接,然后使用ReadMessage/WriteMessage进行消息收发,还支持直接处理JSON数据。相比HTTP,WebSocket具有长连接、低延迟、轻量级等优势,是实现实时通信的理想选择。

2026-03-14 18:17:15 311

原创 Go中的泛型与any、interface有什么区别?

Go语言中any(即interface{})与泛型的区别: any是万能容器,可存储任意类型但会丢失类型信息,使用时需要类型断言 泛型通过类型参数[T int|string]保留类型信息,编译时检查保证类型安全 使用场景: any适合仅需存储传递数据而不关心具体类型的场景(如日志打印) 泛型适合需要对数据进行操作且需要类型安全的场景(如通用算法) 典型对比: 泛型加法函数Add[T int|float64]可直接运算 any实现加法需要繁琐的类型断言且不安全 泛型提供了更好的类型安全和代码复用性,而any更

2026-03-14 16:35:30 264

原创 如何让两个Go程序远程调用?

Go语言通过net/rpc包实现远程程序调用(RPC),使开发者可以像调用本地函数一样调用远程服务。该包要求服务方法遵循特定签名规则:方法所属类型和名称需导出,接收两个参数(第二个为指针类型),并返回error类型。示例展示了如何实现一个远程乘法计算器,服务端注册MathService结构体并监听端口,客户端通过Dial连接后调用Multiply方法获取结果。虽然标准库RPC已冻结,但该模式为理解现代RPC框架(gRPC等)提供了基础,演示了Go实现跨进程通信的核心机制。

2026-03-14 14:36:57 318

原创 Go 标准库 net/http 包都能干嘛?

Go语言的标准库net/http提供了HTTP服务端和客户端的实现。服务端方面,它支持路由注册(HandleFunc)、监听服务(ListenAndServe)、处理请求和响应(ResponseWriter和Request),并展示了GET/POST请求处理、JSON返回、静态文件服务等常见用法。客户端方面,提供了简单的Get/Post方法和可定制的Client结构。文档还比较了使用默认DefaultServeMux和自定义ServeMux的优缺点,后者更安全灵活。这个标准库让开发者无需第三方依赖就能构建完

2026-03-13 20:32:50 380

原创 Go 网络编程实战:构建一个最小可用的 TCP 交互程序

本文介绍了一个基于Go语言的TCP网络编程实例,包含服务端和客户端实现。服务端监听8888端口,支持并发处理多个客户端连接,提供回声功能(原样返回客户端消息)和特殊命令响应(如返回客户端IP地址)。客户端可主动连接服务端,通过命令行交互发送消息并接收响应。 关键实现点: 服务端使用goroutine并发处理连接 通过net包实现TCP通信基础功能 包含连接建立、数据传输和断开处理的完整流程 实现了基本的异常处理和资源释放 这个示例展示了Go语言进行网络编程的基本模式,适合作为学习TCP通信和并发处理的入门实

2026-03-13 02:09:37 387 2

原创 Go中的Tcp编程为什么总是能看到handle?

在TCP编程中,handle/handler是专门处理特定事件/请求的函数或接口。它分离了框架层(网络通信)和业务逻辑层,使代码结构更清晰。handler通常处理新连接、数据包和异常情况,其命名源自英语"处理"之意,并已成为行业通用术语。在Go中,handler可以定义为函数或接口(如TCPHandler),通过控制反转实现不同业务逻辑的解耦。这种命名方式语义精准、职责明确,且符合Go标准库的命名习惯(如http.Handler),是TCP编程中的常见模式。

2026-03-11 13:10:09 632

原创 golang的fs除了定权限还能干什么?

Golang的fs包提供了文件系统操作的通用接口,核心是fs.FS接口,只需实现Open()方法即可作为合法文件系统。相比传统os操作,fs模块更灵活,支持处理任何来源的文件(本地、嵌入等)。常用工具函数包括ReadFile、WalkDir、Stat等,与io包类似但针对文件系统。fs最大优势是与go:embed结合,可将静态文件嵌入二进制程序,便于部署。os、io和fs分工明确:os处理本地文件,io定义数据读写接口,fs定义文件系统操作接口。

2026-03-09 21:36:09 249

【数学建模竞赛】美赛MCM-ICM问题分析与建模框架:2026年赛事摘要报告结构设计

内容概要:本文为2026年美国大学生数学建模竞赛(MCM/ICM)的摘要模板文档,主要用于指导参赛团队撰写比赛报告的首页面——摘要页。文档提供了标准格式的结构框架,包括问题选择、队伍控制编号、字体与排版要求(12点Times New Roman字体、英文书写、PDF格式提交),并列出了完整的报告目录结构,如引言、问题分析、符号与假设、模型构建、模型检验、敏感性分析、优缺点评估、结论及参考文献和附录等部分。该模板强调匿名规则,禁止出现学校、指导教师或队员姓名,并提醒及时更新控制号与所选题目编号。; 适合人群:参加MCM/ICM竞赛、具备一定数学建模基础的本科生或研究生团队;适用于正在准备美赛论文写作的学生和指导教师。; 使用场景及目标:①帮助参赛队伍规范摘要页格式,确保符合官方提交要求;②提供清晰的论文结构指引,提升报告逻辑性与完整性;③辅助团队高效组织内容,突出研究重点,提高竞赛成绩。; 阅读建议:此资源以模板形式呈现,应结合具体建模问题填充内容,在使用时务必删除原指令文字,严格按照竞赛规范调整格式,并注意保持语言简洁明了、逻辑严谨,突出模型创新点与实际应用价值。

2026-02-01

简历模版 - 个人求职 - Word

- 标准实用型(适合广泛人群) 精心整理的个人简历模版,Word格式,支持二次编辑。涵盖多种排版风格,适用于应届毕业生、职场转型者及专业人士求职使用。内容清晰、结构合理,助你快速打造高质量简历。 - 商务专业型(适合职场中高端定位) 高质量Word简历模版,适用于各类岗位求职。包含多种版式设计,突出个人优势与职业背景,助力打造专业形象。支持个性化修改,提升简历通过率。 - 创意个性型(适合设计类或创意岗位) 不止是简历,更是你的职场名片。Word格式模版,排版新颖、风格多样,适合设计、市场、创意类岗位。可自由修改,轻松打造独一无二的求职简历。 - 精简直接型(适合快速上传) Word格式个人简历模版,支持修改,样式丰富,适合各类求职场景使用。

2025-08-26

黑马品优购前端Html+CSS的UI

# 品优购项目描述 这是一个名为"品优购"的静态电子商务网站项目,根据代码库内容来看,这是跟随黑马程序员pink老师一步一步开发的前端静态UI项目。以下是对项目的概括描述: ## 项目概览 - **类型**: 综合电商网站前端界面 - **技术栈**: HTML5、CSS3、JavaScript - **项目结构**: 多页面网站,包含首页、商品列表页、注册页和"树洞"功能页等 - **在线访问**: 项目已部署在线,可访问地址为 freefs.net3v.club ## 主要页面 ### 首页 (index.html) - 包含快捷导航栏、logo、搜索框、热门搜索 - 商品分类导航 - 轮播图展示 - 推荐商品区域 - 多个商品展示楼层(家用电器、手机通讯、电脑办公、家具家居、男女装、户外运动等) ### 商品列表页 (list.html) - 商品分类展示 - 商品图片列表 - 底部导航和服务说明 ### 注册页面 (register.html) - 用户注册表单 - 包含手机号、短信验证码、密码、确认密码等输入项 - 密码安全性提示功能 - 用户协议确认框 ### 树洞页面 (treeHole.html) - 下拉菜单功能 - 背景切换按钮 - 进度条效果展示 - 图片拖拽功能 - 无缝滚动图片轮播展示 ## 特色功能 1. **交互效果**: - 下拉菜单 - 图片轮播 - 无缝滚动 - 图片拖拽 - 进度条动画 2. **CSS样式**: - 响应式布局元素 - 图标使用icomoon字体图标 - 使用CSS3特效(过渡、阴影、渐变等) - 规范的CSS命名和结构 3. **JavaScript功能**: - 图片轮播定时切换 - 鼠标悬停效果 - 文字输入实时计

2025-06-27

基于JS实现的简易计算器

简易计算器项目介绍 这个项目是一个使用HTML、CSS和JavaScript实现的简易网页计算器,具有现代化UI设计和完整的基础计算功能。 主要特点 美观的界面设计 深色主题设计,符合现代应用风格 圆角边框和阴影效果提升质感 良好的按钮间距和布局 按钮悬停效果增强交互体验 完整的计算功能 支持基本四则运算(加、减、乘、除) 包含清除(AC)功能 支持小数点输入 包含显示结果的区域 技术实现 使用CSS Grid进行按钮布局 使用事件委托优化事件处理 模块化的JavaScript函数设计 包含数字溢出处理(自动转为科学计数法) 计算器功能 数字键(0-9)输入功能 四则运算操作(+、-、×、÷) 等号(=)计算结果 清除(AC)重置功能 小数点(.)输入功能 错误处理(如除以零的情况) 技术细节 HTML结构:清晰划分为显示区域和按钮区域 CSS样式:使用Grid布局和Flexbox实现界面设计,添加过渡效果增强交互体验 JavaScript逻辑: 数据模型:维护当前输入、第一个操作数和操作符状态 事件处理:针对不同类型按钮执行不同操作 计算逻辑:根据操作符执行相应的数学运算 这个计算器项目虽然简单,但实现了计算器的核心功能,并且具有良好的用户界面和代码组织结构,是Web前端开发的一个很好的练习项目。

2025-06-28

三维热传导问题模拟代码

三维热传导问题模拟代码解析 这是一个使用 FEATool Multiphysics 工具箱(基于 MATLAB 环境的多物理场有限元分析工具)编写的三维热传导数值模拟脚本。该脚本模拟了一个三维物体内的温度分布及其随时间的演变过程。 主要功能 几何建模: 首先创建了一个长方体几何体 (0-1.5 × -0.35-0.35 × 0--0.7) 后期又增加了更复杂的几何体,通过布尔运算(减法操作)组合多个长方体 物理参数设置: 密度 ρ = 1000 kg/m³ 比热容 Cp = 4200 J/(kg·K) 热导率 k = 0.64 W/(m·K) 热源项 Q = 4.2×10⁸ W/m³ 初始温度 T₀ = 321 K 控制方程: 设定了包含瞬态项、热传导项、对流项和热源项的完整热传导方程: 边界条件: 温度边界条件:T = T₀ 绝热边界条件:n·(-k∇T + ρCp·u·T) = 0 对流换热边界条件:-n·(-k∇T + ρCp·u·T) = q₀ + h·(T∞-T) + Const·(T_amb⁴-T⁴) 部分边界设定了对流换热系数 h = 15 或 200 W/(m²·K),周围流体温度 T∞ = 308 或 320 K 数值求解: 稳态求解:使用 solvestat 函数 瞬态求解:使用 solvetime 函数进行时间步进求解 时间步长 0.1s,最大模拟时间 1s 设定了收敛标准和最大迭代次数 后处理可视化: 使用 postplot 函数可视化温度场 包括切片图、等值面和表面温度分布 在特定位置 (x=0.75, y=0, z=-0.35) 创建切片进行观察 工作流程 定义几何模型和网格划分(使用GMSH网格生成器) 设置材料属性和物理场参数 定义边界条件 求解稳态问题 对结果进行可视化 求解短时间的瞬态问题(0.1秒)并可视化 求解较长时间的

2025-06-27

数据包络分析(DEA)模型实现

数据包络分析(DEA)模型实现 这是一个使用MATLAB实现的数据包络分析(Data Envelopment Analysis, DEA)方法的代码。DEA是一种基于线性规划的非参数方法,用于评估具有相同类型输入和输出的决策单元(Decision Making Units, DMUs)的相对效率。 代码中实现了几种DEA模型,但目前只激活了包络DEA模型(diccr函数),其他模型(传统CCR模型、最劣CCR模型、BCC模型和超效率DEA模型)被注释掉了。 当前激活的模型 包络DEA模型(diccr): 计算决策单元的效率 通过线性规划求解每个决策单元的效率值和对应的投影 返回结果包括输入剩余变量(A)、输出松弛变量(B)和效率值(D) 实际应用 DEA模型广泛应用于: 企业绩效评估 银行分支机构效率比较 医院运营效率分析 教育机构评估 政府部门效率评价 此代码为评估不同决策单元相对效率的基础工具,可以用来确定哪些单元运行最有效,以及如何改进效率不高的单元。

2025-06-27

STLF-BiLSTM-CNNBiLSTM-main.zip

STLF-BiLSTM-CNNBiLSTM

2025-06-27

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

TA关注的人

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