Hands-On Software Engineering with Python

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

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
Author: Saurabh Badhwar
Publisher: Packt Publishing Ltd
Total Pages: 362
Release: 2018-12-28
Genre: Computers
ISBN: 1789530636

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
Author: Sonyl Nagale
Publisher: Packt Publishing Ltd
Total Pages: 394
Release: 2020-09-25
Genre: Computers
ISBN: 1838641041

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
Author: Jose María Alvarez Rodríguez
Publisher:
Total Pages: 436
Release: 2020-07
Genre:
ISBN:

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.

Learn Python 3 the Hard Way

Learn Python 3 the Hard Way
Author: Zed A. Shaw
Publisher: Addison-Wesley Professional
Total Pages: 752
Release: 2017-06-26
Genre: Computers
ISBN: 0134693906

You Will Learn Python 3! Zed Shaw has perfected the world’s best system for learning Python 3. Follow it and you will succeed—just like the millions of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else. In Learn Python 3 the Hard Way, you’ll learn Python by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you’ll learn how a computer works; what good programs look like; and how to read, write, and think about code. Zed then teaches you even more in 5+ hours of video where he shows you how to break, fix, and debug your code—live, as he’s doing the exercises. Install a complete Python environment Organize and write code Fix and break code Basic mathematics Variables Strings and text Interact with users Work with files Looping and logic Data structures using lists and dictionaries Program design Object-oriented programming Inheritance and composition Modules, classes, and objects Python packaging Automated testing Basic game development Basic web development It’ll be hard at first. But soon, you’ll just get it—and that will feel great! This course will reward you for every minute you put into it. Soon, you’ll know one of the world’s most powerful, popular programming languages. You’ll be a Python programmer. This Book Is Perfect For Total beginners with zero programming experience Junior developers who know one or two languages Returning professionals who haven’t written code in years Seasoned professionals looking for a fast, simple, crash course in Python 3

Hands-On GPU Programming with Python and CUDA

Hands-On GPU Programming with Python and CUDA
Author: Dr. Brian Tuomanen
Publisher: Packt Publishing Ltd
Total Pages: 300
Release: 2018-11-27
Genre: Computers
ISBN: 1788995228

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

Hands-On MQTT Programming with Python
Author: Gaston C. Hillar
Publisher: Packt Publishing Ltd
Total Pages: 220
Release: 2018-05-22
Genre: Computers
ISBN: 1789137810

Explore the features included in the latest versions of MQTT for IoT and M2M communications and use them with modern Python 3. Key Features Make your connected devices less prone to attackers by understanding security mechanisms Take advantage of MQTT features for IoT and Machine-to-Machine communications The only book that covers MQTT with a single language, Python Book Description MQTT is a lightweight messaging protocol for small sensors and mobile devices. This book explores the features of the latest versions of MQTT for IoT and M2M communications, how to use them with Python 3, and allow you to interact with sensors and actuators using Python. The book begins with the specific vocabulary of MQTT and its working modes, followed by installing a Mosquitto MQTT broker. You will use different utilities and diagrams to understand the most important concepts related to MQTT. You will learn to make all the necessary configuration to work with digital certificates for encrypting all data sent between the MQTT clients and the server. You will also work with the different Quality of Service levels and later analyze and compare their overheads. You will write Python 3.x code to control a vehicle with MQTT messages delivered through encrypted connections (TLS 1.2), and learn how leverage your knowledge of the MQTT protocol to build a solution based on requirements. Towards the end, you will write Python code to use the PubNub cloud-based real-time MQTT provider to monitor a surfing competition. In the end, you will have a solution that was built from scratch by analyzing the requirements and then write Python code that will run on water-proof IoT boards connected to multiple sensors in surfboards. What you will learn Learn how MQTT and its lightweight messaging system work Understand the MQTT puzzle: clients, servers (formerly known as brokers), and connections Explore the features included in the latest versions of MQTT for IoT and M2M communications Publish and receive MQTT messages with Python Learn the difference between blocking and threaded network loops Take advantage of the last will and testament feature Work with cloud-based MQTT interfaces in Python Who this book is for This book is for developers who want to learn about the MQTT protocol for their IoT projects. Prior knowledge of working with IoT and Python will be helpful.

Powerful Python

Powerful Python
Author: Aaron Maxwell
Publisher:
Total Pages: 220
Release: 2017-05-07
Genre: Python (Computer program language)
ISBN: 9780692878972

