Hands-On Software Engineering with Python

Hands-On Software Engineering with Python PDF Author: Brian Allbee
Publisher: Packt Publishing Ltd
ISBN: 1788621352
Category : Computers
Languages : en
Pages : 736

Get Book

Book Description
Explore various verticals in software engineering through high-end systems using Python Key FeaturesMaster the tools and techniques used in software engineeringEvaluates available database options and selects one for the final Central Office system-componentsExperience the iterations software go through and craft enterprise-grade systemsBook Description Software Engineering is about more than just writing code—it includes a host of soft skills that apply to almost any development effort, no matter what the language, development methodology, or scope of the project. Being a senior developer all but requires awareness of how those skills, along with their expected technical counterparts, mesh together through a project's life cycle. This book walks you through that discovery by going over the entire life cycle of a multi-tier system and its related software projects. You'll see what happens before any development takes place, and what impact the decisions and designs made at each step have on the development process. The development of the entire project, over the course of several iterations based on real-world Agile iterations, will be executed, sometimes starting from nothing, in one of the fastest growing languages in the world—Python. Application of practices in Python will be laid out, along with a number of Python-specific capabilities that are often overlooked. Finally, the book will implement a high-performance computing solution, from first principles through complete foundation. What you will learnUnderstand what happens over the course of a system's life (SDLC)Establish what to expect from the pre-development life cycle stepsFind out how the development-specific phases of the SDLC affect developmentUncover what a real-world development process might be like, in an Agile wayFind out how to do more than just write the codeIdentify the existence of project-independent best practices and how to use themFind out how to design and implement a high-performance computing processWho this book is for Hands-On Software Engineering with Python is for you if you are a developer having basic understanding of programming and its paradigms and want to skill up as a senior programmer. It is assumed that you have basic Python knowledge.

Hands-On Software Engineering with Python

Hands-On Software Engineering with Python PDF Author: Brian Allbee
Publisher: Packt Publishing Ltd
ISBN: 1788621352
Category : Computers
Languages : en
Pages : 736

Get Book

Book Description
Explore various verticals in software engineering through high-end systems using Python Key FeaturesMaster the tools and techniques used in software engineeringEvaluates available database options and selects one for the final Central Office system-componentsExperience the iterations software go through and craft enterprise-grade systemsBook Description Software Engineering is about more than just writing code—it includes a host of soft skills that apply to almost any development effort, no matter what the language, development methodology, or scope of the project. Being a senior developer all but requires awareness of how those skills, along with their expected technical counterparts, mesh together through a project's life cycle. This book walks you through that discovery by going over the entire life cycle of a multi-tier system and its related software projects. You'll see what happens before any development takes place, and what impact the decisions and designs made at each step have on the development process. The development of the entire project, over the course of several iterations based on real-world Agile iterations, will be executed, sometimes starting from nothing, in one of the fastest growing languages in the world—Python. Application of practices in Python will be laid out, along with a number of Python-specific capabilities that are often overlooked. Finally, the book will implement a high-performance computing solution, from first principles through complete foundation. What you will learnUnderstand what happens over the course of a system's life (SDLC)Establish what to expect from the pre-development life cycle stepsFind out how the development-specific phases of the SDLC affect developmentUncover what a real-world development process might be like, in an Agile wayFind out how to do more than just write the codeIdentify the existence of project-independent best practices and how to use themFind out how to design and implement a high-performance computing processWho this book is for Hands-On Software Engineering with Python is for you if you are a developer having basic understanding of programming and its paradigms and want to skill up as a senior programmer. It is assumed that you have basic Python knowledge.

Hands-On Enterprise Application Development with Python

Hands-On Enterprise Application Development with Python PDF Author: Saurabh Badhwar
Publisher: Packt Publishing Ltd
ISBN: 1789530636
Category : Computers
Languages : en
Pages : 362

Get Book

