上位机工作感想-2024年工作总结和来年计划

news2025/1/21 13:11:00

随着工作年限的增增长,发现自己越来越不喜欢在博客里面写一些掺杂自己感想的东西了,或许是逐渐被工作逼得“成熟”了吧。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.总结

现在大环境确实挺差的,稳定是第一,降低期望,降低消费,专注于发展自己的技术能力,会减少很多烦恼。很多时候你改变不了环境,只求把自己该做的事情做好,多看看自己学到了什么,对软件开发的很多又有了新的认识,不忘初心,坚持自己的本心就好!

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

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

相关文章

Ubuntu离线docker compose安装DataEase 2.10.4版本笔记

1、先准备一个可以正常上网的相同版本的Ubuntu系统,可以使用虚拟机。Ubuntu系统需要安装好docker compose或docker-compose 2、下载dataease-online-installer-v2.10.4-ce.tar在线安装包,解压并执行install.sh进行安装和启动 3、导出docker镜像 sudo d…

Web开发 -前端部分-CSS-2

一 长度单位 代码实现&#xff1a; <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document<…

Data Filtering Network 论文阅读和理解

目录 一、TL&#xff1b;DR 二、Introduction 2.1 apple的结论 2.2 业界做法&#xff1a; 2.3 我们的做法&#xff08;Apple&#xff09; 2.4 如何获取好的DFN 三、未完待续&#xff08;这周出去购物了&#xff0c;下周继续补充&#xff09; 一、TL&#xff1b;DR 核心…

计算机网络 (48)P2P应用

前言 计算机网络中的P2P&#xff08;Peer to Peer&#xff0c;点对点&#xff09;应用是一种去中心化的网络通信模式&#xff0c;它允许设备&#xff08;或节点&#xff09;直接连接并共享资源&#xff0c;而无需传统的客户端-服务器模型。 一、P2P技术原理 去中心化架构&#…

.Net Core微服务入门全纪录(五)——Ocelot-API网关(下)

系列文章目录 1、.Net Core微服务入门系列&#xff08;一&#xff09;——项目搭建 2、.Net Core微服务入门全纪录&#xff08;二&#xff09;——Consul-服务注册与发现&#xff08;上&#xff09; 3、.Net Core微服务入门全纪录&#xff08;三&#xff09;——Consul-服务注…

Python网络自动化运维---SSH模块

目录 SSH建立过程 实验环境准备 一.SSH模块 1.1.Paramiko模块 1.1.1实验代码 1.1.2代码分段讲解 1.1.3代码运行过程 1.2Netmiko模块 Netmiko模块对比paramiko模块的改进&#xff1a; 1.2.1实验代码 1.2.2代码分段讲解 1.2.3代码运行过程 二.Paramiko模块和Ne…

Linux:进程概念详解

进程详解 一、冯诺依曼计算机体系&#xff08;一&#xff09;体系概念&#xff08;二&#xff09;计算机之间的数据传输 二、操作系统&#xff08;一&#xff09;操作系统设计的意义&#xff08;二&#xff09;操作系统的管理功能&#xff08;三&#xff09;系统调用的实质 三、…

【数据分享】1929-2024年全球站点的逐年平均气温数据(Shp\Excel\无需转发)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;其中又以气温指标最为常用&#xff01;说到气温数据&#xff0c;最详细的气温数据是具体到气象监测站点的气温数据&#xff01;本次我们为大家带来的就是具体到气象监…

STM32之CubeMX图形化工具开发介绍(十七)

STM32F407 系列文章 - STM32CubeMX&#xff08;十七&#xff09; 目录 前言 一、CubeMX 二、下载安装 1.下载 2.安装 3.图解步骤 三、用户界面 1.项目配置 2.项目生成 3.项目文件解释 4.新建工程 5.查看原工程 四、FAQ 总结 前言 STMCube源自意法半导体&#xf…

top命令返回值有异常问题解决

异常问题&#xff1a;load average值不正常 排查思路&#xff1a; 1.找到是哪个进程引起的异常&#xff0c;看看是否有cpu占用过高或者mem占用过高的进程 再根据具体情况分析原因。 定位到异常进程后&#xff0c;首先打堆栈&#xff0c;留存现场日志&#xff0c;然后停止进…

