当前位置: 首页 > news >正文

【随笔】五周年创作纪念日

  • 今天收到了 CSDN 的创作五周年提示,正好前几天(7.31)我也成功申请了 CSDN 博客专家,趁这个机会分享一下这几年写博客的感受吧
    在这里插入图片描述
    在这里插入图片描述

机缘

  • 关注我比较久的读者应该知道我是从学传统工科半路出家搞计算机的,这里的经历还是比较曲折的
    1. 玩航模,高中就开始自制航模飞机(固定翼),对航空很感兴趣

    2. 飞行器设计专业就读

    3. 大一开始接触飞控,玩多旋翼无人机,对控制产生兴趣

    4. 大二学单片机搞电赛,拿了很多校级电赛的小奖,纯软件部分写了一些 pid 模拟程序,喜欢上了编程的 “创造感”

    5. 了解到人工智能,觉得能自主学习的程序非常神奇,想做一个能自己学会玩贪吃蛇游戏的程序,未果,甚至连一个基本思路都没有。自此想转计算机,当时觉得此生的终极目标就是做一个能和人流畅对话的聊天机器人,可以通过图灵测试那种

    6. 大二结束时强行转了计算机科学,其实我理论力学材料力学等专业课学得也还行,但想到这可能是此生仅有的系统学习计算机的机会了,还是转了重读计算机的大二。虽然有一点嵌入式编程的底子,初期还是非常艰难,数据结构课还有算法课都是低空飘过

    7. 补计算机课的同时仍然继续搞电赛,参加了 RM 等规模更大的比赛,但基本都是参与奖

    8. 18 年参加了英飞凌的全国无人机竞赛,333个队伍中拿到了全国并列第二,终于在弱电这块拿到一个重量级的奖。期间也终于了解了飞控的原理并进行了一点二次开发,成就感很强
      在这里插入图片描述
      在这里插入图片描述
      当时有些计算机专业的同学会写技术博客,感觉是个值得学习的好习惯,但一直懒得动笔。这次比赛后心情很好,就趁这个契机,在厦门大学(决赛场地)附近的一个麦当劳写了第一篇博客 大疆Onboard SDK 3.2玫瑰线例程浅析。后来写博客就成了习惯,我本人是 intp,特别喜欢把问题条分缕析地分析清楚的感觉,所以我的博客基本都是成系列的,写得也会比较细。一度想把所有专业课笔记都记录成博客形式,但是太耗时了最后放弃了

    9. 本科期间计算机的专业课我都很喜欢。自己写过 MIPS 的流水线 CPU,写过PL/0编译器,用纯汇编写过贪吃蛇游戏,还用了一个多月写过一个电商系统,包括 app、web 前端和后台的全部代码(SSM 框架)

      当时一段时间内的终极理想是:借助 FPGA,在自己写的 CPU 上运行自己写的编译器,执行自己写的程序,最后也没实现2333

      另一方面嵌入式比赛也一直在做,成为了校 RM 队的主力队员,其实这时我已经很想去做视觉部分了,但是因为人手不足,最后我还是一直在写步兵的控制代码,配合视觉部分做自瞄联调,最后 19 年比赛时我们是赛区命中率最高的队伍

    10. 我知道我想做的是 AI,但是嵌入式部分还有一个夙愿没完成,就是最开始吸引我的无人机飞控开发,于是我用 19 年电赛的无人机题来做我嵌入式开发的收尾。这次深入了解了飞控的原理,也进行了更多二次开发。可以说只要给我足够的时间,我有信心自己写一个完整的四轴飞控了。期间的文章有

      • [随笔]2019省电赛无人机题(B题)总结
      • 超详细多旋翼无人机飞控 pid 控制器结构图(含视觉追踪)
    11. 大四保研了本校计算机专业,终于开始系统地学习人工智能了,方向选了强化学习,终于知道怎么做能自己学会贪吃蛇的程序了 2333。出乎意料的是我的终极理想也被 ChatGPT 实现了,所以我现在在做 GPT+强化学习的课题 23333


收获

  • 写了这么久博客,阅读量已经累计到 50w+,有了 8000+ 粉丝,也有不少人加我微信qq等讨论问题,认识了不少同行。这些成就在我保研时也有一定助力,非常感谢大家的支持
    在这里插入图片描述

  • 另一方面这些博文也是我自己的一个资料库,有什么东西忘了看看自己写的博客就能快速想起来,这对我很重要


