三年了,你知道我是什么怎么过来的吗?

时间真快

不知不觉的已经毕业三年了,时间是真的过的快,这次记录主要是记录自己技术上的成长,这篇文章不会讲很多;

重点事件

运动

运动使我快乐,每个程序员都应该运动;

坚持了大半年健身,效果是从2023.2.11到现在为止瘦了16斤,不过慢慢又在往回长肉,哎;运动记录:骑行约1000公里,跑步约400公里,最佳跑步记录5公里25.5分,10公里54分,个人觉得还行;

可以分享下骑行路线:

这个是绕西湖骑行的路线,很棒,我们是走走停停,很舒服;
早上6点起床,吃完早餐,差不多6.30出发;其实整个西湖挺小的一下子就走完了,下次试试钱塘江那条线;

这一趴结束,但是希望更多的程序员运动起来;干就完事;

搬家

从之前西湖区的下边,搬到了上边,啥都不说了,之前在西溪湿地边上,组了个小loft,好小,估计不到18平。2300,两个人住已经不合适了,所以搬家了,在那边住了2年半了,多少有点不舍,所以搬家整个过程,加上找房子,一起差不多快一个月了,搬东西都搬了三次,现在这边还好2200得有40平了;
总结就是搬家真累,然后到这边上班之后,就不能下班骑车回了,下次也可以试试;

开源

哈哈哈哈,这才是让我开心的地方,我写了很多开源(虽然没啥人看),但是我很快乐啊,先列下我做了啥,再来总结:

  • simple-rpc:个人的手写rpc,非常值得各位想写点自己东西的小伙伴们看看,里面技术很丰富,欢迎star,而且我准备的文章特别详细,我个人最喜欢的开源;
  • CodeGenerateORM:这个是上了gitee的推荐榜,并连续多天热门(虽然插件模块不咋的,哈哈哈),是从idea-plugins项目里面孵化出来的,很满意;
  • simple-gateway:这是近期在写的,个人也很满意,想打造一个很好的开放平台,也可以叫网关中心,目前支持dubbo、mysql直接转成http接口,还在努力更新中,我也很满意,希望大家star;

好了,简单总结了;

技术成长

上面也分享了个人的一些日常,那么作为一个程序员我是如何成长的呢??

我写着就发现项目越来越多了

  1. 首先,去年底到今年初近4个月时间,我刷了很久算法,因为公司不稳定,所以得有200题,但是,我发现刷了就忘,而且没啥意思,就很烦,中途一段时间都没怎么写自己的项目了,其实也有点迷茫;
    然后4-5月份几个玩的好的同事也都走了,去飞猪了,他们说好累,好忙,我就更迷茫了,之前还挺想去飞猪试试,听了之后吓到了(我现在是10、7、5,加班有调休);哎只能说之后在思考下;

  2. 然后6月份开始,就觉得想写点什么东西,之前也写了simple-spring这个spirng小框架,完成生命周期那块,所以干脆就在写个simple-mybatis学习下里面优秀的设计模式;

  3. 学完之后,就用里面优秀的设计模式,写了一个网关,这个也有原因,因为我做的项目有很多三方,我觉得维护特别麻烦,然后还有些是需要提供视图的,维护就更麻烦,迁移也不好迁移,在当前DDD架构下,你想去适用代码,贼难,所以不如直接通过协议转换,直接把视图或者sql查询直接转成http并加上自己的鉴权处理,所以就有了写网关的想法,有了想法就开始实践了;

  4. 在写这个项目的时候,为了项目异构,每次在有新的api进来,我需要去通过发布订阅的方式传到core里面,然后用的是redis,因为我win和mac切来切去的,win上需要虚拟机,mac用docker开中间件很卡,所以我只要简单的发布订阅功能,为啥我不手写一个mq呢,市面上的mq功能都太大了,所以又开始写了一个simple-mq:这个已经支持简单的使用了,但是代码需要在优化下,先自己用一段时间在推荐给大家;

  5. 因为网关的原因,那就想是不是也可以支持别人用sql来直接调用你的rpc或者http,甚至去做一些其他操作,那么就需要解析mysql的协议,所以加入我同事的开源,这里还有个有趣的事情,我给我同事的开源取了个名字,哈哈哈哈,想了很久,usher,这个项目里面有很多java相关的底层技术,我也在这个开源仓库里面,这里有支持mysql协议的解析,然后我跟另外一个去飞猪的同事也写了一个redis协议解析,底层套用java数据结构的Kedis,支持市面上大部分redis-client;

看看,这就是要写一个项目,会延伸出来的东西;

我的学习方式

上面写项目就是我的学习方式,先是有idea,然后再去action;就是有想法在实现;实现过程虽然需要很难,但是有了结果还是很快乐;

再说说我学习途径:

我有基础,最开始阶段我是通过视频,这个很耗时间,大家也可以去翻翻我之前的文章,有很多推荐,不过在我毕业一年内,我几乎就不看视频了,后面就看书,但是这是因为我有了很多基础知识;

  • 在校:视频比较合适 + 刷算法;多刷基础的东西,java基础,数据结构,算法这类;
  • 刚毕业:博客 + 视频比较合适;多学习应用,能干活,且能干的漂亮,又能稳定成长;
  • 1年:建议纯博客 + 官网;这里建议开始多研究游戏的底层代码,夺取看看;
  • 2年:建议直接上手写框架,比如小小的starter,写过分页插件啊,分库分表插件啊等;
  • 3年:这个也是我目前能建议的最后一个年份,你得写个大型的开源项目,就比如我写的那个rpc,你得netty用的比较熟悉,写到自己的项目能直接用你这个中间件的程度,不考虑性能问题,先写出来;

就上面这些咯;

总结

总结一下吧,怎么坚持写代码,学会激励自己:

就是诶 dubbo有啥难的,我自己写一个不就好了。诶rockettmq怎么这么难用,我自己写一个不就好了,诶三方接口这么乱,我统一写一个开放平台不就好了;诶这个生成代码插件怎么要钱,那我就自己写一个顺便给大家用;
这种真的很快乐,你有想法,你又能去实现,你分享了,你自己实力也提升了,别人也用了,你的价值也被别人认可了,这种才是驱使我去写代码的最大动力,简单描述:分享使我快乐,装逼让我更快乐!

所以大家需要先培养兴趣,在努力赚钱,哈哈哈;
上一年的三年内买车实现不了了,过年前看看!!!!


谢谢大家阅读!!!

公众号: 关注,“爱搞技术的吴同学“ ,公众号上会经常写实用性的文章,谢谢关注!!回复:“加好友”,可获取我的微信二维码,欢迎加好友,一起学习!!!

大量源码: 欢迎star,可能会分享微服务实战,分页插件等;gitee

你可能感兴趣的:(rpc,java)