上位机工作感想-2024年工作总结和来年计划
随着工作年限的增增长,发现自己越来越不喜欢在博客里面写一些掺杂自己感想的东西了,或许是逐渐被工作逼得“成熟”了吧。2024年,学到了很多东西,做了很多项目,也帮别人解决了很多问题,唯独没有涨工资。来这家公司快两年了,业务量增加了不少,工资却还是那个样,领导连大饼都懒得给我画了。
1.2024年总结
1.1 项目总结
其实今年也没做啥项目,一半时间都花在重构老软件上,没有产品经理,没有项目经理,所有的东西都靠两个软件自己来,做完之后也没有业务测试,测试也是我自己。在开发这套软件的过程中,我也是总结了一套适用于上位机开发的比较统一的框架:
- 第一是分层处理,将整个软件分为通讯层、设备层、控制层、控制面板层,每个层抽象出几个具体业务接口,上层通过接口调用下层,达到解耦的目的,所有业务通过指令模式封装在一个个对象中,不同的业务就是不同指令的组合,整个模式非常灵活

- 第二配置优先原则,分离业务中变化的和不变的配置,将不变的保存在资源文件中,变化的放在配置目录的.ini文件中,之后读取拼装初始化Json对象,核心对象全部通过Qt的反射模式创建,很多业务通过修改配置文件就行了,这个东西要平衡好灵活性和易用性,设置好边界,过度追求灵活性反而会徒增工作量,因为很多配置只有我们软件工程师才能看懂,做在qt的资源中反而更省事;

