上位機工作感想-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.總結

現在大環境確實挺差的,穩定是第一,降低期望,降低消費,專注于發展自己的技術能力,會減少很多煩惱。很多時候你改變不了環境,只求把自己該做的事情做好,多看看自己學到了什么,對軟件開發的很多又有了新的認識,不忘初心,堅持自己的本心就好!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66711.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66711.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66711.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阿里云-銀行核心系統轉型之業務建模與技術建模

業務領域建模包括業務建模和技術建模,整體建模流程圖如下: 業務建模包括業務流程建模和業務對象建模 業務流程建模:通過對業務流程現狀分析,結合目標核心系統建設能力要求,參考行業建 模成果,形成結構化的…

Unity3D基于Unity整合BEPUphysicsint物理引擎實戰詳解

引言 Unity3D是一款流行的游戲引擎,提供了豐富的功能和工具,使開發者能夠輕松創建各種類型的游戲。其中,幀同步技術是游戲開發中至關重要的一環,它能確保多個玩家在同一時間內看到的游戲狀態是一致的。BEPUphysicsint是一個基于U…

【C++筆記】紅黑樹封裝map和set深度剖析

【C筆記】紅黑樹封裝map和set深度剖析 🔥個人主頁:大白的編程日記 🔥專欄:C筆記 文章目錄 【C筆記】紅黑樹封裝map和set深度剖析前言一. 源碼及框架分析1.1 源碼框架分析 二. 模擬實現map和set2.1封裝map和set 三.迭代器3.1思路…

win32匯編環境,怎么得到磁盤的盤符

;運行效果 ;win32匯編環境,怎么得到磁盤的盤符 ;以下代碼主要為了展示一下原理,應用GetLogicalDrives、GetLogicalDriveStrings函數、屏蔽某些二進制位、按雙字節復制內容等。以下代碼最多查8個盤,即返回值中的1個字節的信息 ;直接抄進RadAsm可編譯運行。…

MongoDB vs Redis:相似與區別

前言 在當今的數據庫領域,MongoDB 和 Redis 都是備受關注的非關系型數據庫(NoSQL),它們各自具有獨特的優勢和適用場景。本文將深入探討 MongoDB 和 Redis 的特點,并詳細對比它們之間的相似之處和區別,幫助…

mybatis(19/134)

大致了解了一下工具類,自己手敲了一邊,java的封裝還是真的省去了很多麻煩,封裝成一個工具類就可以不用寫很多重復的步驟,一個工廠對應一個數據庫一個environment就好了。 mybatis中調用sql中的delete占位符里面需要有字符&#xf…

重學SpringBoot3-WebClient配置與使用詳解

更多SpringBoot3內容請關注我的專欄:《SpringBoot3》 期待您的點贊??收藏評論 重學SpringBoot3-WebClient配置與使用詳解 1. 簡介2. 環境準備 2.1 依賴配置 3. WebClient配置 3.1 基礎配置3.2 高級配置3.3 retrieve()和exchange()區別 4. 使用示例 4.1 基本請求操…

.Net Core微服務入門全紀錄(二)——Consul-服務注冊與發現(上)

系列文章目錄 1、.Net Core微服務入門系列(一)——項目搭建 2、.Net Core微服務入門全紀錄(二)——Consul-服務注冊與發現(上) 3、.Net Core微服務入門全紀錄(三)——Consul-服務注…

Spark Streaming的核心功能及其示例PySpark代碼

Spark Streaming是Apache Spark中用于實時流數據處理的模塊。以下是一些常見功能的實用PySpark代碼示例: 基礎流處理:從TCP套接字讀取數據并統計單詞數量 from pyspark import SparkContext from pyspark.streaming import StreamingContext# 創建Spar…

深度學習系列75:sql大模型工具vanna

