background picture of the home page

Ciallo~(∠・ω< )⌒★

秋秋的点心铺

Vue为什么是js写的而不是其它语言写的?

Vue选择JavaScript的核心原因在于前端开发的本质需求、JS特性及生态适配。浏览器仅支持JS运行,前端框架需直接操作DOM和浏览器API,JS是原生适配的唯一选择。JS的动态类型、函数式编程支持、原型链等特性,完美契合Vue响应式、灵活的设计目标;其成熟生态(npm、Webpack等)和全球最大开发者社区,降低了开发门槛。同时,JS作为前端事实标准,顺应历史趋势,而Java、Python等语言因编译步骤、静态类型限制或生态脱节,难以满足前端高效开发需求。综上,JS是浏览器环境的最优解,无需为“尝鲜”牺牲效率与生态。

thumbnail of the cover of the post

为什么要前后端分离

前后端分离是一种开发模式升级,核心是把“前端页面渲染”和“后端数据处理”拆成两个独立的部分,各司其职。它不是“必须”,但在现代Web开发中已成为主流,主要解决了传统开发模式的痛点。 一、传统开发模式的痛点(前后端耦合) 在前后端分离之前,主流的开发模式是“前后端一体”(比如JSP、PHP、早期的AS

thumbnail of the cover of the post

输入网址后页面显示的流程是什么?

用户输入网址后,浏览器先检查缓存,若未过期则直接使用;否则进行DNS解析(域名转IP),再通过TCP三次握手建立连接。随后发送HTTP请求,服务器处理并返回响应(含状态码、响应体)。浏览器解析HTML构建DOM树、解析CSS构建CSSOM树,合并生成渲染树,经布局和绘制后显示页面。最后执行JS代码,监听用户交互,支持后续操作。整个过程耗时数百毫秒至数秒,优化缓存、DNS查询及资源压缩可提升加载速度。

thumbnail of the cover of the post

UDP和TCP的区别

TCP与UDP是传输层核心协议,分别追求“稳妥”与“速度”。TCP需建立连接(三次握手/四次挥手),提供可靠传输(不丢包、不乱序)、流式传输,头部较大(至少20字节),适用于网页浏览、文件下载等需数据完整的场景;UDP无需连接,不可靠传输(可能丢包)、数据报传输,头部仅8字节,适合视频通话、在线游戏等需实时性、低延迟的场景。运维监控中,客户端上报数据用TCP确保完整到达;高频实时指标若用UDP,需应用层自行处理丢包,核心逻辑为“稳妥选TCP,速度选UDP”。

thumbnail of the cover of the post

Http和WebSocket通信的区别

HTTP 和 WebSocket 是两种不同的网络通信协议,核心区别在于通信方向、连接状态和适用场景。 1. 通信方向:单向 vs 全双工 HTTP:单向请求-响应模式。 只能由客户端主动发起请求(比如打开网页、点按钮查数据),服务器收到请求后返回响应,之后连接就关闭了(HTTP/1.1 虽然支持长

thumbnail of the cover of the post

rbac是怎么写的?

本文详细介绍了基于RBAC的权限管理系统实现方案。核心包括:数据库设计采用五张表(用户、角色、权限及关联表)构建"用户-角色-权限-服务器"四者关系;服务端通过SpringSecurity整合JWT实现无状态认证,支持动态权限加载与版本控制;前端基于权限数据动态渲染菜单和按钮。系统通过服务器-角色关联表实现精细化权限控制,解决了权限缓存、JWT版本同步等关键问题,最终实现了不同账户管理不同服务器的灵活权限管理机制。

thumbnail of the cover of the post

websocket怎么写的?

本文基于WebSocket实现前端网页直接操作后端服务器的SSH功能。服务端采用Spring Boot,配置WebSocket端点与消息代理,通过JWT Token鉴权,用ConcurrentHashMap绑定WebSocket会话与JSCH会话,实现命令执行与结果实时返回,并处理断开时的资源清理。前端使用Vue3,结合SockJS、StompJS兼容浏览器,Xterm.js渲染终端,实现连接建立、命令发送、窗口调整及断开重连。关键解决多标签页会话独立、鉴权失败提示、命令输出流式发送等问题,确保实时性与准确性。

thumbnail of the cover of the post

MySQL中连表的问题是怎么解决的?左连接内连接之类的区别是什么?

在 MySQL 中,连表(多表连接查询)是处理多表关联数据的核心操作,主要用于从多个表中提取关联数据。以下从连表问题的解决思路、常见连接类型的区别(重点左连接 vs 内连接)两个方面详细说明: 一、MySQL 连表问题的解决思路 连表问题的本质是通过关联字段将多个表的数据按逻辑关系合并,核心步骤如下

thumbnail of the cover of the post

RabbitMQ的架构

整体架构位置 RabbitMQ 在项目中作为消息中间件,主要负责处理短信发送任务队列,实现异步处理和流量削峰。 核心组件 生产者(Producer): 位于服务端应用中 当系统需要发送短信时,将短信任务封装后发送到RabbitMQ

thumbnail of the cover of the post

监控数据是怎么获取推送到前端的?

1. 客户端数据采集与上报 使用oshi框架实时采集监控主机的硬件和系统数据(CPU、内存、磁盘等) 通过Spring Quartz定时任务定期(如每30秒)收集数据 采集的数据以JSON格式存储了服务端连接信息 采用HTTP请求将监控数据上报到服务端

thumbnail of the cover of the post