作者:小傅哥 博客:https://bugstack.cn - bugstack 虫洞栈
沉淀、分享、成长,让自己和他人都能有所收获!
一、前言
标题 想吸引你进来参考下我的学习方式,或许能给你带来一些经验。当然不乏一些培训中也有超级优秀的开发人员。
讲道理,程序员上学这段时光相对每个人都是公平的。同样是拿到了一本 耿祥义 的《Java 2 实用教程》,也同样有一台笔记本电脑,和一个宿舍一张床。

那些年的男生宿舍
说说我自己 ,刚上大一编程方面的课程是 C语言,先不说能不能运行出来 HelloWorld ,就连安装个 VC++ 6.0 ,都折腾好几天。 可能也是神奇,因为萌新小白学习东西能遇到各种各样的问题。 最后安装好了软件的电脑真的不敢乱弄,怕它坏。C语言 学了一个学期后开始了 Java 课程,大家都说 Java 简单,巴拉巴拉 有很多函数、开发工具好用、内存自己回收等等。但确实,工具还是蛮好安装的,除了配置环境变量要去网上抄一下,还是可以写出一个 Hi Java 的。从此便开始了 Java 学习的旅途。
从你 摸起电脑的那一刻,每个人学习编程都会遇到很多问题,包括;
- 完全不知道是啥,不知道从哪开始,老师讲过也不会。
- 多次碰壁运行不出结果,带不来成就感。没有游戏和隔壁系的妹子好。
- 学完就忘,背了也记不住,觉得自己也没有项目,不能锻炼。
- 能交流的人少,身边也是打游戏的多,大学校园花花绿绿,有钱没钱,我也想玩玩。
除了这些问题,可能比这些多的还有很多问题。我也同样遇到过,初学时我也去加一些QQ群,但是很多都是比较水,能讨论技术的不多。也看过一些技术论坛,确实还是有引导性的帮助的。也跟一些师哥师姐交流,大学学哪些知识才能找到工作。好在,慢慢摸索出一条学习路线。同时为了可以与同好共同学习,就自己建了技术QQ群(东软帝国),认识了一群好友,在我大学期间时常给我解决bug;大帝、糖糖、苏二毛、蚂蚁、ZERO、小凯、Ticmy、大宝、萌货等众多好友。他们现在也分布在BAT等一线互联网的中,也有做到总监级别的大佬。
给自己打打气 ,有时候真的需要给自己点激励,毕竟这条路走起来不是那么容易。我的方式是上学期间时常会写一些自己认为算是诗句的诗,来提升自己的斗志。
红尘世界几个王,我自不服迎头上。
日敲代码两百行,冲进世界五百强。
如果你在网上搜这几句话,还是可以搜得到的!
学习编程的过程很大一个问题是写得少,总有一部分人觉得只要看了视频,背了代码,这东西就能会。但往往真的不是这样,只要这东西不是你亲手敲了几十遍,你就永远也记不住。因为这个过程是在锻炼你的逻辑思维和肌肉记忆,为啥说是肌肉记忆呢?就像你打字聊天,输入一个拼音 nihao,你会现在会想到它是从哪个手指敲出去的吗?根本就不会了,肌肉记忆早已形成,你只需要把你要的内容想到就能立刻通过键盘呈现出来。同样写代码也是也有的,public static void main,如果这一句代码你要反复看着键盘去敲,那么就是你写的代码量还是太少。
愿努力拼搏的你都能承载一份美好!
二、初学编程用过的书
嗯!是 用过 的书,不是 看过 的书。
初学编程的人往往并不需要太多的书,因为一本书所涵盖的知识基本已经很全面了,难的是要一字一句地把里面的内容都搞定。如果只是看还是很容易的,但是要想按照里面说的都实现运行出结果,那对收获来说就不不一样了。当然,如果你已经深入地学习了,领悟性有很好。可以在继续扩展其他书籍的学习,包括一些深入的原理、源码的分析、技能的拓展等等。
1. 耿祥义的这本书看了好久

谭浩强《Java 2 实用教程》
一遍遍翻,一遍遍看,一遍遍运行里面的代码。这本书真的给我带来很大的帮助,时至今日它也一直在我的身边。
2. SSH 几百页的书翻烂了

学习完基础编程后,就需要去拓展Spring相关技能,去开发真正的项目。类似这样的书还是比较多的,书中也包括了一些项目可以跟着学习。
3. 除了书还有视频可以看
似乎每个程序员都看过 马士兵 的视频,主要是他的声音和讲课方式很吸引人,不沉闷又能学的干货。至少他的视频我是看了5-6遍,也跟着写了5-6遍。
三、同样的项目做了N遍
在学习编程的过程中,我搞过很多的项目,当然这些项目的需求很多都是我臆想出来的。通过我需要锻炼什么样的知识点,之后去想着大概一个什么样的项目可以涵盖地去练习。
但!学到 Socket 后,大家应该都做过局域网聊天,而我比较能折腾做了N次。直到最后这次不仅自己得到锻炼,还可以帮助被人成长。
1. 上学期间第一个仿QQ聊天
登录

仿QQ聊天,登录
好友

仿QQ聊天,好友
聊天

仿QQ聊天,聊天
- 这个期间是学校聘请了外部的老师来教我们做项目,为了尽可能做的好一点,当时就研究着仿照QQ做一款通信。现在看还是比较丑的,但是当时也是比较牛的了。
2. 培训期间局域网聊天
登录

