菜鸡小前端的困兽之斗

为什么写这篇

  1. 最近看到了三元大哥云谦老师发的文章,讨论了前端需不需要学习 rust

  2. 看到了明是弟弟分享的侑夕老师的文章《新一代前端发展的困境与破局》

  3. 记录下最近的想法,因为每天都在否定昨天的想法,然后又认可前天的想法???

  4. 最重要的一点,本来想这赛季lol上个大师,没想到打到白金1,对线就打不过了,我的快乐狗头天天军训,ban了剑魔对面就是诺手,ban了诺手对面就是剑魔,然后就放弃了这个不切实际的想法。众所周知,人一旦失去了目标,就容易胡思乱想,声明一点,我狗头真不菜。

困局

如果你遭遇了职场 pua 请尽快自救,因为我没有遇到过 0.0。

而我感觉我所有遇到的困扰,都可以总结成 2 个点。

我该学什么,学了有没有用

我的同桌把前端圈子叫做网红圈,时不时就会跑出很多网红项目和概念。人们意识到了宇宙的浩瀚之后,才会明白自己的渺小。当越来越多的项目出现时,我就会产生一种,我会的是不是太少了的焦虑。也别扯什么一通百通,透过现象看本质。就现在出现的 wasm、rust、甚至是 react 的 RSC,哪个是不去认认真真学上一段时间才能算浅浅入个门的。

但是很多时候,就算认认真真学了一段时间,刚学完时候意气风发,仰天大笑出门去,我辈岂是蓬蒿人。最后发现,根本没有用,因为在日常工作中根本用不到,然后就会慢慢遗忘,所以会看到很多 第x次入门rust 的情况。当我们花了大量时间精力去学习了一门新的知识,但是却没有任何收益,多么扫兴的事情。瞬间失去了学习的热情,停杯投箸不能食,拔剑四顾心茫然。

再比如,之前很认真地看了迫风老师的那篇 《带你从零实现 React Server Component》,但是看完之后又能做什么呢,拉个视频会议,然后跟业务方大喊"RSC 启动!",我感觉他们会直接开着疾跑,按着闪现从视频那头冲过来,给我来个诺克萨斯断头台。

但是忘记了也有好处,今天看这篇文章好像又是新学习到的知识一样,又是假装充实的一天!

之前我很认同一个观点,就是你学新知识的目的,并不是为了马上能够用上,而是为了在将来能用上的时候可以更快的上手。现在想想,感觉是被pua了,我连20个字的古诗都能背串句,更别说这种东西,就算我当时的记了很多笔记,回头来看的时候能不能看的懂自己写的东西都两说。

我到底能(想)做什么

我相信很多大哥都跟我一样,想做点什么东西。但是又不知道自己到底想做什么。因为我小小学习了rust嘛,就想着能自己做个什么有意义的东西。结果思来想去,什么都做不了。有的迈不出第一步,有的迈出去3步腿就断了,爬回原地。

我每天都有很多想法,然后再自我否定,比如做一个类似 tuari 的客户端框架,然后专门去看了看 gtk-rs 的文档,发现实力不允许。想做一个抢票的软件,发现 github 上一搜一大堆,做了没啥意义,可能做到后来狗都不用。

然后发现以前也是这样,想做一个自己的组件库,觉得没人用算了,想做个网页,查了查发现要买服务器,注册域名,然后工信部认证,嫌太麻烦。后来下定决心都搞完了,维护了一段时间就不维护了。

最终还是被困在业务的围墙里。

然后过几天,内心又躁动不安,诶,我是不是该做点什么,做什么呢。

怎么破局

你看我上面描述的那么多本人真实的案例,就知道我也是一只迷茫的小羊羔。讲道理,我也不知道怎么破局,我只能想想办法怎么破我自己的局。

但是,我作为一个言行懒散,好高骛远,注意力经常不集中且容易走神,没有毅力和个人信仰的前端开发。如果我都有办法能走上正途,那么你也一定可以。

一些老生常谈的就不说,什么从业务中发现盲点然后通过提升业务,提升自己啥的,太抽象了(还有我并不觉得解决项目里其他大哥留下的几百个any类型能给我带来任何的快乐和技术提升)。

1. 组内分享

感觉这个收益是最高的,如果下面那群没学过的人都听得懂你在说啥。哪怕以后真忘光了,下次回来再看分享内容的时候应该还是能很快上手的。

2. 查漏补缺

在我们所熟知的领域,比如 react 和 css,我们掌握的知识可能并不是那么全面,特别是 css,我特地买了个网课,跟着网课认认真真地重新学习 css (进度44.4%,9章学了4章)。举个例子,flex 里又个 shrink 属性,我之前只用 0 和 1 来控制能否收缩,并不知道它的真正含义到底是什么,react 也一样,我以前也不知道 useState() 中用的是一个表达式获取返回值,每次都会运行这个表达式,虽然不会影响当前状态,而放一个函数就不会重复运行。

3. 给自己设立定时任务

虽然刚刚说了,我是一个没有毅力的程序员,但是如果这个定时任务是一个月一次,而且并不是很难呢。