Book Description
Architect scalable, reliable, and maintainable applications for enterprises with Python Key FeaturesExplore various Python design patterns used for enterprise software developmentApply best practices for testing and performance optimization to build stable applicationsLearn about different attacking strategies used on enterprise applications and how to avoid themBook Description 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. What you will learnUnderstand the purpose of design patterns and their impact on application lifecycleBuild applications that can handle large amounts of data-intensive operationsUncover advanced concurrency techniques and discover how to handle a large number of requests in productionOptimize frontends to improve the client-side experience of your applicationEffective testing and performance profiling techniques to detect issues in applications early in the development cycleBuild applications with a focus on securityImplement large applications as microservices to improve scalabilityWho this book is for If you’re a developer who wants to build enterprise-grade applications, this book is for you. Basic to intermediate-level of programming experience with Python and database systems is required to understand the concepts covered in this book.

Hands on Programming with Python

Hands on Programming with Python PDF Author: Jose María Alvarez Rodríguez
Publisher:
ISBN:
Category :
Languages : en
Pages : 436

Get Book

Book Description
In this book, programming concepts are theoretically introduced and explained. Then, their application is presented in the context of a programming language (Python) to finally introduce examples of use. The learning methodology is based on a four-stage method (problem statement, concept, Python implementation and examples of use) helping to solve the 5 W's + How questions when learning a new programming language from scratch. In terms of learning methodology, the first ten chapters corresponds to the theoretical concepts that are complemented with more than 200 examples and exercises in the Lab-x chapters. Furthermore, all contents are also publicly available as Jupyter notebooks and other complementary materials such as Kahoot! Quizzes have also been designed to establish an active learning methodology encouraging a blended and self-paced learning process.

Hands-on JavaScript for Python Developers

Hands-on JavaScript for Python Developers PDF Author: Sonyl Nagale
Publisher: Packt Publishing Ltd
ISBN: 1838641041
Category : Computers
Languages : en
Pages : 394

Get Book

Book Description
Build robust full-stack web applications using two of the world's most popular programming languages Python and JavaScript Key FeaturesDiscover similarities and differences between JavaScript and Python coding conventionsExplore frontend web concepts, UI/UX techniques, and JavaScript frameworks to enhance your web development skillsPut your JS knowledge into practice by developing a full-stack web app with React and ExpressBook Description Knowledge of Python is a great foundation for learning other languages. This book will help you advance in your software engineering career by leveraging your Python programming skills to learn JavaScript and apply its unique features not only for frontend web development but also for streamlining work on the backend. Starting with the basics of JavaScript, you'll cover its syntax, its use in the browser, and its frameworks and libraries. From working with user interactions and ingesting data from APIs through to creating APIs with Node.js, this book will help you get up and running with JavaScript using hands-on exercises, code snippets, and detailed descriptions of JavaScript implementation and benefits. To understand the use of JavaScript in the backend, you'll explore Node.js and discover how it communicates with databases. As you advance, you'll get to grips with creating your own RESTful APIs and connecting the frontend and backend for holistic full-stack development knowledge. By the end of this Python JavaScript book, you'll have the knowledge you need to write full-fledged web applications from start to finish. You'll have also gained hands-on experience of working through several projects, which will help you advance in your career as a JavaScript developer. What you will learnDiscover the differences between Python and JavaScript at both the syntactical and semantical levelBecome well versed in implementing JavaScript in the frontend as well as the backendUnderstand the separation of concerns while using Python programming for server-side developmentGet to grips with frontend web development tasks, including UI/UX design, form validation, animations, and much moreCreate modern interaction interfaces for your Python web applicationExplore modern web technologies and libraries for building full-stack applicationsWho this book is for This book is for experienced Python programmers who are looking to expand their knowledge of frontend and backend web development with JavaScript. An understanding of data types, functions, and scope is necessary to get to grips with the concepts covered in the book. Familiarity with HTML and CSS, Document Object Model (DOM), and Flask or Django will help you to learn JavaScript easily.

Hands-On Software Engineering with Golang

Hands-On Software Engineering with Golang PDF Author: Achilleas Anagnostopoulos
Publisher: Packt Publishing Ltd
ISBN: 1838550240
Category : Computers
Languages : en
Pages : 625

Get Book