局域网通信,登录
聊天

局域网通信,聊天
控制台

局域网通信,控制台
- 清楚地记得这是当时搞了一周写完的,毕竟还是比较熟练了。
- 甚至我在考虑把好友与聊天窗口合并,貌似现在大部分聊天软件也都是这么干的了!嗯!优秀!
3. 学Netty5.0写局域网聊天
登录

Netty5.0通信,登录
聊天

Netty5.0通信,聊天
- 这一阶段开始开始学习了 netty5.0,尝试使用netty+protobuf,开发局域网聊天。目前网上也是能搜到这个工程。
- 源码还有一份;https://github.com/fuzhengwei/itstack-demo-nettychat
4. 学WebSocket仿微信聊天
聊天

WebSocket通信,聊天
- 15开始学习 netty5.0,但是后来由于5.0版本问题,netty官网下掉5.0。于是去年19年,我又开始编写 nett4.0 案例。为此也写了一次 WebSocket 通信。
- 源码:https://github.com/fuzhengwei/itstack-demo-netty
5. 出专栏仿桌面版微信
登录

Netty仿桌面版微信,登录
聊天

Netty仿桌面版微信,聊天
好友

Netty仿桌面版微信,好友
- 这个项目是20年过年期间发起的,使用JavaFx、Netty4.x、SpringBoot、Mysql等技术栈和偏向于DDD领域驱动设计方式,搭建的仿桌面版微信聊天工程实现通信核心功能。
- 源码:https://github.com/fuzhengwei/NaiveChat
6. 除了这些还搞过很多
只要是能学习编程的内容,我似乎一直在折腾。谁学习期间也没有一个项目,但是可以自己去想出来一个项目,之后通过这样的项目锻炼自己的知识,尽可能让学到的内容得以实践。下面在列举一些;
1. 分数计算机

计算器
2. 学生成绩管理系统

成绩系统
3. 考试题库系统

考试题库系统
4. 图书馆系统

图书馆系统
5. 彩礼管理系统

彩礼管理系统
6. 在线考试系统

在线考试系统
好在当年留了一些图片
虽然这些系统在现在看有点点丑,甚至算不上项目,但对于编码从初识到了解的一个学习过程是需要的。总归,是要做一些实际的目标性内容,引导自己不断地强化知识。把一些未知的知识尽可能通过问题诉求学习到。
四、沉淀、分享,交个朋友
从19年开始,我想着生活里要添加一点自己能长期坚持的事情,不要把时间都浪费掉。于是,选择了我最擅长的方向,做原创技术输出。这样既能让自己有所沉淀,也能把知识传播给他人带来成长。
- 2019年7月 ,搭建个人博客;https://bugstack.cn - 沉淀、分享、成长,让自己和他人都能有所收获
- 2019年8月 ,找回公众号 bugstack虫洞栈,定期推送个人原创技术文章
- 2019年9月 ,CSDN 申请博客专家通过
- 2019年10月 ,微信公众号终于又了1k的读者
- 2019年11月 ,完成三个专栏内容编写; 《用Java实现JVM》、《Netty4.x专栏学习》、《基于JavaAgent全链路监控》、《DDD领域驱动设计实践》
- 2019年12月 ,开发微信公众号与博客打通引流粉丝
- 2020年 ,还在进行中!发布了 GitChat专栏 、深入编写了字节码编程、持续做原创技术输出,加强个人技术栈学习,吸纳架构设计精髓等等。
- 整理了一整套 CodeGuide 程序员编码指南 - https://github.com/fuzhengwei/CodeGuide/wiki 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。如果本仓库能为您提供帮助,请给予支持(关注、点赞、分享)!
做这些事情,更多是我的 爱好和爱折腾的性格在支撑我。也希望将我的编程学习经验和技术沉淀多多分享。
其实大家可支配的时间都差不多,只不过开始写技术文章后,不吃鸡、不王者、不去电影、夜里0点前不睡觉也有2点的时候、周末放假不出去浪(今年也出不去)。那么你还是可以做一些有意义的事。当然,如果你说这样不是生活,但每个人爱好不同。
收入 ,写文章是会有收入的,公众号里日常4毛,也有1块多的时候,但几分也有。好在,我现在也不在乎这个,主要是要做一件可以坚持的有意义的事。
如果说能给你一些意见,我也建议你可以折腾折腾,程序员的世界里折腾一下还是可以全方位的学到很多东西的。做的久了会提升全栈的研发技能(后端、前端、部署、运维等等),而且还会获得;业务、运营、产品定位等等方面的提升。
五、收个尾
- 以上呢 ,是我学习和不断折腾的一个方式。算不上优秀,但至少这样的学习可以保证你毕业时候找一份不错的工作,也能为你将来做好后路的根基。虽然每个人都有自己的路,但如果到了年纪还是要多把时间放到有价值的事上。
- 持续学习的过程遇到了很多伙伴,各有优秀。虽然他们不会把钱给咱们,但是这些伙伴的宝贵经验都是会无偿告诉你的。 包括你学的技术遇到问题、包括你写文章需要看哪些书籍、包括你对各个领域的认知等等。
- 做人,做事,我喜欢亲和友善,广结同好。自从写公众号文章,有很多小伙伴加了我的微信,也和很多人成为了好朋友,他们日常帮我点赞、分享文章,深深感谢!