Book Image

Hands-On Enterprise Application Development with Python

By : Saurabh Badhwar
Book Image

Hands-On Enterprise Application Development with Python

By: Saurabh Badhwar

Overview of this book

Dynamically typed languages like Python are continuously improving. With the addition of exciting new features and a wide selection of modern libraries and frameworks, Python has emerged as an ideal language for developing enterprise applications. Hands-On Enterprise Application Development with Python will show you how to build effective applications that are stable, secure, and easily scalable. The book is a detailed guide to building an end-to-end enterprise-grade application in Python. You will learn how to effectively implement Python features and design patterns that will positively impact your application lifecycle. The book also covers advanced concurrency techniques that will help you build a RESTful application with an optimized frontend. Given that security and stability are the foundation for an enterprise application, you’ll be trained on effective testing, performance analysis, and security practices, and understand how to embed them in your codebase during the initial phase. You’ll also be guided in how to move on from a monolithic architecture to one that is service oriented, leveraging microservices and serverless deployment techniques. By the end of the book, you will have become proficient at building efficient enterprise applications in Python.
Table of Contents (24 chapters)
Title Page
Copyright and Credits
About Packt
Contributors
Preface
Index

Understanding lazy loading versus eager loading


When we make a query to load the data from a database, there is a huge possibility that this operation might define the response time of the applications we build. This happens mainly when there is a lot of data that needs to be loaded and the application waits on the database to return all those rows and columns back to it.

Such operations may take some time, ranging from a few milliseconds to more than 10 seconds, depending on how much data is being queried from the database. The question here is, can we optimize this to improve the response times of our application?

The answer to this lies in the use of SQL relationships and ORM layer loading techniques. While relationships can help us to define how the two models relate to each other, loading techniques define how relationships are retrieved by the ORM. When a lot of data needs to be loaded, this can prove to be of great help, by not only providing a mechanism through which we can defer the...