日常

  • 平衡日常工作和写博客对我而言是一个挑战,因为我 intp 的习惯总会写得太长太细,反而耽误了一些事。最近在尝试写更精炼的文章。比如论文阅读部分就开了新专栏 论文速览

成就

  • CSDN 提升我这里可以放自己的项目代码,那我就放一下我 github 中的几个工程吧
    1. Telegram GPT 聊天机器人:这是我收获 star 最多的项目
    2. RL_Platform-CrossTheWall:本科毕设做的项目,是一个可视化的 RL 离散测试环境,可以直观地测试对比各种 RL、IL 算法的性能。其可视化效果图也在我的多篇博客中用作素材,如 强化学习拾遗 —— 强化学习的样本效率
    3. Inverted_pendulum_simulator:直线倒立摆模拟器,可以在此体验串级 PID 的调参过程。配套的视频讲解见 up为研究玄学,竟自学python半个月编写倒立摆模拟器
    4. Assembly-Gluttonous-Snake:纯汇编写的贪吃蛇游戏程序,详细说明见 IA32汇编语言 —— 贪吃蛇游戏
    5. RL_task_practice:我的强化学习项目仓库,其中的每个项目都是在某个环境测试某个 RL 算法,可以独立运行,致力于做到简洁清晰

憧憬

  • 以后会继续在 CSDN 发布博客的,希望能打造个人 IP,不过会更加考虑到日常工作和写博客的平衡

相关文章:

【随笔】五周年创作纪念日

今天收到了 CSDN 的创作五周年提示,正好前几天(7.31)我也成功申请了 CSDN 博客专家,趁这个机会分享一下这几年写博客的感受吧 机缘 关注我比较久的读者应该知道我是从学传统工科半路出家搞计算机的,这里的经历还是比…...

7_分类算法—逻辑回归

