寻找数字中的诗意:我的编程启程

2024-11-30 · 创作记录

编程之旅时间线

2024年

  • 🌱 7月5日:在pixel空间写下人生第一行代码
  • 🔙 7月中:短暂回国
  • 💻 8月30日:正式成为网站前端主力
  • 🎯 10月9日:开始个人网站开发之旅
  • 🎁 10月24日:为Soto制作程序员节祝福网站
  • 📝 10月-11月:因论文暂停开发
  • 🚀 11月27日:重启网站开发
  • ✨ 11月30日:网站完成初步雏形

初遇代码:一场偶然的相遇

关于为什么开始写代码,这是一个说来话长却又异常短暂的故事。

说它话长,是因为这段经历充满了人与人之间的奇妙缘分,每一次偶然的相遇都带来了意想不到的改变,就像蝴蝶效应一般,一个小小的决定最终导向了一段全新的旅程。

说它短暂,从时间的维度来看,从正式开始打代码到现在仅仅三个月,即便算上最初被安利代码的有趣经历,也不过五个月的光阴。这短短的时间里,却包含了从完全不懂代码到能够开发自己网站的蜕变。

这个故事要从新加坡的实习说起。在那里,我结识了许多有趣的同龄人,其中就包括后来成为我代码启蒙老师的Soto。有趣的是,并非一开始就莫名其妙被Soto教授代码的。在日常交谈中得知他因公司任务需要负责诸多事务,而对代码充满热爱的Soto就这样不知不觉地把我拉进了公司网站开发的阵营。

最初,我只是想在市场和技术部门之间搭建沟通的桥梁,平衡双方需求,实现一个令大家满意的网站效果。这种角色转换,现在想来还觉得颇为有趣。

代码启蒙:从”被骗”到真香

“前端代码很简单,就是把设计稿转换成代码,对你来说应该很容易。”

Soto在”哄骗”我说前端代码十分简单,讲一下基本逻辑就能轻松上手。他经常以一种轻描淡写的语气说:前端代码很简单,就是把设计稿转换成代码,对你来说应该很容易。

或许是他对代码的热爱太过深沉,安利起来过于热情,又或许是新加坡的天气让人晕厥,更重要的是自己那颗不安分想要学习新技能的躁动之心,就这样稀里糊涂地接下了这个工作量巨大的任务。

回想起来,这种”被骗”的经历反而成为了一种推动力。正是因为一开始觉得”不过如此”,才会无所顾忌地跳进代码的海洋,等到真正开始学习时,才发现代码这片海洋的深邃与迷人。

第一次接触:像开启新世界的大门

我永远记得第一次接触代码的日子。那是在2024年7月5日,和小伙伴在拥有台球桌和咖啡机的pixel空间里,在Soto的指导下完成了人生第一行代码,学会了如何用grid实现左文字右图片的布局。这段记忆格外深刻,不仅因为它开启了我的编程之旅,更因为那天的经历充满了新奇与惊喜。

记得当时Soto耐心地解释Astro框架的组件结构、样式规则,而我则每一个新概念都充满了探索欲。当第一次看到自己写的代码在浏览器中呈现出预期的效果时,那种成就感是难以描述的。这种感觉就像是用魔法一样,通过敲击键盘就能创造出视觉效果,这种转化的过程令人着迷。


意外转折:成为前端主力

中间因为家事回国半月,再回来时发现小伙伴因其他任务无法继续网站开发,我就这样莫名其妙地成为了前端代码的主力军之一。这个转变来得措手不及,却也给了我一个全身心投入的机会。8月30日,正式转型为网站前端的”码农”,开始一点一点将整理好的网站内容和设计搬上线。

这段时期是最具挑战性的,因为突然需要独立面对很多前端设计的问题。每天都在学习新的概念和技术,从基础布局到简单的动画效果,每一个新知识点都像是解谜游戏中的新关卡。复杂的动态功能和React相关的部分都交给了Soto处理,而我专注于将设计稿转化为静态页面。

最让我感动的是,无论遇到什么问题,Soto最后都会耐心地解答。

虽然他通常会先忍不住唧唧歪歪的吐槽一下

  • “这设计也太细了吧”,
  • 或者一脸嫌弃地说”这个功能有没有都可以的啊”。

但最终还是会认真地帮我达成我想要的效果,从基础的概念讲起,直到我真正理解。这种既专业又接地气的指导方式,反而让整个学习过程变得格外生动有趣。

前端与设计的完美融合

在这个阶段,我并未产生想要制作个人网站或认为代码特别有趣的想法。但是,随着对前端开发的深入,我发现前端的底层逻辑和设计海报、推文的思维是如此相通,都是将设计构想转化为现实的过程。这种发现让我特别兴奋,因为它打破了我对技术与艺术是两个完全不同领域的固有认知。

作为一个文科生,能够从设计的视角出发用代码实现创意,这种体验让我感受到了独特的乐趣。代码不再是冰冷的符号,而是成为了另一种艺术表达的媒介。看着自己的设计通过代码一步步实现,这种过程既充满挑战又充满成就感。

