主页

go 打包静态资源,前后端一把梭

Go embed 它的作用就是可以在Go语言应用程序中包含任何文件、目录的内容, 也就是说我们可以把文件以及目录中的内容都打包到生成的Go语言应用程序中了,部署的时候,直接扔一个二进制文件就可以了,不用再包含一些静态文件了,因为它们已经被打包到生成的应用程序中了。 embed 的基本用法 Go embed的使用非常简单,通过//go:embed指令即可 实践参考例子 文件目录参考 资源目录必须和引用embed的文件目录平齐或者为子目录,不能在上级目录,其中web为静态资源目录,commentWeb.go为引用embed的go文件 实践代码 这段代码是一个简单的Go语言程序,用于启动一个基本的Web服务器,并将静态文件嵌入到可执行文件中。 //go:embed web...

阅读更多

辣评评论系统的构建与优化(三)

评论系统概述 评论系统是辣评平台的核心功能之一,用于用户对投稿作品的评价和讨论。系统需要支持评论的创建、展示、统计、排序等多种功能。 系统目标 支持灵活的评论创建和管理 提供高效的评论查询和展示 实现准确的评论统计 支持评论排行榜功能 评论数据模型设计 核心数据结构 // Comment 评论模型 type Comment struct { ID uint `gorm:"primaryKey"` UserID uint `gorm:"index"` SubmissionID uint `gorm:"index"` CompetitionID ...

阅读更多

辣评架构演进:从微信机器人到 Web 平台(二)

架构演进背景 辣评项目最初是基于微信机器人的小说投稿评论管理系统。随着功能的不断扩展和用户需求的增加,我们逐步意识到需要从微信机器人架构演进为完整的 Web 平台架构。 演进的驱动力 用户体验需求 微信机器人交互受限于聊天界面 需要更丰富的可视化展示 需要更灵活的操作方式 功能扩展需求 复杂的数据统计和分析 多维度的筛选和查询 管理员后台功能 性能和稳定性 微信机器人依赖第三方服务 需要更稳定的服务保障 需要更好的并发处理能力 独立部署需求 摆脱对微信平台的...

阅读更多

nginx详细参数配置

Nginx (engine x) 是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用 代理服务器 (TCP/UDP/IMAP/POP3/SMTP),最初由俄罗斯人Igor Sysoev编写。 基本命令 nginx -t 检查配置文件是否有语法错误 nginx -s reload 热加载,重新加载配置文件 nginx -s stop 快速关闭 nginx -s quit 等待工作进程处理完成后关闭 搭建好nginx服务器并启动过后,我们先看nginx默认配置,再逐个介绍不同使用场景。 默认配置 Nginx 安装目录下, 我们复制一份nginx.conf成nginx.conf.default作为配置文件...

阅读更多

rebel 在线激活地址

rebel 在线激活地址 https://jrebel.com.cn/#/ 激活服务器地址(路线1,推荐) https://jrebel.com.cn/99f35616-0f9b-43c3-9901-591cdb666b7d 激活服务器地址(路线2) https://jrebel.idoudou.me/2a204772-7ce2-4771-b303-d9a864ed0d88 激活服务器地址(路线3) http://42.193.18.168:8088/8f81...

阅读更多

最新jetbrains全家桶及phpstorm激活方法支持全系列全版本支持更新永久有效

方式一 通过censys https://search.censys.io/ 主要用到的代码 services.http.response.headers.location: account.jetbrains.com/fls-auth 我们复制上面用到的代码进入censys进行搜索。可以看到出现了很多对应跳转到 jetbrains 的服务器IP和网址,我们随便点击一个看下状态是不是 302 只有 302 的才能 正常使用 。  然后我们复制域名或者IP到jetbrains全家桶进行激活(复制到 License server)。先点“Test ConnectTion” 测试链接,链jetbrains授权服务器成功了,然后我们点击 ACTIVATE 进行启动...

阅读更多

【LCR174】寻找二叉搜索树中的目标节点

某公司组织架构以二叉搜索树形式记录,节点值为处于该职位的员工编号。请返回第 cnt 大的员工编号。 var findTargetNode = function (root, cnt) { // 定义一个全局变量用于存储结果 var result = null; // 中序遍历,逆序遍历二叉搜索树 function inOrderTraversal(node) { if (!node || cnt === 0) { return; } // 遍历右子树 inOrderTraversal(node.right); // 处理当前节点 cnt--; if (cnt === 0) { resul...

阅读更多