|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/fundamentals-of-networking-for-effective-backend-design/
课程评论:没有评论
课程名称:网络工程基础 课程概述:在软件工程的新时代中,我们越来越依赖库和框架来完成大部分工作。虽然这节省了大量的开发时间,但也导致了抽象层的泄漏,从而引发性能下降、意外错误、CPU 100% 使用、网络和磁盘过载、挂起、延迟等问题。当工程师对他们所接触的基础构建块缺乏理解时,就会变得难以清晰地表达后端出现的问题以及如何解决它。网络通信是后端工程中至关重要的一部分,而 TCP/IP 互联网协议族则是连接前端和后端的基本通信构件。我们使用的任何协议最终都会被封装成 TCP 段或 UDP 数据报。这些数据包被包裹在 IP 包中,并放在帧内通过网络发送。了解这些层次对于后端工程师至关重要,以便优化堆栈、最小化延迟并提高吞吐量。真正理解这些组成部分,而不仅仅是记忆定义和数据包头,以通过考试,是课程的核心目标。如果工程师真正理解他们的后端 API 接收到 HTTP POST 请求时发生了什么,他们将会惊讶于背后发生的复杂过程。他们的后端 API 设计思路将会完全改变,能够选择最合适的协议并对其进行最大化调优。他们会开始提出其他人不曾关注的问题,这些问题能够帮助他们充分利用框架的潜力。 本课程主要面向构建应用程序、服务或 API 的后端工程师,希望将技能提升到更高水平。如果您是对后端感兴趣的前端工程师,并且之前尝试构建过后端应用程序,这门课程也适合您。如果您是已经了解基本知识的网络工程师,并希望有效构建后端应用程序,这门课程也能帮助您弥合差距。但本课程并不适合希望通过网络认证考试(如 CCNA、CCNP、CCIE 等)的人士。
We are entering an era in software engineering where we rely on libraries and frameworks to do most of our work. While this is useful and save tremendous dev hours, it creates leaky abstractions that manifest in form of performance degradation, unexpected errors, 100% CPU , network and disk usage, hangs, latency and many other. It becomes difficult to articulate what goes wrong on the backend and how to fix it when engineers don't understand the basic building block of what they are interacting with. Network communication is one of the most critical pieces in backend engineering. And the TCP/IP Internet suite is the basic fundemntal building block of communications that link the frontend to the backend. Any protocol we use eventually gets encapsulated into either a TCP segment or UDP datagram. That packet is wrapped in an IP packet which is placed into a frame and then sent across the network. These layers are important to understand for backend engineers in order to optimize the stack, minimize latency, and increase throughput. What matters is the true understanding of these pieces and not just memorizing definitions and packet headers to pass an exam. If an engineer truly understood what is happening when their backend API receives an HTTP POST request for example, they will be astonished at how much is happening behind the scenes. They would completely change the way they approach backend API designs, they will try to select the best protocol for the job, and they will tune that protocol to its maximum potential. They will start asking questions about frameworks and libraries that nobody else does. It is those questions that will make them fully utilize those framework to their maximum potential. This course is primarily designed for backend engineers who built applications, services or APIs and want to take their skillset to the next level. If you are a frontend engineer who are interested in the backend and have attempted to build backend apps before this course is also for you. If you are a network engineer who already know the basic fundamentals and want to start building backend applications effectively this course might help you bridge the gapThis course is not designed for those who want to pass network certification tests (CCNA, CCNP, CCIE etc..)