Book Description
Explore software engineering methodologies, techniques, and best practices in Go programming to build easy-to-maintain software that can effortlessly scale on demand Key FeaturesApply best practices to produce lean, testable, and maintainable Go code to avoid accumulating technical debtExplore Go’s built-in support for concurrency and message passing to build high-performance applicationsScale your Go programs across machines and manage their life cycle using KubernetesBook Description Over the last few years, Go has become one of the favorite languages for building scalable and distributed systems. Its opinionated design and built-in concurrency features make it easy for engineers to author code that efficiently utilizes all available CPU cores. This Golang book distills industry best practices for writing lean Go code that is easy to test and maintain, and helps you to explore its practical implementation by creating a multi-tier application called Links ‘R’ Us from scratch. You’ll be guided through all the steps involved in designing, implementing, testing, deploying, and scaling an application. Starting with a monolithic architecture, you’ll iteratively transform the project into a service-oriented architecture (SOA) that supports the efficient out-of-core processing of large link graphs. You’ll learn about various cutting-edge and advanced software engineering techniques such as building extensible data processing pipelines, designing APIs using gRPC, and running distributed graph processing algorithms at scale. Finally, you’ll learn how to compile and package your Go services using Docker and automate their deployment to a Kubernetes cluster. By the end of this book, you’ll know how to think like a professional software developer or engineer and write lean and efficient Go code. What you will learnUnderstand different stages of the software development life cycle and the role of a software engineerCreate APIs using gRPC and leverage the middleware offered by the gRPC ecosystemDiscover various approaches to managing package dependencies for your projectsBuild an end-to-end project from scratch and explore different strategies for scaling itDevelop a graph processing system and extend it to run in a distributed mannerDeploy Go services on Kubernetes and monitor their health using PrometheusWho this book is for This Golang programming book is for developers and software engineers looking to use Go to design and build scalable distributed systems effectively. Knowledge of Go programming and basic networking principles is required.

Hands-On Reactive Programming with Python

Hands-On Reactive Programming with Python PDF Author: Romain Picard
Publisher: Packt Publishing Ltd
ISBN: 1789132754
Category : Computers
Languages : en
Pages : 411

Get Book

Book Description
A comprehensive guide to help you understand the principles of Reactive and asynchronous programming and its benefits Key FeaturesExplore the advantages of Reactive programmingUse concurrency and parallelism in RxPY to build powerful reactive applicationsDeploy and scale your reactive applications using DockerBook Description Reactive programming is central to many concurrent systems, but it’s famous for its steep learning curve, which makes most developers feel like they're hitting a wall. With this book, you will get to grips with reactive programming by steadily exploring various concepts This hands-on guide gets you started with Reactive Programming (RP) in Python. You will learn abouta the principles and benefits of using RP, which can be leveraged to build powerful concurrent applications. As you progress through the chapters, you will be introduced to the paradigm of Functional and Reactive Programming (FaRP), observables and observers, and concurrency and parallelism. The book will then take you through the implementation of an audio transcoding server and introduce you to a library that helps in the writing of FaRP code. You will understand how to use third-party services and dynamically reconfigure an application. By the end of the book, you will also have learned how to deploy and scale your applications with Docker and Traefik and explore the significant potential behind the reactive streams concept, and you'll have got to grips with a comprehensive set of best practices. What you will learnStructure Python code for better readability, testing, and performanceExplore the world of event-based programmingGrasp the use of the most common operators in RxUnderstand reactive extensions beyond simple examplesMaster the art of writing reusable componentsDeploy an application on a cloud platform with Docker and TraefikWho this book is for If you are a Python developer who wants to learn Reactive programming to build powerful concurrent and asynchronous applications, this book is for you. Basic understanding of the Python language is all you need to understand the concepts covered in this book.

Hands-On GPU Programming with Python and CUDA

Hands-On GPU Programming with Python and CUDA PDF Author: Dr. Brian Tuomanen
Publisher: Packt Publishing Ltd
ISBN: 1788995228
Category : Computers
Languages : en
Pages : 300

Get Book