sqlfather笔记

这里简单记录写学习鱼皮sqlfather项目的笔记&#xff0c;以供以后学习。 运行 将前后端项目clone到本地后&#xff0c;修改对应配置文件运行项目。 后端 1.配置好mysql后运行这个sql文件建立对应的表。 2.修改数据库密码 3.修改完后运行启动类即可 4. 启动结果 5.查看A…

【Axure高保真原型】数字滚动效果

今天和大家分享数字滚动效果的原型摸吧原型模板&#xff0c;效果包括&#xff1a; 在输入框输入目标数值后&#xff0c;点击滚动按钮&#xff0c;下方数字自动滚动到对应的数值&#xff1b; 在输入框输入初始数值后&#xff0c;点击设置初始值按钮&#xff0c;可以设置下方数字…

“AI人工智能内容辅助创作平台:让创意不再“卡壳”

在如今这个信息爆炸的时代&#xff0c;内容创作成了每个人的“必修课”。无论是自媒体大V、文案策划&#xff0c;还是普通学生写作文&#xff0c;大家都会遇到一个让人抓狂的问题——“创意枯竭”。有时候&#xff0c;脑袋里空空如也&#xff0c;一个字都写不出来&#xff0c;那…

VSCode最新离线插件拓展下载方式

之前在vscode商店有以下类似的download按钮&#xff0c;但是2025年更新之后这个按钮就不提供了&#xff0c;所以需要使用新的方式下载 ps:给自己的网站推广下~~&#xff08;国内直连GPT/Claude&#xff09; 新的下载方式1 首先打开vscode商店官网&#xff1a;vscode插件下载…

python——Django 框架

Django 框架 1、简介 Django 是用python语言写的开源web开发框架&#xff0c;并遵循MVC设计。 Django的**主要目的是简便、快速的开发数据库驱动的网站。**它强调代码复用&#xff0c;多个组件可以很方便的以"插件"形式服务于整个框架&#xff0c;Django有许多功能…

搜索功能实现

前言 主要实现思路是全局监听点击事件的点击范围是否包含搜索结果内容。 效果 上代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initi…

两份PDF文档,如何比对差异,快速定位不同之处?

PDF文档比对是通过专门的工具或软件&#xff0c;自动检测两个PDF文件之间的差异&#xff0c;并以可视化的方式展示出来。这些差异可能包括文本内容的修改、图像的变化、表格数据的调整、格式的改变等。比对工具通常会标记出新增、删除或修改的部分&#xff0c;帮助用户快速定位…

K8S 亲和性与反亲和性 深度好文

今天我们来实验 pod 亲和性。官网描述如下&#xff1a; 假设有如下三个节点的 K8S 集群&#xff1a; k8s31master 是控制节点 k8s31node1、k8s31node2 是工作节点 容器运行时是 containerd 一、镜像准备 1.1、镜像拉取 docker pull tomcat:8.5-jre8-alpine docker pull nginx…

用户中心项目教程(五)---MyBatis-Plus完成后端初始化+测试方法

文章目录 1.数据库的链接和创建2.建库建表语句3.引入依赖4.yml配置文件5.添加相对路径6.实体类的书写7.Mapper接口的定义8.启动类的指定9.单元测试10运行时的bug 1.数据库的链接和创建 下面的这个就是使用的我们的IDEA链接这个里面的数据库&#xff1a; 接下来就是输入这个用户…

TL3562/3568移植无锡沐创N500L-AM4驱动进内核源码,报错及其解决方案

前言 创龙官方提供的资料无锡沐创N500L-AM4驱动是rnpgbe-0.1.0.rc60-dd9f3cf.tar.gz&#xff1b;无锡沐创官方&#xff0c;截止目前&#xff0c;最新驱动是rnpgbe-0.2.3-f26b9a4.tar.gz。考虑到开发的稳妥性&#xff0c;先选用创龙尝试过的rnpgbe-0.1.0.rc60-dd9f3cf.tar.gz来移…