java开发技术栈如何选型
前言
2023泰山景区门票免费政策是从1月21日到3月31,今天4.1起不再免费啦,泰山的人、山和系统终于平安的渡劫过去!
洪峰时疯狂的抢票、各类攻击,分销MT两次凌晨抗洪事件,我及其我的团队又一次得到历练。 此处插个广告,有需要景区票务系统的可联系我,业务推荐有重礼!
今天也终于可以小歇息下了,周末得点空,继续我的技术分享,上篇分享了《java开发主流技术都有哪些?》
面对这么多的技术,你可能是技术总监、可能是高级工程师,也可能是刚入坑的小白...站在公司的位置不同,从事的内容不同,又该如何的取舍选择?
1. 如何选择线上用的
-
开源免费低成本,满足业务需求下,设备、人员、技术和运维等各项成本
能低则低
-
选择近几年主流的、成熟的、稳定的产品,性能与可靠性一般差不了
-
业务所处发展阶段(初创期、高速发展期和成熟期),在初创发展期,不易选过大、过重的(新)技术,否则响应变化会慢很多
-
分析自己团队技术人员的数量、实力和意愿,能否hold主。每个技术或产品都有他适合的场景,同时也有它负面的问题,既有学习成本,也有使用成本。
-
追求稳定是第一目标,假若追新,技术债迟早是要还的
总之:先明确清楚业务所处的发展阶段,要解决什么问题,需要什么样的功能支持,然后分析主流技术/产品的优缺点,匹配选出合适的。在满足业务场景需求的前提下,遵循“能小则小”原则,优先选用开箱即用的、轻量级的。
备注:对于处在java编码阶段的人来说,匹配公司岗位、价值需要,夯实java+框架+数据库,先深度磨练、成为匠人后,再横向发展。
2. 做好技术预研
摘自 小公司需要使用微服务架构吗? (九卷) 四大门派
-
跟风派
-
大环境下,都在宣扬,微服务这 3 个字时不时的出现在眼前,如果自家公司技术不进行微服务的升级改造,技术就会落后于它们,对技术产生焦虑感。
-
完全没有考虑自家业务发展情况,反正别家公司都是这么做的,我也要这么做。
-
追新派
在出现新的技术时,就想着在自家业务上对新技术实践一番,以此体验新的技术给他们带来的一种“技术快感”。
对于个人而言,这是一种“活到老,学到老”的积极学习态度,是值得大加提倡。
对于公司而言,需要考虑的情况比较复杂,至少有以下 3 点: -
新技术出现的相关背景
-
新技术有哪些特性
-
公司现阶段业务有哪些问题?新技术真的能解决这些问题吗?
这种喜欢新技术的人,可以做公司技术预研,为将来遇到合适的业务应用这种技术打好基础。
-
简历派
卷,招大用小,好多招聘 java 开发的,都写着一个技能要求,熟悉 springcloud 并使用。
面经需要,一些人尝试使用微服务架构,为一下次跳槽做好准备
于公司则需要三思而行,公司是否真的需要,若真用这样的人才,可能会留下一堆乱摊子 -
革新派
代码腐化、逻辑交织、维护性变差、可扩展性变差等等问题,进行动刀手术或重构时,考虑使用新的技术
3. 个人感悟
新技术不是银弹,通常都是闪光弹,闪瞎你的双眼!
新和旧都是相对的,相对于我们的业务需要,相对于的我们团队、人员的熟知度。
4.联系,交流、共同成长
下两篇分享下《如何学新技术》,《如何请教问题》
最后,既然现在的我从事于运维工作,就给大家分享个有用的,一个适用于企业内部 CentOS7 系列服务器初始化、符合等保测评的系统安全加固的shell脚本
# @Author: liyanjing,@E-mail: 284223249@qq.com, @wechat: Sd-LiYanJing
# @CreateTime: 2022-10-18 10:30 , @Last ModifiedTime: 2022-12-03 13:50
# @Github: https://github.com/919927181/linux-initialization.git