提升技术的13个建议

news/2024/12/1 18:35:36/

1. 打好基础,深入学习语言特性

比如,对于Java程序员来说,要了解Java语言的基本概念和核心特性,包括面向对象编程、集合框架、异常处理、多线程等等。可以通过阅读Java的官方文档、教程、参考书籍或在线资源来学习。

如果最基本的基础都不扎实,就不要谈什么提升技术啦。 比如说:

  • 你知道HashMap和ConcurrentHashMap的区别嘛?
  • 在什么时候使用ConcurrentHashMap?操作文件的时候
  • 你知道在finally块中释放资源嘛?
  • 你知道在哪些场景适合用泛型嘛?

因此,要提升自身技术,首先就是要把基础打扎实。 有些小伙伴说,上班没时间学基础呀,其实不是这样的,基础这玩意,每天地铁上下班看看,下班后回到家在看看,周末在家看看,多点写写代码,一般一两个月,你的基础就很好啦。

又有些小伙伴说,如何提升Java基础呢? 可以:

  • 阅读Java相关书籍或教程,如Java编程思想、Java核心技术、Java虚拟机、菜鸟教程等
  • 阅读Java博客和社区参与讨论:关注Java领域的博客、论坛和社区,了解最新的技术动态和解决方案,与其他开发者交流。
  • 多实践,多敲代码:在B站找个Java基础视频看,平时多实践、多敲代码

2. 熟悉掌握常用的开发工具

工欲善其事,必先利其器. 所以一位好的程序员,往往编码效率就更高。而提升编码效率,一般要求熟悉并灵活应用工具.比如Eclipse、IntelliJ IDEA、Maven、Navicat等。熟悉运用这些工具,可以提高开发效率。

我举个例子,比如你熟悉掌握IntelliJ IDEA的快捷键,三两下就把实体类的setter和getter方法生成了,而有些的程序员,还在一行一行慢慢敲。。

3. 日常工作中,总结你踩过的坑

优秀的程序员,之所以优秀,是因为他会总结踩过的坑,避免重蹈覆辙。所以,田螺哥建议你,日常开发中,如果你踩了哪些坑,就需要总结下来.茶余饭后,再温习温习.

比如,你知道:

  • Redis分布式锁使用,可能会有哪些坑嘛?
  • 线程池使用有哪些坑?
  • Java日期处理又又哪些坑嘛?
  • Arrays.asList使用可能有哪些坑?

如果一时间忘记的话,可以看下我以前的这些文章:

  • 细数线程池的10个坑
  • Redis分布式锁的10个坑
  • Java日常开发的21个坑,你踩过几个?
  • 程序员必备:Java日期处理的十个坑

这些都是我工作总结出来的,也希望你们日常开发中,遇到哪些坑,都总结下来哈。

4.工作中,阅读你项目优秀的代码和设计文档

孔子说,三人行,必有我师。大家平时在看代码的时候,不要总吐槽着项目的烂代码。其实,可以多点关注写得优秀的代码,然后看懂别人为什么这些写,仿造着来写。

当然,一些好的设计文档也是:人家为什么这么设计,好处在哪里,不足又在哪里,如果是你来设计,你如何思考等等。把好的设计,读懂后,记录下来,变成自己的知识.

5.日常工作中,总结一些通用的技术方案.

在日常工作中呢,注意整理一些通用的技术方案。

比如幂等设计、分布式锁如何设计、分布式事务设计、接口优化、限流设计、分库分表设计、深分页问题解决等等. 大家可以看下我之前的一些通用方案设计的文章哈:

  • 后端思想篇:设计好接口的36个锦囊!
  • 我们为什么要分库分表?
  • 面试必备:聊聊分布式锁的多种实现!
  • 聊聊幂等设计
  • 实战!聊聊如何解决MySQL深分页问题

当然,田螺哥也建议你,日常开发中,把自己遇到的一些通用设计方案总结下来,熟悉掌握这些通用技术方案。

6.参与技术讨论,积极技术分享

参与技术讨论和交流,可以有助于你与其他Java开发者分享经验、解决问题和学习新知识。进行技术分享,可以加深自己的理解、建立专业声誉、促进个人成长、为技术社区做贡献等等。

比如你做需求遇到的一些难题,都可以跟有经验的同事、或者技术leader讨论讨论。一些常见的难题,讨论完可以记录下来,然后做技术分享

7. 主人翁意识,积极攻克项目的难题

作为一名开发工程师,具备主人翁意识并积极攻克项目的难题,是非常重要的。遇到项目中的比较棘手问题时,先不管是谁的问题,我们都要持有主人翁意识,积极主动地找到解决方案并采取行动。

而在技术找解决方案的过程,我们也就成长了。当攻克问题后,你也获得领导的认可,好绩效不远了,一举多得

8. 思考项目中,哪些可以提升效率

日常开发中,几乎大多数程序员都是在进行增删改查。如何如何避免自己成为平凡的增删改查程序员呢。

我觉得可以这样做:平时工作中,思考项目中,有哪些可以提升的效率。包括熟悉开发工具、掌握适当的调试技巧、熟悉常用框架、持续学习和关注技术发展等等。

比如:

  • 好的的debug调试技巧,可以让你快速找到问题
  • 再比如一个插件easyyapi可以一键让你快速生成yapi接口文档,而不用一个一个字段手工敲接口文档。

