作者: yn_wp

  • 2023年终总结

    2023年是我无论如何都无法忘记的一年。


    那年的伊始,伴随着许多结束。其中最让我难以忘怀的,就是我爷爷的离去。每每想起,我都会问自己,如果那天下午,我去老家多看了一眼,是不是就能陪着爷爷一直到生命的最后一刻了。

    那时,爷爷在床上蜷缩着,我去看时,奶奶抓着我的手,叫我按爷爷的后脖颈,用颤音说:“我讲给你听啊,你要记着,老人话讲,人要不在了,这里就软了。”我记不清那种触感,只觉得全身都在悲伤,不知如何应答,也不敢和奶奶对视,怕看到她眼角泛着的光。

    我觉得很荒唐,我在学校学科学文化,学病毒怎么防治,可当病毒真的要夺走我的血亲时,我却无能为力。只能任奶奶抓着我的手,悲伤地告诉我,“人要死了,就是这样”。

    可第二天我还是选择了去上学。我出门时,曾往老家方向望了一眼,想着要不要再去看看爷爷,但我害怕我看后会更加悲伤,最终还是选择去乘公交。后来我知道,就在我走后没有多久,大伯回到老家,看到爷爷越发烧的厉害,就到我家楼下喊我,想叫我一起送爷爷去医院。但我错过了。


    其实我知道没有多少天了,去医院也只是尽人事,爷爷中风那么多年,天灾一来,大家都知道的。所以那天早上,班主任叫我给家里打电话时,我也是知道的,可依然要深吸了一口气,才敢把号码拨出。电话那头的父亲带着哭腔,我觉得悲伤,但却哭不出来。

    回家的公交上,我默默写了几句诗,不知道自己是什么心情,也不知道写了有什么意义,只是机械地写了下来:

    此生唯恨月,星火落难迟。

    正是朝阳好,归家却晚时。

    回到家里,家中已经堆满了做工的人,丧事就要办了。乡土社会如此强大,人在凌晨三四点车回家,菜品锅炉几小时后就进了院子,各路人马,挤作一团,我看着一张张面孔,眼熟得陌生。

    我穿过许多人,回到老家。奶奶坐在床上抽泣,见了我,问,“闭上眼了吗?”我努力让自己不哭,说,“闭上了。”

    接着就是在厅堂守灵。日子很巧,第二天就能出殡,奶奶说,这是爷爷怕我们麻烦。可其实没什么麻烦的,无非就是陪爷爷一个晚上,看着月亮从这边跑到那边。那晚的月亮真亮啊,是一个十六,腊月十六,我农历的十八岁生日。


    后来,那年的春节,我们因为家有白事,不能走亲戚,倒也清闲。过年亲戚吃饭,相约去玩,让人开心,但也总觉得有一层雾。但那确实是我近几年过的,最有年味的一个年了。疫情的结束让整个社会都氛围欢乐,而亲人的离世则让我们家中更懂得珍惜。

    寒假收假的那天,我心中生出一种预感,总觉得这样的年难能再有,尤其大姐二姐,以后不知多久才能同时回家过年,于是叫上一家人,一起拍了合影。后面两年,一语成谶。


    紧接着是高三最后一个学期,一段播种的日子,天气一天一天变得炎热,做过的卷子也一天天变多。我从不敢说要自己考清华北大,只知道现在埋头写题,未来也许会变得更好。

    有一天中午,我没回宿舍,一个人在走廊的辅导桌上低头写物理试卷。那时应该是五月,教学楼正对着的篮球场阳光灿烂,旁边主路的行道树们相互靠着打盹,整个世界色彩艳丽,风吹过整个走廊,吹起我试卷的一角。我只觉得一阵凉爽,下意识把试卷压住,继续做题。后面才发现,那不起眼的一个中午,是我整个青春的缩影。


    高考结束,当晚我就在网络上对了答案。不能说差,但也没有自己期待的那样好。数学没有考好,我考出来时就能感觉到。我很快接受了这样的事实,只是觉得整个中学时期最喜欢的科目,没能交上一份满意的答卷,实在有些可惜。

    考完后,和同学唱K,报名驾校,和同学旅游。打记事以来,我第一次离开广西。我本就喜欢历史人文,所以当我看到书本里的东西第一次呈现在我眼前时,我格外的欣喜。我看到一些未曾见过的事物时,也会努力去理解,扩充我的世界观,我清楚的感觉到,我人生的地图,在慢慢地扩大。

    成绩出来后,我也曾和家人为专业学校而争论。但最终,我还是按自己的意愿选择了南大计科,计算机,一个我喜欢的专业。

    三个月漫长的暑假里,我考下了驾照;收到了一些奖学金(这里必须对他们表示衷心的感谢);办了升学宴,也参加了好些朋友的升学宴;还做过一段时间的家教。其他的时间,或静静在家消遣,或学习做新的菜肴,或和家里人打球娱乐……总之,静静等待着未来到来。

    终于,八月底,到了开学的时间,我和家人来到南京,一同游玩了几日。他们转头去了杭州,而我则留在南京,开始了人生的新阶段。


    我很快喜欢上了南京这座城市。在这里,我见到了许多新鲜的事物,和远道而来的老朋友再次见面,约了以前从未想过会有交集的人出游,也见到了书本上各个朝代的历史。

    我一次又一次的去苜蓿园,迫不及待地想看到深秋的梧桐大道。我也重复的去栖霞山,只为了看那满山的红叶,听那清脆的风铃。

    我交到了新的朋友,一起在长江边看货船缓缓经过,在浦口的旧火车站感慨岁月,在深夜尝试踩踏玄武湖面的薄冰。

    当大雪在南京落下,我和一样没见过雪的朋友一起,在操场上用手接,用雨伞接,开心得像个孩子。

    我也很快喜欢上了南大。在这里,我学习到了很多有意思的知识,认识了很好的辅导员,见到了很多厉害的人,也交到了很好的朋友,参加了许多有意思的活动。这是一个“诚”字为先的学校。“让玫瑰成为玫瑰,让松柏成为松柏”,也许她真的能做到。


    2023年的最后一天,我与新的朋友们挤在新街口的街头,与上万人一起放飞气球。人们随着德基的大屏一起倒数,迎来了2024。人们总喜欢辞旧迎新,因为旧的已经无法改变,但新的,总有更好的可能。

    从2023年的1月1日,到2023年的12月31日,我的变化不可谓不大。也许这正是一个18岁的少年应有的改变吧。如果要给这一年定一个关键词,毫无疑问应该是“成长”。

    因为,从高中到大学,从家到远方,周围的人不断变化,世界也越来越大,少年怎能不成长?

  • 软件所实习总结

    离我第一次的实习结束已经有两个月,按道理这篇文章应该早就写好了才对,但我总是拖延,加上平时大大小小的事情,所以现在才开始动笔。

    这次实习的开始,来自自己对于未来的迷茫,害怕自己到了明年暑期找不到实习,害怕自己秋招没工作之类的,总之就是想暑假找些事情做。于是在四月多随便投简历,但是没有结果,自己实际上也不是很积极。

    到了五月,感觉已经有点赶了,毕竟六月中旬暑假就要开始了,于是想着小厂也行,最终在boss直聘上投了一个中科院软件所的岗位,经过面试,六月初,我的实习生活正式开始了。

    首先要说,我自己在投简历这方面依然不是很积极,只投了十几个岗位,但说实话,没有百来个投递,都说不上海投。所以说,这一点需要后续的自己注意。

    实习的主要工作是开发一个elf的压缩工具,一开始我并没有感觉,但是慢慢开发下来,我感觉这似乎是一个小型的科研项目,mentor想让我开展初步的探索,经过三个多月,我也许算是开发出了一个勉强可用的版本,能适配一部分的开源软件。虽然压缩率一般,但至少算得上能用。

    开发给我积累到的技术经验包括但不限于:

    AI,hh,毋庸置疑,帮助是各种层面的,规划代码框架,查找项目已有实现等。我在项目开始对于elf压缩这个课题可以说是一窍不通,但是经过一两周的和AI的合作,也是慢慢的了解了相关的领域。

    扒源码,由于这个项目涉及压缩算法,linux系统,gcc等各种方面的知识,所以我不止一次去扒相应的源码,尝试解决问题。

    gdb分析,make等,这些是一些很杂的知识,但通过实际接手开发一个项目,也算是逐渐了解了。

    水日报,hh,mentor要求每天提交一份工作日报,但是这也太搞了,有时候一天下来,卡在一个问题上,只能说什么也写不出来。所以就需要一定的办法水日报,问题分析几百字,贴上代码几百字,稀里糊涂凑够页数,又水了一天的工作,hh。不过如果要反思,这其实和我工作不太喜欢留痕有关,虽然一天debug未果,但期间的尝试和结果,也是可以及时记录的。

    除了技术方面的经验外,我觉得这次实习,与mentor的沟通也是需要我反思的。

    线上实习的缘故,我甚至没见过mentor的脸,我也只有面试的时候,开过一次摄像头给mentor看。所以导致三个月的开发下来,和mentor一直处于一种不怎么熟的状态。这其实也说不上好或坏,但是我觉得,对于以后,如果想要开发好一个的项目,团队沟通肯定是少不了的。这次实习由于我和mentor的沟通过少,导致很长一段时间都是我自己盲目开发,mentor也只是简单看我的日报(说实话,我不怎么认为只看日报能很好了解一个项目),最终项目的成果一般,也许有一定的原因。

    我自己的态度方面,由于我很长一段时间开发不是很上心,说不上热爱,也说不上摆烂,所以导致开发的一般,这可能是需要下次注意的一点,尽可能选择自己喜欢的,如果选定了,就不要老是态度消极(我承认自己一遇到问题就经常态度消极哈)。

    另外,通过慢慢的深入项目,我才慢慢了解到,这个项目是有一定的科研探索性质的,但我却没有看什么论文。如果以后我读研了,也许需要注意一下,需要看看相关的文章。

    软件所的老师整体来说还是挺好的,push的话,感觉不是很push,合同到期后,我由于开学,选择了离职,而mentor也没有说什么。更多的是我自己由于没见过面,项目不熟悉,时不时会产生一定的抗拒情绪罢了。薪资方面,对于我一个学生来说,也算是挺好的了。总体来说,我甚至不觉得自己最后的成果配得上这三个月我拿的薪资,hh。

    总之,对于自己的第一份实习,更多的意义在于给自己积累了一些经验,具体来说是:

    海投,面试什么的,多多益善,总之不要害怕,其实抛弃对于未知的恐惧后,会发现,自己什么也没失去。

    积极,如果已经选择了一份自己喜欢的项目,那就积极一点,开发一点东西,总还是有意思的。

    沟通,对于团队项目,需要多沟通,多沟通才能获取新视野,才能从自己从未想过的角度看问题。

    效率,有时候,自己专注一点,也许三四个小时能做完一天的工作,对于在线实习来说,这一点还是很有用的(线下也许不一定好用,毕竟越能干活,越有活干)。

    其他的实习期间的事情,也没有什么了。

    暑假大部分的时间待在学校,自己一个人白天去图书馆,晚上回宿舍,图书馆的人没有那么多,有些座位每天都是那些人,让人安心。日出日落,总觉得自己有收获。中午的时候,夏天的太阳热的发毒,我撑着伞,低着头,来往与十十和图书馆之间,经过藜照湖的转角时,总能看到地上的一句话,“爱是意义”,让人心中涌上暖意。

    而回到家的时光,虽然只有短短十来天,但每天白天都有事可做,晚上我或者熬夜做完,或者定一个凌晨三点多的闹钟,起来再做。我很喜欢晚上安静写代码的感觉,世界很静,自己很专注。

    希望这个暑假,这次实习,功利的说,能让自己有所进步,或者,文艺点说,能让自己有所成长。

  • wordpress的缩进方案

    由于wordpress的自带编辑器默认不支持首行缩进,而对于中文来说,我们较为习惯首行缩进,所以我们需要对应的设置一下。

    查询了相关的文章后,发现实际上简单的,对于我的这个“二零二五”的主题来说,只需要在设置的样式中找到“段落”中的高级选项,这里有明显的提示:

    添加您自己的CSS以定制段落区块的外观。您不需要包含CSS选择器,只需添加属性和值即可。

    所以我们只需要添加这一行内容:

    text-indent: 2em;

    保存后即可解决问题。

    不过这样带来的一个问题是,引用块内部的段落也会缩进,感觉也不美观,所以最后还是不了了之了,就这样吧。

  • wordpress的头像方案

    在控制台调整的时候,按下了F12,注意到了一个错误:

    GET https://secure.gravatar.com/avatar/5e2247c41356071807cf514474d7b83649e1514dfdc7496e103ca462ff9ecc84?s=26&d=mm&r=g net::ERR_CONNECTION_TIMED_OUT

    询问deepseek后,发现这实际上是因为wordpress默认会根据用户的邮箱,去Gravatar(一个把邮箱和头像对应起来的网站)尝试获取对应的头像,进而进行显示。

    而Gravatar往往会由于网络原因无法访问,且也不符合我们用户的习惯,所以我们可以选用Cravatar进行替代。

    使用Cravatar进行替代也很简单,在网站控制台安装对应的插件WPAvatar就可以了。

    由于Cravatar兼容Gravatar,且对于使用qq邮箱的用户,还可以对应显示qq头像,所以经过三级匹配(Cravatar头像->Gravatar头像->QQ头像)后,往往能得到一个较为合理的头像。

    虽然这个功能对我的网站没有什么大的帮助,但至少现在网页不会报什么乱七八糟的错误了,算是拯救强迫症了。

  • 域名的添加以及ssl证书的部署

    花了25大洋,买了一年的yuning.wang这个域名,蛮有意思的,拼音版的我的姓名。域名解析,dns添加什么的,腾讯云都处理好了。

    然后关于ssl证书,在腾讯云中申请下来之后,直接copilot几分钟就搞定了。

    让copilot写了个说明,内容涵盖了docker,ngink,ssl等各式各样的知识。只能说,在现在的ai时代,想要上手一个东西,在ai的帮助下真的可以做的非常快,也许真的应了jyy在课上讲的那句,ai缩小了我们和顶级人类的距离。

    不过虽说如此,我们还是得保持学习,不然如果对ai生成的内容没有辨别能力的话,依然无法让自己得到提升。

    下面是copilot写的help.md,我只保留了ssl更新的部分,毕竟如果全都丢上来,有向互联网倾泻垃圾的嫌疑。

    ### SSL证书更新(重要!)

    大部分免费SSL证书有效期只有90天,需要定期更新。

    #### 证书到期检查
    “`bash
    # 检查当前证书有效期
    openssl x509 -in /home/ubuntu/wordpress/ssl/yuning.wang_bundle.crt -text -noout | grep “Not After”

    # 在线检查(推荐)
    curl -I https://yuning.wang 2>/dev/null | head -1
    “`

    #### 手动更新流程(简单方法)

    **步骤1:准备新证书**
    “`bash
    # 创建临时目录存放新证书
    mkdir -p /home/ubuntu/new_ssl
    # 上传新的证书文件到该目录
    “`

    **步骤2:备份当前证书**
    “`bash
    # 备份现有证书(重要!)
    cp -r /home/ubuntu/wordpress/ssl /home/ubuntu/ssl_backup_$(date +%Y%m%d)
    “`

    **步骤3:验证新证书**
    “`bash
    # 验证证书格式
    openssl x509 -in /home/ubuntu/new_ssl/新证书名.crt -text -noout
    openssl rsa -in /home/ubuntu/new_ssl/新证书名.key -check

    # 验证证书和私钥是否匹配
    openssl x509 -noout -modulus -in /home/ubuntu/new_ssl/新证书名.crt | openssl md5
    openssl rsa -noout -modulus -in /home/ubuntu/new_ssl/新证书名.key | openssl md5
    # 两个输出应该相同
    “`

    **步骤4:更新证书文件**
    “`bash
    # 停止nginx容器
    cd /home/ubuntu/wordpress
    sudo docker-compose stop nginx

    # 替换证书文件
    cp /home/ubuntu/new_ssl/新证书名.crt /home/ubuntu/wordpress/ssl/yuning.wang_bundle.crt
    cp /home/ubuntu/new_ssl/新证书名.key /home/ubuntu/wordpress/ssl/yuning.wang.key

    # 设置正确权限
    chmod 644 /home/ubuntu/wordpress/ssl/yuning.wang_bundle.crt
    chmod 600 /home/ubuntu/wordpress/ssl/yuning.wang.key

    # 重启nginx容器
    sudo docker-compose start nginx
    “`

    **步骤5:测试新证书**
    “`bash
    # 等待容器启动
    sleep 5

    # 测试HTTPS连接
    curl -I https://yuning.wang

    # 检查新证书信息
    openssl s_client -connect yuning.wang:443 -servername yuning.wang /dev/null | openssl x509 -noout -dates
    “`