Hands-On Software Engineering with Python

Hands-On Software Engineering with Python
Title Hands-On Software Engineering with Python PDF eBook
Author Brian Allbee
Publisher Packt Publishing Ltd
Total Pages 736
Release 2018-10-26
Genre Computers
ISBN 1788621352

Download Hands-On Software Engineering with Python Book in PDF, Epub and Kindle

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.

Research Software Engineering with Python

Research Software Engineering with Python
Title Research Software Engineering with Python PDF eBook
Author Damien Irving
Publisher CRC Press
Total Pages 528
Release 2021-08-06
Genre Computers
ISBN 1000417123

Download Research Software Engineering with Python Book in PDF, Epub and Kindle

Writing and running software is now as much a part of science as telescopes and test tubes, but most researchers are never taught how to do either well. As a result, it takes them longer to accomplish simple tasks than it should, and it is harder for them to share their work with others than it needs to be. This book introduces the concepts, tools, and skills that researchers need to get more done in less time and with less pain. Based on the practical experiences of its authors, who collectively have spent several decades teaching software skills to scientists, it covers everything graduate-level researchers need to automate their workflows, collaborate with colleagues, ensure that their results are trustworthy, and publish what they have built so that others can build on it. The book assumes only a basic knowledge of Python as a starting point, and shows readers how it, the Unix shell, Git, Make, and related tools can give them more time to focus on the research they actually want to do. Research Software Engineering with Python can be used as the main text in a one-semester course or for self-guided study. A running example shows how to organize a small research project step by step; over a hundred exercises give readers a chance to practice these skills themselves, while a glossary defining over two hundred terms will help readers find their way through the terminology. All of the material can be re-used under a Creative Commons license, and all royalties from sales of the book will be donated to The Carpentries, an organization that teaches foundational coding and data science skills to researchers worldwide.

Hands-On Enterprise Application Development with Python

Hands-On Enterprise Application Development with Python
Title Hands-On Enterprise Application Development with Python PDF eBook
Author Saurabh Badhwar
Publisher Packt Publishing Ltd
Total Pages 362
Release 2018-12-28
Genre Computers
ISBN 1789530636

Download Hands-On Enterprise Application Development with Python Book in PDF, Epub and Kindle

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 JavaScript for Python Developers

Hands-on JavaScript for Python Developers
Title Hands-on JavaScript for Python Developers PDF eBook
Author Sonyl Nagale
Publisher Packt Publishing Ltd
Total Pages 394
Release 2020-09-25
Genre Computers
ISBN 1838641041

Download Hands-on JavaScript for Python Developers Book in PDF, Epub and Kindle

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 Programming with Python

Hands on Programming with Python
Title Hands on Programming with Python PDF eBook
Author Jose María Alvarez Rodríguez
Publisher
Total Pages 436
Release 2020-07
Genre
ISBN

Download Hands on Programming with Python Book in PDF, Epub and Kindle

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 Reactive Programming with Python

Hands-On Reactive Programming with Python
Title Hands-On Reactive Programming with Python PDF eBook
Author Romain Picard
Publisher Packt Publishing Ltd
Total Pages 411
Release 2018-10-25
Genre Computers
ISBN 1789132754

Download Hands-On Reactive Programming with Python Book in PDF, Epub and Kindle

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 Software Engineering with Golang

Hands-On Software Engineering with Golang
Title Hands-On Software Engineering with Golang PDF eBook
Author Achilleas Anagnostopoulos
Publisher Packt Publishing Ltd
Total Pages 625
Release 2020-01-24
Genre Computers
ISBN 1838550240

Download Hands-On Software Engineering with Golang Book in PDF, Epub and Kindle

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.