Take a look at our Open Source books. Shulph carries a great selection of Open Source books, and we are always adding more.
Write high-level abstractions while retaining full control of the hardware, performances, and maintainability. Key Features Transform your ideas into modern C++ code, with both C++11 and C++17 Explore best practices for creating high-performance solutions Understand C++ basics and work with concrete real-world examples Book Description C++ Fundamentals begins by introducing you to the C++ compilation model and syntax. You will then study data types, variable declaration, scope, and control flow statements. With the help of this book, you'll be able to compile fully working C++ code and understand how variables, references, and pointers can be used to manipulate the state of the program. Next, you will explore functions and classes — the features that C++ offers to organize a program — and use them to solve more complex problems. You will also understand common pitfalls and modern best practices, especially the ones that diverge from the C++98 guidelines. As you advance through the chapters, you'll study the advantages of generic programming and write your own templates to make generic algorithms that work with any type. This C++ book will guide you in fully exploiting standard containers and algorithms, understanding how to pick the appropriate one for each problem. By the end of this book, you will not only be able to write efficient code but also be equipped to improve the readability, performance, and maintainability of your programs. What you will learn C++ compilation model Apply best practices for writing functions and classes Write safe, generic, and efficient code with templates Explore the containers that the C++ standard offers Discover the new features introduced with C++11, C++14, and C++17 Get to grips with the core language features of C++ Solve complex problems using object-oriented programming in C++ Who this book is for If you're a developer looking to learn a new powerful language or are familiar with C++ but want to update your knowledge with modern paradigms of C++11, C++14, and C++17, this book is for you. To easily understand the concepts in the book, you must be familiar with the basics of programming.
Leverage the power of the Unity 2018 game engine to create games with brilliant gameplay and high replayability. Key Features Develop different types of games from scratch with Unity 2018 Discover the secrets of creating AAA quality shaders without writing long algorithms Script intelligent game characters and agents using Artificial Intelligence techniques and algorithms Book Description Through this Learning Path, you'll learn how to leverage the features of Unity and create amazing games, ranging from action shooters and mind-bending puzzle games to adventure and Virtual Reality(VR) games. If you have no prior experience of using Unity, you can still benefit from this Learning Path, which easily explains the complete working of the Unity toolset. You'll start by learning how to create compelling shaders using Unity and understanding everything you need to know about vectors. This includes useful inputs on how lighting is constructed with vectors and how textures are used to create complex effects without the need for advanced math. In the succeeding chapters, you'll also be able to use popular AI techniques, such as A* and A*mbush to develop intelligent pathfinding agents for your games. The book will also guide you through different algorithms for creating decision-making agents that go beyond simple behaviors and movement. By the end of this Learning Path, you will have developed all the basic skills to create highly engaging and replayable games. This Learning Path includes content from the following Packt products: Unity 2018 By Example - Second Edition by Alan Thorn Unity 2018 Shaders and Effects Cookbook - Third Edition by John P. Doran, Alan Zucconi Unity 2018 Artificial Intelligence Cookbook - Second Edition by Jorge Palacios What you will learn Understand concepts such as game objects, components, and scenes Create functional games with C# scripting Write shaders from scratch in ShaderLab and HLSL/Cg Develop intelligent pathfinding agents with A and Ambush Work with terrains and world-creation tools Simulate senses for agents to make decisions based on the environment Implement waypoints by creating a manual selector Enhance games with volumetric explosions, special effects, and visuals Who this book is for If you are a game developer who wants to learn tools that can transform your gameplay, this beginner-level Learning Path is ideal for you. Having basic knowledge of C# will help you grasp the concepts explained in the book easily.
Explore embedded programming, and get hands-on with real-world embedded projects relating to IoT, low-powered devices, and other complex systems using TinyGo and WebAssemblyKey FeaturesBuild creative embedded apps with TinyGo using low-powered devices and microcontrollersUnderstand the practicality involved in integrating hardware and sensors while programming them using TinyGoUse TinyGo in modern browsers to display embedded applications' statistics on WebAssembly dashboardsBook DescriptionWhile often considered a fast and compact programming language, Go usually creates large executables that are difficult to run on low-memory or low-powered devices such as microcontrollers or IoT. TinyGo is a new compiler that allows developers to compile their programs for such low-powered devices. As TinyGo supports all the standard features of the Go programming language, you won't have to tweak the code to fit on the microcontroller. This book is a hands-on guide packed full of interesting DIY projects that will show you how to build embedded applications. You will learn how to program sensors and work with microcontrollers such as Arduino UNO and Arduino Nano IoT 33. The chapters that follow will show you how to develop multiple real-world embedded projects using a variety of popular devices such as LEDs, 7-segment displays, and timers. Next, you will progress to build interactive prototypes such as a traffic lights system, touchless hand wash timer, and more. As you advance, you'll create an IoT prototype of a weather alert system and display those alerts on the TinyGo WASM dashboard. Finally, you will build a home automation project that displays stats on the TinyGo WASM dashboard. By the end of this microcontroller book, you will be equipped with the skills you need to build real-world embedded projects using the power of TinyGo.What you will learnDiscover a variety of TinyGo features and capabilities while programming your embedded devicesExplore how to use display devices to present your dataFocus on how to make TinyGo interact with multiple sensors for sensing temperature, humidity, and pressure Program hardware devices such as Arduino Uno and Arduino Nano IoT 33 using TinyGoUnderstand how TinyGo works with GPIO, ADC, I2C, SPI, and MQTT network protocolsBuild your first TinyGo IoT and home automation prototypesIntegrate TinyGo in modern browsers using WebAssemblyWho this book is forIf you are a Go developer who wants to program low-powered devices and hardware such as Arduino UNO and Arduino Nano IoT 33, or if you are a Go developer who wants to extend your knowledge of using Go with WebAssembly while programming Go in the browser, then this book is for you. Go hobbyist programmers who are interested in learning more about TinyGo by working through the DIY projects covered in the book will also find this hands-on guide useful.
A step-by-step guide to learning Flutter and Dart 2 for creating Android and iOS mobile applications Key Features Get up to speed with the basics of Dart programming and delve into Flutter development Understand native SDK and third-party libraries for building Android and iOS applications using Flutter Package and deploy your Flutter apps to achieve native-like performance Book Description Google Flutter is a cross-platform mobile framework that makes it easy to write high-performance apps for Android and iOS. This book will help you get to grips with the basics of the Flutter framework and the Dart programming language. Starting from setting up your development environment, you'll learn to design the UI and add user input functions. You'll explore the navigator widget to manage app routes and learn to add transitions between screens. The book will even guide you through developing your own plugin and later, you'll discover how to structure good plugin code. Using the Google Places API, you'll also understand how to display a map in the app and add markers and interactions to it. You'll then learn to improve the user experience with features such as map integrations, platform-specific code with native languages, and personalized animation options for designing intuitive UIs. The book follows a practical approach and gives you access to all relevant code files hosted at github.com/PacktPublishing/Flutter-for-Beginners. This will help you access a variety of examples and prepare your own bug-free apps, ready to deploy on the App Store and Google Play Store. By the end of this book, you'll be well-versed with Dart programming and have the skills to develop your own mobile apps or build a career as a Dart and Flutter app developer. What you will learn Understand the fundamentals of the Dart programming language Explore the core concepts of the Flutter UI and how it compiles for multiple platforms Develop Flutter plugins and widgets and understand how to structure plugin code appropriately Style your Android and iOS apps with widgets and learn the difference between stateful and stateless widgets Add animation to your UI using Flutter's AnimatedBuilder component Integrate your native code into your Flutter codebase for native app performance Who this book is for This book is for developers looking to learn Google's revolutionary framework Flutter from scratch. No prior knowledge of Flutter or Dart is required; however, basic knowledge of any programming language will be helpful.
A fast-paced guide to get you started with cross-platform mobile application development with Google Flutter Key Features Understand the fundamentals of Flutter and get started with cross-platform mobile app development. Learn about different widgets in Flutter and understand the concepts of Routing and Navigating. Work with Platform specific code to use Native features and deploy your application on iOS and Android. Book Description Flutter is a cross-platform mobile application development framework. It uses the Dart programming language, which was created by Google, and aims to make development easier, faster, and more efficient. This book is going to be your guide, from introducing Flutter to successfully developing a cross platform application. In the first few chapters, we will learn what Flutter is and how to get started with it. We will also take a dive into the widgets world, explore the widget catalog, and learn how to navigate through it. In the next few chapters, we will widen our horizon by learning about networking and accessibility with Flutter. We'll learn what Silvers are and how to use them, and we'll also learn how to use constraints and animations. Before we take a look at how to deploy our applications in Flutter, we will use Firebase for cloud messaging and remote configuration. By the end of the book, you will have learned everything you need to know to get started with your journey of cross-platform mobile development with Flutter. What you will learn Take a tour through the widget catalog Route and navigate through the widgets Use listview and scroll widgets Gain knowledge on networking with Flutter and Dart Build and publish plugins to pub.dart.com Use Firebase cloud messaging and remote configuration Build and release your application on Android and iOS Who this book is for This book is for developers who are willing to learn flutter and develop cross-platform applications
Learn to view, edit and analyse geospatial data using QGIS and Python 3 Key Features Leverage the power of QGIS to add professionalism to your maps Explore and work with the newly released features like Python 3, GeoPackage, 3D views, Print layouts in QGIS 3.4 Build your own plugins and customize maps using QT designer Book Description QGIS 3.4 is the first LTR (long term release) of QGIS version 3. This is a giant leap forward for the project with tons of new features and impactful changes. Learn QGIS is fully updated for QGIS 3.4, covering its processing engine update, Python 3 de-facto coding environment, and the GeoPackage format. This book will help you get started on your QGIS journey, guiding you to develop your own processing pathway. You will explore the user interface, loading your data, editing, and then creating data. QGIS often surprises new users with its mapping capabilities; you will discover how easily you can style and create your first map. But that's not all! In the final part of the book, you'll learn about spatial analysis and the powerful tools in QGIS, and conclude by looking at Python processing options. By the end of the book, you will have become proficient in geospatial analysis using QGIS and Python. What you will learn Explore various ways to load data into QGIS Understand how to style data and present it in a map Create maps and explore ways to expand them Get acquainted with the new processing toolbox in QGIS 3.4 Manipulate your geospatial data and gain quality insights Understand how to customize QGIS 3.4 Work with QGIS 3.4 in 3D Who this book is for If you are a developer or consultant familiar with the basic functions and processes of GIS and want to learn how to use QGIS to analyze geospatial data and create rich mapping applications, this book is for you. You'll also find this book useful if you're new to QGIS and wish to grasp its fundamentals
A hands-on guide to Android programming with Spring MVC, Spring Boot, and Spring Security Key Features Build native Android applications with Spring for Android Explore Reactive programming, concurrency, and multithreading paradigms for building fast and efficient applications Write more expressive and robust code with Kotlin using its coroutines and other latest features Book Description As the new official language for Android, Kotlin is attracting new as well as existing Android developers. As most developers are still working with Java and want to switch to Kotlin, they find a combination of these two appealing. This book addresses this interest by bringing together Spring, a widely used Java SE framework for building enterprise-grade applications, and Kotlin. Learn Spring for Android Application Development will guide you in leveraging some of the powerful modules of the Spring Framework to build lightweight and robust Android apps using Kotlin. You will work with various modules, such as Spring AOP, Dependency Injection, and Inversion of Control, to develop applications with better dependency management. You'll also explore other modules of the Spring Framework, such as Spring MVC, Spring Boot, and Spring Security. Each chapter has practice exercises at the end for you to assess your learning. By the end of the book, you will be fully equipped to develop Android applications with Spring technologies. What you will learn Get to grips with the basics of the Spring Framework Write web applications using the Spring Framework with Kotlin Develop Android apps with Kotlin Connect a RESTful web service with your app using Retrofilt Understand JDBC, JPA, MySQL for Spring and SQLite Room for Android Explore Spring Security fundamentals, Basic Authentication, and OAuth2 Delve into Concurrency and Reactive programming using Kotlin Develop testable applications with Spring and Android Who this book is for If you're an aspiring Android developer or an existing developer who wants to learn how to use Spring to build robust Android applications in Kotlin, this book is for you. Though not necessary, basic knowledge of Spring will assist with understanding key concepts covered in this book.
Understand the fundamentals of C# programming and get started with coding from ground up in an engaging and practical manner Key Features Beginner's guide to getting started with software development concepts from a macro level Leverage the power of the latest C# in solving the complex programming problems Learn to script and customize your 3D games and implement animation techniques to make them engaging Book Description Learning to program in today's technical landscape can be a daunting task, especially when faced with the sheer number of languages you have to choose from. Luckily, Learning C# with Unity 2019 removes the guesswork and starts you off on the path to becoming a confident, and competent, programmer using game development with Unity. You'll start off small by learning the building blocks of programming, from variables, methods, and conditional statements to classes and object-oriented systems. After you have the basics under your belt you'll explore the Unity interface, creating C# scripts, and translating your newfound knowledge into simple game mechanics. Throughout this journey, you'll get hands-on experience with programming best practices and macro-level topics such as manager classes and flexible application architecture. By the end of the book, you'll be familiar with intermediate C# topics like generics, delegates, and events, setting you up to take on projects of your own. What you will learn Understand programming fundamentals with practice examples in C# Explore the interface and features of Unity 2019 Learn C# programming syntax from scratch Create a game design document and prototype level Explore intermediate programming topics and best practices Implement game mechanics, interactions, and UI elements with C# Who this book is for The book caters to developers and programmers who want to get started with C# programming in a fun and engaging manner. Anyone who wants to build games and script in C# language and Unity can take this book up. No prior programming or Unity experience is required.
Implement TDD for your React applications using Jest, React Router, Redux, and GraphQL/Relay. Learn BDD and end-to-end acceptance testing with CucumberJS and Puppeteer. Key Features Learn the TDD process using the React framework Build complex, real-world applications with a pragmatic approach to TDD Use Cucumber for acceptance and BDD testing, bringing TDD to the wider team Book Description Many programmers are aware of TDD but struggle to apply it beyond basic examples. This book teaches how to build complex, real-world applications using Test-Driven Development (TDD). It takes a first principles approach to the TDD process using plain Jest and includes test-driving the integration of libraries including React Router, Redux, and Relay (GraphQL). Readers will practice systematic refactoring while building out their own test framework, gaining a deep understanding of TDD tools and techniques. They will learn how to test-drive features such as client- and server-side form validation, data filtering and searching, navigation and user workflow, undo/redo, animation, LocalStorage access, WebSocket communication, and querying GraphQL endpoints. The book covers refactoring codebases to use the React Router and Redux libraries. via TDD. Redux is explored in depth, with reducers, middleware, sagas, and connected React components. The book also covers acceptance testing using Cucumber and Puppeteer. The book is fully up to date with React 16.9 and has in-depth coverage of hooks and the 'act' test helper. What you will learn Build test-driven applications using React 16.9+ and Jest Build complete web applications using a variety of HTML input elements Understand the different types of test double and when to apply them Test-drive the Integration of libraries such as React Router, Redux, and Relay (GraphQL) Learn when to be pragmatic and how to apply TDD shortcuts Test-drive interaction with browser APIs including fetch and WebSockets Use Cucumber.js and Puppeteer to build BDD-style acceptance tests for your applications Build and test async Redux code using redux-saga and expect-redux Who this book is for The target audience for this book is JavaScript developers who are looking to implement test-driven and behavior-driven approaches for their React applications.
Step-by-step instructions which take you through each program to automate monotonous tasks with Python 3.7 Key Features Automate integral business processes such as report generation, email marketing, and lead generation Build your first web application that scrapes data and accesses websites' APIs Create graphic-rich charts, graphs, and maps using Matplotlib Book Description Have you been doing the same old monotonous office work over and over again? Or have you been trying to find an easy way to make your life better by automating some of your repetitive tasks? Through a tried and tested approach, understand how to automate all the boring stuff using Python. The Python Automation Cookbook helps you develop a clear understanding of how to automate your business processes using Python, including detecting opportunities by scraping the web, analyzing information to generate automatic spreadsheets reports with graphs, and communicating with automatically generated emails. You'll learn how to get notifications via text messages and run tasks while your mind is focused on other important activities, followed by understanding how to scan documents such as resumes. Once you've gotten familiar with the fundamentals, you'll be introduced to the world of graphs, along with studying how to produce organized charts using Matplotlib. In addition to this, you'll gain in-depth knowledge of how to generate rich graphics showing relevant information. By the end of this book, you'll have refined your skills by attaining a sound understanding of how to identify and correct problems to produce superior and reliable systems. What you will learn Get to grips with scraping a website to detect changes Search and process raw sales files to aggregate information in spreadsheets Explore techniques to extract information from an Excel spreadsheet and generate exciting reports with graphs Discover the techniques required to generate random, print-friendly codes to be used as single-use coupons Automatically generate a marketing campaign, contacting the recipients over different channels Identify and implement precise solutions Who this book is for The Python Automation Cookbook is for you if you are a developer or anyone who wants to automate monotonous manual tasks related to fields such as finance, sales, and HR, among others.