本2硕9电子科学专业,想走linux或是嵌入式,要具体学哪些技术
今天给大家分享的是一位粉丝的提问,本2硕9电子科学专业,想走linux或是嵌入式,要具体学哪些技术
接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。
同学提问:
你好,我本2硕9,,电子科学专业,9月入学,会c,会51/32开发,做过几个小项目,不会linux和C++,以后想走linux或者嵌入式软件,请问研究生期间可以做些什么?
Yt回答:
其实你可以看到这个,一个本科211啊,研究生是985,你看这典型的本科毕业完之后就会点51和STM32,几乎写的代码,就是没有做过一些可能大的工程是没有的,就是这种很小的项目。
首先我们在这点评的这个过程中,其实你的现象应该不止你一个人,应该是有很多的朋友也会有类似的情况,特别是以电子通信包括自动化,在本科毕业的时候就会点51或者STM32,或者说会焊点板,那其实我认为他很难后面去适配到开发岗位,因为他离开发很远,远到什么程度,一个在南极一个在北极,就这样情况,因为这里面你会点c,首先不是说c不行,也不是说c找不到工作也不是,但是你应用的场景是不对的。首先51和STM 32这种东西毕竟啊它有自己使用场景,但是确确实实它很难做一些很大的项目。
那这里面不会linux和c/c++以后想走linux和走嵌入式,请问研究生可以做什么,请注意抓住linux这一点,如果你后面想去一个好的企业,或者说你后面想去一个这种薪资比较高的,你可以以linux为核心,如果你后面不想走软开发这条路,你比如想走点这种MCU,那很有可能有个岗位就是FAE。也就是说如果你想走开发的岗位请以linux为核心,linuxc和c++。
那有人就问Windows行不行,Windows不是不行,Windows做的就是桌面开发,因为Windows主要就是做桌面开发,比如像这种包括QQ的客户端啊,包括像微信的客户端,或者是像这种OBS录屏啊这种,包括WPS啊这种桌面软件,那其实这种方向你发现,做的时候他是很难满足一个人对技术有追求的人他的欲望的,因为这种纯桌面开发他不是说没有技术,他而是说它慢慢做着让你感觉到没有意思,让你感觉到没有想象空间,他很难给你一个很大的想象空间,那其实为什么很多人做后端也是这样的,因为他能够满足很多人对于技术的一种想象,有研究的空间,也就是在这个阶段的时候请走linux,以linux c和c++,就是这个语言我认为到不是关键。
你不用说比如说很多朋友在学c++的时候,很多人想以c和c++语言,以c++入门的时候,以c++开始,首先学语言怎么学呢,就拿一本c++primer然后开始看,从前面的私有变量、私有成员变量、公有成员变量、保护变量在到什么成员类什么意思,多态继承什么意思,包括什么模板怎么怎么用,你再研究的就是STL,STL你比如说vector、list、set、map、hash,然后再到什么c++新特性、什么lambda函数、智能指针等等,其实各位朋友你不要这样,这样你学不明白的,并且他的时间会花费的很长,你就是把这些东西看完以后,其实首先不论你能不能看会,首先你看完以后时间很久,而且你肯定看不会,为什么我能够这么肯定呢,因为c++那个东西我也学过呀,你要发现到头来是什么,我是认为核心是以项目为主,你能够去多写代码,用你所学的东西去做一些东西出来不断去迭代,自然而然你就发现对语言的理解你是不一样的。
就比如说你看完c++primer看完STL再看c++新特性,看完之后你会发现还有操作系统啊还有数据结构还有网络,你要发现408看完之后发现还是个大黑框,看完之后你做点界面结果还是才QT,为什么不直接从QT开始,不懂的语法你去查反过来去查,以项目为核心,不懂得呢去查其他的书籍也行。
其实来说可能每个人他接受知识和内化知识的情况是不一样的,但是我认为计算机作为一门实践性很强的科学啊,他还是主要以实践,你能够做出东西来不断的去使用,自然而然你就会有一套自己的体会,会形成一种自己的本能。如果你比如带着去一种考试的心态,能不能给我一些八股文我背一背就可以了,大家你会发现那个你是学不明白的,你姿势不对。包括有些女生在学编程的时候靠背啊,就跟学英语一样if if for for,这个学法来说我认为他可能比较极端,不适合。
总结:
一、核心方向选择:Linux C/C++开发
-
放弃单片机/桌面开发:
- 单片机局限:51/STM32项目规模小,技术天花板低,难以匹配大厂岗位需求。
- 桌面开发瓶颈:Windows客户端开发(如QQ、WPS)技术迭代慢,职业成长空间有限。
-
聚焦Linux开发:
- 岗位优势:Linux是嵌入式/云计算/服务器开发的核心,薪资高(应届20-40W),技术壁垒强。
- 技术栈组合:Linux系统编程 + C++(高性能场景) + 嵌入式框架(如ROS)。
二、研究生阶段学习规划
1. 基础能力补齐(3-6个月)
- Linux系统编程:
- 重点:进程/线程、信号、文件IO、Socket网络编程。
- 书籍:《Unix环境高级编程》《Linux系统编程手册》。
- C++实战速成:
- 不推荐死磕语法:跳过C++ Primer理论,直接通过项目学(如STL容器、智能指针)。
- 项目驱动:用C++实现高并发服务器(参考Nginx)、参与开源项目(如Redis)。
2. 项目实战(6-12个月)
- 方向1:嵌入式Linux开发:
- 核心内容:Bootloader移植、驱动开发(如SPI/I2C)、Yocto构建系统。
- 项目示例:
- 移植Linux到树莓派/IMX6ULL开发板,实现传感器数据采集(温湿度+图像)。
- 开发物联网网关:基于MQTT协议同步数据至云端(阿里云IoT)。
- 方向2:高性能服务开发:
- 核心内容:分布式架构、协程框架、内存池优化。
- 项目示例:
- 实现简易版Redis(支持持久化、集群通信)。
- 开发流媒体服务器(支持RTMP/HLS协议)。
三、避坑指南
- 勿沉迷语法:C++以能用为目标,非研究标准细节(如右值引用模板推导)。
- 慎选纯学术方向:除非导师课题与工业界强相关(如实时操作系统),否则以就业技能优先。
计算机相关专业就业求职学习路线/offer选择/职业规划建议
工种浩:程序员yt (学习就业困惑?我们来为你答疑解惑!)免费投稿 投稿必回
相关文章:
本2硕9电子科学专业,想走linux或是嵌入式,要具体学哪些技术
今天给大家分享的是一位粉丝的提问,本2硕9电子科学专业,想走linux或是嵌入式,要具体学哪些技术 接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。 同学提问: 你好&…...
《鸿蒙开发-答案之书》获取视频第一帧和视频时间
《鸿蒙开发-答案之书》获取视频第一帧和视频时间 /*** 获取视频信息**let result await MySightUtil.getSightInfo(this.sightUri);*let base64 : string result[0];*let duration : number result[1]** param uri 视频地址* returns 第一个数据是缩略图 base64 字符串&…...
计算机科学与技术
计算机科学是一个庞大且关联性强的学科体系,初学者常面临以下痛点: - **知识点零散**:容易陷入"只见树木不见森林"的学习困境 - **方向不明确**:面对海量技术栈不知从何入手 - **体系缺失**:难以建立完整…...
vxe-table 如何实现跟 Excel 一样的数值或金额的负数自动显示红色字体
vxe-table 如何实现跟 Excel 一样的数值或金额的负数自动显示红色字体,当输入的值为负数时,会自动显示红色字体,对于数值或者金额输入时该功能就非常有用了。 查看官网:https://vxetable.cn gitbub:https://github.co…...
【Word转PDF】在线Doc/Docx转换为PDF格式 免费在线转换 功能强大好用
在日常办公和学习中,将Word文档转换为PDF格式的需求非常普遍。无论是制作简历、撰写报告还是分享文件,都需要确保文档格式在不同设备上保持一致。而小白工具的“Word转PDF”功能正是为此需求量身打造的一款高效解决方案。 【Word转PDF】在线Doc/Docx转换…...
AF3 _find_template_in_pdb 函数解读
AlphaFold3 中templates模块的_find_template_in_pdb函数用于在 mmCIF 文件中查找与给定模板序列匹配的链,通过三步匹配策略确保找到最佳的模板链。 源代码: def _find_template_in_pdb(template_chain_id: str,template_sequence: str,mmcif_object: mmcif_parsing.MmcifO…...
陶瓷膜分离技术保障食品工业原料用水安全
陶瓷膜分离技术在食品工业中应用广泛,尤其是在保障原料用水的安全性方面发挥着重要作用。下面将从几个方面介绍陶瓷膜分离技术如何保障食品工业原料用水的安全: 高效过滤杂质:陶瓷膜具有非常细小的孔径(通常在纳米级别),能够有效去…...
蓝桥杯 2.基础算法
蓝桥杯 2.基础算法 文章目录 蓝桥杯 2.基础算法基础算法时空复杂度枚举模拟编程11-16递归编程17进制转换编程18-19前缀和编程20-22差分编程23-27离散化贪心编程28-37二分双指针编程38-45构造编程46-49位运算编程50-55 排序冒泡排序选择排序插入排序快速排序归并排序编程56-65 基…...
ESP32-S3模组上兼容SCCB总线与I2C总线的解决方案(2)
接前一篇文章:ESP32-S3模组上兼容SCCB总线与I2C总线的解决方案(1) 二、问题求解 上一回说明了本系列文章的背景、所遇问题,以及乐鑫官方给出的解决方案,见以下测试用例: TEST_CASE("Camera driver uses an i2c port initialized by other devices test", &qu…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_os_specific_init函数
ngx_os_specific_init 声明在 src/os/unix/ngx_os.h ngx_int_t ngx_os_specific_init(ngx_log_t *log); 定义在 src\os\unix\ngx_linux_init.c ngx_int_t ngx_os_specific_init(ngx_log_t *log) {struct utsname u;if (uname(&u) -1) {ngx_log_error(NGX_LOG_ALERT, log,…...
Go 自动升级依赖版本
🚀 Go 自动升级依赖版本 在 Go 语言项目中,依赖管理使用 Go Modules(go.mod 和 go.sum)。如果想要自动升级依赖,可以使用以下方法。 1. 方式 1:升级所有依赖 go get -u ./...🔹 作用ÿ…...
fps僵尸:12.丧尸伤害检测
文章目录 设计丧尸攻击时启用伤害检测,攻击结束后取消伤害检测 思路需要在攻击动画中 调用&关闭伤害检测 实现注解动画通知:绑定动画与蓝图 设计 丧尸攻击时启用伤害检测,攻击结束后取消伤害检测 思路 需要在攻击动画中 调用&关闭…...
支持向量机(SVM)在 NLP 中的使用场景
支持向量机(Support Vector Machine, SVM)是一种强大的监督学习算法,广泛应用于分类任务中。由于其出色的分类性能和高效的计算特点,SVM 已经成为自然语言处理(NLP)领域中的一种经典模型。SVM 在 NLP 中的应用非常广泛,尤其在文本分类任务中,表现出色。 本文将探讨 SV…...
Linux中的Ctrl+C与Ctrl+Z
CtrlC与CtrlZ的区别 在Linux中,当我们在执行一个命令运行代码时,由于运行时间过长或中途出现报错,此时,我们可能需要终止该操作,这时候,该使用CtrlC还是CtrlZ呢? 1、CtrlC CtrlC:终…...
【深度学习】手写数字识别任务
数字识别是计算机从纸质文档、照片或其他来源接收、理解并识别可读的数字的能力,目前比较受关注的是手写数字识别。手写数字识别是一个典型的图像分类问题,已经被广泛应用于汇款单号识别、手写邮政编码识别等领域,大大缩短了业务处理时间&…...
go语言 创建kratos框架工程
go语言 创建kratos框架工程 1、准备 1.1、系统 只支持macos和linux系统, 这里主要是macos(linux类似) 1.2、需要的环境 1.2.1、go语言环境 $ brew install go # 会安装最新的go版本 $ go env -w GO111MODULEon # 设置go的环境1.2.2、 …...
Linux-GlusterFS操作子卷
文章目录 分布式卷添加卷分布式卷删除子卷删除总卷 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2025年02月20日19点30分 分布式卷添加卷 Node1上进行操作 扩容 #服务器端 gluster volu…...
修改阿里云服务器内网ip
运维同事问能不能改我自己的服务内网ip, 买了一台服99元服务器,以为不能结果,结果还真改成功了, 分享一下经验。 首先最后关闭服务器-关机,必须要关闭服务 访问vpc控制台,就是要新建立一个网络 https://…...
鸿蒙与跨端迁移的重要性
鸿蒙操作系统(HarmonyOS)是由华为公司开发的一款面向未来的全场景分布式操作系统。它旨在提供一个统一的平台,支持各种设备之间的无缝协作和数据共享,从而为用户提供更加连贯和高效的体验。在鸿蒙的生态系统中,跨端迁移…...
XML XML约束 二、DTD
1 什么是DTD DTD(Document Type Definition),文档类型定义,用来约束XML文档。例如要求xml文档的根元素必须是<students>,在<students>元素下可以包含0~n个<student>元素,每个<studen…...
用DeepSeek零基础预测《哪吒之魔童闹海》票房——从数据爬取到模型实战
系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 **一、为什么要预测票房?****二、准备工作****三、实战步骤详解****Step 1:数据爬取与清洗&am…...
医院管理系统方案-基于蓝牙室内定位技术的院内智能导航系统:技术详解、功能设计及核心优势
文面向IT技术员、医院信息化负责人及物联网应用开发者,本文介绍了一款基于蓝牙室内定位技术的智能导航系统。该系统通过高精度定位与智能路径规划,极大提升了患者就医体验与医院运营效率。 如需获取院内智能导航系统技术文档可前往文章最下方获取&#x…...
ref() 和 reactive()响应性 浅解
文章目录 1. ref() 和 reactive() 的区别2. 解构 详解2.1. 什么是解构2.2. 解构避免丢失响应性的办法2.2.1. 解决方案:toRefs() 保持响应性2.2.2. 解决方案: toRef()保持响应性 3. 最佳实践 在 Vue 3 中,ref() 和 reactive() 都是用于响应式数…...
聊一聊vue如何实现角色权限的控制的
大家好,我是G探险者。 关于角色与权限控制,通常是分为两大类:一种是菜单权限;一种是操作权限。 菜单权限是指,每个角色对应着可以看到哪些菜单,至于每个菜单里面的每个按钮,比如增删改查等等这类…...
TensorFlow深度学习实战——构建卷积神经网络实现CIFAR-10图像分类
TensorFlow深度学习实战——构建卷积神经网络实现CIFAR-10图像分类 0. 前言1. CIFAR-10 数据集介绍2. CIFAR-10 图像分类3. 提升模型性能3.1 增加网络深度3.2 数据增强 4. 模型测试相关链接 0. 前言 我们已经学习了卷积神经网络 (Convolutional Neural Network, CNN) 的基本概…...
服务器创建conda环境并安装使用jupyter
1.创建conda环境 conda create --name myenv python3.8 conda activate myenv其中 myenv 是您想要创建的环境名称,可以根据需要替换为其他名称。2.安装juypter conda install jupyter3.启动juypter jupyter notebook复制链接到浏览器打开 4.设置jupyter使用的 …...
形参和实参
形参(形式参数) 函数定义时指定的参数,形参是用来接收数据的,函数定义时,系统不会为形参申请内存,只有当 函数调用时,系统才会为形参申请内存。主要用于存储实际参数,并且当函数返…...
【HarmonyOS Next】鸿蒙监听手机按键
【HarmonyOS Next】鸿蒙监听手机按键 一、前言 应用开发中我们会遇到监听用户实体按键,或者扩展按键的需求。亦或者是在某些场景下,禁止用户按下某些按键的业务需求。 这两种需求,鸿蒙都提供了对应的监听事件进行处理。 onKeyEvent 默认的…...
【Spring详解五】bean的加载
五、bean的加载 当我们显示或者隐式地调用 getBean() 时,则会触发加载 bean 阶段。示例代码如下: public class AppTest {Testpublic void MyTestBeanTest() {BeanFactory bf new XmlBeanFactory( new ClassPathResource("spring-config.xml"…...
5.8 Soft Prompt技术:提示编码器的微调革命
Soft Prompt技术:提示编码器的微调革命 一、Prompt Encoder技术全景图 mindmap root((Prompt Encoder)) P-Tuning v1 双向LSTM编码 可微提示优化 P-Tuning v2 多层感知机编码 任务特定初始化 Prompt Encoder 可学习提示向量 层级提示插入 Prompt Encoder的核心优…...
