Mastering Concurrency in PythonPython is one of the most popular programming languages, with numerous libraries and frameworks that facilitate high-performance computing. Concurrency and parallelism in Python are essential when it comes to multiprocessing and multithreading; they behave differently, but their common aim is to reduce the execution time. This book serves as a comprehensive introduction to various advanced concepts in concurrent engineering and programming.
Mastering Concurrency in Python starts by introducing the concepts and principles in concurrency, right from Amdahl's Law to multithreading programming, followed by elucidating multiprocessing programming, web scraping, and asynchronous I/O, together with common problems that engineers and programmers face in concurrent programming. Next, the book covers a number of advanced concepts in Python concurrency and how they interact with the Python ecosystem, including the Global Interpreter Lock (GIL). Finally, you'll learn how to solve real-world con ...
Machine Learning with AWSMachine Learning with AWS is the right place to start if you are a beginner interested in learning useful artificial intelligence (AI) and machine learning skills using Amazon Web Services (AWS), the most popular and powerful cloud platform. You will learn how to use AWS to transform your projects into apps that work at high speed and are highly scalable. From natural language processing (NLP) applications, such as language translation and understanding news articles and other text sources, to creating chatbots with both voice and text interfaces, you will learn all that there is to know about using AWS to your advantage. You will also understand how to process huge numbers of images fast and create machine learning models.
By the end of this book, you will have developed the skills you need to efficiently use AWS in your machine learning and artificial intelligence projects. ...
Build Mobile Apps with Ionic 4 and FirebaseLeverage your existing web development skills to learn the whole cycle of hybrid mobile app development. This edition is fully updated with the changes in Ionic 4, including Stencil, a new framework based on the web components standard. It explains Ionic and Firebase in detail, including how to create hybrid mobile apps using using React and Vue, and run those apps in an internal browser using a wrapper created by Apache Cordova.
Build Mobile Apps with Ionic 4 and Firebase shows you how to focus on developing front-end code, without needing to manage any back-end code or servers. You'll learn in the context of building a Hacker News client app, which can view top stories in Hacker News, view comments of a story, and add stories to favorites.
Explore how Ionic 4 uses Angular as the JavaScript framework to easily develop apps using an interface similar to native apps, and how to access Firebase, a real-time database, in web apps using JavaScript.
Create content-based Ionic mo ...
Learn Android Studio 3 with KotlinBuild Android apps using the popular and efficient Android Studio 3 suite of tools, an integrated development environment (IDE) with which Android developers can now use the Kotlin programming language. With this book, you'll learn the latest and most productive tools in the Android tools ecosystem, ensuring quick Android app development and minimal effort on your part. Along the way, you'll use Android Studio to develop apps tier by tier through practical examples. These examples cover core Android topics such as Activities, Intents, BroadcastReceivers, Services and AsyncTask. Then, you'll learn how to publish your apps and sell them online and in the Google Play store.
Use Android Studio 3 to quickly and confidently build your first Android apps; Build an Android user interface using activities and layouts, event handling, images, menus and the action bar; Incorporate new elements including fragments; Learn how data is persisted; Use Kotlin to build apps. ...
The Essential Guide to HTML5Gain a deep, practical knowledge of HTML and JavaScript that will provide an introduction to programming and enable you to build interactive websites. This completely updated second edition explains HTML, JavaScript and CSS in the context of working examples and contains full-color screen shots of the programs in action.
You'll begin at an introductory level, learning the essentials of HTML5 and JavaScript and programming techniques. Each chapter features either a familiar game such as Hangman, Rock-Paper-Scissors, Craps, Memory, and Blackjack, or a simple type of game, such as a quiz, a maze, or animated simulations. You'll develop solid programming skills that will help when learning other programming languages. Each chapter contains tables revealing the structure of the program with comments for each line of code.
These examples demonstrate the features introduced with HTML5. You'll see how to use canvas elements for line drawing. You can include your own audio and video clip ...
Pro .NET Memory ManagementUnderstand .NET memory management internal workings, pitfalls, and techniques in order to effectively avoid a wide range of performance and scalability problems in your software. Despite automatic memory management in .NET, there are many advantages to be found in understanding how .NET memory works and how you can best write software that interacts with it efficiently and effectively. Pro .NET Memory Management is your comprehensive guide to writing better software by understanding and working with memory management in .NET.
Thoroughly vetted by the .NET Team at Microsoft, this book contains 25 valuable troubleshooting scenarios designed to help diagnose challenging memory problems. Readers will also benefit from a multitude of .NET memory management "rules" to live by that introduce methods for writing memory-aware code and the means for avoiding common, destructive pitfalls.
Understand the theoretical underpinnings of automatic memory management; Take a deep dive into every as ...
Practical Web Development with HaskellLearn how to advance your skill level of Haskell, and use this language for practical web development. This book uses a direct, no nonsense approach, so you no longer need to spend extra time reading the documentation, blog posts, and forums to understand how to use Haskell - all that knowledge is provided in one coherent resource.
You'll start by reviewing how multiple facets of web development are done in Haskell, such as routing, building HTMLs, interacting with databases, caches, and queues, etc. You'll then move on to using notable libraries, such as "scotty" for routings, "digestive-functor" for input validation, and "postgresql-simple" for interacting with databases.
In the later chapters, you'll learn how all of these libraries can be used together by working on a fully functioning project deployed on Heroku.
Set up a productive Haskell development environment; Review basic tasks that are encountered when building web applications; Explore how to interact with externa ...
Practical React NativeDiscover how to use React Native in the real world, from scratch. This book shows you what React Native has to offer, where it came from, and where it's going.
You'll begin with a solid foundation of practical knowledge, and then build on it immediately by constructing three different apps. You'll learn how to use each feature of React Native by working on two full projects and one full game. These aren't just simple React Native Hello World examples (although you'll naturally start there!) but are apps that you can, if you so choose, install on your mobile devices and use for real.
Throughout this book, you'll gain real-world familiarity with React Native as well as supporting components from Expo, NativeBase, React Navigation and the Redux and Lodash libraries. You'll also build server-side code for a mobile React Native app to talk to using the popular Node.js and Socket.io library, providing you a holistic view of things even beyond React Native. And, you'll see many helpfu ...
Practical Node.js, 2nd EditionLearn how to build a wide range of scalable real-world web applications using a professional development toolkit. If you already know the basics of Node.js, now is the time to discover how to bring it to production level by leveraging its vast ecosystem of packages.With this book, you'll work with a varied collection of standards and frameworks and see how all those pieces fit together.
Practical Node.js takes you from installing all the necessary modules to writing full-stack web applications. You'll harness the power of the Express.js and Hapi frameworks, the MongoDB database with Mongoskin and Mongoose. You'll also work with Pug and Handlebars template engines, Stylus and LESS CSS lanaguages, OAuth and Everyauth libraries, and the Socket.IO and Derby libraries, and everything in between.
This exciting second edition is fully updated for ES6/ES2015 and also covers how to deploy to Heroku and AWS, daemonize apps, and write REST APIs. You'll build full-stack real-world Node.js a ...
Cloud Native ApplicationsCloud computing is a game changer. Being able to automate and constantly adjust infrastructure is one important reason to use cloud computing for your clients. And developing and operating systems that are able to recover from failure automatically has never been easier. Cloud providers offer you the needed infrastructure for a very reasonable price and technologies like messaging systems and load balancers allow you to decouple different parts of your system and plan for failure.
Cloud Native Applications is a collection of hand-picked chapters presenting five topics that will give you insights into the world of cloud computing. Michael and Andreas Wittig, authors of Amazon Web Services in Action, selected these specific topics to teach you how you can gain value from cloud computing. You'll learn how to use Amazon Web Services, one of the most popular public cloud providers. You'll get to know to Docker and Mesos to automate and manage your cloud infrastructure. Decoupling differe ...