蓦然回首,毕业已经十年了,现在一直在做后台开发。经历,和很多志同道合的朋友。但仔细一想,这十年,我至少在码农这条路上浪费了五年。这五年足以让我成长为一名优秀的程序员。不幸的是,我错过了。这五年我和很多程序员一起度过。在同样的迷茫和迷茫中找不到出路!路上没有坑,走的人多了,路就烂了。在大公司做事有一个特点。你只需要在工作时间内做好公司给你安排的工作,你就会做好。这意味着每个人都是螺丝钉。所以,我进入大公司后,由于自己经验不足,加上毕业后在大公司当领导,有点心慌,没能安下心来学技术,就浪费了一些时间。后来在和一位在贝尔实验室(上海)工作的研究生同学的交流中,我认真体会到,作为一名程序员,除了做公司安排的工作外,只为自己“活着”,而“活着”的是一个程序员”应该体现在我对技术的追求和对源代码的执着上。虽然我经常和身边的朋友交流我的编程生涯,但只有这次交流才真正影响了我的编程生活。回想起来,影响程序员明天困境的是往往我们口口声声说的那些小事,那些源码、框架、实战、造轮子、开源,这些都需要我们自己一行一行的代码去解决,今天我就为大家梳理一下最互联网公司Java背景主流技术选型一、阅读源码程序员每天都在和代码打交道,经过多年的基础教育和职业培训,大部分程序员都能“写”出代码,或者至少会copy并修改它。但是能看懂代码的人并不多,能看懂代码真正看懂一些大项目源码的更是少之又少。这也造成了很多看源码的方式上的错误。那么如何正确分析源码呢?我们的目标应该放在最常用的框架上。这里介绍两个:一个是Spring,一个是Mybatis,大家觉得从来都不是问题。△spring源码△mybatis源码二、分布式架构随着我们的业务量越来越大越来越重要,单一的架构模型已经不能对应大规模的应用场景,系统必须没有单点故障会造成整体故障,因此只能将业务系统垂直或水平拆分,形成分布式架构,利用分布式架构对系统进行冗余,消除单点故障,从而提高整个系统的可用性。同时,分布式系统的模块具有更高的复用性、更快的速度、更高的可扩展性,这对于大型项目来说是不可或缺的。3.微服务对微服务架构的权衡在一个合适的项目和一个合适的团队中,采用微服务架构的好处会大于成本。微服务架构有很多吸引人的地方,但在拥抱微服务之前,你也需要认识到它带来的挑战。需要避免为了“微服务”而“微服务”。微服务架构引入策略——对于传统企业来说,一开始可以考虑引入一些合适的微服务架构原则改造现有系统或创建新的微服务应用,逐步探索和积累微服务架构经验,而不是完全实施微服务架构。服务架构。4.性能调优我们不仅要对项目进行战略规划,还要解决所有的性能问题。只有深入学习JVM底层原理、Mysql底层优化和Tomcat调优,才能达到知其然、知其所以然的效果。除了性能优化,它还可以提供方案选择的一般通用思路和注意事项,帮助大家在选择方案时培养意识、思维和进行各种权衡的能力。5.开发工具工程是一种软件项目管理工具,通过一小段描述性信息来管理项目的构建、报告和文档。程序员的战斗,往往不是一个人的战斗。如何高效地在一个平台上进行去重、代码审查、功能调整、调试,统一规划,按部就班,乱堆代码。找到你自己的记录。这一切都取决于有效的工具。6、要想在互联网公司站稳脚跟,不被淹没在互联网浪潮中,项目实战是项目开发不可或缺的技能,也是衡量自身能力的尺度。多少等于s返多少。一张看似简单的项目需求图,其底层原理和实现原理你了解多少?搭建一个完整的B2C项目平台,你需要多少知识?这些都是我们需要考虑的。【本文来自专栏作者张凯涛微信公众号(凯涛的博客)公众号id:kaitao-1234567】点此查看作者更多好文
