应用的“幕后黑手”:后端开发 | 互联网数字商业团队构成
Posted 和友会
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应用的“幕后黑手”:后端开发 | 互联网数字商业团队构成相关的知识,希望对你有一定的参考价值。
什么是后端开发?
软件应用程序就像冰山一样。
用户看到的只是应用程序的一部分,在大多数情况下,应用程序的最大部分是看不到的。这就是令人难以捉摸又神秘的“后端”。
在Web开发的篇章中,我们主要讨论Web开发,因为它涉及与最终用户的直接互动——我们可以称之为“前端Web开发”。
在大多数应用中,非用户接口代码比用户接口代码多得多。复杂系统是在后台发生的各种使其工作的逻辑。
我们需要存储和检索数据,需要遵循业务逻辑和规则,并且需要对结果进行预测。所有这一切都发生在幕后。
后端开发人员是这样的开发人员。
后端开发人员做什么?
根据正在处理的应用程序的大小和范围,后端开发人员要做的事情有很大的不同。
一个后端开发人员,会做了很多工作,工作于应用程序中的业务逻辑,以及从前端提取和检索数据。
在Web开发世界中,大多数后端开发人员从事于构建他们正在工作的应用程序背后的实际逻辑。
通常,前端开发人员构建用户界面,而后端开发人员编写代码,使其工作。
例如,前端开发人员在应用程序中创建一个界面,上面有一个按钮,按下按钮来获取客户的数据。
后端开发人员写可使得按钮工作的代码,通过指出从数据库中提取哪些数据并将其传回到前端(并最终显示在那里)。
后端开发人员也可能会大量参与系统架构,决定如何组织系统的逻辑,以便能够正常维护和运行。
他可能会参与构建框架或系统架构,以便于更容易编写程序。后端开发人员比前端开发人员花费更多的时间在实现算法和解决问题上。
后端开发工作就像一个挑战。
这并不是说前端开发人员不解决难题,但通常前端开发工作更多的是关于创建用户界面和与之相关的内容,而不是实现实际的业务逻辑,使应用程序工作。
完整后端开发流程
所有的bug修复都要回归落地到细节,所有的设计也要回归落地到细节,所以,不浮躁,不着急,重视细节;这样的流程就是省时间的。
不仅仅要关注功能实现,也要考虑代码架构灵活性,健壮性,可维护性等等;
做事要抓住核心,无论是做架构设计,还是做自测等等;
做事不能把需求当做上帝,作为一个项目参与者,你要信奉的是的逻辑,符合用户使用的逻辑,要有自己的逻辑思考和批判精神;这是活力和成长的来源。
工欲善其事必先利其器:把编辑器字体,把ssh客户端字体等等设置舒服的,不断挖掘它们最好的,做到提升效率。
✧1.架构概要设计
多个应用之间的调用怎么做?
什么情况使用什么技术,依据是什么?
网络调用,超时时间怎么设置,设置多少合适,怎么做容错?
数据结构如何设计,数据怎么存储;后面要考虑数据备份,数据量大的情况做sharding等,还有一致性问题等……
单个应用中的处理流程怎么写?
设计模式:知道什么场景需要用什么设计模式?
这些都是需要考虑进去的。
比如,需要创建单例,就用单例+工厂方法模式。
需要模板,就用模板方法。
需要观察就用观察者模式。
需要生产消费,就用生产者消费者模式。
✧2.日志
应用日志打印,耗时统计。
✧3.异常
单个应用的异常处理,保证健壮性。
✧4.配置化
JVM启动配置化,能够做到不需要打包,直接读取配置重启即可等。
✧5.测试
测试要抓住核心进行测试,如果僻重就轻,那么测试的意义就没有那么大了。
工欲善其事必先利其器;要学会Idea的高级调试技巧等。
这个非常重要,可以提高效率,也可以让你调试更精准;要不断挖掘idea开发工具的提供的特性,提升你调试和开发效率。
单元测试,集成自测等,mock测试,造数据等;
修改bug不是仅仅为了解决功能,也要考虑代码的可扩展,可维护等等。
✧6.优化
编写施压代码,进行压测,分析jvm的gc,机器的内存,cpu,网络带宽占用,查看网络连接状态。
✧7. 心情
解决bug时,要心平气和,要冷静分析,要各个击破,逐个解决,不要急。
✧8.netty和lucene
以上是关于应用的“幕后黑手”:后端开发 | 互联网数字商业团队构成的主要内容,如果未能解决你的问题,请参考以下文章