软件工程学习日志2025.10.22

news/2025/10/22 21:32:48/文章来源:https://www.cnblogs.com/dynastyeast/p/19159005

今日目标

  • 让后端服务稳定启动,加载最新静态资源与 WebSocket 逻辑。
  • 修复聊天气泡左右归属判定错误(所有消息都在右侧)。
  • 提升右侧气泡内昵称与时间的可读性(颜色对比度不足)。

实施过程

  • 多次尝试本地启动方式,修正命令语法后仍遭遇解析错误与类路径问题。
  • 通过打包生成可执行 JAR 并用 java -jar 启动,绕过类路径依赖问题。
  • 在前端用 sessionStorage 为每个标签页生成独立 clientId,移除昵称回退判定。
  • 调整右侧气泡 .sender.meta 的颜色,提高在深色背景下的可读性。
  • 重新打包并重启服务,打开本地页面进行可视化验证。
    遇到问题
  • 启动命令在 PowerShell 解析时报 MissingExpressionAfterOperator,启动失败。
  • 直接用 java -cp 启动主类报缺少 SpringApplication,类路径未包含 Spring Boot 依赖。
  • 打包失败:JAR 重命名被占用(文件锁),无法生成 *.jar.original
  • 前端判定逻辑错误:同一浏览器多窗口共享 ID,导致“自己”判定失真。
    解决方案
  • 统一走打包启动流程:mvn -q -DskipTests package 后用 java -jar target\\chat-1.0-SNAPSHOT.jar 启动,确保依赖与资源齐全。
  • 释放文件锁:终止本机所有 Java 进程后再打包,打包正常完成。
  • 归属判定改造:用 sessionStorage 生成并存储 clientId,仅使用 clientId 判断左右气泡,移除昵称回退逻辑。
  • 提升可读性:在 static/index.html 中增加右侧气泡内文字颜色覆盖
    • .msg.out .sender { color: rgba(255,255,255,0.92); }
    • .msg.out .meta { color: rgba(255,255,255,0.78); }
      验证与结果
  • 服务成功启动,Tomcat 运行在 8080,欢迎页映射到 static/index.html
  • 左右气泡归属按 clientId 生效,跨浏览器标签页测试正常。
  • 右侧气泡中的昵称和时间在深蓝背景下对比度显著提升,可读性良好。
  • 本地访问地址:http://localhost:8080/
    收获与反思
  • 复杂项目启动优先选择“打包 + JAR 启动”,避免本地环境差异与类路径陷阱。
  • 前端判定逻辑应避免使用可跨标签页共享的数据源(如 localStorage),会干扰“自己/他人”判断。
  • 样式在深色背景下应关注信息层级的对比度,适度提升白色系透明度能兼顾美观与可读性。
  • 当打包失败涉及文件锁,优先排查是否有正在运行的进程占用目标文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/943754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Seg T

