致敬1024天前的自己
今早打开手机就收到了来自CSDN的消息,哦,距离我发表第一篇技术博客已经过去1024个日夜了。
我第一次发技术博客是我大二做完我第一个网站时写的。因为网站需要上线服务器,涉及到不少linux相关的知识,我在自学的过程中走了不少弯路,所以就把一些入门的经验做了总结,把使用云服务器学习linux的方法分享了出来。现在看,当初的分享及其粗浅,但对初学者确实会有不小帮助。
我的故事
回想起第一次对代码产生兴趣,应该是大二上学期的时候。我认识了一位打电赛的大三学长,跟他一起摆弄一些单片机的小项目。因为我当时没什么基础,所以他推荐了一本郭天祥写的51单片机入门书给我。这本书里的东西十分基础,现在想来对我技术成长帮助不大,但作者写的自述给了我很大的震撼,他让我知道了有那么一批人,读大学时会每天学习到凌晨两三点,早上七点起床,刚毕业就能拿到十好几万的年薪(在当时我的眼里已经很不可思议了)
我在那段跟学长一起摆弄单片机的时光里,过得非常快乐。对一个新手而言,学习单片机这种简单的开发,每天都能看到很大进步。我那时还和我的一位高中同学每天晚上都有很多交流,给她看我新做的小项目,分享我的进步。她的专业是日语,但从不吝惜对我的赞美,我很感谢那时的她,她的肯定成为了我不断前行的动力。
事情的变化发生在大二的11月份。我在学校参加的兴趣社团提出了一个自建网站的需求,想在网站上不受限制地发表些长文和长视频。想法很好,但整个社团里没有同学能实际实施这件事。我抱着试一试的想法,瞒着众人自学开发了起来。但我低估了这件事对新手的难度,几乎占用了我所有的休息时间。那时,我甚至连吃饭都嫌麻烦,一天只吃一顿餐,不上课的时间就全在寝室里做网站的开发。这段时间里,我唯数不多的慰藉,就是和父母通电话,以及和那位高中同学分享我每天开发的成果。后来,没日没夜在宿舍开发网站的我,一个月就完成了一个功能完善的社团门户,现在想想还有些佩服当时的自己。
再后面,因为租用了一台腾讯云的服务器,为了让服务器的租金更物超所值一些,我开始玩起了花活。在服务器上用 js 开发过网页版的贪吃蛇,用 python 做过人脸识别和 OCR 应用,也在服务器上尝试了各种各样的 linux 发行版。我的那位高中同学,此时应当可以算作我的知己了,我们几乎已开始无话不谈。为了感谢她,我花了三天时间为她开发了一个支持短对话的交互网页,作为送她的生日礼物。她很满意,也许还曾经感动过,我本以为这会是属于我的浪漫开始。
时间很快就到了大三,我的技术有了进一步的成长后,我开始尝试制作一些完整的应用程序。在这个阶段,我开发过五六个 toy code 级别的安卓 APP,还进行了鸿蒙生态开发的学习,制作了一个原创的手表应用和手机端原创的五险一金计算 APP,这部分代码我开源到了我的 github 中,(源码可点击此处查看)现在看来难度不是很高,也比较适合初学者学习。那段时间里我做得东西比较杂,因为课内的学习内容涉及到了数字信号处理,我做过一个数字滤波器的 matlab 项目,也玩过 fpga。我依然每天分享我学到新知识的快乐给我引为知己的她,但不知道什么时候开始,她不再像过去那样热情地回应,多次仅作一些敷衍的评价。
代码量到一定程度后,我感受到了我一些基础知识的缺失,所以我又去自学了操作系统、数据结构、算法这一类的基础知识。可能因为有过不少的开发经验了,这些东西我学起来很快,也能一眼看懂所有的示例代码。就当我暗自兴奋,想用新学的知识重构我的网站,为她量身定制一个个人博客时,她离开了,去了日本留学,同时也和我断了联络~。不过,此间自然不是没有原因,代码的初学者很容易因为提前掌握了一些浅显的本领而骄傲自满,目中无人,我的自矜自傲让我失去了她。
我对 1024 天前的自己,感情非常复杂。一方面,我感谢他让我在毕业后拥有了一份不错的工作,能够提前那么多年参与国内科技薄弱环节的研发工作。另一方面,我也遗憾他剥夺了我很多时间和快乐。程序员的道路是比较孤独的,有共同语言的人极少,但解决问题产生的成就感也会令你沉迷。
我借这篇文章说点牢骚怪话,在这个分享技术的平台第一次分享了不相干的内容,希望读到此文的你勿怪。但请你相信,功不唐捐,你走在成为程序员道路上的每一份努力都不会被时光辜负。也许不久的将来,你也和我一样,每天开着自己的小汽车去编代码,下班后轻松写意地奔赴外滩,吃个夜宵~
送读者的话
Just do it, and nothing is impossible !
相关文章:
致敬1024天前的自己
今早打开手机就收到了来自CSDN的消息,哦,距离我发表第一篇技术博客已经过去1024个日夜了。 我第一次发技术博客是我大二做完我第一个网站时写的。因为网站需要上线服务器,涉及到不少linux相关的知识,我在自学的过程中走了不少弯路…...
〖Python网络爬虫实战㊱〗- JavaScript 网站加密和混淆
订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,订阅本专栏前必读关于专栏〖Python网络爬虫实战〗转为付费专栏的订阅说明作者:爱吃饼干的小白鼠。Python领域优质创作者,2022年度…...
基于单片机设计的电子柜锁
一、前言 随着现代社会的不断发展,电子柜锁的应用越来越广泛。传统的机械柜锁存在一些不便之处,例如钥匙容易丢失、密码容易泄露等问题。设计一款基于单片机的电子柜锁系统成为了一个有趣而有意义的项目。 该电子柜锁系统通过电磁锁作为柜锁的开关&…...
Windows安装tensorflow-gpu=1.14.0CUDA=10.0cuDNN=7.4 (多版本CUDA共存)
文章目录 0. 前置说明1. 查看版本对应关系2. 安装 cuda3. 安装 cudnn4. 添加环境变量5. 安装 tensorflow 0. 前置说明 本机(Windows 11)已安装CUDA 11.7 使用命令查看显卡驱动: nvidia-smi这里显示的CUDA Version: 11.7说明支持安装11.7版本…...
CodeWhisperer 初体验
文章作者:1颗 orange 最近用了一个叫 CodeWhisperer 的插件,这个软件对于来说开发人员,插件有好多实用的功能,编码更高效,代码质量也提升了很多。 CodeWhisperer 简介 CodeWhisperer 是亚⻢逊出品的一款基于机器学习…...
HNU-算法设计与分析-讨论课1
第一次小班讨论 (以组为单位,每组一题,每组人人参与、合理分工,ppt中标记分工,尽量都有代码演示) 1.算法分析题 2-10、2-15(要求:有ppt(可代码演示)) 2.算法实现题 2-4、…...
java连接zookeeper
API ZooKeeper官方提供了Java API,可以通过Java代码来连接zookeeper服务进行操作。可以连接、创建节点、获取节点数据、监听节点变化等操作,具体有以下几个重要的类: ZooKeeper:ZooKeeper类是Java API的核心类,用于与…...
2023-11-01 node.js-electron-环境配置-记录
摘要: 2023-11-01 node.js-electron-环境配置-记录 相关文档: Node.js Build cross-platform desktop apps with JavaScript, HTML, and CSS | Electron node.js的国内源 - Python技术站 node.js 下载地址: https://nodejs.org/dist/v20.9.0/ 说明: 最好使用最新版本当前我使…...
使用 ElementUI 组件构建 Window 桌面应用探索与实践(WinForm)
零、实现原理与应用案例设计 1、原理 基础实例 Demo 可以参照以下这篇博文, 基于.Net CEF 实现 Vue 等前端技术栈构建 Windows 窗体应用-CSDN博客文章浏览阅读291次。基于 .Net CEF 库,能够使用 Vue 等前端技术栈构建 Windows 窗体应用https://blog.c…...
使用C++构建安全队列
1 背景 STL的容器不是线程安全的,我们经常会有需求要求数据结构线程安全,比如写生产者消费者模型的时候,就要求队列线程安全。利用std::queue和C线程标准库的一些组件(mutex,condition_variable)ÿ…...
EasyFlash移植使用- 关于单片机 BootLoader和APP均使用的情况
目前,我的STM32单片机,需要在BootLoader和APP均移植使用EasyFlash,用于参数管理和IAP升级使用。 但是由于Flash和RAM限制,减少Flash占用,我规划如下: BootLoader中移植EasyFlash使用旧版本,因为…...
python捕获异常和scapy模块的利用
Python捕获异常 当程序运行时,因为遇到未知的错误而导致中止运行,便会出现Traceback 消息,打印异常。异常即是一个事件,该事件会在程序执行过程中发生,影响程序的正常执行。一般情况下,在Python 无法正…...
CSS+Javascript+Html日历控件
最近,因需要用HTMLJAVASCRIPTCSS实现了一个日历控件,效果如下: 单击上月、下月进行日历切换。当前日期在日历中变颜色标注显示。还是老老套路、老方法,分HMLCSSJAVASCRIPT三部分代码。 一、html代码 <h1>学习计划</h1…...
让企业的数据用起来,数据中台=数据治理?
加gzh“大数据食铁兽”,了解更多数据治理信息。 先说结论:数据中台是数据管理/治理的工具之一,数据治理是3分技术7分管理及运营。 数据中台的定义: 狭义的数据中台指在企业内部通过对数据半成品、算法、模型、工具等能力的积累&a…...
【人工智能Ⅰ】5-粒子群算法
【人工智能Ⅰ】5-粒子群算法 文章目录 【人工智能Ⅰ】5-粒子群算法5.1 粒子群算法PSO基本思想5.2 PSO介绍5.3 PSO求最优解5.4 算法流程5.5 PSO构成要素群体大小m权重因子最大速度Vm停止准则粒子空间的初始化领域的拓扑结构 5.6 PSO应用5.7 PSO改进动态调整惯性权重收缩因子法 5…...
软考高项-49个项目管理过程输入、输出和工具技术表
知识领域数量五大过程组启动规划执行监控收尾整体7制订项目章程制订项目管理计划指导与管理项目工作 管理项目知识 监控项目工作 实施整体变更控制 结束项目或阶段范围6规划范围管理 收集需求 定义范围 创建WBS 确认范围 控制范围 进度6规划进度管理 定义活动...
《C和指针》(7)函数
问题 具有空函数体的函数可以作为存根使用。你如何对这类函数进行修改,使其更加有用? 答:当存根函数被调用时,打印一条消息,显示它已被调用,或者也可以打印作为参数传递给它的值。 .如果在一个函数的声明中…...
vue3中的Props
Props声明 一个组件需要显示声明它所接受的props,这样vue才能知道外部传入的哪些是props,哪些是透传attribute 在使script setup的单文件中,props可以使用 defineProps()宏来声明: <script setup> const props definePro…...
ElasticSearch搜索技术深入与聚合查询实战
ES分词器详解 基本概念 分词器官方称之为文本分析器,顾名思义,是对文本进行分析处理的一种手段,基本处理逻辑为按照预先制定的分词规则,把原始文档分割成若干更小粒度的词项,粒度大小取决于分词器规则。 分词发生时…...
vue+element ui中的el-button自定义icon图标
实现 button的icon属性自定义一个图标名称,这个自定义的图标名称会默认添加到button下i标签的class上,我们只需要设置i标签的样式就可以了 ##3. 按钮上使用自定义的icon 完整代码 <div class"lookBtn"><el-button icon"el-icon-…...
AI大揭秘:从ChatGPT到深度学习,普通人如何抓住AI风口?
一提及AI,大家脑海里想的是什么呢?是Deepseek、豆包、元宝等软件应用,还是能跑会跳的机器人?或者是那些能自己跑的车子、能自己运转的机器? 这些都是AI,都是人工智能。 基本概念 AI是英文Artificial Intell…...
3步完成OpenClaw配置:千问3.5-9B快速接入指南
3步完成OpenClaw配置:千问3.5-9B快速接入指南 1. 为什么选择OpenClaw千问3.5-9B组合 去年我在尝试自动化办公流程时,发现市面上的AI助手要么需要上传敏感数据到云端,要么功能太过局限。直到遇到OpenClaw这个开源的本地化AI智能体框架&#…...
SEO AI在网站内容创作和优化中的作用是什么
SEO AI在网站内容创作和优化中的重要性 在当前数字化时代,网站内容创作和优化已成为企业在竞争中脱颖而出的关键。在这其中,SEO AI(搜索引擎优化人工智能)正扮演着越来越重要的角色。SEO AI在网站内容创作和优化中的作用是什么呢…...
Next.js第八课 - 缓存机制
前面几节我们学习了数据获取和数据变更,本节来深入了解 Next.js 的缓存机制。缓存是提升应用性能的关键技术,用好了能让你的应用速度提升好几倍。 缓存架构 Next.js 使用多层缓存来优化性能,理解这个架构很重要: 请求流程: 浏览…...
【独家原创】基于分位数回归PSO-QRLightGBM多变量时序预测-区间预测(多输入单输出) Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。👇 关注我领取海量matlab电子书和数学建模资料🍊个人信条:格物致知,完整Matl…...
MacOS极简部署OpenClaw:5分钟连接Phi-3-vision-128k-instruct模型
MacOS极简部署OpenClaw:5分钟连接Phi-3-vision-128k-instruct模型 1. 为什么选择OpenClawPhi-3组合 去年第一次听说AI能直接操作我的电脑时,我本能地感到不安——让一个云端模型控制本地文件系统?这听起来就像把家门钥匙交给陌生人。直到发…...
功分器选型全解析:从参数到实战应用
1. 功分器基础:从参数理解到选型逻辑 功分器这个看似简单的射频器件,在实际工程选型时常常让新手工程师犯难。我第一次接触功分器时,就被各种参数搞得晕头转向——为什么同样是2分路功分器,有的标称3dB损耗,实测却是3.…...
应急响应-vulntarget-n-勒索病毒应急靶场
convert -f raw -O vmdk .\vuln_m-j6cegcrhehdcba0r5h4v_system.raw vuln_m-j6cegcrhehdcba0r5h4v_system.vmdk 将靶场的 raw 原始磁盘镜像,转换成 VMware 可以直接加载使用的 vmdk 虚拟硬盘文件。flag1先看一下history有记录,一条flag就在历史命令里fla…...
QT: 二维码生成与自定义渲染实战
1. 二维码基础与QT开发环境搭建 二维码本质上是用黑白矩形图案表示二进制数据的图形化编码方案。相比传统条形码,它的核心优势在于二维方向上的数据存储能力,以及强大的容错机制。我在实际项目中发现,即使用户拍摄的二维码有部分污损或遮挡&a…...
【单片机】51单片机的晶振选择
51单片机的晶振可以是12MHz,但更多的使用11.0592MHz。因为51单片机的串口的波特率在可调模式下,通过定时器溢出来确定时间。 定时器计数采用机器周期,51单片机指令集属于CISC,可能与此有关,导致12个晶振时钟周期等于1个…...
