【随笔】五周年创作纪念日
- 今天收到了 CSDN 的创作五周年提示,正好前几天(7.31)我也成功申请了 CSDN 博客专家,趁这个机会分享一下这几年写博客的感受吧
机缘
- 关注我比较久的读者应该知道我是从学传统工科半路出家搞计算机的,这里的经历还是比较曲折的
-
玩航模,高中就开始自制航模飞机(固定翼),对航空很感兴趣
-
飞行器设计专业就读
-
大一开始接触飞控,玩多旋翼无人机,对控制产生兴趣
-
大二学单片机搞电赛,拿了很多校级电赛的小奖,纯软件部分写了一些 pid 模拟程序,喜欢上了编程的 “创造感”
-
了解到人工智能,觉得能自主学习的程序非常神奇,想做一个能自己学会玩贪吃蛇游戏的程序,未果,甚至连一个基本思路都没有。自此想转计算机,当时觉得此生的终极目标就是做一个能和人流畅对话的聊天机器人,可以通过图灵测试那种
-
大二结束时强行转了计算机科学,其实我理论力学材料力学等专业课学得也还行,但想到这可能是此生仅有的系统学习计算机的机会了,还是转了重读计算机的大二。虽然有一点嵌入式编程的底子,初期还是非常艰难,数据结构课还有算法课都是低空飘过
-
补计算机课的同时仍然继续搞电赛,参加了 RM 等规模更大的比赛,但基本都是参与奖
-
18 年参加了英飞凌的全国无人机竞赛,333个队伍中拿到了全国并列第二,终于在弱电这块拿到一个重量级的奖。期间也终于了解了飞控的原理并进行了一点二次开发,成就感很强
当时有些计算机专业的同学会写技术博客,感觉是个值得学习的好习惯,但一直懒得动笔。这次比赛后心情很好,就趁这个契机,在厦门大学(决赛场地)附近的一个麦当劳写了第一篇博客 大疆Onboard SDK 3.2玫瑰线例程浅析。后来写博客就成了习惯,我本人是 intp,特别喜欢把问题条分缕析地分析清楚的感觉,所以我的博客基本都是成系列的,写得也会比较细。一度想把所有专业课笔记都记录成博客形式,但是太耗时了最后放弃了 -
本科期间计算机的专业课我都很喜欢。自己写过 MIPS 的流水线 CPU,写过PL/0编译器,用纯汇编写过贪吃蛇游戏,还用了一个多月写过一个电商系统,包括 app、web 前端和后台的全部代码(SSM 框架)
当时一段时间内的终极理想是:借助 FPGA,在自己写的 CPU 上运行自己写的编译器,执行自己写的程序,最后也没实现2333
另一方面嵌入式比赛也一直在做,成为了校 RM 队的主力队员,其实这时我已经很想去做视觉部分了,但是因为人手不足,最后我还是一直在写步兵的控制代码,配合视觉部分做自瞄联调,最后 19 年比赛时我们是赛区命中率最高的队伍
-
我知道我想做的是 AI,但是嵌入式部分还有一个夙愿没完成,就是最开始吸引我的无人机飞控开发,于是我用 19 年电赛的无人机题来做我嵌入式开发的收尾。这次深入了解了飞控的原理,也进行了更多二次开发。可以说只要给我足够的时间,我有信心自己写一个完整的四轴飞控了。期间的文章有
- [随笔]2019省电赛无人机题(B题)总结
- 超详细多旋翼无人机飞控 pid 控制器结构图(含视觉追踪)
-
大四保研了本校计算机专业,终于开始系统地学习人工智能了,方向选了强化学习,终于知道怎么做能自己学会贪吃蛇的程序了 2333。出乎意料的是我的终极理想也被 ChatGPT 实现了,所以我现在在做 GPT+强化学习的课题 23333
-
收获
-
写了这么久博客,阅读量已经累计到 50w+,有了 8000+ 粉丝,也有不少人加我微信qq等讨论问题,认识了不少同行。这些成就在我保研时也有一定助力,非常感谢大家的支持
-
另一方面这些博文也是我自己的一个资料库,有什么东西忘了看看自己写的博客就能快速想起来,这对我很重要
日常
- 平衡日常工作和写博客对我而言是一个挑战,因为我 intp 的习惯总会写得太长太细,反而耽误了一些事。最近在尝试写更精炼的文章。比如论文阅读部分就开了新专栏 论文速览
成就
- CSDN 提升我这里可以放自己的项目代码,那我就放一下我 github 中的几个工程吧
- Telegram GPT 聊天机器人:这是我收获 star 最多的项目
- RL_Platform-CrossTheWall:本科毕设做的项目,是一个可视化的 RL 离散测试环境,可以直观地测试对比各种 RL、IL 算法的性能。其可视化效果图也在我的多篇博客中用作素材,如 强化学习拾遗 —— 强化学习的样本效率
- Inverted_pendulum_simulator:直线倒立摆模拟器,可以在此体验串级 PID 的调参过程。配套的视频讲解见 up为研究玄学,竟自学python半个月编写倒立摆模拟器
- Assembly-Gluttonous-Snake:纯汇编写的贪吃蛇游戏程序,详细说明见 IA32汇编语言 —— 贪吃蛇游戏
- 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回归(多分类问题࿰…...

【计算机网络】应用层协议 -- 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,…...

【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描述: 在一个请求方法中会调用到feign去获取其他的数据。 List<Demo> list aaaFeignApi.getData(personSelectGetParam);在调用的时候,打断点到feign的地方,数据是存在的,并且有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(字符串) 它师最基本的类型,可以理解为Memcached一模一样的类型,一个key对应一个value。 注意:一个键最大能存储 512MB。 特性:可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512…...

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

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

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

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

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

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

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

目标检测与跟踪 (2)- YOLO V8配置与测试
系列文章目录 第一章 目标检测与跟踪 (1)- 机器人视觉与YOLO V8 目标检测与跟踪 (1)- 机器人视觉与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环境搭建过程中会遇到如下的编码错误警告: 这时,按住“ctrlc”中止进程,然后设置系统编码: 电脑右键属性打开: 重启之后等安装好了,记得回去把bae键取消。...

phpunit
composer地址:phpunit/phpunit - Packagist 官方文档:PHPUnit文档 – PHP测试框架 PHPUnit是一个框架,最为hyperf学习的补充学习,就不写这么细了。 估计写下安装和使用,具体学习内容看文档。 一、安装 需安装扩展:…...

html学习9(脚本)
1、<script>标签用于定义客户端脚本,比如JavaScript,既可包含脚本语句,也可通过src属性指向外部文件。 2、JavaScript最常用于图片操作、表单验证及内容动图更新。 3、<noscript>标签用于在浏览器禁用脚本或浏览器不支持脚本&a…...

SpringBoot整合Caffeine
一、Caffeine介绍 1、缓存介绍 缓存(Cache)在代码世界中无处不在。从底层的CPU多级缓存,到客户端的页面缓存,处处都存在着缓存的身影。缓存从本质上来说,是一种空间换时间的手段,通过对数据进行一定的空间安排,使得下…...

元宇宙虚拟展厅的特点是什么呢?优势有哪些?
元宇宙是一个很广阔的虚拟世界,它可以创造出更为丰富、沉浸式的体验,这种全新的体验为展览和艺术领域带来了更多的可能性,元宇宙虚拟展厅以其多样化、互动性、沉浸式展示的特点,带领大家进入一个虚拟现实的全新世界。 元宇宙虚拟展…...

Day11-Webpack前端工程化开发
Webpack 一 webpack基本概念 遇到问题 开发中希望将文件分开来编写,比如CSS代码,可以分为头部尾部内容,公共的样式。 JS代码也希望拆分为多个文件,分别引入,以后代码比较好维护。 本地图片,希望可以实现小图片不用访问后端,保存在前端代码中就可以了 运行程序时我…...

什么是函数式编程,应用场景是什么
什么是函数式编程,应用场景是什么 函数式编程和面向对象编程一样,是一种编程规范。强调执行的过程而非结果,通过一系列的嵌套的函数调用,完成一个运算过程。它主要有以下几个特点: 1.函数是"一等公民"&…...

Vue3之路由认识
回顾: 原来的vue2路由是通过this. r o u t e 和 t h i s . route和this. route和this.router来控制的。现在vue3有所变化,useRoute相当于以前的this. r o u t e ,而 u s e R o u t e r 相当于 t h i s . route,而useRouter相当于t…...

P1775 石子合并(弱化版)(内附封面)
石子合并(弱化版) 题目描述 设有 N ( N ≤ 300 ) N(N \le 300) N(N≤300) 堆石子排成一排,其编号为 1 , 2 , 3 , ⋯ , N 1,2,3,\cdots,N 1,2,3,⋯,N。每堆石子有一定的质量 m i ( m i ≤ 1000 ) m_i\ (m_i \le 1000) mi (mi≤1000)。…...

jmeter之接口测试(http接口测试)
基础知识储备 一、了解jmeter接口测试请求接口的原理 客户端--发送一个请求动作--服务器响应--返回客户端 客户端--发送一个请求动作--jmeter代理服务器---服务器--jmeter代理服务器--服务器 二、了解基础接口知识: 1、什么是接口:前端与后台之间的…...

webpack基础知识二:说说webpack的构建流程?
一、运行流程 webpack 的运行流程是一个串行的过程,它的工作流程就是将各个插件串联起来 在运行过程中会广播事件,插件只需要监听它所关心的事件,就能加入到这条webpack机制中,去改变webpack的运作,使得整个系统扩展…...