交换律类任意一个标记向下时,两种标记都要下放 求max 时,query的无关子树返回极小值 pushdown和update的修改应当相同(对于结合律类时,可能update时对同一个tag的处理不同(如+&时对 add 有+有),对应到pushd…

Typora的多端同步方案,如何多台计算机共享md文件?Windows和Mac通过定时执行git来同步markdown文件

Windows和Mac通过定时执行git来同步markdown文件。 在阅读文章前,务必给typora配好图床,图床真的很爽,去网上搜搜教程二十分钟配好。 配置git免密码推拉 首先需要给git配置免登录,使用ssh推拉代码。如果不想看废话…

OOP-实验二

实验任务一 源代码 T.h点击查看代码 #pragma once#include <string>// 类T: 声明 class T { // 对象属性、方法 public:T(int x = 0, int y = 0); // 普通构造函数T(const T &t); // 复制构造函数T(T &am…

P2272 [ZJOI2007] 最大半连通子图

P2272 [ZJOI2007] 最大半连通子图 题解闲聊:最近好像一直在写题,好久没补题解了qwq,今天来一发。 以及,不会缩点的请先移步P3387题目传送门 博客传送门 思路 首先呢,如果原图里存在强连通分量,那么它们首先是半联…

2025年,哪些微信公众号排版工具能带来效率变革?

最初的纯手动排版到如今AI赋能的全流程创作工具,技术的进步让内容生产效率翻倍提升。今天,我将基于海量实测和真实使用场景,为你盘点2025年市面上最值得入手的8款公众号编辑器,并重点测评有一云AI编辑器——这款被…

我对软件工程的理解

软件工程是一门将工程化思想应用于软件开发与维护过程的学科,其核心目标是以系统化、规范化、可度量的方式提高软件的质量、开发效率和可维护性。它不仅仅关注编程本身,更强调整个软件生命周期的管理,包括需求分析、…

软件工程第三次作业--结对项目

结对项目信息 课程信息项目 内容这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience/…

AI股票预测分析报告 - 2025年10月22日

AI股票预测分析报告 - 2025年10月22日body { font-family: "Microsoft YaHei", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: rgba(51, 51, 51, 1); max-width: 1…

CF2144D

场上想了挺久才想到做法。 但是其实题不难。 首先发现 \(c_i\) 的数据范围不大,可以考虑枚举 \(x\)。 接着考虑如何每次枚举 \(x\) 完之后,计算当前 \(x\) 的答案。 用一个桶记录一下每个 \(c_i\) 出现的次数。 接着…

折腾笔记[33]-使用uiautomation自动重复读取图片(被控程序为.net框架)

基于python使用uiautomation自动操作.net程序.读取目录中png以及查找与其对应的json数据输入软件和点击按钮.摘要 基于python使用uiautomation自动操作.net程序.读取目录中png以及查找与其对应的json数据输入软件和点击…

软工第三次作业——结对项目

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience/homework/13470github项目地址 h…

数据分析工具Pandas

View Post数据分析工具Pandas1、Pandas的数据结构分析 (1)Series:是一个类似一维数组的对象,它能够保存任何类型的数据,主要由一组数据和与之相关的索引两部分分构成;为了能方便地操作Series对象中的索引和数据,…

switch的简单运用

switch 分支语法 switch 分支结构用于在多个可能的情况下选择一种情况进行处理。以下是 switch 分支结构的基本语法:switch(变量表达式){case 常量1:语句;break;case 常量2:语句;break;case 常量3:语句;break;...case …

科学计算库Numpy

View Post科学计算库Numpy1、认识Numpy数组对象 Numpy中最重要的一个特点就是其N维数组对象,即ndarray对象,该对象可以执行一些科学计算。点击查看代码 #导入库 import numpy as np2、创建Numpy数组 (1)最简单的创…

实用指南:基于蜣螂优化的LSTM深度学习网络模型(DBO-LSTM)的一维时间序列预测算法matlab仿真

实用指南:基于蜣螂优化的LSTM深度学习网络模型(DBO-LSTM)的一维时间序列预测算法matlab仿真2025-10-22 21:02 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !import…

10.22总结

1.今天学习了数据库增添数据 2.明天准备学习删除数据 3.今天不太熟悉

AutoGen框架入门:5个核心概念搭建智能体协作系统

AutoGen 是微软研究院开源的多智能体 AI 系统框架。这个框架的设计思路很简单——让多个 AI 智能体(加上人类参与)在对话中完成复杂任务的协作和推理。 你甚至可以把它理解成一个团队聊天室,智能体们在里面讨论、争…

使用google上colab编辑器

1.先下载google,并注册google账号 手机注册失败时,可以在浏览器设置中把浏览器语言改为中文,重新注册即可 2.登录google drive 网址:https://drive.google.com/drive/my-drive 3.在google drive 中加载 Colab Noteb…

英语_阅读_The power of curiosity_待读

The power of curiosity 好奇心的力量 Curiosity is one of the most powerful forces that drive human progress. 好奇心是推动人类进步最强大的力量之一。 It is the desire to learn, explore and understand the …