There are many books for those new to Python, new to programming, or both. Powerful Python is different. Written for experienced developers like you, its carefully crafted chapters teach intermediate and advanced strategies, patterns, and tools for modern Python. Focused on Python 3, with full support for 2.7. DRM-free digital upgrade: powerfulpython.com/book-upgrade "Feels like Neo learning Jiu jitsu in the Matrix." - John Beauford (@johnbeauford) "I just wanted to let you know what an excellent book this is... I keep going back to your book to learn Python." - Fahad Qazi, London, UK "Thanks. Keep up the good work. Your chapter on decorators is the best I have seen on that topic." - Leon Tietz, Minnesota, USA "Powerful Python is already helping me get huge optimization gains." - Timothy Dobbins (@TmthyDobbins) "What have I found good and valuable about the book so far? Everything honestly. The clear explanations, solid code examples have really helped me advance as a Python coder... Thank you! It has really helped me grasp some advanced concepts that I felt were beyond my abilities." - Nick S., Colorado, USA For data scientists, back-end engineers, web developers, sysadmins, devops, QA testers and more. What's included: An unrelenting selective spotlight on what's most valuable and impactful to working, full-time, professional Python developers Well-researched, detailed, realistic code on almost every page, powerfully illustrating key points. Very little "toy code" How to use decorators to add rich features to functions and classes; untangle distinct, frustratingly intertwined concerns in your code; and build powerful, extensible software frameworks How to use Python in ways that incentivize other developers to use and re-use your code, again and again... amplifying the impact of the code you write, and boosting your reputation among your peers Powerfully and easily weave iterators and generators throughout your applications, making them massively scalable, highly performant, and far more readable and maintainable How to fully leverage Python's exception and error model... giving you a detailed understanding even experienced Pythonistas often lack, and putting some of the most powerfully Pythonic exception-handling patterns in your toolbox How "magic methods" imbue natural, readable, expressive syntax into your classes and objects... and how to "break the rules" to craft stunningly intuitive, compellingly reusable library interfaces Valuable and powerful design patterns, and how Python's special language features give you uniquely powerful implementations not possible in other languages Deep and detailed instruction on how to write practical, realistic unit tests... using test-driven development to easily get into a state of flow... where you find yourself implementing feature after feature, keeping your focus with ease for long periods of time How to rapidly set up effective logging for scripts, sprawling Python applications, and everything in between An enthusiastic and unapologetic focus on Python 3, and what makes it great... with full explanation and support for getting the same results with Python 2.7 More at PowerfulPython.com.

Hands-On Python Deep Learning for the Web

Hands-On Python Deep Learning for the Web
Author: Anubhav Singh
Publisher: Packt Publishing Ltd
Total Pages: 390
Release: 2020-05-15
Genre: Computers
ISBN: 1789953790

Use the power of deep learning with Python to build and deploy intelligent web applications Key FeaturesCreate next-generation intelligent web applications using Python libraries such as Flask and DjangoImplement deep learning algorithms and techniques for performing smart web automationIntegrate neural network architectures to create powerful full-stack web applicationsBook Description When used effectively, deep learning techniques can help you develop intelligent web apps. In this book, you'll cover the latest tools and technological practices that are being used to implement deep learning in web development using Python. Starting with the fundamentals of machine learning, you'll focus on DL and the basics of neural networks, including common variants such as convolutional neural networks (CNNs). You'll learn how to integrate them into websites with the frontends of different standard web tech stacks. The book then helps you gain practical experience of developing a deep learning-enabled web app using Python libraries such as Django and Flask by creating RESTful APIs for custom models. Later, you'll explore how to set up a cloud environment for deep learning-based web deployments on Google Cloud and Amazon Web Services (AWS). Next, you'll learn how to use Microsoft's intelligent Emotion API, which can detect a person's emotions through a picture of their face. You'll also get to grips with deploying real-world websites, in addition to learning how to secure websites using reCAPTCHA and Cloudflare. Finally, you'll use NLP to integrate a voice UX through Dialogflow on your web pages. By the end of this book, you'll have learned how to deploy intelligent web apps and websites with the help of effective tools and practices. What you will learnExplore deep learning models and implement them in your browserDesign a smart web-based client using Django and FlaskWork with different Python-based APIs for performing deep learning tasksImplement popular neural network models with TensorFlow.jsDesign and build deep web services on the cloud using deep learningGet familiar with the standard workflow of taking deep learning models into productionWho this book is for This deep learning book is for data scientists, machine learning practitioners, and deep learning engineers who are looking to perform deep learning techniques and methodologies on the web. You will also find this book useful if you’re a web developer who wants to implement smart techniques in the browser to make it more interactive. Working knowledge of the Python programming language and basic machine learning techniques will be beneficial.