重拾理科思维:咖啡厅里的编程启示

在这段学习代码的日子里,最珍贵的可能是那些下班后和Soto在图书馆、咖啡厅的时光。看似是各自专注于自己的事情——我在为毕业论文绞尽脑汁,他在为可恶的秋招忙得焦头烂额。但每当我被论文写得头昏脑胀时,Soto就会插空和我探讨一些有趣的编程题目:

  • 递归
  • 扔鸡蛋问题
  • 汉诺塔
  • 还有那些给我画了大饼说要和我探讨但至今为止都还没讲的很多有趣的编程题,比如背包问题

这些看似复杂的编程概念,在他的讲解下变得生动有趣。而且在讨论过程中,我偶尔也能凭借自己的思路给Soto一些新的启发,这种互相探讨代码问题的时光渐渐成为了我们相处的一个独特日常。

有趣的是,在研究这些问题的过程中,我突然意识到自己其实并不是个”从一而终”的文科生,而是一个从理科半路出家到人文的”半吊子”。特别是在讨论递归出口的时候,我忽然想起小时候玩九连环时的经历——那些看似毫不相关的童年记忆,竟与编程思维有着惊人的相似之处。

解九连环时的步骤拆解、思考每一步的因果关系,不正是递归思想的实际运用吗?

这种突如其来的顿悟让我开始重新审视自己的学习轨迹。*原来那些被尘封的理科思维并没有消失,只是以另一种方式潜伏着,等待被重新唤醒。*在文理交融的过程中,我发现代码不仅是一种技术,更是连接不同思维方式的桥梁。这或许就是编程的魅力所在:它能让人文视角和逻辑思维在这里和谐共存,互相成就。


个人网站:一次意外的尝试

转机出现在十月九日。当毕业论文暂告一段落时,Soto突然问我要不要做个人网站。这个提议来得很突然,但却像是给了我一个将所学付诸实践的完美机会。带着”蛮有趣的,有一个也无所谓”的轻松心态,在他的帮助下开始了网站环境的部署。

从10月9日到18日,在写论文的间隙,我开始给自己的网站添加各种有趣的效果。这些被Soto戏称为”花里胡哨”的功能,包括:

  • 能够转动的点击文字
  • 打字机般呈现的介绍页面
  • 炫彩的渐变背景

每实现一个新效果,都会带来莫大的成就感。这个过程让我深刻体会到,代码不仅是实现功能的工具,更是创造性表达的载体。

程序员节的特别礼物

一个特别有趣的插曲发生在10月24日。当得知这天是程序员节后,我突发奇想要为Soto制作一个祝福网站。这个想法源于对老师的感激之情,也是想用他教给我的知识做点什么回报他。

  • 虽然本意是祝愿他以后的代码nobug,但整个网站却意外地充满了bug,成为了一份包含满满诚意的有趣礼物。
  • (虽然不知道Soto觉得有没有趣,但我自己是玩得很开心,当然这个网站还有一些我的设计细节由于bug问题悬而未决,急需Soto的技术支援)

这个充满bug的祝福网站,某种程度上反而成为了我编程之路上一个温暖的纪念。

短暂搁置与最终呈现

之后,自己的网站开发陷入了漫长的搁置期,因为毕业论文占据了我的大部分精力。这段时间虽然没有实际的代码编写,但我发现自己开始用”程序员的思维”来看待问题,会不自觉地思考网站的改进方案,这种转变是如此自然而然。

直到11月27日,才重新开始构思网站的布局与排版。这次重启与之前不同,累积的经验让我能够更加系统地规划网站结构,更有信心地尝试各种技术实现。直到11月30日,在Soto老师不厌其烦地帮我整理代码”屎山”的帮助下,网站终于有了令我满意的雏形。看着那些曾经觉得遥不可及的效果在自己手中实现,那种喜悦和成就感是难以描述的。


结语:代码世界中的诗意

于是,我在这个特别的日子写下这篇blog,记录下这段寻找数字世界中诗意的旅程。这或许就是技术与艺术的奇妙交织,一个文科生与代码相遇的故事。在这个过程中,我发现代码不仅仅是冰冷的符号,更是一种将创意转化为现实的浪漫表达。

这五个月的编程之旅,不仅让我掌握了一项新技能,更重要的是改变了我看待技术与艺术的方式。在代码的世界里,逻辑与美感并不冲突,理性与感性可以和谐共存。

这段经历教会了我,无论是设计还是编程,最终都是在用不同的语言讲述故事,表达创意。

感谢这个夏天的偶然相遇,感谢Soto的耐心指导(包括未来还没写出来的bug也提前麻烦Soto了),也感谢自己当初那个懵懂却勇于尝试的决定。在这个数字化的时代,找到属于自己的诗意表达方式,或许就是最美好的事情。

相关标签

编程 网站开发 学习笔记