上位机工作感想-从C#到Qt的转变-2
2.技术总结
- 语言方面
最大收获就是掌握了C++ Qt编程,自己也是粗看了一遍《深入理解计算机系统》,大致了解了计算机基本组成、虚拟内存、缓存命中率等基基础知识,那本书确实有的部分看起来很吃力,等这段时间忙完再研读一遍。对于封装、继承、多态的C++实现方式也是熟练掌握了,对C++对象的生命周期也有了深刻的理解,和C#的带垃圾回收的语言确实有很大区别,栈上对象内存不用管理,自己new的对象需要严格管理,否则可能会造成内存泄漏。lambda表达中的[]捕获模式也有了初步认识。智能指针运用的较少,没啥太多感悟。 - 软件开发基本技能
gof的《设计模式》读了两遍、《重构》读了两遍,并且在项目中不断对现有代码进行重构,每次对业务有更深刻的理解时,都需要动一动代码,然后使用模拟测试排查重构过程中产生的bug。在项目中也是成功运用了多种设计模式,像什么策略模式、单例模式、指令模式、观察者模式等等,现在倒也是很少纠结什么设计模式了,随着对业务理解的加深和代码的不断重构,适合的设计模式便逐渐显露出来。关于在上位机中使用单元测试,也是一直在探索过程中,在一些数据计算和数据解析过程中使用了TDD开发模式,其它部分更多的是谁用模拟设别进行逻辑验证,也是能很快排查bug,开发效率也可以得到保证。还有就是Qt的单元测试,做的比C#的差多了,测试代码管理起来比较麻烦,也有可能是自己学艺不精,对Qt了解不够深入。 - 书籍
C++Primer,Effective C++,Essential C++ 这三本书还是刚开始学习C++看的,当时看的也是一知半解,准备后面两个月有时间拿出来再品读一遍。平时看的比较多的还是C语言中文网,开了会员后内容还是挺多的,讲的也是清晰易懂,比较适合初学者。
设计模式 重构 这两本书也是案头必备,隔段时间就会拿出来重新读一遍,每次都有新收获,后面准备买原文原版的看看。
框架设计指南 不仅仅是.Net,讲了很多设计中的取舍和命名,微软大佬还是很有东西的,值得反复阅读。
段永平投资问答录 想发财?这本书很务实、讲了很多投资的道,里面的术还得靠自己在实践中不断的悟,小赌怡情,大赌伤身,强赌灰飞烟灭哦!
3.后续计划
在现有公司最大的难受点是没有同事和我聊技术,每个人都是信息孤岛,大家对技术都抱着一种能用就行的态度,尝试交流也是无功而返。所以现在每天就是干自己的事情,领导也是没有太多支持,也没有技术领导,好在不加班,可以有时间看看别的书籍。后面考虑再学学设计模式、重构、C++基础相关的东西,再去学学嵌入式相关的知识,搞点小突破。
职业发展也是遇到了瓶颈(工资上不去),也在想有没有其它搞钱的路子。准备今年考个教师资格证,以后带带课,增加一下收入。
相关文章:
上位机工作感想-从C#到Qt的转变-2
2.技术总结 语言方面 最大收获就是掌握了C Qt编程,自己也是粗看了一遍《深入理解计算机系统》,大致了解了计算机基本组成、虚拟内存、缓存命中率等基基础知识,那本书确实有的部分看起来很吃力,等这段时间忙完再研读一遍。对于封装…...
【C++】C++ 中 的 lambda 表达式(匿名函数)
C11 引入的匿名函数,通常被称为 Lambda 函数,是语言的一个重要增强,它允许程序员在运行时创建简洁的、一次性使用的函数对象。Lambda 函数的主要特点是它们没有名称,但可以捕获周围作用域中的变量,这使得它们非常适合在…...
OpenSSL实现AES-CBC加解密,可一次性加解密任意长度的明文字符串或字节流(QT C++环境)
本篇博文讲述如何在Qt C的环境中使用OpenSSL实现AES-CBC-Pkcs7加/解密,可以一次性加解密一个任意长度的明文字符串或者字节流,但不适合分段读取加解密的(例如,一个4GB的大型文件需要加解密,要分段读取,每次…...
cURL:命令行下的网络工具
序言 在当今互联网时代,我们经常需要与远程服务器通信,获取数据、发送请求或下载文件。在这些情况下,cURL 是一个强大而灵活的工具,它允许我们通过命令行进行各种类型的网络交互。本文将深入探讨 cURL 的基本用法以及一些高级功能…...
Baumer工业相机堡盟工业相机如何通过NEOAPISDK查询和轮询相机设备事件函数(C#)
Baumer工业相机堡盟工业相机如何通过NEOAPISDK查询和轮询相机设备事件函数(C#) Baumer工业相机Baumer工业相机NEOAPI SDK和相机设备事件的技术背景Baumer工业相机通过NEOAPISDK在相机中查询和轮询相机设备事件函数功能1.引用合适的类文件2.通过NEOAPISDK…...
Day45代码随想录动态规划part07:70. 爬楼梯(进阶版)、322. 零钱兑换、279.完全平方数、139.单词拆分
Day45 动态规划part07 完全背包 70. 爬楼梯(进阶版) 卡码网链接:57. 爬楼梯(第八期模拟笔试) (kamacoder.com) 题意:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬至多m (1 < m < n)个…...
土壤重金属含量分布、Cd镉含量、Cr、Pb、Cu、Zn、As和Hg、土壤采样点、土壤类型分布
土壤是人类赖以生存和发展的重要资源之一,也是陆地生态系统重要的组成部分。近年来, 随着我国城市化进程加快,矿产资源开发、金属加工冶炼、化工生产、污水灌溉以及不合理的化肥农药施用等因素导致重金属在农田土壤中不断富集。重金属作为土壤环境中一种具有潜在危害…...
力扣:100284. 有效单词(Java)
目录 题目描述:输入:输出:代码实现: 题目描述: 有效单词 需要满足以下几个条件: 至少 包含 3 个字符。 由数字 0-9 和英文大小写字母组成。(不必包含所有这类字符。) 至少 包含一个 …...
如何快速掌握DDT数据驱动测试?
前言 网盗概念相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离, 这样的测试脚本设计模式称为数据驱动。(网盗结束)当我们测试某个网站的登录功能时,我们往往会使用不同的用户名和密码来验证登录模块对系统的影响&#x…...
OpenCV如何实现背投(58)
返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV直方图比较(57) 下一篇:OpenCV如何模板匹配(59) 目标 在本教程中,您将学习: 什么是背投以及它为什么有用如何使用 OpenCV 函数 cv::calcBackP…...
5-在Linux上部署各类软件
1. MySQL 数据库安装部署 1.1 MySQL 5.7 版本在 CentOS 系统安装 注意:安装操作需要 root 权限 MySQL 的安装我们可以通过前面学习的 yum 命令进行。 1.1.1 安装 配置 yum 仓库 # 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql…...
【Jenkins】持续集成与交付 (八):Jenkins凭证管理(实现使用 SSH 、HTTP克隆Gitlab代码)
🟣【Jenkins】持续集成与交付 (八):Jenkins凭证管理(实现使用 SSH 、HTTP克隆Gitlab代码) 1、安装Credentials Binding、git插件2、凭证类型及用途3、(用户名和密码类型)凭证的添加和使用3.1 用户密码类型3.2 测试凭证是否可用3.3 开始构建项目3.3 查看结果(进入Jenk…...
开源模型应用落地-CodeQwen模型小试-SQL专家测试(二)
一、前言 代码专家模型是基于人工智能的先进技术,它能够自动分析和理解大量的代码库,并从中学习常见的编码模式和最佳实践。这种模型可以提供准确而高效的代码建议,帮助开发人员在编写代码时避免常见的错误和陷阱。 通过学习代码专家模型&…...
Arch Linux安装macOS
安装需要的包 sudo pacman -S qemu-full libvirt virt-manager p7zip yay -S dmg2img安装步骤 cd ~ git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git cd OSX-KVM # 选择iOS版本 ./fetch-macOS.py #将上一步下载的BaseSystem.dmg转换格式 dmg2img -…...
接口自动化框架篇:Pytest + Allure报告企业定制化实现!
接口自动化框架是现代软件开发中的重要组成部分,能够帮助开发团队提高测试效率和质量。本文将介绍如何使用Pytest作为测试框架,并结合Allure报告进行企业定制化实现。 目标规划 在开始编写接口自动化测试框架之前,我们需要先进行目标规划。…...
保持 Hiti 证卡打印机清洁的重要性和推荐的清洁用品
在证卡印刷业务中,保持印刷设备的清洁至关重要。特别是对于 Hiti 证卡打印机来说,它们是生产高质量证卡的关键工具。保持设备清洁不仅可以保证打印质量和效率,还可以延长其使用寿命。本文将探讨保持 Hiti 证卡打印机清洁卡的重要性࿰…...
Unity C#的底层原理概述
文章目录 前言IL与IL2CPP总结 前言 看到底层二字,会感到很高深,好似下一秒就要踏入深渊。实际上,对于C#底层的理解非常简单,比冒泡排序这种基础算法还要简单。 底层的两种机制:Mono和IL2CPP。 IL2CPP其中的"2&qu…...
国产数据库的发展势不可挡
前言 新的一天又开始了,光头强强总不紧不慢地来到办公室,准备为今天一天的工作,做一个初上安排。突然,熊二直接进入办公室,说:“强总老大,昨天有一个数据库群炸了锅了,有一位姓虎的…...
权益商城系统源码 现支持多种支付方式
简介: 权益商城系统源码,支持多种支付方式,后台商品管理,订单管理,串货管理,分站管理,会员列表,分销日志,应用配置。 上传到服务器,修改数据库信息ÿ…...
python安装问题及解决办法(pip不是内部或外部命令也不是可运行)
pip是python的包管理工具,使python可在cmd(命令行窗口,WinR后输入cmd)中执行 针对 “pip不是内部或外部命令也不是可运行” 问题,需要在安装的时候将python添加到环境变量中 上图第三个选项必须勾选才能在cmd中使用pi…...
基于Vue 3与SSE的Dify AI聊天前端开发实战与部署指南
1. 项目概述:一个现代化的Dify AI聊天前端如果你正在寻找一个开箱即用、界面美观且功能现代的Dify AI聊天界面,那么LeeAirQ/Dify-Web这个项目值得你花时间了解一下。作为一个长期混迹在AI应用开发圈子的开发者,我见过太多后端强大但前端简陋的…...
AUTOSAR ECU资源模板:硬件描述与工程实践
1. AUTOSAR ECU资源模板的核心价值解析在汽车电子系统开发领域,AUTOSAR(汽车开放系统架构)已经成为行业公认的标准框架。作为这个框架中的关键组成部分,ECU资源模板在实现软硬件解耦方面发挥着不可替代的作用。这个模板本质上是一…...
Swiz状态管理库:原子化与派生状态在前端开发中的实践
1. 项目概述:一个为现代前端应用量身定制的状态管理库如果你和我一样,在React、Vue或者Svelte这类现代前端框架里摸爬滚打过几年,那你一定对状态管理这个“老大难”问题深有体会。从早期的Flux架构,到Redux的一统江湖,…...
Grav CMS 组合拳漏洞| CVE-2026-42613CVE-2026-42607复现研究
0x0 背景介绍 Grav是一个基于文件的Web平台。 在2.0.0-beta.2之前版本中,存在两个高危漏洞可导致组合利用权限提升漏洞->CVE-2026-42613 Grav的Login插件在处理用户注册请求时,未对请求数据中的groups/access字段进行服务端校验。当管理员在插件配置中…...
开源提示词工程平台LynxPrompt:本地化部署与工程化实践指南
1. 项目概述:一个提示词工程的“瑞士军刀”如果你和我一样,长期在AI应用开发、内容创作或者自动化流程构建的一线工作,那么“提示词”这三个字对你来说,绝对不陌生。从简单的聊天对话,到复杂的代码生成、数据分析&…...
NotebookLM播客生成质量分析(行业首份LMM音频语义保真度测评报告)
更多请点击: https://intelliparadigm.com 第一章:NotebookLM播客生成质量分析 NotebookLM 作为 Google 推出的实验性 AI 助手,其播客(Podcast)生成功能依托于对用户上传文档的理解与结构化重述。该功能并非端到端语音…...
工程师背包线缆管理实战:从Cord Hog到DIY收纳方案全解析
1. 项目概述:从“线缆地狱”到个人收纳方案的探索作为一名常年与各种开发板、调试器、电源适配器和数据线打交道的硬件工程师,我的背包简直就是个微缩版的电子实验室。每天通勤,包里除了笔记本电脑,必然塞满了USB线、串口线、JTAG…...
给 Agent 配一个浏览器:Cloudflare Browser Run 全面解析
互联网是为人类建的,Agent 要用它 Agent 需要和网页交互。填表单、提取数据、截图、导航——这些是 Agent 执行任务的基本动作。问题是,整个互联网的设计预设是"有一个人坐在屏幕前操作"。Agent 不是人,它没有鼠标,没有…...
电动汽车充电站控制系统的Intel处理器实践与优化
1. 电动汽车充电站的技术架构解析电动汽车充电站作为新型能源基础设施的核心节点,其技术实现远比传统加油站复杂。一个完整的充电站系统通常包含三个层级:电力转换模块(AC/DC)、控制管理系统(CMS)和云端服务…...
SwiftUI原生集成ChatGPT API:从架构设计到流式响应实战
1. 项目概述:一个原生的Swift版ChatGPT客户端最近在折腾iOS和macOS上的AI应用开发,发现了一个挺有意思的开源项目:alfianlosari/ChatGPTSwift。简单来说,这是一个用纯SwiftUI构建的、直接调用OpenAI官方API的ChatGPT客户端。它不是…...
