<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>冰霓の梦之旅</title><description>演示站点</description><link>https://iceneoning-blog.pages.dev/</link><language>zh-CN</language><item><title>2026暑假有感</title><link>https://iceneoning-blog.pages.dev/posts/2026%E6%9A%91%E5%81%87%E6%9C%89%E6%84%9F/</link><guid isPermaLink="true">https://iceneoning-blog.pages.dev/posts/2026%E6%9A%91%E5%81%87%E6%9C%89%E6%84%9F/</guid><description>聊聊近况，聊聊焦虑与热爱。</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;2026暑假有感&lt;/h1&gt;
&lt;p&gt;我有一个QQ小群，七个人，六个活人加一个机器人。&lt;/p&gt;
&lt;p&gt;六个人里头，一个刚拿到字节的Offer，一个在华为，一个进了腾讯。剩下两个也各有各的奔头。而我呢，感觉做后端没什么意思，最近一头扎进了UE游戏开发。&lt;/p&gt;
&lt;h3&gt;做游戏真的好难&lt;/h3&gt;
&lt;p&gt;现在我手里有两个半成品——一个FPS，一个RTS。说是半成品都有点抬举自己了，就是两个能跑起来的demo。&lt;/p&gt;
&lt;p&gt;最头疼的是素材。模型不会建、骨骼不会绑，视觉素材全靠网上扒免费的，音频素材更是东拼西凑。有时候光是调一个敌人的AI行为树就能耗掉一整个下午，然后跑起来发现它对着墙疯狂输出。那种时候真的想砸键盘。&lt;/p&gt;
&lt;p&gt;但奇怪的是，每次把一个功能调通的时候——比如角色终于能正常换弹了，或者小兵终于会自己找路走了——那种满足感，怎么说呢，比写一百个功能接口都来得痛快。&lt;/p&gt;
&lt;p&gt;做后端的时候，我从来没觉得自己&quot;创造&quot;了什么东西。但游戏不一样，你写的每一行代码最后都变成了屏幕上活生生的东西，它会跑、会打、会让你自己玩上瘾。那种感觉是会上头的。&lt;/p&gt;
&lt;h3&gt;焦虑吗？&lt;/h3&gt;
&lt;p&gt;你说我待在这个群里面不焦虑，那是不可能的。&lt;/p&gt;
&lt;p&gt;打开群聊，左边一个字节的，右边一个腾讯的。我这边还在对着UE的蓝图连线，人家已经在讨论什么期权什么年终了。说完全不在意，那是骗人的。&lt;/p&gt;
&lt;p&gt;但说实话，焦虑归焦虑，我倒也不至于因为这个就否定自己。他们能拿大厂Offer，那是真本事，我真心替他们高兴。而我选了另一条路，不是因为比不过才逃过来的——就是单纯觉得做游戏这件事，比写后端功能有意思太多了。&lt;/p&gt;
&lt;p&gt;能在大二大三的时候找到一个自己愿意熬夜去做的事情，已经挺幸运的了。很多人可能工作了好几年，都不知道自己到底喜欢什么。&lt;/p&gt;
&lt;h3&gt;当下&lt;/h3&gt;
&lt;p&gt;我对我现在的生活相当满意。&lt;/p&gt;
&lt;p&gt;每天睡到自然醒，起来打开UE，捣鼓几个小时。累了就看看群里又在聊什么，偶尔水两句。晚上和群友打两把游戏，吹一吹牛，睡前再想想明天要调哪个bug。&lt;/p&gt;
&lt;p&gt;这种日子说起来好像没什么大不了的，但我真的过得挺舒服的。&lt;/p&gt;
&lt;p&gt;只是有时候夜深了，一个人坐在电脑前，会突然意识到——这样的暑假不多了。再过一年，群里这些人大概就各奔东西了。有的人去北京，有的人去深圳，有的人可能连城市都不一样了。到那时候，七个人的群还在，但可能再也没办法像现在这样，随时喊一声就有人上线了。&lt;/p&gt;
&lt;p&gt;哎，还是很舍不得大学生活就这么早早结束啊。&lt;/p&gt;
&lt;p&gt;但至少现在，这个暑假，我们都还在这里。&lt;/p&gt;
</content:encoded></item><item><title>来谈谈舍友</title><link>https://iceneoning-blog.pages.dev/posts/%E6%9D%A5%E8%B0%88%E8%B0%88%E8%88%8D%E5%8F%8B/</link><guid isPermaLink="true">https://iceneoning-blog.pages.dev/posts/%E6%9D%A5%E8%B0%88%E8%B0%88%E8%88%8D%E5%8F%8B/</guid><description>换宿舍的经历与感悟。</description><pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;来谈谈舍友&lt;/h1&gt;
&lt;p&gt;我是换宿舍过来的。以前那个宿舍，也没什么大问题，就是人和人之间相处起来不太对路，后来就决定换了。&lt;/p&gt;
&lt;h3&gt;酷狗宿舍&lt;/h3&gt;
&lt;p&gt;后来我搬到了现在的宿舍，我管它叫&quot;酷狗宿舍&quot;——一个宿舍三个酷狗，包括我在内。&lt;/p&gt;
&lt;p&gt;搬进去的第一天，我就感觉这地方的气场不一样了。就是三个普普通通的人住在同一间屋子里，该学习学习，该玩就玩，坦诚、自在，不用想太多。&lt;/p&gt;
&lt;p&gt;新舍友是那种直来直去的性格，让我觉得特别踏实。说句夸张的，有时候直爽到连我偶尔都要提醒他：&quot;你这样以后到社会上是会吃亏的。&quot;但正是这种简单，让人不用去想他说这句话是什么意思，有什么说什么。&lt;/p&gt;
&lt;h3&gt;真正的大学宿舍&lt;/h3&gt;
&lt;p&gt;我们做了很多以前我想做但一直没做成的事。&lt;/p&gt;
&lt;p&gt;一起去吃了学校周围好多馆子。有好吃到都埋头干饭一句话不说的，也有踩雷踩到相视苦笑然后一起骂的。重要的不是吃了什么，是和谁一起吃。&lt;/p&gt;
&lt;p&gt;一起期末冲刺。一起整理重点、互相提问、遇到不会的题目直接喊一声就有人接。复习累了就去买瓶水透透气，回来继续肝。那种一起扛过去的感觉，真的特别好。&lt;/p&gt;
&lt;p&gt;甚至可以一起讨论问题。技术上的也好，生活上的也好，未来规划的也好，任何话题甩出来都不会冷场，也不会有人觉得你在&quot;装&quot;或者&quot;卷&quot;。大家就是想聊聊，想知道对方在想什么。&lt;/p&gt;
&lt;p&gt;我们还一起做了项目。从讨论需求到分工开发，从踩坑到互相救火，那种并肩作战的感觉真的很好。你不会担心自己做得不够好会被嫌弃，也不会觉得谁在偷偷拖后腿，每个人都尽力，每个人都坦荡。&lt;/p&gt;
&lt;h3&gt;写在最后&lt;/h3&gt;
&lt;p&gt;我超爱现在的宿舍。&lt;/p&gt;
&lt;p&gt;回头想想，换宿舍这件事，大概是我上大学以来做过的最正确的决定之一。人和人之间，有时候不是谁对谁错的问题，就是频率不对。频率不对的时候，同一个空间里待着都累；频率对了，连一起踩雷吃饭都能笑出声来。&lt;/p&gt;
&lt;p&gt;我很庆幸自己做出了这个选择。&lt;/p&gt;
</content:encoded></item><item><title>白日做梦部与梦想实现部</title><link>https://iceneoning-blog.pages.dev/posts/%E7%99%BD%E6%97%A5%E5%81%9A%E6%A2%A6%E9%83%A8%E4%B8%8E%E6%A2%A6%E6%83%B3%E5%AE%9E%E7%8E%B0%E9%83%A8/</link><guid isPermaLink="true">https://iceneoning-blog.pages.dev/posts/%E7%99%BD%E6%97%A5%E5%81%9A%E6%A2%A6%E9%83%A8%E4%B8%8E%E6%A2%A6%E6%83%B3%E5%AE%9E%E7%8E%B0%E9%83%A8/</guid><description>关于想象力与执行力的思考。</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;白日做梦部与梦想实现部&lt;/h1&gt;
&lt;p&gt;如果要给我自己的做事方式打个比方，我觉得我脑子里常年开着两个部门。&lt;/p&gt;
&lt;p&gt;一个叫 &lt;strong&gt;白日做梦部&lt;/strong&gt;，一个叫 &lt;strong&gt;梦想实现部&lt;/strong&gt;。&lt;/p&gt;
&lt;h3&gt;白日做梦部&lt;/h3&gt;
&lt;p&gt;白日做梦部的工作内容很简单：负责想，负责狂想，负责在洗澡的时候、走路的时候、写代码写到一半走神的时候，突然冒出一个念头然后迅速把它放大成一部完整的电影。&lt;/p&gt;
&lt;p&gt;这个部门的 KPI 就是胡说八道。能不能做不重要，难度多大不重要，现阶段自己有没有那个能力也不重要。重要的只有一个：这个想法够不够让我兴奋。&lt;/p&gt;
&lt;p&gt;比如看到一段 Blender 建模视频，脑子里立刻就开始放片了——&quot;那我能不能做一个赛博朋克风格的短片？主角是个机械忍者，场景是雨夜霓虹灯笼罩的街道……&quot;连分镜都想好了，配乐都想好了，甚至连发布之后大家会怎么夸我都想好了。&lt;/p&gt;
&lt;p&gt;比如学完 UE5 基础操作，白日做梦部马上加班：&quot;第三人称跑酷已经不够看了，下一步直接做开放世界吧。地图要大，NPC 要智能，剧情要分支，战斗系统要有打击感……&quot;&lt;/p&gt;
&lt;p&gt;比如期末复习到半夜，白日做梦部突然插嘴：&quot;我们组个团队做独立游戏吧，名字我都想好了。&quot;&lt;/p&gt;
&lt;p&gt;这就是白日做梦部的日常。它不管现实，只管想象力。它是那种会在你焦头烂额的时候突然递给你一张蓝图然后说&quot;看看这个，是不是挺酷的&quot;的人。&lt;/p&gt;
&lt;p&gt;以前我其实有点烦它。因为想的东西太多了，实现的没几个，总会觉得自己在浪费时间。但后来我慢慢发现，白日做梦部其实很重要。它是我所有动力的起点——如果连想都不敢想，那连开始的机会都没有。&lt;/p&gt;
&lt;h3&gt;梦想实现部&lt;/h3&gt;
&lt;p&gt;如果说白日做梦部负责点火，那梦想实现部负责的就是别让火烧一下就灭了。&lt;/p&gt;
&lt;p&gt;这个部门的工作风格和白日做梦部完全不同。它务实、冷静、甚至有点扫兴。白日做梦部说&quot;我们做开放世界吧&quot;，梦想实现部说&quot;先把第三人称跑酷的关卡搭完&quot;。白日做梦部说&quot;我们要做独立游戏&quot;，梦想实现部说&quot;先把需求文档写出来，代码仓库建起来，技术栈定下来&quot;。&lt;/p&gt;
&lt;p&gt;它不负责浪漫，它负责落地。&lt;/p&gt;
&lt;p&gt;但正是因为有梦想实现部的存在，我才不是那个&quot;只会说不会做&quot;的人。那些被白日做梦部抛出来的想法，经过梦想实现部的筛选和打磨，总有一些能变成真正能跑起来的东西。&lt;/p&gt;
&lt;p&gt;比如那 3 个 Blender 短片。白日做梦部看完教程之后就开始画饼，什么风格、什么氛围、什么镜头语言都想好了；但真正让它们从一个模糊的画面变成渲染出来的成片，靠的是梦想实现部一点一点跟着教程做，一个面一个面地调，一帧一帧地渲染。&lt;/p&gt;
&lt;p&gt;比如第三人称跑酷和 FPS。白日做梦部想的是&quot;我要做个很酷的游戏&quot;，梦想实现部想的是&quot;平台间距设多少米玩家跳起来最舒服&quot;&quot;射击反馈延迟控制在多少毫秒手感最好&quot;。&lt;/p&gt;
&lt;p&gt;比如和舍友一起做的项目。白日做梦部负责在讨论的时候说&quot;我们这个项目可以加点这个、加点那个&quot;，梦想实现部负责回去写代码、调 bug、对接口、然后默默把功能推上去。&lt;/p&gt;
&lt;h3&gt;两个部门的协作&lt;/h3&gt;
&lt;p&gt;这两个部门看起来风格对立，但其实谁也离不开谁。&lt;/p&gt;
&lt;p&gt;没有白日做梦部，梦想实现部就会变成一个纯粹的干活机器，做出来的东西虽然能跑，但没有灵魂。一个人如果从来不敢想大的东西，那他做的事情就会越来越小、越来越保守，最后可能连自己为什么在做这件事都忘了。&lt;/p&gt;
&lt;p&gt;没有梦想实现部，白日做梦部只会产出越来越多没有下文的空想，想法越攒越多，焦虑越攒越多，最后变成了那种&quot;我有很多想法但是什么都没做出来&quot;的人。光想不做的最大代价不是没成果，而是人会慢慢不相信自己。&lt;/p&gt;
&lt;p&gt;所以我现在的状态是：允许白日做梦部随时开工，随便画饼，爱想什么想什么；但也会让梦想实现部在场，安静听完，然后挑一个最值得做的，开始干活。&lt;/p&gt;
&lt;p&gt;两个部门打架的时候，我也学会了调停。白日做梦部说&quot;一步到位&quot;，梦想实现部说&quot;先做最小可行版本&quot;。最后折中，先做一个能跑的东西出来，然后在这个基础上慢慢加。事实证明，这条折中路线最有效。&lt;/p&gt;
&lt;h3&gt;写在最后&lt;/h3&gt;
&lt;p&gt;其实回头看，我做的很多事都是这么过来的。从学 C++ 到学算法，从学 Java 到做项目，从学 Blender 到出短片，从学 UE5 到做出第一个能玩的游戏——每一次都是白日做梦部先跳出来说&quot;这个好酷我也想试试&quot;，然后梦想实现部接过话头说&quot;行，那就从最基础的部分开始&quot;。&lt;/p&gt;
&lt;p&gt;我想，大概每个人脑子里都有这样两个部门吧。差别只在于，有的人白日做梦部被自己关掉了，觉得想太多不切实际；有的人梦想实现部长期休眠，想了很多但从来没动过手。&lt;/p&gt;
&lt;p&gt;而我比较幸运的是，这两个部门都还在正常运转。白日做梦部每天都在给我画新饼，梦想实现部每天都在提醒我还有哪些饼没烙完。&lt;/p&gt;
&lt;p&gt;这种感觉挺好的。&lt;/p&gt;
</content:encoded></item><item><title>业余的爱好</title><link>https://iceneoning-blog.pages.dev/posts/%E4%B8%9A%E4%BD%99%E7%9A%84%E7%88%B1%E5%A5%BD/</link><guid isPermaLink="true">https://iceneoning-blog.pages.dev/posts/%E4%B8%9A%E4%BD%99%E7%9A%84%E7%88%B1%E5%A5%BD/</guid><description>从玩游戏到学Blender和UE5的经历。</description><pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;业余的爱好&lt;/h1&gt;
&lt;p&gt;如果说我之前的生活节奏，更多还是围绕着“玩游戏”和“看别人做东西”在转，那后来真正让我开始改变的，是一次很偶然的分心。&lt;/p&gt;
&lt;p&gt;那段时间我几乎把能玩的游戏都玩了个遍。起初当然很快乐，新鲜感很足，今天换一款玩法，明天换一个题材，整个人都像是在不断接触新的刺激。但玩到后面，情绪慢慢变成了另一种状态：不是不喜欢游戏了，而是对很多重复的机制、固定的套路，开始有点腻了。那种“下一步会发生什么，我大概已经能猜到”的感觉越来越强，兴趣也就没有以前那么纯粹。&lt;/p&gt;
&lt;p&gt;也是在这个时候，我刷到了 Blender 建模的视频。&lt;/p&gt;
&lt;p&gt;说实话，第一眼看到的时候，我是真的觉得“酷”。不是那种单纯的技术炫耀，而是它给人的感觉很直接：原来一个角色、一个场景、一段镜头，真的是可以从一块空白开始慢慢搭出来的。那种从无到有的过程，比单纯看成品更打动我。以前我看游戏和动画，更多是在看结果；那一刻我开始想知道，结果背后到底是怎么长出来的。&lt;/p&gt;
&lt;p&gt;于是我就去学 Blender 了。&lt;/p&gt;
&lt;p&gt;但真正开始学之后，我才发现它和我之前接触过的东西并不完全是一回事。之前我虽然碰过 AI 生图，也了解过 PR、AE、AU 这些软件的工作流程，对素材、剪辑、音频处理、特效合成这些概念并不陌生，可 Blender 带来的挑战还是完全不一样。它不是单纯“把素材拼起来”，而是要真正去理解空间、结构、形体、材质和镜头关系。很多时候你不是在操作一个软件，而是在用一种新的方式理解“如何创造一个东西”。&lt;/p&gt;
&lt;p&gt;最开始学的时候确实挺吃力。&lt;/p&gt;
&lt;p&gt;建模时要考虑拓扑，做物体时要理解点线面的关系，调整比例时要不断回到整体去看，灯光、材质、渲染又是另外一套逻辑。很多教程里看着很顺的步骤，真正轮到自己上手，常常就会卡在一个特别小的地方，比如一个面方向不对、一个法线翻了、一个模型比例不协调，或者镜头一动就暴露出一堆问题。那种感觉很像第一次学一门真正的“造物工具”：不是你会不会点按钮，而是你有没有真的理解这个东西为什么要这么做。&lt;/p&gt;
&lt;p&gt;不过我还是一点点跟着教程做了下来。&lt;/p&gt;
&lt;p&gt;我一边看教程，一边自己试着复现，前前后后做出了 3 个短片。虽然现在回头看，肯定还有很多地方不成熟，镜头语言也不算特别老练，节奏和画面细节还有提升空间，但对我来说，那 3 个短片的意义并不只是“做出来了”。更重要的是，我第一次真正感受到：只要愿意去学，哪怕起步很笨拙，也能把脑子里模糊的画面慢慢变成能看得见的东西。&lt;/p&gt;
&lt;p&gt;这件事也让我开始对 UE5 产生兴趣。&lt;/p&gt;
&lt;p&gt;Blender 让我看到了“造内容”的可能，而 UE5 则让我看到“把内容变成可交互世界”的可能。和单纯做静态建模或短片不同，UE5 更像是把场景、动画、逻辑和玩法整合到一个真实可运行的环境里。那种从视觉创作走向交互创作的过渡，对我来说特别有吸引力。&lt;/p&gt;
&lt;p&gt;我开始接触 UE5 后，很多之前没那么在意的内容一下子变得重要起来。比如第三人称视角下角色动作和镜头之间怎么配合，跑酷关卡里平台间距和节奏怎么控制，FPS 里武器手感、瞄准反馈、移动速度和射击节奏怎么统一。这些东西单独看都不复杂，但一旦放进一个完整游戏里，就会发现每一个细节都在影响玩家的体感。&lt;/p&gt;
&lt;p&gt;在这个阶段，我又做了 2 个游戏，一个第三人称跑酷，一个 FPS。&lt;/p&gt;
&lt;p&gt;第三人称跑酷更像是一次对空间感和节奏感的练习。关卡不能只是“摆一些平台”就完了，还得考虑玩家跳跃时的距离判断、落点容错、镜头转向、移动过程中是否容易迷路，以及关卡推进时能不能给人持续的目标感。做的时候我才意识到，跑酷关卡真正难的地方不是做出“能跳”，而是让玩家在跳的时候感觉顺、看得懂、愿意继续往前冲。&lt;/p&gt;
&lt;p&gt;FPS 则是另一种完全不同的体验。&lt;/p&gt;
&lt;p&gt;它更直接地考验我对反馈和节奏的理解。开枪的手感、命中反馈、镜头抖动、移动和射击之间的关系，都会影响玩家有没有“打中”的感觉。相比第三人称跑酷，FPS 对即时反馈的要求更高，因为玩家每一秒都在和视角、准星、敌人和环境打交道。很多时候，一个小小的数值调整，都会明显改变整个游戏的气质。&lt;/p&gt;
&lt;p&gt;这两个项目虽然规模不大，但对我来说都很有意义。它们让我从“看别人做得很厉害”变成“我自己也能做出一个能跑起来的东西”。这个变化看起来不大，但实际意义很重。因为当你真正把一个项目从零推进到可运行，你会比单纯学很多概念更清楚地知道：哪些地方是自己真的掌握了，哪些地方只是暂时看懂了，哪些地方还需要继续补。&lt;/p&gt;
&lt;p&gt;回头想想，我从游戏玩腻了开始，最后却走进了游戏和三维创作的另一个世界。这中间并不是一次突然的转弯，而是一种很自然的兴趣迁移：先是被 Blender 吸引，再是被它背后的创作过程吸引，后来又被 UE5 里的交互和玩法吸引。每一步看起来都像是“随便试试”，但试着试着，就变成了我自己真正愿意投入时间的事情。&lt;/p&gt;
&lt;p&gt;如果一定要总结这段经历，我觉得它最重要的地方，不在于我学会了多少软件，而在于我重新找回了“愿意学下去”的感觉。&lt;/p&gt;
&lt;p&gt;以前玩游戏，是在体验别人已经做好的世界；后来学 Blender、学 UE5，是在尝试亲手搭建一个世界。前者让我享受内容，后者让我开始理解内容是怎么被做出来的。也正因为这样，我才会觉得，自己的业余爱好并不只是消遣，它们其实在一点点把我带向另一个更主动、更具体的方向。&lt;/p&gt;
&lt;p&gt;这大概就是我这段时间的变化：从玩遍很多游戏，到对游戏有点腻，再到被 Blender 点燃兴趣，最后又在 UE5 里找到新的动力。看起来是爱好的转移，实际上更像是我开始学着用创作者的视角去看世界。&lt;/p&gt;
</content:encoded></item><item><title>最开始的样子</title><link>https://iceneoning-blog.pages.dev/posts/%E6%9C%80%E5%BC%80%E5%A7%8B%E7%9A%84%E6%A0%B7%E5%AD%90/</link><guid isPermaLink="true">https://iceneoning-blog.pages.dev/posts/%E6%9C%80%E5%BC%80%E5%A7%8B%E7%9A%84%E6%A0%B7%E5%AD%90/</guid><description>从C++到算法再到Java项目的学习之路。</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;最开始的样子&lt;/h1&gt;
&lt;p&gt;如果要回头说说我是怎么走到今天这一步的，我想答案并不复杂：我最开始是从 C++ 开始的。&lt;/p&gt;
&lt;p&gt;那时候的我，对编程的理解其实很朴素。最吸引我的，不是某个看起来很厉害的框架，也不是一套多么复杂的工程化方案，而是“代码真的能把想法变成结果”这件事。按下运行键之后，屏幕上出现的输出、程序跑通时的成就感、调试过程中一点点把问题找出来的过程，都让我第一次感受到，计算机科学不是只停留在书本里的知识，它是可以被验证、被实现、被反复推翻和修正的。&lt;/p&gt;
&lt;h3&gt;从 C++ 开始：先把基础打实&lt;/h3&gt;
&lt;p&gt;我选择 C++，一方面是因为它足够贴近底层，另一方面也是因为它对基础能力的要求很高。变量、指针、引用、内存管理、类与对象、模板、STL，这些内容刚开始学的时候并不轻松，甚至可以说有些“硬”。但也正是这种硬，让我在最初阶段就建立起了一种很重要的意识：程序不是背出来的，而是理解出来的。&lt;/p&gt;
&lt;p&gt;在学 C++ 的过程中，我慢慢明白了几件事。&lt;/p&gt;
&lt;p&gt;第一，语法只是入口，真正重要的是数据是怎么流动的，程序是怎么执行的，内存是怎么变化的。很多问题表面上是“语法不会”，本质上其实是没有搞清楚底层逻辑。&lt;/p&gt;
&lt;p&gt;第二，写代码不能只追求“能跑”，还要追求“为什么能跑”。比如同样是一段循环、一个容器、一次对象拷贝，背后可能涉及复杂度、资源管理和设计取舍。只要开始习惯追问这些问题，学习就不再是机械记忆，而是不断建立知识之间的联系。&lt;/p&gt;
&lt;p&gt;第三，C++ 训练了我面对问题时的耐心。一个小错误，可能是类型不匹配，可能是边界条件没处理好，也可能是对对象生命周期理解不够。很多次调试下来，我逐渐接受了一个现实：真正的能力，不是一次写对，而是能在出错之后快速定位、修正、总结。&lt;/p&gt;
&lt;h3&gt;学算法：把“会写”变成“会想”&lt;/h3&gt;
&lt;p&gt;在 C++ 之后，我开始系统地接触算法。对我来说，算法学习并不是为了单纯刷题，而是为了训练自己的思维方式。因为写项目和做题看起来不同，但底层都绕不开几个核心问题：怎么组织数据，怎么减少重复工作，怎么在有限资源下得到更好的结果。&lt;/p&gt;
&lt;p&gt;刚开始学算法的时候，最明显的感受就是“思路比代码更难”。有些题目不是不会实现，而是不知道从哪里下手。后来我慢慢意识到，算法题真正训练的是拆解问题的能力：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;先把问题抽象出来，弄清楚输入、输出和限制条件。&lt;/li&gt;
&lt;li&gt;再观察数据规模，判断是暴力、递归、搜索、贪心、动态规划，还是图论、字符串、二分这些方向。&lt;/li&gt;
&lt;li&gt;最后才是落到代码实现，并且在实现过程中不断验证边界情况。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;算法学习给我带来的最大变化，不是做出了多少题，而是我开始更敏感地看待“复杂度”和“结构”。以前我写代码更多是在想“怎么做出来”，后来会自然多想一步：“这个方案是不是最稳妥？有没有更清晰的表达方式？如果数据量变大，性能会不会掉得很厉害？”&lt;/p&gt;
&lt;p&gt;这段经历也让我明白，算法并不是项目开发之外的一块独立知识，它其实是在帮我建立更好的工程直觉。一个人如果理解了常见的数据结构和经典算法，就更容易在项目里做出合理的设计判断，比如什么时候该用哈希，什么时候该排序，什么时候该分治，什么时候该把逻辑拆成多层处理。&lt;/p&gt;
&lt;h3&gt;转向 Java：从“个人能力”走向“项目能力”&lt;/h3&gt;
&lt;p&gt;在打了一段时间基础之后，我开始学习 Java，并且真正把重点放到做项目上。和 C++、算法阶段相比，Java 带给我的感受很不一样。前者更像是在锻炼“基本功”，后者则更像是在训练“工程能力”。&lt;/p&gt;
&lt;p&gt;如果说 C++ 让我理解了程序怎么运行，算法让我学会了怎么思考，那 Java 项目则让我开始理解一套完整系统应该怎么搭起来。&lt;/p&gt;
&lt;p&gt;在做 Java 项目的时候，我开始接触更多以前不会主动关注的东西，比如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;分层设计，知道 Controller、Service、DAO 之间该怎么配合。&lt;/li&gt;
&lt;li&gt;接口和实现的拆分，理解为什么业务代码不能全部堆在一起。&lt;/li&gt;
&lt;li&gt;异常处理和日志记录，明白系统不是只要“跑通”就够了，还要能排查问题。&lt;/li&gt;
&lt;li&gt;数据库交互、事务控制、参数校验这些实际开发中绕不开的细节。&lt;/li&gt;
&lt;li&gt;后端接口的设计规范，知道什么是清晰、稳定、可维护的接口。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些内容一开始看起来很琐碎，但真正做起来以后，我才发现它们构成了软件开发里最重要的部分。项目不是把功能一项项拼出来就结束了，而是要考虑可维护性、可扩展性、代码复用、边界清晰和后续迭代成本。&lt;/p&gt;
&lt;p&gt;我也在这个阶段意识到，项目开发和刷题最大的不同，在于它更接近真实世界的问题。真实项目里没有标准答案，更多时候是在约束中做取舍：功能要尽快上线，代码要便于维护，性能不能太差，团队协作还要顺畅。这样的训练让我慢慢从“会写代码的人”转向“能参与解决实际问题的人”。&lt;/p&gt;
&lt;h3&gt;我真正打下的，不只是技术&lt;/h3&gt;
&lt;p&gt;回头看，我觉得这条路线最重要的收获，其实不只是掌握了 C++、算法和 Java，而是建立了一种更稳的学习方式。&lt;/p&gt;
&lt;p&gt;我开始明白，基础不是一种抽象的口号，而是遇到新东西时的底气。很多人会急着追框架、追热点、追看起来更高级的技术，但如果底层能力没有打牢，学得越快，遗忘得也越快。相反，当你真的对数据结构、程序逻辑、工程组织这些东西有了感觉，再去接触新技术时，会明显轻松很多。&lt;/p&gt;
&lt;p&gt;我也慢慢形成了自己的学习习惯：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;先理解原理，再追求熟练。&lt;/li&gt;
&lt;li&gt;先做小闭环，再扩展复杂度。&lt;/li&gt;
&lt;li&gt;先把问题吃透，再去优化表达。&lt;/li&gt;
&lt;li&gt;遇到错误不逃避，而是把它当作理解系统的一次机会。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些习惯看起来不算特别“炫”，但对我来说，它们真的决定了我后面能走多远。&lt;/p&gt;
&lt;h3&gt;最开始的样子，就是现在的底色&lt;/h3&gt;
&lt;p&gt;很多时候，人们会问“你是怎么开始的”。但对我来说，这个问题的答案并不是某一个瞬间，而是一段很长的积累：从 C++ 里摸索出对程序运行的理解，从算法里训练出对问题的抽象能力，再到 Java 项目里把这些能力真正用到工程实践中。&lt;/p&gt;
&lt;p&gt;所以如果要给“最开始的样子”下一个定义，我想那就是：不急着证明自己多强，先把基础一点点扎实；不急着跳过难点，先把每一步走稳。&lt;/p&gt;
&lt;p&gt;而我现在之所以还愿意继续往前走，也正是因为我知道，今天的我，是从那个最开始认真学 C++、认真琢磨算法、认真做 Java 项目的自己，一点点走过来的。&lt;/p&gt;
&lt;p&gt;这就是我的开始。很朴素，但很重要。&lt;/p&gt;
</content:encoded></item></channel></rss>