Book Description
Build real-world applications with Python 2.7, CUDA 9, and CUDA 10. We suggest the use of Python 2.7 over Python 3.x, since Python 2.7 has stable support across all the libraries we use in this book. Key FeaturesExpand your background in GPU programming—PyCUDA, scikit-cuda, and NsightEffectively use CUDA libraries such as cuBLAS, cuFFT, and cuSolverApply GPU programming to modern data science applicationsBook Description Hands-On GPU Programming with Python and CUDA hits the ground running: you’ll start by learning how to apply Amdahl’s Law, use a code profiler to identify bottlenecks in your Python code, and set up an appropriate GPU programming environment. You’ll then see how to “query” the GPU’s features and copy arrays of data to and from the GPU’s own memory. As you make your way through the book, you’ll launch code directly onto the GPU and write full blown GPU kernels and device functions in CUDA C. You’ll get to grips with profiling GPU code effectively and fully test and debug your code using Nsight IDE. Next, you’ll explore some of the more well-known NVIDIA libraries, such as cuFFT and cuBLAS. With a solid background in place, you will now apply your new-found knowledge to develop your very own GPU-based deep neural network from scratch. You’ll then explore advanced topics, such as warp shuffling, dynamic parallelism, and PTX assembly. In the final chapter, you’ll see some topics and applications related to GPU programming that you may wish to pursue, including AI, graphics, and blockchain. By the end of this book, you will be able to apply GPU programming to problems related to data science and high-performance computing. What you will learnLaunch GPU code directly from PythonWrite effective and efficient GPU kernels and device functionsUse libraries such as cuFFT, cuBLAS, and cuSolverDebug and profile your code with Nsight and Visual ProfilerApply GPU programming to datascience problemsBuild a GPU-based deep neuralnetwork from scratchExplore advanced GPU hardware features, such as warp shufflingWho this book is for Hands-On GPU Programming with Python and CUDA is for developers and data scientists who want to learn the basics of effective GPU programming to improve performance using Python code. You should have an understanding of first-year college or university-level engineering mathematics and physics, and have some experience with Python as well as in any C-based programming language such as C, C++, Go, or Java.

Hands-On Genetic Algorithms with Python

Hands-On Genetic Algorithms with Python PDF Author: Eyal Wirsansky
Publisher: Packt Publishing Ltd
ISBN: 1838559183
Category : Computers
Languages : en
Pages : 334

Get Book

Book Description
Explore the ever-growing world of genetic algorithms to solve search, optimization, and AI-related tasks, and improve machine learning models using Python libraries such as DEAP, scikit-learn, and NumPy Key FeaturesExplore the ins and outs of genetic algorithms with this fast-paced guideImplement tasks such as feature selection, search optimization, and cluster analysis using PythonSolve combinatorial problems, optimize functions, and enhance the performance of artificial intelligence applicationsBook Description Genetic algorithms are a family of search, optimization, and learning algorithms inspired by the principles of natural evolution. By imitating the evolutionary process, genetic algorithms can overcome hurdles encountered in traditional search algorithms and provide high-quality solutions for a variety of problems. This book will help you get to grips with a powerful yet simple approach to applying genetic algorithms to a wide range of tasks using Python, covering the latest developments in artificial intelligence. After introducing you to genetic algorithms and their principles of operation, you'll understand how they differ from traditional algorithms and what types of problems they can solve. You'll then discover how they can be applied to search and optimization problems, such as planning, scheduling, gaming, and analytics. As you advance, you'll also learn how to use genetic algorithms to improve your machine learning and deep learning models, solve reinforcement learning tasks, and perform image reconstruction. Finally, you'll cover several related technologies that can open up new possibilities for future applications. By the end of this book, you'll have hands-on experience of applying genetic algorithms in artificial intelligence as well as in numerous other domains. What you will learnUnderstand how to use state-of-the-art Python tools to create genetic algorithm-based applicationsUse genetic algorithms to optimize functions and solve planning and scheduling problemsEnhance the performance of machine learning models and optimize deep learning network architectureApply genetic algorithms to reinforcement learning tasks using OpenAI GymExplore how images can be reconstructed using a set of semi-transparent shapesDiscover other bio-inspired techniques, such as genetic programming and particle swarm optimizationWho this book is for This book is for software developers, data scientists, and AI enthusiasts who want to use genetic algorithms to carry out intelligent tasks in their applications. Working knowledge of Python and basic knowledge of mathematics and computer science will help you get the most out of this book.