当然,日常开发中,还有很多可以提升效率的技巧/工具,等待我们去发现

9. 熟悉你的业务,让自己不容易被替代

我们普通程序员,多数都是做业务的。一般工作个五年以上,水平差不了太多。如何避免自己被淘汰呢?我个人建议是,尽量做到熟悉你们做的业务,让你变得不容易被替代。

10. 多看看你的系统,可能存在哪些问题,如接口耗时、慢SQL等等

一般的系统,多多少少都有些问题。比如接口耗时过长、慢SQL、fullGC频繁等等。

首先需要掌握这些技能,比如如何优化接口,如何优化慢SQl、fullGC如何排查等等。大家可以看下这几篇文章哈:

  • 实战总结!18种接口优化方案的总结
  • 盘点MySQL慢查询的12个原因
  • SQL优化思路+经典案例分析
  • JAVA线上故障排查全家桶
  • 线上服务的FGC问题排查,看这篇就够了!

11. 学以致用,将理论知识应用到实际项目中

很多小伙伴说,看过很多计算机相关的书,阅读过很多博客,背了很多八股文,依然做不好一个系统。

我觉得,大家可以多点思考,把平时积累的东西,应用到实际项目中。背八股文不是没用,你可以把它应用到实际开发中的。比如说,你看了田螺哥的文章,IO模型详解

这个表面看起来就是一个常见的八股文知识点,工作中似乎没用到。但是我在工作中,就用到这种类似的异步思想

比如发起一笔批量转账,但是批量转账处理比较耗时,这时候后端可以先告知前端转账提交成功,等到结果处理完,再通知前端结果即可。

再比如,你看完田螺哥的:MySQL索引15连问,抗住!,你是不是可以回头看看,你的系统中,那些sql的索引加的是否合理呢?是不是可以思考一下如何优化,对吧。因此,就是要学以致用

12. 阅读一些优秀框架的源码,如spring、rockectMq等等

如果你有空余的时间,就建议你看看一些优化框架的源码,比如spring、rockectMq等等。

对于spring源码的话,可以按模块来呀,比如aop,控制反转,spring事务等,你先写个demo,然后debug跟踪流程,通过调试器逐步跟踪源码执行过程,观察各个方法的调用关系和数据变化。最好是结合电子书一起,如(Spring源码深度解析这本书一起)

优秀框架的源码,我们可以学习到很多编码思想的,加油。

13. 多编码,少偷懒,养成编程的好习惯

作为程序员,一定要多打代码,不要偷懒,代码敲多了,你就会了。还有就是,少点偷懒,坚持!努力!养成热爱编程的好习惯


http://www.ppmy.cn/news/314625.html

相关文章

RabbitMQ入门案例之Direct模式

前言 RabbitMQ的Direct模式是一种可以根据指定路由key,Exchang将消息发送到具有该路由key下的Queue下进行存储。也就类似于将数据写进指定数据库表中。这个路由Key可以类比为SQL语句中的:where routeKey … 官方文档地址:https://www.rabbi…

《关于解决发布地图全幅显示方案》

《关于解决发布地图全幅显示方案》 我刚开始做gis项目时候,遇到这种问题,什么问题呢,就是有些发布完地图后,打开服务器时发现自己的刚发布的地图是不是变小或者这样说不在中心点显示地图,这时候,你就要打开…

unity图片`fillAmount`填充方法

前言 在Unity中,Image是一种用于显示2D图像的组件,而fillAmount属性则是Image组件中一个非常常用的属性之一,用于控制图片填充的比例。在这篇文章中,我们将会介绍fillAmount属性的详细用法。 介绍 fillAmount属性是Image组件中…

Unet项目解析(6): 图像分块、整合 / 数据对齐、网络输出转成图像

项目GitHub主页:https://github.com/orobix/retina-unet 参考论文:Retina blood vessel segmentation with a convolution neural network (U-net) 1. 训练数据 1.1 训练图像、训练金标准随机分块 主代码: # 训练集太少,采用分…

openmv学习之旅②之色块追踪算法的改善

大家好,我是杰杰。 实在不好意思,最近比较忙,之前说的连载现在才更新出来。 从上一篇openmv的学习中openmv学习之旅①我们可以很简单运用micropython在openmv上做我们想做的事情。 Python这个东西用起来是很简单的,,…

诺基亚智能手机与NFC功能推出

诺基亚智能手机与NFC功能推出 我收到了我长达十年的朋友威乐Makinnen谁出席推出三款全新的诺基亚智能手机分别是700,701和600 8月24日其在Symbian上运行的所有代号为百丽的电话。诺基亚700仅重96gm,并在110 X 50.7点x9.7毫米它不仅是诺基亚在塞班范围最小巧的智能手…

诺基亚X3兴奋

诺基亚X3兴奋 多年来,诺基亚一直被认为是产生对高端品质和用户友好的移动电话的领先的手机制​​造商。对于每一个诺基亚洁具你会购买,你会放心的无与伦比的质量和功能。 的宗旨,以填补客户的需求越多,诺基亚已经推出了另一种手机…

应用层下的人脸识别(一):图像获取

本文为大家总结了人脸识别技术在安防领域应用的完整流程,以及产品设计的细节。其中包括:如何获取最佳图像,如何进行设备对接等经验。 图像获取是人脸识别的第一步,人脸识别项目中图像来源主要依靠各类监控相机,图像质量…