2023年总结我所经历的技术大变革
- 📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!
- 📢本文作者:由webmote 原创
- 📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔 !
序言
2023年开年就是旅游,春节开车一路狂奔,从西安到云南大理,再到西双版纳,算是对过去一年的巨大压力的一个宣泄。大理的美景仍如多年前一样靓丽可人,下关风吹到了大理古城,再次领略了苍山雪洱海月,还很意外的遇到了成群的海鸥。


2023年有很多的坏消息,很多朋友都经历了中年失业的社会毒打,而我总算庆幸自己有份安心的工作。
也经历了从杭州工作又再次回归西安工作的短暂心理转变,并在技术关注点上也逐步从互联网回归到了传统而又新颖的机器人制造行业。
2023年,一个充满变革与挑战的年份,对我个人而言,它不仅仅是日历上的一页翻过,更是技术演进的一大跃进,在这一年中,我不仅见证了技术的迅猛发展,也亲自融入了这场变革之中。
既然又到了年末,那就盘点下自己在2023年经历的几个新的技术变革吧。
1 WebRTC 视频直播
因为机器人行业需要直接处理视频推流和直播,因此就从中学习了很多推流方案,而能够支持在浏览器中播放的技术,以前大都采用FLV方式进行播放,虽然利用ffmpeg进行推流还是非常方便的,但这个格式唯一的缺点就是慢那么几秒时间。
而,时间就是金钱!我的朋友们!
传统的视频直播技术,如同老式电视,总有几秒的延迟。但在快节奏的现代社会,“几秒”也能决定成败。因此,我转向了WebRTC,一种可以让你和我在网络世界中“即时见面”的神奇技术。那么为了提升那几秒时间,采用WebRTC技术是比较好的解决方案之一。
为什么选择WebRTC? 与FLV等传统技术相比,WebRTC的优势不仅仅在于它的实时性。它更像是一辆装备了最新引擎的跑车,快速且高效。无需复杂的服务器支持,它能在浏览器中轻松实现点对点通信。想象一下,通过WebRTC,我们可以实现从机器人眼中看世界的愿望,这对于我所从事的机器人行业来说,简直是一场革命。
WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC 使用了很复杂的信令,因此基于WebRTC可能需要开发信令服务,这足矣让很多人止步。
现有的推流软件有老牌的SRS,可部署在多个平台上,应用也非常广泛;而我并没有选择这个软件,二十采用了另外一款Go语言编写的 go2rtc 软件,其占用cpu和内存非常少,无需特殊安装,使用便捷方便。 如果你有兴趣,可以看我之前的文章。

2. 机器人导航原理
这块的确属于工作需要了,如果你不是从事这个行业,那么直接跳过或了解下即可。机器人导航,对于门外汉来说,的确充满着神奇色彩。
如果你有兴趣额,我就简单的概括说下吧,希望能说明白。
目前的导航分为激光导航和视觉导航两大分类,从我个人来看,非常看好视觉导航,不过市场上成熟的方案现在依然是激光导航。
- 激光导航:精确但高昂 激光导航的原理类似于蝙蝠的回声定位。它使用激光雷达扫描周围环境,通过反射回的激光信号来绘制出一张精确的地图。在这张地图上,机器人就能像游戏中的角色一样,找到避开障碍物的最佳路径。虽然激光导航准确度高,但其成本也相对较高。
- 视觉导航:前景广阔但尚待开发, 另一方面,视觉导觉导航则像是拥有“鹰眼”的机器人。它利用摄像头捕捉图像,通过复杂的算法处理这些图像,以此来理解和导航环境。虽然这种方法在理论上可行,但实际应用中的复杂性和不确定性使得它仍然是一个挑战重重的领域。
激光导航其主要的原理在于使用激光先对所在的场所进行扫描,通过激光雷达的扫描信息(点云)建立一个二维(三维)地图,这个地图很像我们在某个游戏中打怪的地图,有了这个地图后,你可以指点机器人要抵达的地点,通过路径算法Dijkstra或A* 或其他算法,找到避开障碍物的路径(非常像某游戏中点击目的地,怪物自动寻找的路径线路),然后利用驱动控制电机沿线路行走,在行走时,可能有其他的传感器参与期中,进行障碍物检测或者行走里程检测等。
听起来是不是容易多了?

以上是轮式机器人的原理,如果是人形机器人,控制会更复杂,但原理也是大抵如此。
3 ChatGpt 智能AI
在2023年,AI技术的一个重要突破是聊天机器人,尤其是像ChatGPT这样的模型。这不仅仅是一个能回答问题的机器,它更像是一个智慧的伴侣,能理解我们的语言,甚至与我们进行深层次的交流。
是的,如此火爆全球的技术,不容你不懂。
我们不期望超越ChatGpt这种人工智能的能力,但是学会应用它应该是当下每个打工人需要做的事情。