Hands-On Docker for Microservices with Python

Hands-On Docker for Microservices with Python PDF Author: Jaime Buelta
Publisher: Packt Publishing Ltd
ISBN: 1838822550
Category : Computers
Languages : en
Pages : 396

Get Book

Book Description
A step-by-step guide to building microservices using Python and Docker, along with managing and orchestrating them with Kubernetes Key FeaturesLearn to use Docker containers to create, operate, and deploy your microservicesCreate workflows to manage independent deployments on coordinating services using CI and GitOps through GitHub, Travis CI, and FluxDevelop a REST microservice in Python using the Flask framework and Postgres databaseBook Description Microservices architecture helps create complex systems with multiple, interconnected services that can be maintained by independent teams working in parallel. This book guides you on how to develop these complex systems with the help of containers. You’ll start by learning to design an efficient strategy for migrating a legacy monolithic system to microservices. You’ll build a RESTful microservice with Python and learn how to encapsulate the code for the services into a container using Docker. While developing the services, you’ll understand how to use tools such as GitHub and Travis CI to ensure continuous delivery (CD) and continuous integration (CI). As the systems become complex and grow in size, you’ll be introduced to Kubernetes and explore how to orchestrate a system of containers while managing multiple services. Next, you’ll configure Kubernetes clusters for production-ready environments and secure them for reliable deployments. In the concluding chapters, you’ll learn how to detect and debug critical problems with the help of logs and metrics. Finally, you’ll discover a variety of strategies for working with multiple teams dealing with different microservices for effective collaboration. By the end of this book, you’ll be able to build production-grade microservices as well as orchestrate a complex system of services using containers. What you will learnDiscover how to design, test, and operate scalable microservicesCoordinate and deploy different services using KubernetesUse Docker to construct scalable and manageable applications with microservicesUnderstand how to monitor a complete system to ensure early detection of problemsBecome well versed with migrating from an existing monolithic system to a microservice oneUse load balancing to ensure seamless operation between the old monolith and the new serviceWho this book is for This book is for developers, engineers, or software architects who are trying to move away from traditional approaches for building complex multi-service systems by adopting microservices and containers. Although familiarity with Python programming is assumed, no prior knowledge of Docker is required.

Learn Web Development with Python

Learn Web Development with Python PDF Author: Fabrizio Romano
Publisher: Packt Publishing Ltd
ISBN: 1789950880
Category : Computers
Languages : en
Pages : 779

Get Book

Book Description
A comprehensive guide to Python programming for web development using the most popular Python web framework - Django Key FeaturesLearn the fundamentals of programming with Python and building web appsBuild web applications from scratch with DjangoCreate real-world RESTful web services with the latest Django frameworkBook Description If you want to develop complete Python web apps with Django, this Learning Path is for you. It will walk you through Python programming techniques and guide you in implementing them when creating 4 professional Django projects, teaching you how to solve common problems and develop RESTful web services with Django and Python. You will learn how to build a blog application, a social image bookmarking website, an online shop, and an e-learning platform. Learn Web Development with Python will get you started with Python programming techniques, show you how to enhance your applications with AJAX, create RESTful APIs, and set up a production environment for your Django projects. Last but not least, you’ll learn the best practices for creating real-world applications. By the end of this Learning Path, you will have a full understanding of how Django works and how to use it to build web applications from scratch. This Learning Path includes content from the following Packt products: Learn Python Programming by Fabrizio RomanoDjango RESTful Web Services by Gastón C. HillarDjango Design Patterns and Best Practices by Arun RavindranWhat you will learnExplore the fundamentals of Python programming with interactive projectsGrasp essential coding concepts along with the basics of data structures and control flowDevelop RESTful APIs from scratch with Django and the Django REST FrameworkCreate automated tests for RESTful web servicesDebug, test, and profile RESTful web services with Django and the Django REST FrameworkUse Django with other technologies such as Redis and CeleryWho this book is for If you have little experience in coding or Python and want to learn how to build full-fledged web apps, this Learning Path is for you. No prior experience with RESTful web services, Python, or Django is required, but basic Python programming experience is needed to understand the concepts covered.