再搞CRUD,就真的变成废物獠!
有个同学小Q,他学习Java也有一段时间了,跟着网上的视频也多多少少写了一点代码,但总感觉缺少点什么,很不成系统,不能具备做项目的思想。下一步很纠结,不知如何进行下去。
这样的感觉是没错的。视频课程都是精心设计的,大多数是一个主题,教会你一个知识点就玩完。即使做项目,也是皮毛,实现初级功能为主。
比如,教你注册,就给了个CURD的案例。这是远远不够的,因为用户系统最重要的是考虑它的安全性,验证码、加密、防批量恶意注册这种核心技术,就没人给你讲。
下面还是从人才类型的分类开始说起,来分享一些小Q的经验吧。
人才类型
软件领域有两种人才,一种是偏向理论的,一种是偏向工程。
理论性的包括一些方法论的研究,算法,以及一些冷门的课题,要有成果是比较难的。工程类的就是使用市面上的框架进行软件开发,难度上低了不少。
工程类人才又分为业务型的和技术型的。业务型不需要了解这些框架背后的深层原理,只需要根据产品的模型构建出可运行的代码就可以;而技术型的,比如基础中间件的开发,对基础的技能就要求比较高一些。
使用Java,工程类的项目居多。
不要重复做CRUD
纵观各种培训机构,以及网上流行的视频,工程类的居多,而且都是初级项目。一个项目如果没有经历过流量的冲击,很多问题都不能很好的展现。
相信你已经做了一些SSM之类的项目,比如开发一些管理后台,一些权限认证等。但做完这些,只算是一个刚入门的学童。这种CRUD的项目,做一套就够了,做多了纯属浪费时间。包括很多star数很高的权限系统、用户管理系统什么的,不要看。
建议如果想往技术方面发展的话,多了解下jdk的基础,多了解一些分布式相关的知识。
如何进行
多看源码,找重点
多逛github,多看源码。但看源码不要什么都看,要找这个项目的关键点,找它的优势。
比如看etcd,就搞懂raft,那么源码看不看也不重要了。
那些代码量巨大的项目,其实已经经过了N多迭代,参考的价值不大。反而是隐藏在代码背后的原理更加重要一些。
多了解一些中间件
Java的精髓技术都在中间件里,包括一些分布式知识。如果你想要往技术路线发展,那正适合你。
中间件技术很多,找准一个看就可以。刚开始接触的话,建议接触MQ或者缓存组件等。这些东西虽然难了些,但一旦了解透彻了,就不是CRUD能比的了。
建议项目
千万不要以为学Java就是写代码,那种思想太初级。
代码的最终目标就是实现某个场景的解决方案。建议你找准一个切入点,比如做一个库存管理系统、做一个供应链、营销系统之类的。
不管什么,找到一个想要切入的点,开始做轮子。轮子做的不好不要紧,你可以顺便体验一下重构的过程。
一定要体验一把软件工程的整个流程。从 需求确认->概要设计->详细设计->编码->重构->测试->压测。
认真的走一遍,你的水平绝对会上升一个档次。
项目周期,3个月之内为妙。
怎么看源码
不要死看源码! 不要死看源码! 不要死看源码!
在Java届,你要是靠看源码学习的话,那效率可以说是非常非常非常低了。有Debug功能的存在,我们就可以和看源码这种低效的学习方式88了。
即使是非常复杂的系统,使用Java的Debug功能,也能很快的找到它主要的执行路径。
再搞CRUD,就真的变成废物獠!相关推荐
- 拜托 别再搞逻辑删除了
拜托 别再搞逻辑删除了 基于领导的一句话:"产生的数据都是有价值的数据",因此第一个想到的就是假删("逻辑删除"),还将其定义为了一个标准,所有表都要有 逻辑删 ...
- 腾讯视频《庆余年》再搞超前点播,网友:不是每部剧都叫《陈情令》
今日上午,腾讯视频官方微博再发预告,其平台正在热播的IP大剧<庆余年>今晚20点开启超前点播,在会员的基础上再进行付费,可提前解锁6集内容. 针对热播剧集,这已经不是腾讯视频第一次这么操作 ...
- SAP License:瞎搞!你真的懂什么是ERP、中台和低代码吗?
互联网信息圈就是这样,写个不知所云的文章,再配上博眼球的标题,立马引来众多围观,不少公众号也蜂拥转载,完全不去思考文章写得对不对,有没有道理,反正有流量就行.苦的是那些学习的人,莫名其妙被塞进去了错误 ...
- 瞎搞!你真的懂什么是ERP、中台和低代码吗?
欢迎关注微信公众号:sap_gui (ERP咨询顾问之家) 互联网信息圈就是这样,写个不知所云的文章,再配上博眼球的标题,立马引来众多围观,不少公众号也蜂拥转载,完全不去思考文章写得对不对,有没有道理 ...
- 不要再搞混Vue的响应式原理和双向数据绑定了
前言 之前公司招人,面试了一些的前端同学,因为公司使用的前端技术是Vue,所以免不了问到其响应式原理和Vue的双向数据绑定.但是这边面试到的80%的同学会把两者搞混,通常我要是先问响应式原理再问双向数 ...
- 穷搞IT,富搞金融,真的是这样吗?
黑客技术 点击右侧关注,了解黑客的世界! Java开发进阶 点击右侧关注,掌握进阶之路! Linux编程 点击右侧关注,免费入门到精通! 越来越多的人加入互联网大家庭,看中的是具有强烈吸引力的高薪资, ...
- 再搞75块单片机开发板!
大家好,我是张巧龙,还记得当初自己用51开发板点亮了第一颗LED灯吗? 51单片机,yyds!不多说,直接抽奖送75块! 兴趣爱好 如果你对一件事失去了兴趣,我觉得你把这件事坚持做下去的概率很低. 反 ...
- 别再搞纯文本了!多模文档理解更被时代需要!
文 | Ryan 都已经2021年了,互联网已经今非昔比,20年前纯文本的日子已经一去不复返,文字已经满足不了网页.文章的需求,绝大部分都会有着精心设计的表格.图片,甚至视频.PDF文档这种富文本格式 ...
- 固态硬盘的PCIE,SATA,M2,NVMe,AHCI分别都指什么?别再搞混了
原文:https://baijiahao.baidu.com/s?id=1616207956596122967&wfr=spider&for=pc 科技娱乐屋 18-11-0420:5 ...
最新文章
- 《用户故事与敏捷方法》阅读笔记一
- 穷不可怕,可怕的是“穷人思维”
- 易语言 服务器抓包,易语言抓包获得地址实现TP路由器登陆的代码
- asterisk1.8 账号信息mysql存储(动态)
- PowerBI从Exchange跟踪日志中分析数据和KPI展现
- python socket客户端_python 使用socket模拟tcp客户端和tcp服务器端
- FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(
- Ubuntu快速设置指南
- 正确理解MySQL中的where和having的区别
- mysql卸载详细教程
- 重磅!Apache RocketMQ 深圳沙龙报名开启!
- C之九剑其二——运剑
- HBase-14.1-JMX监控实战-hadoop
- 工作积累⑨——从丁香医生增长看地推的重要性
- 字和词语联合训练的词向量模型
- The 3rd SMUCTF Office WriteUp
- 广告公司到底干什么的?欣奥诚分享
- 远程桌面无法连接解决办法
- python对比2个文件内容
- oracle 比对数据库表和数据表数据(PL\SQL)
热门文章
- matlab几何失真校正,摄像头图像失真校正
- android minheight 作用,为什么minHeight属性在WebView Android中不起作用?
- ConstraintLayout子View android:minHeight 无效解决
- stm32 40道选择题解1
- select poll epoll 高效IO 多路转接
- windows 7 active directory用户和计算机,Windows – Active Directory用户和计算机上的Active Directory管理中心...
- 如何快速找到志同道合的人?看这一篇就够了
- 【转贴】传说中的股市
- 拓嘉启远:拼多多全店推广推广计划无限制叠加,行吗
- linux cacti安装教程,cacti安装教程