文章目录 逻辑回归:1 Logistic回归(二分类问题)1.1 sigmoid函数1.2 Logistic回归及似然函数(求解)1.3 θ参数求解1.4 Logistic回归损失函数1.5 LogisticRegression总结 2 Softmax回归(多分类问题&#xff0…...

【计算机网络】应用层协议 -- DNS协议

文章目录 1. DNS背景2. 域名简介3. 域名解析过程4. 使用dig查看DNS过程 1. DNS背景 DNS(Domain Name System,域名系统)协议,是一个用来将域名转化为IP地址的应用层协议。 TCP/IP当中通过IP地址和端口号的方式,来确定…...

ES6 - 数组新增的一些常用方法

文章目录 1,Array.from()2,Array.of()3,find(),findIndex(),findLast()和findLastIndex()4,Array.fill()5,keys(),values() 和 entries()6,Array.includes()7&#xff0c…...

【BEV感知】3-BEV开源数据集

3-BEV开源数据集 1 KITTI1.1 KITTI数据怎么采集?1.2 KITTI数据规模有多大?1.3 KITTI标注了哪些目标?1.4 转换矩阵1.5 标签文件 2 nuScenes2.1 nuScenes Vs KITTI2.2 标注文件 1 KITTI KITTI 1.1 KITTI数据怎么采集? 通过车载相机、激光雷达等传感器采集。 只提供了相机正…...

Kafka-Broker工作流程

kafka集群在启动时,会将每个broker节点注册到zookeeper中,每个broker节点都有一个controller,哪个controller先在zookeeper中注册,哪个controller就负责监听brokers节点变化,当有分区的leader挂掉时,contro…...

第八篇-Tesla P40+ChatGLM2+LoRA

部署环境 系统:CentOS-7CPU: 14C28T显卡:Tesla P40 24G驱动: 515CUDA: 11.7cuDNN: 8.9.2.26目的 验证P40部署可行性,只做验证学习lora方式微调创建环境 conda create --name glm-tuning python3.10 conda activate glm-tuning克隆项目 git clone http…...

调用feign返回错误的数据

bug描述&#xff1a; 在一个请求方法中会调用到feign去获取其他的数据。 List<Demo> list aaaFeignApi.getData(personSelectGetParam);在调用的时候&#xff0c;打断点到feign的地方&#xff0c;数据是存在的&#xff0c;并且有15条。但是返回到上面代码的时候数据就…...

【Spring】(二)从零开始的 Spring 项目搭建与使用

文章目录 前言一、Spring 项目的创建1.1 创建 Maven 项目1.2 添加 Spring 框架支持1.3 添加启动类 二、储存 Bean 对象2.1 创建 Bean2.1 将 Bean 注册到 Spring 容器 三、获取并使用 Bean 对象3.1 获取Spring 上下文3.2 ApplicationContext 和 BeanFactory 的区别3.3 获取指定的…...

redis五种数据类型介绍

、string&#xff08;字符串&#xff09; 它师最基本的类型&#xff0c;可以理解为Memcached一模一样的类型&#xff0c;一个key对应一个value。 注意&#xff1a;一个键最大能存储 512MB。 特性&#xff1a;可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512…...

【JavaEE】Spring Boot - 项目的创建和使用

【JavaEE】Spring Boot 开发要点总结&#xff08;1&#xff09; 文章目录 【JavaEE】Spring Boot 开发要点总结&#xff08;1&#xff09;1. Spring Boot 的优点2. Spring Boot 项目创建2.1 下载安装插件2.2 创建项目过程2.3 加载项目2.4 启动项目2.5 删除一些没用的文件 3. Sp…...

Git reset、revert用法

reset reset是删除之前的提交记录&#xff0c;所有的提交点都会被清除&#xff0c;我们看下执行前后的git log区别 D:\workspace\android>git log commit 87c1277a57544c53c603b04110e3dde100da8f57 (HEAD -> develop_main) Author: test <test.com> Date: Wed…...

Redis-1

Redis 理论部分 redis 速度快的原因 1、纯内存操作 2、单线程操作&#xff0c;避免了频繁的上下文切换和资源争用问题&#xff0c;多线程需要占用更多的 CPU 资源 3、采用了非阻塞 I/O 多路复用机制 4、提供了非常高效的数据结构&#xff0c;例如双向链表、压缩页表和跳跃…...

【Linux】Linux服务器连接百度网盘:实现上传下载

【Linux】Linux服务器连接百度网盘&#xff1a;实现上传下载 文章目录 【Linux】Linux服务器连接百度网盘&#xff1a;实现上传下载1. 前言2. 具体过程2.1 pip 安装所需包2.2 认证&#xff08;第一次连接需要认证&#xff09;2.3 下载所需文件或者目录2.4 其他指令使用2.5 注意…...

ADC模拟看门狗

如果被ADC转换的模拟电压低于低阀值或高于高阀值&#xff0c;AWD模拟看门狗状态位被设置。阀值位 于ADC_HTR和ADC_LTR寄存器的最低12个有效位中。通过设置ADC_CR1寄存器的AWDIE位 以允许产生相应中断。通过以下函数可以进行配置 void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx…...

google谷歌gmail邮箱账号注册手机号无法进行验证怎么办?此电话号码无法用于进行验证 或 此电话号码验证次数太多

谷歌gmail邮箱账号注册手机号无法进行验证怎么办? 使用手机号码注册谷歌gmail邮箱账号时会遇到&#xff1a;此电话号码无法用于进行验证 或 此电话号码验证次数太多。造成注册google谷歌gmail邮箱账号受阻&#xff0c;无法正常完成注册。 谷歌Gmail邮箱账号正确的注册方法与教…...

Spring:IOC技术、Bean、DI

前言 Spring是一个开源的项目&#xff0c;并不是单单的一个技术&#xff0c;发展至今已形成一种开发生态圈。也就是说我们可以完全使用Spring技术完成整个项目的构建、设计与开发。Spring是一个基于IOC和AOP的架构多层j2ee系统的架构。 SpringFramework&#xff1a;Spring框架…...

目标检测与跟踪 (2)- YOLO V8配置与测试

系列文章目录 第一章 目标检测与跟踪 &#xff08;1&#xff09;- 机器人视觉与YOLO V8 目标检测与跟踪 &#xff08;1&#xff09;- 机器人视觉与YOLO V8_Techblog of HaoWANG的博客-CSDN博客3D物体实时检测、三维目标识别、6D位姿估计一直是机器人视觉领域的核心研究课题&a…...

【Leetcode】56.合并区间

一、题目 1、题目描述 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [ s t a r t i start_i start...

设置系统编码 Beta

在yolov5环境搭建过程中会遇到如下的编码错误警告&#xff1a; 这时&#xff0c;按住“ctrlc”中止进程&#xff0c;然后设置系统编码&#xff1a; 电脑右键属性打开&#xff1a; 重启之后等安装好了&#xff0c;记得回去把bae键取消。...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全&#xff0c;让Comfyui导出的图像不包含工作流信息&#xff0c;导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo&#xff08;推荐&#xff09;​​ 在 save_images 方法中&#xff0c;​​删除或注释掉所有与 metadata …...