Take a look at our Programming books. Shulph carries a great selection of Programming books, and we are always adding more.
Make your WebAssembly journey fun while making a game with it Key Features Create a WebAssembly game that implements sprites, animations, physics, particle systems, and other game development fundamentals Get to grips with advanced game mechanics in WebAssembly Learn to use WebAssembly and WebGL to render to the HTML5 canvas element Book Description Within the next few years, WebAssembly will change the web as we know it. It promises a world where you can write an application for the web in any language, and compile it for native platforms as well as the web. This book is designed to introduce web developers and game developers to the world of WebAssembly by walking through the development of a retro arcade game. You will learn how to build a WebAssembly application using C++, Emscripten, JavaScript, WebGL, SDL, and HTML5. This book covers a lot of ground in both game development and web application development. When creating a game or application that targets WebAssembly, developers need to learn a plethora of skills and tools. This book is a sample platter of those tools and skills. It covers topics including Emscripten, C/C++, WebGL, OpenGL, JavaScript, HTML5, and CSS. The reader will also learn basic techniques for game development, including 2D sprite animation, particle systems, 2D camera design, sound effects, 2D game physics, user interface design, shaders, debugging, and optimization. By the end of the book, you will be able to create simple web games and web applications targeting WebAssembly. What you will learn Build web applications with near-native performance using WebAssembly Become familiar with how web applications can be used to create games using HTML5 Canvas, WebGL, and SDL Become well versed with game development concepts such as sprites, animation, particle systems, AI, physics, camera design, sound effects, and shaders Deploy C/C++ applications to the browser using WebAssembly and Emscripten Understand how Emscripten HTML shell templates, JavaScript glue code, and a WebAssembly module interact Debug and performance tune your WebAssembly application Who this book is for Web developers and game developers interested in creating applications for the web using WebAssembly. Game developers interested in deploying their games to the web Web developers interested in creating applications that are potentially orders of magnitude faster than their existing JavaScript web apps C/C++ developers interested in using their existing skills to deploy applications to the web
Learn Go programming with concise examples providing solutions to common problems Key Features Study Go programming with the help of short, modular, and concise recipes Overcome the most common challenges in Go Exploit the most exciting features of Go such as Goroutines Book Description With its C-like speed, simplicity, and power for a growing number of system-level programming domains, Go has become increasingly popular among programmers. Hands-On Go Programming teaches you the Go programming by solving commonly faced problems with the help of recipes. You will start by installing Go binaries and get familiar with the tools used for developing an application. Once you have understood these tasks, you will be able to manipulate strings and use them in built-in function constructs to create a complex value from two floating-point values. You will discover how to perform an arithmetic operation date and time, along with parsing them from string values. In addition to this, you will cover concurrency in Go, performing various web programming tasks, implementing system programming, reading and writing files, and honing many fundamental Go programming skills such as proper error handling and logging, among others. Whether you are an expert programmer or newbie, this book helps you understand how various answers are programmed in the Go language. What you will learn Manipulate string values and escape special characters Work with dates, times, maps, and arrays Handle errors and perform logging Explore files and directories Handle HTTP requests and responses Perform CRUD operations on a relational database Who this book is for Hands-On Go Programming is for you if you are a software developer interested in learning Go language, or anyone who wants to explore practical code examples.
Explore GPU-enabled programmable environment for machine learning, scientific applications, and gaming using PuCUDA, PyOpenGL, and Anaconda Accelerate Key Features Understand effective synchronization strategies for faster processing using GPUs Write parallel processing scripts with PyCuda and PyOpenCL Learn to use the CUDA libraries like CuDNN for deep learning on GPUs Book Description GPUs are proving to be excellent general purpose-parallel computing solutions for high performance tasks such as deep learning and scientific computing. This book will be your guide to getting started with GPU computing. It will start with introducing GPU computing and explain the architecture and programming models for GPUs. You will learn, by example, how to perform GPU programming with Python, and you'll look at using integrations such as PyCUDA, PyOpenCL, CuPy and Numba with Anaconda for various tasks such as machine learning and data mining. Going further, you will get to grips with GPU work flows, management, and deployment using modern containerization solutions. Toward the end of the book, you will get familiar with the principles of distributed computing for training machine learning models and enhancing efficiency and performance. By the end of this book, you will be able to set up a GPU ecosystem for running complex applications and data models that demand great processing capabilities, and be able to efficiently manage memory to compute your application effectively and quickly. What you will learn Utilize Python libraries and frameworks for GPU acceleration Set up a GPU-enabled programmable machine learning environment on your system with Anaconda Deploy your machine learning system on cloud containers with illustrated examples Explore PyCUDA and PyOpenCL and compare them with platforms such as CUDA, OpenCL and ROCm. Perform data mining tasks with machine learning models on GPUs Extend your knowledge of GPU computing in scientific applications Who this book is for Data Scientist, Machine Learning enthusiasts and professionals who wants to get started with GPU computation and perform the complex tasks with low-latency. Intermediate knowledge of Python programming is assumed.
Enhance your programming skills by learning the intricacies of object oriented programming in C# 8 Key Features Understand the four pillars of OOP; encapsulation, inheritance, abstraction and polymorphism Leverage the latest features of C# 8 including nullable reference types and Async Streams Explore various design patterns, principles, and best practices in OOP Book Description Object-oriented programming (OOP) is a programming paradigm organized around objects rather than actions, and data rather than logic. With the latest release of C#, you can look forward to new additions that improve object-oriented programming. This book will get you up to speed with OOP in C# in an engaging and interactive way. The book starts off by introducing you to C# language essentials and explaining OOP concepts through simple programs. You will then go on to learn how to use classes, interfacesm and properties to write pure OOP code in your applications. You will broaden your understanding of OOP further as you delve into some of the advanced features of the language, such as using events, delegates, and generics. Next, you will learn the secrets of writing good code by following design patterns and design principles. You'll also understand problem statements with their solutions and learn how to work with databases with the help of ADO.NET. Further on, you'll discover a chapter dedicated to the Git version control system. As you approach the conclusion, you'll be able to work through OOP-specific interview questions and understand how to tackle them. By the end of this book, you will have a good understanding of OOP with C# and be able to take your skills to the next level. What you will learn Master OOP paradigm fundamentals Explore various types of exceptions Utilize C# language constructs efficiently Solve complex design problems by understanding OOP Understand how to work with databases using ADO.NET Understand the power of generics in C# Get insights into the popular version control system, Git Learn how to model and design your software Who this book is for This book is designed for people who are new to object-oriented programming. Basic C# skills are assumed, however, prior knowledge of OOP in any other language is not required.
Learn everything you need to know about object-oriented programming with the latest features of Kotlin 1.3 Key Features A practical guide to understand objects and classes in Kotlin Learn to write asynchronous, non-blocking codes with Kotlin coroutines Explore Encapsulation, Inheritance, Polymorphism, and Abstraction in Kotlin Book Description Kotlin is an object-oriented programming language. The book is based on the latest version of Kotlin. The book provides you with a thorough understanding of programming concepts, object-oriented programming techniques, and design patterns. It includes numerous examples, explanation of concepts and keynotes. Where possible, examples and programming exercises are included. The main purpose of the book is to provide a comprehensive coverage of Kotlin features such as classes, data classes, and inheritance. It also provides a good understanding of design pattern and how Kotlin syntax works with object-oriented techniques. You will also gain familiarity with syntax in this book by writing labeled for loop and when as an expression. An introduction to the advanced concepts such as sealed classes and package level functions and coroutines is provided and we will also learn how these concepts can make the software development easy. Supported libraries for serialization, regular expression and testing are also covered in this book. By the end of the book, you would have learnt building robust and maintainable software with object oriented design patterns in Kotlin. What you will learn Get an overview of the Kotlin programming language Discover Object-oriented programming techniques in Kotlin Understand Object-oriented design patterns Uncover multithreading by Kotlin way Understand about arrays and collections Understand the importance of object-oriented design patterns Understand about exception handling and testing in OOP with Kotlin Who this book is for This book is for programmers and developers who wish to learn Object-oriented programming principles and apply them to build robust and scalable applications. Basic knowledge in Kotlin programming is assumed
Explore the best tools and techniques to create lightweight, maintainable, and scalable Python web services Key Features Combine Python with different data sources to build complex RESTful APIs from scratch Configure and fine-tune your APIs using the best tools and techniques available Use command-line and GUI tools to test CRUD operations performed by RESTful Web Services or APIs Book Description Python is the language of choice for millions of developers worldwide that builds great web services in RESTful architecture. This second edition of Hands-On RESTful Python Web Services will cover the best tools you can use to build engaging web services. This book shows you how to develop RESTful APIs using the most popular Python frameworks and all the necessary stacks with Python, combined with related libraries and tools. You'll learn to incorporate all new features of Python 3.7, Flask 1.0.2, Django 2.1, Tornado 5.1, and also a new framework, Pyramid. As you advance through the chapters, you will get to grips with each of these frameworks to build various web services, and be shown use cases and best practices covering when to use a particular framework. You'll then successfully develop RESTful APIs with all frameworks and understand how each framework processes HTTP requests and routes URLs. You'll also discover best practices for validation, serialization, and deserialization. In the concluding chapters, you will take advantage of specific features available in certain frameworks such as integrated ORMs, built-in authorization and authentication, and work with asynchronous code. At the end of each framework, you will write tests for RESTful APIs and improve code coverage. By the end of the book, you will have gained a deep understanding of the stacks needed to build RESTful web services. What you will learn Select the most appropriate framework based on requirements Develop complex RESTful APIs from scratch using Python Use requests handlers, URL patterns, serialization, and validations Add authentication, authorization, and interaction with ORMs and databases Debug, test, and improve RESTful APIs with four frameworks Design RESTful APIs with frameworks and create automated tests Who this book is for This book is for web developers who have a working knowledge of Python and would like to build amazing web services by taking advantage of the various frameworks of Python. You should have some knowledge of RESTful APIs.
Enhance your programming skills to build exciting robotic projects Key Features Build an intelligent robot that can detect and avoid obstacles and respond to voice commands Detect and track objects and faces using OpenCV Control your robot with a GUI button designed using Qt5 Book Description C++ is one of the most popular legacy programming languages for robotics, and a combination of C++ and robotics hardware is used in many leading industries. This book will bridge the gap between Raspberry Pi and C/C++ programming and enable you to develop applications for Raspberry Pi. To follow along with the projects covered in the book, you can implement C programs in Raspberry Pi with the wiringPi library. With this book, you'll develop a fully functional car robot and write programs to move it in different directions. You'll then create an obstacle - avoiding robot using an ultrasonic sensor. Furthermore, you'll find out how to control the robot wirelessly using your PC/Mac. This book will also help you work with object detection and tracking using OpenCV, and guide you through exploring face detection techniques. Finally, you will create an Android app and control the robot wirelessly with an Android smartphone. By the end of this book, you will have gained experience in developing a robot using Raspberry Pi and C/C++ programming. What you will learn Install software in Raspberry Pi compatible with C++ programming Program the Raspberry Pi in C++ to run a motor Control RPi-powered robot wirelessly with your laptop or PC Program an RPi camera using OpenCV Control a Raspberry Pi robot with voice commands Implement face and object detection with Raspberry Pi Who this book is for This book is for developers, programmers, and robotics enthusiasts interested in leveraging C++ to build exciting robotics applications. Prior knowledge of C++ is necessary to understand the projects covered in this book.
Learn every step you need for product design and development Key Features Explore all the tools that you need to be a complete UX designer Code the product designs you've created to become a full-stack designer Build an amazing portfolio with real-world projects Book Description Designing user experience (UX) is one of the most important aspects of a project, as it has a direct effect on how customers think of your company. The process of designing a user experience is one of the most challenging yet rewarding aspects of product development. Hands-On UX Design for Developers will teach you how to create amazing user experiences for products from scratch. This book starts with helping you understand the importance of a good UX design and the role of a UX designer. It will take you through the different stages of designing a UX and the application of various principles of psychology in UX design. Next, you will learn how to conduct user research and market research, which is crucial to creating a great UX. You will also learn how to create user personas and use it for testing. This book will help you gain the ability to think like a UX designer and understand both sides of product development: design and coding. You will explore the latest tools, such as Sketch, Balsamiq, and Framer.js, to create wireframes and prototypes. The concluding chapters will take you through designing your UI, dealing with big data while designing a UX, and the fundamentals of frontend. Finally, you'll prepare your portfolio and become job ready in the UX arena. What you will learn What UX is and what a UX designer does Explore the UX Process and science of making products user-friendly Create user interfaces and learn which tools to use Understand how your design works in the real world Create UI interaction, animation, wireframes, and prototypes Design a product with users in mind Develop a personal portfolio and be well-prepared to join the UX world Who this book is for Hands-On UX/UI Design for Developers is for web designers who have knowledge of basic UX design principles.
Your one-stop guide to designing, building, managing, and operating Industrial Internet of Things (IIoT) applications Key Features Build IIoT applications and deploy them on Platform as a Service (PaaS) Learn data analytics techniques in IIoT using Spark and TensorFlow Understand and combine Predix services to accelerate your development Book Description The Industrial Internet refers to the integration of complex physical machines with networked sensors and software. The current growth in the number of sensors deployed in heavy machinery and industrial equipment will lead to an exponential increase in data being captured that needs to be analyzed for predictive analytics. This also opens up a new avenue for developers who want to build exciting industrial applications. Industrial Internet Application Development serves as a one-stop guide for software professionals wanting to design, build, manage, and operate IIoT applications. You will develop your first IIoT application and understand its deployment and security considerations, followed by running through the deployment of IIoT applications on the Predix platform. Once you have got to grips with what IIoT is, you will move on to exploring Edge Development along with the analytics portions of the IIoT stack. All this will help you identify key elements of the development framework, and understand their importance when considering the overall architecture and design considerations for IIoT applications. By the end of this book, you will have grasped how to deploy IIoT applications on the Predix platform, as well as incorporate best practices for making fault-tolerant and reliable IIoT systems. What you will learn Connect prototype devices to CloudStore data in IIoT applications Explore data management techniques and implementation Study IIoT applications analytics using Spark ML and TensorFlow Deploy analytics and visualize the outcomes as Alerts Understand continuous deployment using Docker and Cloud Foundry Make your applications fault-tolerant and monitor them with New Relic Understand IIoT platform architecture and implement IIoT applications on the platform Who this book is for This book is intended for software developers, architects, product managers, and executives keen to gain insights into Industrial Internet development. A basic knowledge of any popular programming language such as Python will be helpful.
Begin your iOS 12 app development journey with this practical guide Key Features Kick-start your iOS programming career and have fun building iOS apps of your choice Get to grips with Xcode 10 and Swift 4.2, the building blocks of iOS development Discover the latest features of iOS 12 - SiriKit, notifications, and much more Book Description Want to build iOS 12 applications from scratch with the latest Swift 4.2 language and Xcode 10 by your side? Forget sifting through tutorials and blog posts; this book is a direct route to iOS development, taking you through the basics and showing you how to put principles into practice. Take advantage of this developer-friendly guide and start building applications that may just take the App Store by storm! If you're already an experienced programmer, you can jump right in and learn the latest iOS 12 features. For beginners, this book starts by introducing you to iOS development as you learn Xcode and Swift. You'll also study advanced iOS design topics, such as gestures and animations, to give your app the edge. You'll explore the latest Swift 4.2 and iOS 12 developments by incorporating new features, such as the latest in notifications, custom-UI notifications, maps, and the recent additions in Sirikit. The book will guide you in using TestFlight to quickly get to grips with everything you need to get your project on the App Store. By the end of this book, you'll be ready to start building your own cool iOS applications confidently. What you will learn Explore the distinctive design principles that define the iOS user experience Navigate panels within an Xcode project Use the latest Xcode asset catalogue of Xcode 10 Create a playgrounds project within your projects and understand how Ranges and Control flow work Study operations with integers and work your way through if statements Build a responsive UI and add privacy to your custom-rich notifications Set up Sirikit to add voice for Siri shortcuts Collect valuable feedback with TestFlight before releasing your apps on the App Store Who this book is for This book is for you if you are completely new to Swift, iOS, or programming and want to make iOS applications. However, you'll also find this book useful if you're an experienced programmer looking to explore the latest iOS 12 features.