假期即将结束,和高中时候不同了,感觉假不假期的无所谓了,在哪儿都是坐电脑前面。
技能树
看看大学这一年半都卷了哪些技术吧···
虽说有种先射箭后画靶的感觉,但也是有参考价值的。
这是我在高中时期画的图:

这是现在画的图:

对比两图,后面图多了很多绿点,我们逐个来总结。
Kotlin
编程语言间是相通的,这个语言并没有特别去学习,肯定也不能算精通,可以说是学会这门语言应该是在
Kotlin的控制流表达式我很喜欢,但是SpringBoot写业务逻辑并没有复杂的程序逻辑,并没有用到。
这个技能不是特意点的,点SpringBoot送的技能?等级提升送的技能?( •̀ ω •́ )✧
C#
这个技能点是为了Unity特意点的,为它写过HelloWorld
C#这个语言,锐评一下,给我的感觉是挺没用的,GC语言,执行的是字节码,只能在Windows上跑,咱也不写原生Windows开发,除了写Unity感觉哪里也用不上。
但谁会因为多点一个技能而烦恼呢?但我会因为消耗了技能点烦恼
Golang
在我的记忆中,这个语言是我刚上大学时最自信的语言,当时老师问我最拿手的语言是什么,我说是这个。
对照高中时期画的技能树,我画技能树时居然还不会Golang。
最初出于什么心态已经不记得了,可能是听说这个语言好用?可能是听说效率高?
它足够底层,但也不太底层这个特点,在我高中时期写各种异想天开的项目时给我打下了很多基础(各个网络协议层···NAT原理···进程线程协程···)
现在我不怎么用它了,但我依然觉得它是很好用的,只是随着其他技术往上叠,我发现我的Golang一味着造轮子已经赶不上其他语言了。
如果有时间有契机的话,我学学框架,再把它作为真命语言也不是不行ψ(`∇´)ψ
C++进阶
这个是指,虚函数啦,模板啦,编译原理,动态链接库、生命周期、引用计数什么的。
这是一个比较杂的东西,这些不好叫做一个技能点的东西我把它们整理整理就叫做C++进阶啦。
这里几乎没有东西是特意学习的,是平时用到的积累。
虚幻引擎基础
这是最近(其实也不能叫最近啦)做的事情。
以前觉得这东西离我很远,现在感觉这就是未来(~ ̄▽ ̄)~
虚幻引擎要是只是摆摆场景门槛应该是不高的,对着B站大学去学应该也是很简单的,但是呢,我一开始就是冲着能完整开发可交互应用(游戏)去的,而且还想尽可能写的符合规范,所以感觉是挺复杂的。
我能入门虚幻,应该得多亏了做那一次3D设计大赛项目
如果像我一样的想法入门虚幻,建议先把GamePlay框架看明白。
写东西之前先把API和文档看完,在虚幻引擎这里并不适用,文档规模很大,C++API更是多到浏览器会卡住。
说这是我和附近的人相比,最突出的技术也不为过啦。
Unity基础
大学刚开学,刚刚进入工作室,学姐在做的——Unity
大学写的第一个项目——Unity虚拟现实。
我大一时用的最多的应该就是Unity啦。
拿C#对接Golang,我记得当时跟学长协作,C#的胶水代码写了好像有一千行(大部分都是重复的就是啦),Golang写了也有两三千行,现在看来,轮子呀。
UE取代不了Unity,对于高端平台,UE确实很棒,但对于移动端嘛,还得Unity。
学校里教这个(虽然不是我这个专业),但别人都会的东西,咱也不能不会是吧,而且用Unity产出了不少成果呢。
很有用的技能呢!
Git
牵扯到多人协作,那就Git啦。
Git是个有一定学习成本的工具,与我合作的人,我会先让他去学习用Git。
早晚都需要的东西,总不能一个人把项目肝完吧?
SpringBoot
身边搞后端的人似乎以它为主,理由也很简单,学校教。
一开始学习这个我是排斥的,但是后来发现它真的是个好轮子,而且可能是出于大环境考虑,中国SpringBoot用的还是很多的,所以就点了这个。
Nodejs后端
会前端,会用Nodejs,但不会用Nodejs做后端,这正常,毕竟咱学的是前端嘛。
会写后端,会写前端,不会用Nodejs做后端,这怎么可能?
这个技能点是NextJS框架带的。
NextJS学着学着发现不对劲,学前端被骗到后端来了。
于是我们学会了Nodejs做后端。
前后端都用JS写开发效率上是很有优势的,虽说JS可能效率低了点,但业务逻辑是IO密集也不是计算密集。
React框架
假如有不那么聪明的人问我前端要学什么,我会告诉他,啥都行,别学React。
拉着长长的战线,真正学明白是在
现在让我写前端,我会直接用React(因为我不会第二个框架),但是感觉上,可能很多时候单论开发效率React并不如原生开发。
但只要体会过乱糟糟代码的痛苦应该就不想写原生了(我最开始的博客不会框架用的原生开发,以至于我不想再维护它的代码了)(其实就是代码写的菜,和原生无关,React写的更难看)。
NextJS框架
前端无感调用后端异步函数,好强~
数据不用前端获取,后端直接注入,好强~
后端写React,好强~
我要学这个!
学了之后发现这玩意儿占的服务器资源真的好大,不太敢用了`(*>﹏<*)′
但JS写后端,真的没什么坑,热更新,不会轻易出错误,出了错误也很清晰。
Web套壳
Web套壳,在我不会React时就已经开始套了。
每个平台的原生开发成本都很高,为什么不零成本Web套壳呢?
我套壳主要有两个目的:
开发某平台的应用
把别人的东西变成自己的(~ ̄▽ ̄)~
通过套壳+特殊的缓存方式+注入一些友善的JS清理垃圾+阻断网络请求,就能把东西变成自己的啦。
前端必学技术!YYDS
ThreeJS
对于经常搞数字媒体技术相关的我来说,这个东西是很有必要的,它给了网页展示3D的能力。
浅浅的使用,会显示模型就已经能够满足大部分情况了,要说完全会用这个,我并没有做到这种程度,WebGL、写着色器,这学习成本是不是有点太高了啊。
个人感觉,不会什么能可视化的游戏引擎,学习这个的成本是挺高的。
同样是前端,我写的网页能渲染3D(卡死)
任一UI库
UI库是没有学习成本的,放在技能树里,可能是说···造轮子的前端不叫前端···
用顺手了一个库真的完全不想换其他库了呢。
Ant Design是我最开始学习React时就用的UI库,现在依然是它。
后端基础
我把数据库、Http协议、身份认证方式什么的零零散散的东西放在了这里。
数据库这个东西说大也挺大的,说小就是个电子表格。
这个也不是刻意点的,是升级送的。
大语言模型微调
大语言模型刚刚问世时我竟没想到大语言模型会成为一个小方向。
通用Lora微调
点大语言模型附赠通用Lora微调。
稳定扩散模型微调
这是通过大佬的脚本实现的,随着AI的学习,这可能渐渐的就不是一个技能点了。
程序化建模思想
一些点,一层一层,过来过去···
复制···挤出···倒角···布尔···
程序化建模不像传统建模那样每个位置都精细调整,程序化建模做不了很精细。
程序化建模的作品不是模型,而是程序。
程序化建模的工具能够符合建模思想,我要的功能他有,那它就是一个好工具。自己菜,赖软件
Houdini程序化建模
程序化建模的神?
用起来,除了保存比较难受,其他都挺舒服的。
教程比较少,软件官网上的教程很不错。
学程序建模,真的好像只是因为,它很酷( •̀ ω •́ )✧
虚幻PCG
虚幻PCG感觉很有局限性,撒点PCG更方便,稍微高级一点的事情,还是推荐Houdini啦。
这个现在算是学明白的状态,当时以为可以用它做程序化城市,但是开始做后发现并不行。
计算机图形学基础
光栅化···延迟着色法···着色器基础···
散装的一个点,这也不是刻意点的。
这里相关的知识对与显卡沾边的(材质、着色器···)特别重要。
好像以前理解不了着色器的我渐渐理解了呢,等级提升送的?
比技能更重要的
技能树加点是挺重要的。
但我们处了技能以外,还有属性。
解决问题
比起很久以前遇到问题就上搜索引擎,搜到就一个一个试,搜不到就结束的我,我太喜欢大半夜几万行代码断点一个一个硬调的我啦。
比起解决问题,能提出解决问题的方法是更让人开心的事情。
无法列出的
对着技能树复制一个人,他在这些对应的技能点上会具备和我一样的能力吗?我认为技能树列出的只是一部分,很多零零散散的小知识,走过的路,踩过的坑,解决的问题都是无法呈现在树中的。
总结
高中时的我一拍脑袋,“我能想到的,最大的成功就是无愧于自己的心。”,FFeng,我不知道你心里想的是什么,你觉得成功了吗?
我以为我没做什么事情,列出来一看,嘻嘻,也挺多的嘛ヾ(^▽^*)))
再接再厉咯~
看了一下新技术,接下来的短期计划呢,准备去学一学新技术,如下:
Rust做前端,dioxus
NextJS再深入了解一下,payload
Go正儿八经写后端,go-blueprint