大家好,我是处于 Java 行业下水道,励志重见天日的好人。
这篇文章主要是一些牢骚话,和我自己突然想做一个项目的一些想法,算是作为一个开端吧。
其实这段时间我有一直在学习,也记了很多笔记。但因为写了太多笔记导致我没有精力去撰写一篇博客。但是我发现,笔记记了不少,但几乎不会看。
记得有种学习方法叫做“费曼学习法”,不太准确的理解可以认为是:“把学过的内容,重新简化整理,并将其传授给别人,如果别人能够听懂,那就能说明自己学会了”。而我认为,博客就是一种很好的传授手段。
好久没有写一些东西了,最近突然想自己捣鼓一个项目,并且写一些博客记录分享一下。项目其实已经推进一段时间了,但是博客一直懒得动笔,其实也是怕自己项目进行不下去,到最后烂尾就太尴尬了。不管怎样吧,我尽量去做。
提示:牢骚话,大家可以跳过此部分
说真的,我很不喜欢我现在的工作,无论是薪资还是技术栈,都很难让人充满激情。
薪资只能拿到当初 offer上一半多一点。而且最近公司搞改革,旨在节约成本,工资又降低了。而且公司的核心业务是制造和销售,搞技术根本吃不到肉,干硬件开发的还好些,但我们 web 开发属于公司的边缘业务,根本得不到重视,很多想法都没人支持你,工资也会比核心业务员工低一等。
所用的技术栈算是比较小众冷门的吧,JFinal + Layui,直到我入职才知道这些,那个时候一边学习一边干活。而且在入职之前我一直以为我是后端,结果我得干全栈。但好在 Jfinal 比较简单,我有一定的前端基础,Layui也能很快上手,没过多久就能胜任工作了。但是我慢慢发现,这些技术栈也太那啥了,在我入职之前,我一直以为所有公司用的都是 SpringBoot 的那一套东西。
记得之前拿 offer 的时候我问了:“咱公司用哪些技术栈?”,我没有得到正面回答:“什么技术栈不重要,只要你 Java 基础好,有一定的学习能力,什么技术都能很快上手。”我当时觉得挺有道理,果然大公司对于应届生还是比较关注基础的,学长诚不欺我。
后来入职后,我很快就发现了其中的不妙之处。但因为一些原因吧,遇到了一些朋友,遇到了一些事情,也加上性格原因,慢慢的也干了一年。
最近我越来越焦虑了,工作了一年,至少有大半年我会抽工作之余继续学习 Java ,但是学的技术一直得不到实践的机会,而且对于现在的 Java 内卷程度,在这里长干可能会成为我简历上的减分项。就像我朋友和我说的:“既不给你施展能力的机会,又不给你相应的报酬。”所以实在是没有理由待下去了。
我最近在考虑裸辞了,休息一下,调整心态,也抽时间复习,当然也会一直开发维护这个新项目,然后找新工作,全身心投入到新工作中去。
项目其实我也做过一些,比如博客项目、电商项目等,但这些都是在 b 站上跟学的,很多东西并没有自己的思考,当自己遇到的时候可能还是很难激活脑海中相应的记忆,也许是因为缺少了遇错后的探索和思考的过程吧。所以我慢慢的有了自己从 0 开始搭建一个项目的想法。
做什么样的项目呢?我不知道。
去逛 b 站,全是铺天盖地的图书管理系统、电商系统、博客……这些不行,被做烂了,我得找个 b 站上搜不到的。直到我在《人人都是产品经理》上发现了一个叫“触达系统”的东西,我觉得挺有意思。
再后来我又在码云上找到了一个叫做“austin 消息推送平台”的项目,是 3y 大佬写的,我感觉这个更有意思。触达系统需要有真实的业务数据做支持,这对于个人项目来说不太好办,但是消息发送,还是比较容易办到的。
再有,我有个朋友之前在一家互联网公司实习的时候,他们举办线上活动要发奖品,收集了用户邮箱,通过邮件的方式下发活动奖品。我当时问他,这几百个邮箱,每封邮件都不一样,你不会一条一条的发吧。他说不需要,只要将邮件内容制作成表格上传到系统就能统一发送。
现在回想起来,这个系统不就是消息推送平台吗?然后我查了一下 b 站、码云等平台,消息推送平台的内容很少,比较健全的就找到了 3y 大佬的 austin 了。
我简单了解了一下 austin 后,觉得 austin 的架构和 springcloud 不太一样。然后我就决定我要用 springcloud 搭建一个消息推送平台。架构不太一样,但是业务方面,我应该会借鉴 austin 的,毕竟 3y 大佬是给公司搭建过的,他更了解真实应用场景下所需要的功能。
至于平台的名字嘛,其实没啥好纠结的啦,毕竟是个人项目,起个自己喜欢的名字就好啦。其实我一直在网络上使用“好人”这个网名,所以我也想让我的第一个个人项目叫做“好人”,直接翻译过来就是“good person”,但感觉太普通太正式了。
然后我又想到了去年看过的一部电影,叫《失控玩家》,男主角的名字叫做 Guy,而“Good Guy”刚好可以翻译成“好人”,所以敲定,我的项目就叫做“GoodGuy”。要相信,我们虽然是普通人,对于这个世界来说可能只是一个 NPC,但是在自己的世界里,我们就是主角。
GoodGuy 会是一个企业统一消息发送平台,公司里的所有消息发送都可以通过 GoodGuy 来实现,比如:短信、邮件、内网广播、push推送、钉钉等。当然,也会对外提供接口,供公司其他业务进行技术调用。
下面是一些业务模块的初步考虑:
下面是一些技术架构的初步考虑:
先说这些,以上内容主要有两点:
项目其实我写了好一些了,但前面也说了,但都还是一些简单的后台管理 CRUD。 博客一直懒得写,所以拖了很久。代码仓库也有了,但还不能发出来,我得把代码整理一下,才能和大家分享。不知道会不会有大佬追更,既期待又害怕。