作为 一名永远忠诚你的私人助手,每月的20美金可还值得?
当然有很多公司已经为他们的职员买单了,那么你还有什么理由不去学习和使用它呢?
4. 新兴技术5G通信的探索
另一个值得关注的技术是5G通信。这不仅仅是速度的提升,更是物联网、智能家居、远程医疗等领域的可能性大门的开启。
在机器人项目中,5G通信技术使得数据传输更快、更稳定。这对于实时控制和监控机器人至关重要。随着5G网络的普及,我预见到更多创新应用的出现,例如远程控制的机器人进行危险环境的勘探和救援任务。
当然,5G组网也是期中最关键的一块,明年可能会接触更多类似的技术。
5 就业环境恶化
2023年的就业市场可谓是多事之秋。一方面,新兴技术的崛起带来了新的职业机会,另一方面,自动化和AI的发展也使一些传统职位面临挑战。在这种环境下,保持学习的态度和适应能力变得尤为重要。
从众多面试的经验看到,很多人失业后,就业机会渺茫,但俗话说否极泰来,绝处逢生。
很多人干脆抛去找工作的念头,利用这个时间就行个人创业、直播、学习,甚至寻找新的机会,这未尝不是一件好事。而身在职场中的人,大都在经历疯狂内卷的境遇,加班丧失了自己本就可怜的自由时间,完全没有了学习和副业的机会,可谓祸兮福之所倚也,福兮祸之所伏也。
总结
回顾2023年,尽管面临诸多挑战,但也是一个充满机遇的年份。
从WebRTC到AI,从机器人到5G,这些技术不仅改变了我的工作方式,也深刻影响了我们的生活。作为一个中年技术人员,我感到非常幸运能够亲身经历这些变革,但是同样也对未来的不确定性充满恐惧,但又有什么特别的办法呢?
谁也没想到2023年压力不减反升,而各种疾病也是接踵而至,身心和精神都受到双重折磨,看起来今年的春节又需要我们好好的调整下,保持健康的体魄,才能在未来不确定性中走的更从容吧!
你有没有在2023年遇到什么特别的技术呢,亦或是有着更多的应对手段,评论区等你的参与啊!
👓都看到这了,还在乎点个赞吗?
👓都点赞了,还在乎一个收藏吗?
👓都收藏了,还在乎一个评论吗?
相关文章:
2023年总结我所经历的技术大变革
📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅…...
基于YOLOv7算法的高精度实时车载摄像头下车辆检测系统(PyTorch+Pyside6+YOLOv7)
摘要:基于YOLOv7算法的高精度实时车载摄像头下车辆检测系统可用于日常生活中检测与定位车辆,此系统可完成对输入图片、视频、文件夹以及摄像头方式的目标检测与识别,同时本系统还支持检测结果可视化与导出。本系统采用YOLOv7目标检测算法来训…...
深度学习(3)--递归神经网络(RNN)和词向量模型Word2Vec
目录 一.递归神经网络基础概念 二.自然语言处理-词向量模型Word2Vec 2.1.词向量模型 2.2.常用模型对比 2.3.负采样方案 2.4.词向量训练过程 一.递归神经网络基础概念 递归神经网络(Recursive Neural Network, RNN)可以解决有时间序列的问题,处理诸如树、图这样…...
【江科大】STM32:中断系统(理论)
文章目录 中断系统为什么要使用中断中断优先级中断嵌套STM32的中断系统如何管理这些中断NVIC的结构 优先级窗口看门狗(WWDG):外部中断模块的特性&#…...
JAVA 学习 面试(六)数据类型与方法
数据类型 基本数据类型 为什么float3.4报错 3.4 默认是浮点double类型的,如果赋值给float是向下转型,会出现精度缺失,,需要强制转换 Switch支持的数据类型? byte、short、int、char 、 enum 、 String 基本类型与包…...
Java 一个数组集合List<People> 赋值给另一个数组集合List<NewPeople> ,两个数组集合属性部分一致。
Java 一个数组集合List 赋值给另一个数组集合List ,两个数组集合属性部分一致。 下面是一个Demo, 具体要根据自己的业务调整。 import java.util.ArrayList; import java.util.List;class People {private String name;private int age;private String address;publ…...
基于神经网络的电力系统的负荷预测
一、背景介绍: 电力系统负荷预测是生产部门的重要工作之一,通过准确的负荷预测,可以经济合理地安排机组的启停、减少旋转备用容量、合理安排检修计划、降低发电成本和提高经济效益。负荷预测按预测的时间可以分为长期、中期和短期负荷预测。…...
OpenCV第 1 课 计算机视觉和 OpenCV 介绍
文章目录 第 1 课 计算机视觉和 OpenCV 介绍1.机器是如何“看”的2.机器视觉技术的常见应用3.图像识别介绍4. 图像识别技术的常见应用5.OpenCV 介绍6.图像在计算机中的存储形式 第 1 课 计算机视觉和 OpenCV 介绍 1.机器是如何“看”的 我们人类可以通过眼睛看到五颜六色的世界…...
C++面试:stl的栈和队列介绍
目录 栈 栈(stack)的声明: push(): 将元素推入栈顶 pop(): 弹出栈顶元素 top(): 访问栈顶元素,但不弹出 empty(): 检查栈是否为空 size(): 返回栈中元素的数量 …...
从0开始学习C++ 第十二课:指针强化
第十二课:指针强化 学习目标: 理解常量指针与指针常量的区别。学习如何使用函数指针。掌握指针与数组的高级使用技巧。 学习内容: 常量指针与指针常量 概念: 常量指针是一个指向常量的指针,这意味着不能通过这个指针…...
mongodb和python交互
1. mongdb和python交互的模块 pymongo 提供了mongdb和python交互的所有方法 安装方式: pip install pymongo 2. 使用pymongo 2.1 导入pymongo并选择要操作的集合 数据库和集合能够自动创建 2.1.1 无需权限认证的方式创建连接对象以及集合操作对象 from pymongo import Mong…...
力扣279. 完全平方数
动态规划 思路: 假设 dp[i] 为最少组成数 i 的平方数个数;则其上一个状态为 dp[i - j^2] 1,1 为 j^2: 即 i 的最少完全平方数 i - j^2 的最少完全平方数 1,其中 j^2 < i 为最接近 i 的平方数;初始值…...
【C++】list容器功能模拟实现
介绍 上一次介绍了list队容器的迭代器模拟,这次模拟实现list的简单功能,尤其要注意构造函数、析构函数、以及赋值运算符重载的实现。 list容器需要接纳所有类型的数据,因此,结构设置与迭代器设置同理,需要引入结点&…...
linux 安装ffmpeg
一、下载 ffmpeg-4.3.1 下载地址:链接:https://pan.baidu.com/s/1xbkpHDfIWSCbHFGJJHSQcA 提取码:3eil 二、上传到服务器root目录下 三、给ffmpeg-4.3.1 读写权限 chmod -R 777 /root/ffmpeg-4.3.1 四、创建软连接 1.进入/bin 目录 2.…...
激光雷达行业梳理2-产业链、公司、未来展望
四、产业链及竞争格局 激光雷达产业链可以分为上游(光学和电子元器件)、中游(集成激光雷达)、下游(不同应用场景)。其中 上游即激光发射、激光接收、扫描系统和信息处理四大部分,主要包括激光器…...
Java 设计者模式以及与Spring关系(四) 代理模式
目录 简介: 23设计者模式以及重点模式 代理模式(Proxy Pattern) 静态代理示例 spring中应用 动态代理 1.基于JDK的动态代理 target.getClass().getInterfaces()作用 内名内部类写法(更简洁,但不推荐) 2.基于CGLIB实现 spring中应用 …...
PHP编程实践:实际商品价格数据采集
引言 在电子商务领域,对商品价格进行数据采集和对比是一项常见的需求。本文将介绍如何使用PHP编程语言实现对1688和淘宝商品价格数据的采集和对比,帮助读者了解实际的编程实践过程。 一、数据采集原理 数据采集是指从互联网上获取数据的过程ÿ…...
有效防范网络风险的关键措施
在数字化时代,企业面临着日益复杂和频繁的网络风险。提高员工的网络安全意识是防范网络威胁的关键一步。本文将探讨企业在提升网络安全意识方面可以采取的措施,以有效预防潜在的网络风险。 1. 开展网络安全培训:企业应定期组织网络安全培训&…...
Spring Boot整合webservice
Spring Boot整合webservice 前言1.整合依赖2.建立暴露接口2.实现类 3.发布服务4.查看打完收工! 前言 工作中遇到的问题,由于下游系统属于第三方系统,使用的是soap webservice,同时也在开发,虽然也发布了一套webservic…...
Qt拖拽事件简单实现
1.相关说明 重写resizeEvent(这个按需重写)、dragEnterEvent(拖拽事件函数)、dropEvent(放下事件函数),可以将本地图片拖拽到label标签中 2.相关界面 3.相关代码 #include "widget.h" #include "ui_widget.h" #include <QDragEnterEvent>…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
路由基础-路由表
本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。 路由是数据通信网络中最基…...