虽然 11 月的还没写,但是已经保持了3个月了,算是可喜可贺了。主要就是找一些网址,然后每个月初,看看里面有没有啥更新的内容,遇到感兴趣的就收藏记录一下。收藏完之后,抽空慢慢把收藏的文章都读一读,长长见识。

读完忘了怎么办?...,忘就忘了呗,我只是为了培养自己养成一个良好的习惯罢了。

然后还给自己列了个周任务,虽然完成率惨不忍睹,但是至少确定了每个礼拜都在进步,安心一点。

4. 拥抱开源(内源)

如果不知道自己想做什么,那就找找自己感兴趣的方面去github里搜一搜,社区的大哥们在这方面都在做什么,找找适合新手的 issue,但是这个感觉不大好找。

那就找找内源的项目,虽然可能不是自己感兴趣的方向,但是秉着有总比没有好的态度,可能看看公司里的大哥们都在做什么,厚着脸皮上去找点事情做,大哥们一般也不会拒绝。感觉这个也挺难的,因为很多人会因为怕自己干了一半不做了不好意思,就像很久之前我找到嘉涵大哥,说帮他一起维护vant3,修了几个issue之后人就没了,确实挺不好意思的。脸皮薄又没有毅力的人建议跳过内源,毕竟鸽子党人人得而诛之。

还是去github上找一下吧,找找总会有的,做几个跑路了也没心理压力,毕竟曾经爱过。

5. 找到自己感兴趣的事情

热爱无价,虽然可能感兴趣的事情难度有点大,但是讲道理,这是一个自我驱动的,只要迈出第一步,就会有很大概率能完成的项目(热爱3A大作的,建议别热爱了),并且完成之后可以带来很大的满足感。

这就不得不说我染的奶奶灰了,其实我想染这个色挺久了,但是一直很犹豫,然后上周下定决心去理发店坐了4个多小时,成功染上,反正现在就是快乐ing,唯一的坏处就是拍照看起来根本看不出是灰色。

反正就是能找到自己感兴趣的事情是很难的,喜欢就去做(工作代码以外的事情也是,违法的除外)。

6. 无畏冲锋(建议别选)

这一条感觉说了等于没说,喜欢就去做,年轻人多试错,哥们就是头铁,技多不压身。还能警醒同事,给他们造成巨大学习压力,提升团队技术氛围。

同事A:"今天出了个新框架 ***"。

你:"哦,我看了源码了,原理就是*****"。

同事A:"..."。

同事B:"今天出了个新的语言*****"。

你:"哦,我已经会了,到时候打包成wasm用在项目里试试。"

同事B:"..."

同事们:"这逼怎么这么能学,我们是不是也得???"。

写在最后

引用的内容基本都在上面用超链接了,作者也注明了,就不再写了。

美好的祝福

然后,把周杰伦困兽之斗里的几句歌词送给大家,希望大家也能不再迷茫。

在狂风之中 嘶吼

作困兽之斗

我奋力冲破

封闭的思绪震开裂缝

自问自答(立flag环节)

Q: 前端到底该不该学 rust

A: 我的建议是没必要学,除非你真的有自己的想法和眼界。之前看到一句话,在现在极度精细化的分工下,我们很可能会被前端限制住了眼界。如果学习了 rust 只是为了继续来开发前端相关的内容,那我觉得把这个时间放到其他前端方面的学习会更有价值。

Q: 我想好用 rust 去干什么了嘛

A: 首先肯定是继续跟着云谦、pshu、peach老师的脚步,混一点 mako 的 pr。然后最近看了很多rust能做的东西,准备先做一个小游戏(想了很久的点子),然后再用tauri写一个学习英语单词的应用程序给自己用(英文真的很重要),然后可能会去看看rust的区块链框架(或者用rust写一个后台?,先把前两个做了)

最后的最后

仅仅代表个人愚见,一个养的狗都叫狐狸精的男人能是什么好男人,同理,一个头发都染成了灰色的gai溜子,能说出什么有用的建议。

相关推荐
我命由我123454 分钟前
React - state、state 的简写方式、props、props 的简写方式、类式组件中的构造器与 props、函数式组件使用 props
前端·javascript·react.js·前端框架·html·html5·js
钰衡大师6 分钟前
Vue 3 源码学习教程
前端·vue.js·学习
C澒7 分钟前
React + TypeScript 编码规范|统一标准 & 高效维护
前端·react.js·typescript·团队开发·代码规范
时光少年24 分钟前
Android 视频分屏性能优化——GLContext共享
前端
IT_陈寒41 分钟前
JavaScript开发者必知的5个性能杀手,你踩了几个坑?
前端·人工智能·后端
跟着珅聪学java1 小时前
Electron 精美菜单设计
运维·前端·数据库
日光倾1 小时前
【Vue.js 入门笔记】闭包和对象引用
前端·vue.js·笔记
一只程序熊1 小时前
UniappX 未找到 “video“ 组件,已自动当做 “view“ 组件处理。请确保代码正确,或重新生成自定义基座后再试。
前端
林小帅1 小时前
【笔记】xxx 技术分享文档模板
前端
雾岛心情1 小时前
【HTML&CSS】HTML为文字添加格式和内容
前端·css·html