1. 概述 vanna是一個可以將自然語言轉為sql的工具。簡單的demo如下: !pip install vanna import vanna from vanna.remote import VannaDefault vn VannaDefault(modelchinook, api_keyvanna.get_api_key(my-emailexample.com)) vn.connect_to_sqlite(https://va…

【線性代數】列主元法求矩陣的逆

列主元方法是一種用于求解矩陣逆的數值方法,特別適用于在計算機上實現。其基本思想是通過高斯消元法將矩陣轉換為上三角矩陣,然后通過回代求解矩陣的逆。以下是列主元方法求解矩陣 A A A 的逆的步驟: [精確算法] 列主元高斯消元法 步驟 1&am…

[0242-06].第06節:SpringBoot對SpringMVC的自動配置

SpringBoot學習大綱 一、基于SpringBoot搭建Web工程: 1.1.編碼實現步驟: a.創建SpringBoot項目 b.選中依賴:選中我們所需要的模塊 1.2.SSM中的WEB開發配置與SpringBoot中WEB開發自動配置對比: a.SSM中的WEB開發: 1…

【21】Word:德國旅游業務?

目錄 題目 NO1.2.3 NO4 NO5.6 NO7 NO8.9.10.11 題目 NO1.2.3 F12:另存為布局→頁面設置→頁邊距:上下左右選中“德國主要城市”→開始→字體對話框→字體/字號→文本效果:段落對話框→對齊方式/字符間距/段落間距 NO4 布局→表對話框…

什么是軟件架構

什么是軟件架構 程序員說,軟件架構是要決定編寫哪些C程序或OO類、使用哪些庫和框架 程序經理說,軟件架構就是模塊的劃分和接口的定義 系統分析員說,軟件架構就是為業務領域對象的關系建模 配置管理員說,軟件架構就是開發出來的…

1/20賽后總結

1/20賽后總結 T1『討論區管理員』的旅行 - BBC編程訓練營 算法:IDA* 分數:0 damn it! Ac_code走丟了~~(主要是沒有寫出來)~~ T2華強買瓜 - BBC編程訓練營 算法:雙向DFS或者DFS剪枝 分數:0 Ac_code…

大數據與AI驅動的商業查詢平臺:企業市場拓展的變革引擎?

在競爭白熱化的商業環境里,企業對準確市場信息的高效獲取能力,直接關系到業務拓展的成敗。商業查詢平臺借助大數據和人工智能技術,為企業提供精準客戶篩選、市場拓展分析以及風險評估服務,正逐漸成為企業市場開拓的得力助手。本文…

redis 各個模式的安裝

一、Redis單機安裝 1、安裝gcc依賴 Redis是C語言編寫的,編譯需要GCC。 Redis6.x.x版本支持了多線程,需要gcc的版本大于4.9,但是CentOS7的默認版本是4.8.5。 升級gcc版本: yum -y install centos-release-scl yum -y install d…

TiDB 的優勢與劣勢

TiDB 的優勢與劣勢 TiDB 作為一款新興的分布式數據庫,在業界逐漸嶄露頭角。它兼具傳統關系型數據庫的特性,又充分利用分布式架構的優勢。那么,TiDB 究竟有怎樣的優缺點呢?今天我們來聊聊 TiDB 的優勢與劣勢,幫你全面了…

藍橋杯算法日常|c\c++常用競賽函數總結備用

一、字符處理相關函數 大小寫判斷函數 islower和isupper:是C標準庫中的字符分類函數,用于檢查一個字符是否為小寫字母或大寫字母,需包含頭文件cctype.h(也可用萬能頭文件包含)。返回布爾類型值。例如: #…

微服務知識——4大主流微服務架構方案

文章目錄 1、微服務聚合模式2、微服務共享模式3、微服務代理模式4、微服務異步消息模式 微服務是大型架構的必經之路,也是大廠重點考察對象,下面我就重點詳解4大主流微服務架構方案。 1、微服務聚合模式 微服務聚合設計模式,解決了如何從多個…