- 第三就是界面美化,虽然一个不能强求一个软件工程师做好看的UI,但是对于外行人来说,你UI做的好看就说明你技术厉害,所以掌握几套好看的qss风格还是很重要的,这个正在做…
- 其它就是做老软件的维护工作,其中比较有意思的是,把之前用matlab写的斜光测距建模和预测算法在Qt上用Opencv重写了一下,也是把原来代码整理了,用面向对象的技术分解各部分功能,增加了可视化建模,测量故障异常排查等功能
- 维护老软件,确实没啥可说的,总结两个字就是:操蛋!
1.2 技术总结
今年在技术栈上没啥突破,基本上还是用Qt开发产品业务,C#开发一些工具软件,python做一些算法原型的研究(越来越觉得python是个操蛋的语言了,好久不看就会忘了之前写的思路)。
- 设计模式:今年也是把《gof设计模式》看了两遍,对于里面大部分的使用场景都有自己的理解,但是对于像备忘录模式、访问者模式的使用场景还是一知半解。生搬硬套设计模式倒不如不用设计模式,在现在的Qt语言中,很多设计模式的实现方式和书本上的都有较大出入,在充分理解业务变化点的基础上,理解设计模式的思想并在业务中审慎地使用设计模式才是核心,过度设计还不如不设计。
- C++语言:今年好像对于C++语言基础的书看得不多,也就浅浅地看了一遍《Essential C++》,《C++ Primer》也是没有再看过了,其它的就是再 C语言中文网 上看的一些C++知识了,现在会员也到期了,也就没啥看的了。
- C#语言:看了一下杨中科的《ASP.Net Core技术内幕与项目实战》,前面的还能看看,后面就是将一些ef框架和Web开发相关的了,看了也记不住。另外就是做了一个调试雷赛电机驱动器的调试软件和数据上传平台(可以适配modbus、数据库不同的上传方式),做了一个blazor的数据大屏看板,感觉C#写的程序在老机器上确实没有qt运行的流畅,也许我用的是.Net6的原因吧,老机器不太适配。
- Python:没看啥书,用pyqt做了一套光谱性能评价的软件,用了洛伦兹拟合算法啥的。
2.2025年规划
2.1 技术上
- 学一学在Linux上开发软件的技能,看看能不能承担嵌入式开发的一些产品
- 注重基础,对于《C++ Primer》、《深入理解计算机系统》、《代码大全》等经典名著还是要多看两遍
- 界面美化,总结出两套qss窗体美化的主题,让自己的软件看起来高大上一点
2.2 业务上
- 现在也没啥追求了,干好自己的事就好了
- 继续完善自己的上位机通用开发框架,提升框架的拓展性、健壮性和易用性
3.总结
现在大环境确实挺差的,稳定是第一,降低期望,降低消费,专注于发展自己的技术能力,会减少很多烦恼。很多时候你改变不了环境,只求把自己该做的事情做好,多看看自己学到了什么,对软件开发的很多又有了新的认识,不忘初心,坚持自己的本心就好!
相关文章:
上位机工作感想-2024年工作总结和来年计划
随着工作年限的增增长,发现自己越来越不喜欢在博客里面写一些掺杂自己感想的东西了,或许是逐渐被工作逼得“成熟”了吧。2024年,学到了很多东西,做了很多项目,也帮别人解决了很多问题,唯独没有涨工资。来这…...
【视觉惯性SLAM:十六、 ORB-SLAM3 中的多地图系统】
16.1 多地图的基本概念 多地图系统是机器人和计算机视觉领域中的一种关键技术,尤其在 SLAM 系统中具有重要意义。单一地图通常用于表示机器人或相机在环境中的位置和构建的空间结构,但单一地图在以下情况下可能无法满足需求: 大规模场景建图…...
【C++笔记】红黑树封装map和set深度剖析
【C笔记】红黑树封装map和set深度剖析 🔥个人主页:大白的编程日记 🔥专栏:C笔记 文章目录 【C笔记】红黑树封装map和set深度剖析前言一. 源码及框架分析1.1 源码框架分析 二. 模拟实现map和set2.1封装map和set 三.迭代器3.1思路…...
4.若依 BaseController
若依的BaseController是其他所有Controller的基类,一起来看下BaseController定义了什么 1. 定义请求返回内容的格式 code/msg/data 返回数据格式不是必须是AjaxResult,开发者可以自定义返回格式,注意与前端取值方式一致即可。 2. 获取调用…...
vue项目配置多语言
本文详细介绍如何在 Vue 项目中集成 vue-i18n 和 Element-UI ,实现多语言切换;首先通过 npm 安装 vue-i18n 和相关语言包,接着在配置文件中设置中文和英文的语言信息;最后在 main.js 中导入并挂载多语言实例,实现切换地…...
数据可视化大屏设计与实现
本文将带你一步步了解如何使用 ECharts 实现一个数据可视化大屏,并且如何动态加载天气数据展示。通过整合 HTML、CSS、JavaScript 以及后端接口请求,我们可以构建一个响应式的数据可视化页面。 1. 页面结构介绍 在此例中,整个页面分为几个主…...
PDF文件提取开源工具调研总结
概述 PDF是一种日常工作中广泛使用的跨平台文档格式,常常包含丰富的内容:包括文本、图表、表格、公式、图像。在现代信息处理工作流中发挥了重要的作用,尤其是RAG项目中,通过将非结构化数据转化为结构化和可访问的信息࿰…...
多监控m3u8视频流,怎么获取每个监控的封面图(纯前端)
文章目录 1.背景2.问题分析3.解决方案3.1解决思路3.2解决过程3.2.1 封装播放组件3.2.2 隐形的视频div3.2.3 截取封面图 3.3 结束 1.背景 有这样一个需求: 给你一个监控列表,每页展示多个监控(至少12个,m3u8格式)&…...
【机器学习实战入门项目】使用深度学习创建您自己的表情符号
深度学习项目入门——让你更接近数据科学的梦想 表情符号或头像是表示非语言暗示的方式。这些暗示已成为在线聊天、产品评论、品牌情感等的重要组成部分。这也促使数据科学领域越来越多的研究致力于表情驱动的故事讲述。 随着计算机视觉和深度学习的进步,现在可以…...
技术洞察:C++在后端开发中的前沿趋势与社会影响
文章目录 引言C在后端开发中的前沿趋势1. 高性能计算的需求2. 微服务架构的兴起3. 跨平台开发的便利性 跨领域技术融合与创新实践1. C与人工智能的结合2. C与区块链技术的融合 C对社会与人文的影响1. 提升生产力与创新能力2. 促进技术教育与人才培养3. 技术与人文的深度融合 结…...
【人工智能 | 大数据】基于人工智能的大数据分析方法
【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈智能大数据分析 ⌋ ⌋ ⌋ 智能大数据分析是指利用先进的技术和算法对大规模数据进行深入分析和挖掘,以提取有价值的信息和洞察。它结合了大数据技术、人工智能(AI)、机器学习(ML&a…...
数字经济时代下的创新探索与实践:以“开源AI智能名片2+1链动模式S2B2C商城小程序源码”为核心
摘要:在数字经济蓬勃发展的今天,中国作为全球数字经济的领航者,正以前所未有的速度推进“数字中国”建设。本文旨在探讨“开源AI智能名片21链动模式S2B2C商城小程序源码”在数字经济背景下的应用潜力与实践价值,从多个维度分析其对…...
【English-Book】Go in Action目录页翻译中文
第8页 内容 前言 xi 序言 xiii 致谢 xiv 关于本书 xvi 关于封面插图 xix 1 介绍 Go 1 1.1 用 Go 解决现代编程挑战 2 开发速度 3 • 并发 3 • Go 的类型系统 5 内存管理 7 1.2 你好,Go 7 介绍 Go 玩具 8 1.3 总结 8 2 Go 快速入门 9 2.1 程序架构 10 2.2 主包 …...
js: 区分后端返回数字是否为null、‘-’ 或正常number类型数字。
问: 这是我的代码<CountTo v-if!isNaN(Number(item.num))> <span v-else>{{item.num}}</span> 我希望不是null的时候走countTo,是null的时候直接<span>{{item.num}}</span>显示 回答: 最终结果: …...
网络变压器的分类
网络变压器是局域网(LAN)中各级网络设备中必备的元件。它们的主要功能是传输数据,增强信号,并提供电气隔离,以防雷保护和匹配阻抗。网络变压器也被称为数据泵或网络隔离变压器。它们广泛应用于网络交换机、路由器、网卡、集线器等设备中。 网…...
SUCTF-SU_BBRE-好久不见21
哈哈哈哈哈哈,,,,纯汇编有大佬用工具反编译成伪代码吗。。。 题解: 由function2处逻辑,解rc4得到第一段flag We1com3ToReWorld,正常输入下执行完function0,程序结束,cong…...
Python 实现 NLP 的完整流程
💖 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长…...
穷举vs暴搜vs深搜vs回溯vs剪枝系列一>N 皇后
题目: 解析: 1.决策树: 代码设计: 根据决策树剪枝设计: 代码: class Solution {private List<List<String>> ret;private char[][] path;private boolean[] checkdig1,checkdig2,checkco…...
JEL分类号
JEL分类系统,是美国经济学会“经济文献杂志”(《经济文献杂志》)所创立的对经济学文献的主题分类系统,并被现代西方经济学界广泛采用。 该分类方法主要采用开头的一个英文字母与随后的两位阿拉伯数字一起对经济学各部类进行“辞书式”编码分类。 https:…...
设计和优化用于 AR、HUD 和高级显示系统的表面浮雕光栅
表面浮雕光栅是许多光学系统中的关键组件,在控制增强现实 (AR) 显示器、平视显示器 (HUD) 和其他先进光子器件中的光传播方面发挥着关键作用。作为在这个领域工作的工程师和设计师,您了解针对特定应用优化这…...
128K上下文开源代码模型:DeepSeek-Coder-V2赋能开发者的技术解析
128K上下文开源代码模型:DeepSeek-Coder-V2赋能开发者的技术解析 【免费下载链接】DeepSeek-Coder-V2 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-Coder-V2 在软件开发效率日益成为竞争力核心指标的今天,开发者面临着代码生成质…...
LSPosed-Irena框架深度解析:构建下一代Android Hook框架的完整指南
LSPosed-Irena框架深度解析:构建下一代Android Hook框架的完整指南 【免费下载链接】LSPosed-Irena Useless LSPosed Framework Fork 项目地址: https://gitcode.com/gh_mirrors/ls/LSPosed-Irena LSPosed-Irena是一个基于LSPlant的ART hooking框架ÿ…...
【OFDM通信】室内NOMA-OFDM-VLC系统仿真【含Matlab源码 15240期】
💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab领域博客之家💞&…...
别再死记硬背TTS原理了!用Python+TensorFlow复现一个简易Deep Voice,从音素到语音全流程拆解
用PythonTensorFlow实战Deep Voice:从音素到语音的完整实现指南 当你第一次听到计算机生成的语音时,是否好奇过这背后的魔法是如何实现的?现代文本转语音(TTS)系统已经能够产生几乎与真人无异的语音,而Deep Voice作为早期端到端TT…...
Phi-4-mini-reasoning在ollama中启用flash attention:推理速度提升实测报告
Phi-4-mini-reasoning在ollama中启用flash attention:推理速度提升实测报告 你是否遇到过这样的场景:部署了一个轻量级推理模型,满怀期待地输入问题,结果等待了十几秒才得到回复?对于需要快速响应的应用,比…...
# 智能合约安全实战:重入攻击原理与防御机制详解(Solidity + Foundry)在以太坊生态中,**智能合约的安全性
智能合约安全实战:重入攻击原理与防御机制详解(Solidity Foundry) 在以太坊生态中,智能合约的安全性直接决定项目的生命线。近年来频繁爆发的漏洞事件表明,即使是看似简单的逻辑也可能埋藏致命隐患。其中,…...
STorM BGC V1.31硬件 + SimpleBGC源码:从零搭建三轴云台开发环境(含.Net框架避坑)
STorM BGC V1.31硬件 SimpleBGC源码:从零搭建三轴云台开发环境(含.Net框架避坑) 三轴云台作为稳定控制领域的经典应用,近年来在无人机、摄影设备、工业检测等领域展现出巨大潜力。STorM BGC V1.31硬件平台配合SimpleBGC开源架构&…...
Altium Designer新手必看:5分钟搞定PCB封装库创建(附3D模型导入技巧)
Altium Designer新手实战:从零构建PCB封装库与3D模型高效导入 刚接触Altium Designer的工程师常被PCB封装库的创建难住——焊盘尺寸怎么定?丝印如何对齐?3D模型能否可视化验证?这些问题直接关系到后期PCB设计的成功率。本文将用最…...
智能AI识别之集装箱缺陷识别 集装箱数据集 集装箱缺陷数据集 集装箱凹陷数据集 集装箱锈蚀孔洞图像数据集 yolo数据集地10624期
📦 集装箱缺陷检测计算机视觉模型( 这是一个基于 YOLOv8/YOLOv10 框架的工业级目标检测模型,专门用于识别集装箱表面的三类典型缺陷。🔍 核心信息 模型类型:目标检测(Object Detection)基础框架…...
3月技术风暴:程序员的范式革命——2026年3月科技大事件记录
2025年3月:颠覆性技术狂潮与程序员认知升维全纪录 3月结束,你感受到“版本迭代”的压力了吗? 2025年的春天不是春暖花开,而是技术奇点的“温度骤升”。本文绝非一份普通事件清单,而是用程序员的第一性原理,…...
