程序员的“成长”心得,看完你会回来谢我
自我介绍一下,本人以前是.net程序员,去年下半年负责把项目从.net转到java,并且有跨机房迁移,亿级访问量,app服务端项目。
自我吐槽一下,工作了8年了,没有成为架构师,也没有进入管理层,没有成为技术大师,也没能成为分享大师。一直在做业务,并在这条路上越走越远。有的时候觉得很尴尬,但又有的时候觉得还蛮适合自己,下面开始干货:
一. 技术选型开发语言:java,go,php,nodejs
如开头所说,本人之前是C#程序员,C#的语法精妙,逆天的ide,.net版本更新较快,快到我都不记得最新的版本号了。那么多新特性,如果服务器上安装的始终都是.net3.5 对我们来说又有什么用呢。
开始是很抵触java的,断断续续学了好多次也没投入使用,这次必须要上了。不得不说,这么多年了,java一直在增长,稳定,成熟,几乎能解决所有问题,而且性能也不差。这大半年下来,java的水真的好深,异步、并行等等,还没接触过的好多好多。go的好处就不说了,在学习,如果喜欢又觉得能拿捏的住,就上吧(哈,肯定不会像说的那么轻松)。nodejs做前端太方便,也有人用来做服务端接口层。php做前端页面,就像服务端用java一样,万金油,成熟,稳定,用的人多,资料也多。总之一句话,没有最好的,只有最适合的!选java是因为 我们后端的很多微服务也是用java开发的,方便调用。还有就是,不用java还能用啥。存储:mysql, mongodb, redis当分库都不能解决问题的时候,分表就格外重要,有一种无限扩展的感觉。之前用的oracle,只分库,没有分表,hold不住了。存储的类型还是尽量越少越好,redis做缓存一般是绕不过去,都要用的。团队里有很多人排斥mongodb,就不说具体原因了,redis能搞定的事情,就不要用mongodb了。还是那句话,没有最好,只有适合,把相应的数据放到最适合的存储里。mq: rabbitmq,activemq你肯定会用到mq的,即使现在不会,以后肯定会的。java框架:spring mvc用的人多,成熟,坑都被大家踩过了,遇到问题好查资料好解决。ibatis和struts在我们的项目中没有用到。
二. 源代码管理工具语言选好了,框架选好了,要开始写代码了,问题来了,写好的代码用什么管理?Git! SVN!
Git的分支真的可以解决太多问题,很强大!
SVN的tag也不错,用来做发布不错。
不管用什么工具,一定要做好规范,比如git的分支命名。时间长了分支越来越多,如果不规范一下,会乱的一团糟。
再比如分支的合并,应该怎么合并,不应该怎么合并。
分支的流程,去哪个分支提交测试,去哪个分支发布等等。
分支合并的冲突解决,一定要事先沟通好,不然代码丢失,找都不好找。
前端技术在不断更新和迭代,新的技术和框架层出不穷。大佬们都说要追求高复用、高内聚、低耦合、易拓展,大家开始忙不停蹄的学习这些概念和应用实践;后来社区开始讨论低代码、人工智能,大家好像都蛮兴奋的。
低代码强调的是开发效率,作为一个前端,其实很少人会去想如何提升研发效能这个问题,这个问题已经不局限于开发了,而是提升整个团队甚至整个公司的档次。
这里非常推荐大家试试JNPF快速开发平台,依托的就是低代码开发技术原理,因此可以改善传统开发交付周期长、二次开发难、技术门槛高的痛点。
开源