- Table View
- List View
Learning Apache Spark 2
by Muhammad Asif AbbasiLearn about the fastest-growing open source project in the world, and find out how it revolutionizes big data analytics About This Book • Exclusive guide that covers how to get up and running with fast data processing using Apache Spark • Explore and exploit various possibilities with Apache Spark using real-world use cases in this book • Want to perform efficient data processing at real time? This book will be your one-stop solution. Who This Book Is For This guide appeals to big data engineers, analysts, architects, software engineers, even technical managers who need to perform efficient data processing on Hadoop at real time. Basic familiarity with Java or Scala will be helpful. The assumption is that readers will be from a mixed background, but would be typically people with background in engineering/data science with no prior Spark experience and want to understand how Spark can help them on their analytics journey. What You Will Learn • Get an overview of big data analytics and its importance for organizations and data professionals • Delve into Spark to see how it is different from existing processing platforms • Understand the intricacies of various file formats, and how to process them with Apache Spark. • Realize how to deploy Spark with YARN, MESOS or a Stand-alone cluster manager. • Learn the concepts of Spark SQL, SchemaRDD, Caching and working with Hive and Parquet file formats • Understand the architecture of Spark MLLib while discussing some of the off-the-shelf algorithms that come with Spark. • Introduce yourself to the deployment and usage of SparkR. • Walk through the importance of Graph computation and the graph processing systems available in the market • Check the real world example of Spark by building a recommendation engine with Spark using ALS. • Use a Telco data set, to predict customer churn using Random Forests. In Detail Spark juggernaut keeps on rolling and getting more and more momentum each day. Spark provides key capabilities in the form of Spark SQL, Spark Streaming, Spark ML and Graph X all accessible via Java, Scala, Python and R. Deploying the key capabilities is crucial whether it is on a Standalone framework or as a part of existing Hadoop installation and configuring with Yarn and Mesos. The next part of the journey after installation is using key components, APIs, Clustering, machine learning APIs, data pipelines, parallel programming. It is important to understand why each framework component is key, how widely it is being used, its stability and pertinent use cases. Once we understand the individual components, we will take a couple of real life advanced analytics examples such as 'Building a Recommendation system', 'Predicting customer churn' and so on. The objective of these real life examples is to give the reader confidence of using Spark for real-world problems. Style and approach With the help of practical examples and real-world use cases, this guide will take you from scratch to building efficient data applications using Apache Spark. You will learn all about this excellent data processing engine in a step-by-step manner, taking one aspect of it at a time. This highly practical guide will include how to work with data pipelines, dataframes, clustering, SparkSQL, parallel programming, and such insightful topics with the help of real-world use cases.
Learning Azure Functions
by Mitesh Soni Manisha YadavThis book will start with the basics of Azure Functions. You will learn the steps to set up the environment and the tools that we will be using in the further chapters. Once you have a better understanding of this, we will be creating our first hello world function app. Later you will be introduced to triggers, how they are used to activate a function, and how binding can be used to output results of a function.You will also explore the steps to create an assembly with complex functionality that can be used by functions. Next, this book will teach you to scale your functions and use them to process data, integrate systems, and build simple APIs and microservices. Finally, this book will cover some diagnostic techniques with Azure App services and best practices of working with Azure Functions. By the end of this book, you will be well-versed with the techniques of scaling your Azure functions and making the most of serverless architecture.
Learning C for Arduino
by Syed Omar TowahaUltimate guide for programming Arduino with C About This Book • Get hands-on experience with the Ardruino board and learn to control it with your programming skills • Learn the essential concepts of C such as variables, data structures, functions, loops, and pointers • Work with electronic devices such as LEDs, switches, and motors and connect them to Arduino using C Who This Book Is For This book is for hobbyists who have no knowledge about programming and microcontrollers, but are keen to learn C programming using a very affordable hardware device. What You Will Learn • Play with mathematical operations using C • Use logical operations and loops to play with LEDs and the Arduino board • Create custom functions using C and connect an SD card to the Arduino • Use Object-oriented Programming to connect a GSM module to the Arduino board • Play with an LCD board and Servo using standard Arduino libraries • Build projects using Arduino such as a LED cube, a smart weather system, and home security • Identify and fix common errors on an Arduino board In Detail This book will start with the fundamentals of C programming and programming topics, such data types, functions, decision making, program loops, pointers, and structures, with the help of an Arduino board. Then you will get acquainted with Arduino interactions with sensors, LEDs, and autonomous systems and setting up the Arduino environment. Moving on you will also learn how to work on the digital and analog I/O, establish serial communications with autonomous systems, and integrate with electronic devices. By the end of the book, you will be able to make basic projects such as LED cube and smart weather system that leverages C. Style and approach This comprehensive step-by-step guide starts with the basic concepts of C for your Arduino board. It will teach you how to leverage C to explore the capabilities of Arduino.
Learning C# 7 By Developing Games with Unity 2017: Learn C# Programming by building fun and interactive games with Unity
by Predrag Končar Predrag Koncar Micael DaGraçaKey Features This is a step-by-step guide to learn the fundamentals of C# 7 scripting to develop GameObjects and master the basics of the new UI system in Unity Build and develop your 2D game right from scratch while implementing the principles of object-oriented programming and coding in C# 7 Get to grips with the fundamentals of optimizing your game using the latest features of Unity 2017 Book Description Do you want to learn C# programming by creating fun and interactive games using the latest Unity 2017 platform? If so, look no further; this is the right book for you. Get started with programming C# so you can create 2D and 3D games in Unity. We will walk you through the basics to get you started with C# 7 and its latest features. Then, explore the use of C# 7 and its latest functional programming capabilities to create amazing games with Unity 2017. You will create your first C# script for Unity, add objects into it, and learn how to create game elements with it. Work with the latest functional programming features of C# and leverage them for great game scripting. Throughout the book, you will learn to use the new Unity 2017 2D tool set and create an interactive 2D game with it. You will make enemies appear to challenge your player, and discover some optimization techniques for great game performance. At the end, you will learn how to transform a 2D game into 3D, and you will be able to skill up to become a pro C# programmer with Unity 2017! What you will learn Create your first 2D and 3D games in Unity Understand the fundamentals of variables, methods, and code syntax in C# Use loops and collections efficiently in Unity to reduce the amount of code Develop a game using object-oriented programming principles Implement simple enemy characters into the game to learn point-to-point movement and Tree behaviors Avoid performance mistakes by implementing different optimization techniques Export 3D models and animations and import them inside a Unity project
Learning C++ Functional Programming
by Wisnu AnggoroApply Functional Programming techniques to C++ to build highly modular, testable, and reusable code About This Book • Modularize your applications and make them highly reusable and testable • Get familiar with complex concepts such as metaprogramming, concurrency, and immutability • A highly practical guide to building functional code in C++ filled with lots of examples and real-world use cases Who This Book Is For This book is for C++ developers comfortable with OOP who are interested in learning how to apply the functional paradigm to create robust and testable apps. What You Will Learn • Get to know the difference between imperative and functional approaches • See the use of first-class functions and pure functions in a functional style • Discover various techniques to apply immutable state to avoid side effects • Design a recursive algorithm effectively • Create faster programs using lazy evaluation • Structure code using design patterns to make the design process easier • Use concurrency techniques to develop responsive software • Learn how to use the C++ Standard Template Library and metaprogramming in a functional way to improve code optimization In Detail Functional programming allows developers to divide programs into smaller, reusable components that ease the creation, testing, and maintenance of software as a whole. Combined with the power of C++, you can develop robust and scalable applications that fulfill modern day software requirements. This book will help you discover all the C++ 17 features that can be applied to build software in a functional way. The book is divided into three modules—the first introduces the fundamentals of functional programming and how it is supported by modern C++. The second module explains how to efficiently implement C++ features such as pure functions and immutable states to build robust applications. The last module describes how to achieve concurrency and apply design patterns to enhance your application's performance. Here, you will also learn to optimize code using metaprogramming in a functional way. By the end of the book, you will be familiar with the functional approach of programming and will be able to use these techniques on a daily basis. Style and approach This book uses a module-based approach, where each module will cover important aspects of functional programming in C++ and will help you develop efficient and robust applications through gaining a practical understanding.
Learning Ceph - Second Edition
by Karan Singh Anthony D'Atri Vaibhav BhembreImplement and manage your software-defined, massively scalable storage system About This Book • Explore Ceph's architecture in order to achieve scalability and high availability • Learn to utilize Ceph efficiently with the help of practical examples • Successfully implement Ceph clusters to scale-out storage solutions along with outstanding data protection Who This Book Is For A basic knowledge of GNU/Linux, and storage systems, and server components is assumed. If you have no experience of software-defined storage solutions and Ceph, but are eager to learn about them, this is the book for you. What You Will Learn • The limitations of existing systems and why you should use Ceph as a storage solution • Familiarity with Ceph's architecture, components, and services • Instant deployment and testing of Ceph within a Vagrant and VirtualBox environment • Ceph operations including maintenance, monitoring, and troubleshooting • Storage provisioning of Ceph's block, object, and filesystem services • Integrate Ceph with OpenStack • Advanced topics including erasure coding, CRUSH maps, and performance tuning • Best practices for your Ceph clusters In Detail Learning Ceph, Second Edition will give you all the skills you need to plan, deploy, and effectively manage your Ceph cluster. You will begin with the first module, where you will be introduced to Ceph use cases, its architecture, and core projects. In the next module, you will learn to set up a test cluster, using Ceph clusters and hardware selection. After you have learned to use Ceph clusters, the next module will teach you how to monitor cluster health, improve performance, and troubleshoot any issues that arise. In the last module, you will learn to integrate Ceph with other tools such as OpenStack, Glance, Manila, Swift, and Cinder. By the end of the book you will have learned to use Ceph effectively for your data storage requirements. Style and approach This step-by-step guide, including use cases and examples, not only helps you to easily use Ceph but also demonstrates how you can use it to solve any of your server or drive storage issues.
Learning Concurrency in Python
by Elliot ForbesPractically and deeply understand concurrency in Python to write efficient programs About This Book • Build highly efficient, robust, and concurrent applications • Work through practical examples that will help you address the challenges of writing concurrent code • Improve the overall speed of execution in multiprocessor and multicore systems and keep them highly available Who This Book Is For This book is for Python developers who would like to get started with concurrent programming. Readers are expected to have a working knowledge of the Python language, as this book will build on these fundamentals concepts. What You Will Learn • Explore the concept of threading and multiprocessing in Python • Understand concurrency with threads • Manage exceptions in child threads • Handle the hardest part in a concurrent system — shared resources • Build concurrent systems with Communicating Sequential Processes (CSP) • Maintain all concurrent systems and master them • Apply reactive programming to build concurrent systems • Use GPU to solve specific problems In Detail Python is a very high level, general purpose language that is utilized heavily in fields such as data science and research, as well as being one of the top choices for general purpose programming for programmers around the world. It features a wide number of powerful, high and low-level libraries and frameworks that complement its delightful syntax and enable Python programmers to create. This book introduces some of the most popular libraries and frameworks and goes in-depth into how you can leverage these libraries for your own high-concurrent, highly-performant Python programs. We'll cover the fundamental concepts of concurrency needed to be able to write your own concurrent and parallel software systems in Python. The book will guide you down the path to mastering Python concurrency, giving you all the necessary hardware and theoretical knowledge. We'll cover concepts such as debugging and exception handling as well as some of the most popular libraries and frameworks that allow you to create event-driven and reactive systems. By the end of the book, you'll have learned the techniques to write incredibly efficient concurrent systems that follow best practices. Style and approach This easy-to-follow guide teaches you new practices and techniques to optimize your code, and then moves toward more advanced ways to effectively write efficient Python code. Small and simple practical examples will help you test the concepts yourself, and you will be able to easily adapt them for any application.
Learning Concurrent Programming in Scala - Second Edition
by Aleksandar ProkopecLearn the art of building intricate, modern, scalable, and concurrent applications using Scala About This Book • Make the most of Scala by understanding its philosophy and harnessing the power of multicores • Get acquainted with cutting-edge technologies in the field of concurrency, through practical, real-world applications • Get this step-by-step guide packed with pragmatic examples Who This Book Is For If you are a Scala programmer with no prior knowledge about concurrent programming, or seeking to broaden your existing knowledge about concurrency, this book is for you. Basic knowledge of the Scala programming language will be helpful. Also if you have a solid knowledge in another programming language, such as Java, you should find this book easily accessible. What You Will Learn • Get to grips with the fundamentals of concurrent programming on modern multiprocessor systems • Build high-performance concurrent systems from simple, low-level concurrency primitives • Express asynchrony in concurrent computations with futures and promises • Seamlessly accelerate sequential programs by using data-parallel collections • Design safe, scalable, and easy-to-comprehend in-memory transactional data models • Transparently create distributed applications that scale across multiple machines • Integrate different concurrency frameworks together in large applications • Develop and implement scalable and easy-to-understand concurrent applications in Scala 2.12 In Detail Scala is a modern, multiparadigm programming language designed to express common programming patterns in a concise, elegant, and type-safe way. Scala smoothly integrates the features of object-oriented and functional languages. In this second edition, you will find updated coverage of the Scala 2.12 platform. The Scala 2.12 series targets Java 8 and requires it for execution. The book starts by introducing you to the foundations of concurrent programming on the JVM, outlining the basics of the Java Memory Model, and then shows some of the classic building blocks of concurrency, such as the atomic variables, thread pools, and concurrent data structures, along with the caveats of traditional concurrency. The book then walks you through different high-level concurrency abstractions, each tailored toward a specific class of programming tasks, while touching on the latest advancements of async programming capabilities of Scala. It also covers some useful patterns and idioms to use with the techniques described. Finally, the book presents an overview of when to use which concurrency library and demonstrates how they all work together, and then presents new exciting approaches to building concurrent and distributed systems. Style and approach The book provides a step-by-step introduction to concurrent programming. It focuses on easy-to-understand examples that are pragmatic and applicable to real-world applications. Different topics are approached in a bottom-up fashion, gradually going from the simplest foundations to the most advanced features.
Learning Continuous Integration with Jenkins.: A beginner's guide to implementing Continuous Integration and Continuous Delivery using Jenkins 2, 2nd Edition
by Nikhil Pathania Deep MehtaKey FeaturesTake advantage of a Continuous Integration and Continuous Delivery solution to speed up productivity and achieve faster software deliverySee all the new features introduced in Jenkins 2.x, such as Pipeline as code, Multibranch pipeline, Docker Plugin, and moreLearn to implement Continuous Integration and Continuous Delivery by orchestrating multiple DevOps tools using JenkinsBook DescriptionIn past few years, agile software development has seen tremendous growth. There is a huge demand for software delivery solutions that are fast yet flexible to numerous amendments. As a result, Continuous Integration (CI) and Continuous Delivery (CD) methodologies are gaining popularity. This book starts off by explaining the concepts of CI and its significance in the Agile. Next, you'll learn how to configure and set up Jenkins in many different ways. The book exploits the concept of "pipeline as code" and various other features introduced in the Jenkins 2.x release to their full potential. We also talk in detail about the new Jenkins Blue Ocean interface and the features that help to quickly and easily create a CI pipeline. Then we dive into the various features offered by Jenkins one by one, exploiting them for CI and CD. Jenkins' core functionality and flexibility allows it to fit in a variety of environments and can help streamline the development process for all stakeholders. Next, you'll be introduced to CD and will learn how to achieve it using Jenkins. Through this book's wealth of best practices and real-world tips, you'll discover how easy it is to implement CI and CD using Jenkins.What you will learn Get to know some of the most popular ways to set up Jenkins See all the new features introduced in the latest Jenkins, such as pipeline as code, Multibranch pipeline, and more Manage users, projects, and permissions in Jenkins to ensure better security Leverage the power of plugins in Jenkins Learn how to create a CI pipeline using Jenkins Blue Ocean Create a distributed build farm using Docker and use it with Jenkins Implement CI and CD using Jenkins See the difference between CD and Continuous Deployment Understand the concepts of CI
Learning Continuous Integration with Jenkins: A Beginner's Guide To Implementing Continuous Integration And Continuous Delivery Using Jenkins 2
by Nikhil PathaniaA step-by-step guide to quickly set up Jenkins across various platforms and create a Continuous Integration and Continuous Delivery pipeline using all the new features introduced in Jenkins 2.x such as Pipeline as a Code, Multibranch pipeline, Blue Ocean Plugin, and more.
Learning D3.js 4 Mapping - Second Edition
by Thomas Newton Oscar Villarreal Lars VerspohlCrisp and concise guide on building impressive maps as well as visualizations with D3 a JavaScript library About This Book • Dive into D3.js and apply its powerful data binding ability in order to create stunning visualizations • Learn the key concepts of SVG, JavaScript, CSS and the DOM to bring data and shapes to live in the browser • Solve common problems faced while building interactive maps • Acquire key web development skills from the creating your interactive to testing and finally publishing it. Who This Book Is For This book is for people with at least a basic knowledge of of web development (basic HTML/CSS/JavaScript). You don't need to have worked with D3.js before. What You Will Learn • Work with SVG geometric shapes • Learn to manage map data and plot it with D3.js • Add interactivity and points of interest to your maps • Compress and manipulate geoJSON files with the use of topoJSON • Learn how to write testable D3.js visualizations • Build a globe with D3.js and Canvas and add interactivity to it. • Create a hexbin map with D3.js In Detail D3.js is a visualization library used for the creation and control of dynamic and interactive graphical forms. It is a library used to manipulate HTML and SVG documents as well as the Canvas element based on data. Using D3.js, developers can create interactive maps for the web, that look and feel beautiful. This book will show you how build and design maps with D3.js and gives you great insight into projections, colors, and the most appropriate types of map. The book begins by helping you set up all the tools necessary to build visualizations and maps. Then it covers obtaining geographic data, modifying it to your specific needs, visualizing it with augmented data using D3.js. It will further show you how to draw and map with the Canvas API and how to publish your visualization. By the end of this book, you'll be creating maps like the election maps and the kind of infographics you'll find on sites like the New York Times. Style and approach This step by step guide with pragmatic examples will help you create maps and amazing visualizations.
Learning Docker - Second Edition
by Pethuru Raj Jeeva S. Chelladhurai Vinod SinghDocker lets you create, deploy, and manage your applications anywhere at anytime – flexibility is key so you can deploy stable, secure, and scalable app containers across a wide variety of platforms and delve into microservices architecture About This Book • This up-to-date edition shows how to leverage Docker's features to deploy your existing applications • Learn how to package your applications with Docker and build, ship, and scale your containers • Explore real-world examples of securing and managing Docker containers Who This Book Is For This book is ideal for developers, operations managers, and IT professionals who would like to learn about Docker and use it to build and deploy container-based apps. No prior knowledge of Docker is expected. What You Will Learn • Develop containerized applications using the Docker version 17.03 • Build Docker images from containers and launch them • Develop Docker images and containers leveraging Dockerfiles • Use Docker volumes to share data • Get to know how data is shared between containers • Understand Docker Jenkins integration • Gain the power of container orchestration • Familiarize yourself with the frequently used commands such as docker exec, docker ps, docker top, and docker stats In Detail Docker is an open source containerization engine that offers a simple and faster way for developing and running software. Docker containers wrap software in a complete filesystem that contains everything it needs to run, enabling any application to be run anywhere – this flexibily and portabily means that you can run apps in the cloud, on virtual machines, or on dedicated servers. This book will give you a tour of the new features of Docker and help you get started with Docker by building and deploying a simple application. It will walk you through the commands required to manage Docker images and containers. You'll be shown how to download new images, run containers, list the containers running on the Docker host, and kill them. You'll learn how to leverage Docker's volumes feature to share data between the Docker host and its containers – this data management feature is also useful for persistent data. This book also covers how to orchestrate containers using Docker compose, debug containers, and secure containers using the AppArmor and SELinux security modules. Style and approach This step-by-step guide will walk you through the features and use of Docker, from Docker software installation to the impenetrable security of containers.
Learning Elastic Stack 6.0: A beginner’s guide to distributed search, analytics, and visualization using Elasticsearch, Logstash and Kibana
by Saurabh Chhajed Marcelo Ochoa Pranav Shukla Sharath KumarKey Features - Get to grips with the new features introduced in Elastic Stack 6.0 - Get valuable insights from your data by working with the different components of the Elastic stack such as Elasticsearch, Logstash, Kibana, X-Pack, and Beats - Includes handy tips and techniques to build, deploy and manage your Elastic applications efficiently on-premise or on the cloud Book Description The Elastic Stack is a powerful combination of tools for distributed search, analytics, logging, and visualization of data from medium to massive data sets. The newly released Elastic Stack 6.0 brings new features and capabilities that empower users to find unique, actionable insights through these techniques. This book will give you a fundamental understanding of what the stack is all about, and how to use it efficiently to build powerful real-time data processing applications. After a quick overview of the newly introduced features in Elastic Stack 6.0, you’ll learn how to set up the stack by installing the tools, and see their basic configurations. Then it shows you how to use Elasticsearch for distributed searching and analytics, along with Logstash for logging, and Kibana for data visualization. It also demonstrates the creation of custom plugins using Kibana and Beats. You’ll find out about Elastic X-Pack, a useful extension for effective security and monitoring. We also provide useful tips on how to use the Elastic Cloud and deploy the Elastic Stack in production environments. On completing this book, you’ll have a solid foundational knowledge of the basic Elastic Stack functionalities. You’ll also have a good understanding of the role of each component in the stack to solve different data processing problems. What you will learn - Familiarize yourself with the different components of the Elastic Stack - Get to know the new functionalities introduced in Elastic Stack 6.0 - Effectively build your data pipeline to get data from terabytes or petabytes of data into Elasticsearch and Logstash for searching and logging - Use Kibana to visualize data and tell data stories in real-time - Secure, monitor, and use the alerting and reporting capabilities of Elastic Stack - Take your Elastic application to an on-premise or cloud-based production environment
Learning Elasticsearch
by Abhishek AndhavarapuStore, search, and analyze your data with ease using Elasticsearch 5.x About This Book • Get to grips with the basics of Elasticsearch concepts and its APIs, and use them to create efficient applications • Create large-scale Elasticsearch clusters and perform analytics using aggregation • This comprehensive guide will get you up and running with Elasticsearch 5.x in no time Who This Book Is For If you want to build efficient search and analytics applications using Elasticsearch, this book is for you. It will also benefit developers who have worked with Lucene or Solr before and now want to work with Elasticsearch. No previous knowledge of Elasticsearch is expected. What You Will Learn • See how to set up and configure Elasticsearch and Kibana • Know how to ingest structured and unstructured data using Elasticsearch • Understand how a search engine works and the concepts of relevance and scoring • Find out how to query Elasticsearch with a high degree of performance and scalability • Improve the user experience by using autocomplete, geolocation queries, and much more • See how to slice and dice your data using Elasticsearch aggregations. • Grasp how to use Kibana to explore and visualize your data • Know how to host on Elastic Cloud and how to use the latest X-Pack features such as Graph and Alerting In Detail Elasticsearch is a modern, fast, distributed, scalable, fault tolerant, and open source search and analytics engine. You can use Elasticsearch for small or large applications with billions of documents. It is built to scale horizontally and can handle both structured and unstructured data. Packed with easy-to- follow examples, this book will ensure you will have a firm understanding of the basics of Elasticsearch and know how to utilize its capabilities efficiently. You will install and set up Elasticsearch and Kibana, and handle documents using the Distributed Document Store. You will see how to query, search, and index your data, and perform aggregation-based analytics with ease. You will see how to use Kibana to explore and visualize your data. Further on, you will learn to handle document relationships, work with geospatial data, and much more, with this easy-to-follow guide. Finally, you will see how you can set up and scale your Elasticsearch clusters in production environments. Style and approach This comprehensive guide will get you started with Elasticsearch 5.x, so you build a solid understanding of the basics. Every topic is explained in depth and is supplemented with practical examples to enhance your understanding.
Learning FPGAs: Digital Design for Beginners with Mojo and Lucid HDL
by Justin RajewskiLearn how to design digital circuits with FPGAs (field-programmable gate arrays), the devices that reconfigure themselves to become the very hardware circuits you set out to program. With this practical guide, author Justin Rajewski shows you hands-on how to create FPGA projects, whether you’re a programmer, engineer, product designer, or maker. You’ll quickly go from the basics to designing your own processor.Designing digital circuits used to be a long and costly endeavor that only big companies could pursue. FPGAs make the process much easier, and now they’re affordable enough even for hobbyists. If you’re familiar with electricity and basic electrical components, this book starts simply and progresses through increasingly complex projects.Set up your environment by installing Xilinx ISE and the author’s Mojo IDELearn how hardware designs are broken into modules, comparable to functions in a software programCreate digital hardware designs and learn the basics on how they’ll be implemented by the FPGABuild your projects with Lucid, a beginner-friendly hardware description language, based on Verilog, with syntax similar to C/C++ and Java
Learning First, Technology Second: The Educator's Guide to Designing Authentic Lessons
by Liz KolbLearning with technology does not happen because a specific tool “revolutionizes” education. It happens when proven teaching strategies intersect with technology tools, and yet it is not uncommon for teachers to use a tool because it is “fun” or because the developer promises it will help students learn. <p><p> Learning First, Technology Second offers teachers the professional learning they need to move from arbitrary uses of technology in their classrooms to thoughtful ways of adding value to student learning. <p> This book includes: an introduction to the Triple E Framework that helps teachers engage students in time-on-task learning, enhance learning experiences beyond traditional means and extend learning opportunities to bridge classroom learning with students’ everyday lives; effective strategies for using technology to create authentic learning experiences for their students; case studies to guide appropriate tech integration; and a lesson planning template to show teachers how to effectively frame technology choices and apply them in instruction.
Learning Functional Data Structures and Algorithms
by Atul S. Khot Raju Kumar MishraLearn functional data structures and algorithms for your applications and bring their benefits to your work now About This Book • Moving from object-oriented programming to functional programming? This book will help you get started with functional programming. • Easy-to-understand explanations of practical topics will help you get started with functional data structures. • Illustrative diagrams to explain the algorithms in detail. • Get hands-on practice of Scala to get the most out of functional programming. Who This Book Is For This book is for those who have some experience in functional programming languages. The data structures in this book are primarily written in Scala, however implementing the algorithms in other functional languages should be straight forward. What You Will Learn • Learn to think in the functional paradigm • Understand common data structures and the associated algorithms, as well as the context in which they are commonly used • Take a look at the runtime and space complexities with the O notation • See how ADTs are implemented in a functional setting • Explore the basic theme of immutability and persistent data structures • Find out how the internal algorithms are redesigned to exploit structural sharing, so that the persistent data structures perform well, avoiding needless copying. • Get to know functional features like lazy evaluation and recursion used to implement efficient algorithms • Gain Scala best practices and idioms In Detail Functional data structures have the power to improve the codebase of an application and improve efficiency. With the advent of functional programming and with powerful functional languages such as Scala, Clojure and Elixir becoming part of important enterprise applications, functional data structures have gained an important place in the developer toolkit. Immutability is a cornerstone of functional programming. Immutable and persistent data structures are thread safe by definition and hence very appealing for writing robust concurrent programs. How do we express traditional algorithms in functional setting? Won't we end up copying too much? Do we trade performance for versioned data structures? This book attempts to answer these questions by looking at functional implementations of traditional algorithms. It begins with a refresher and consolidation of what functional programming is all about. Next, you'll get to know about Lists, the work horse data type for most functional languages. We show what structural sharing means and how it helps to make immutable data structures efficient and practical. Scala is the primary implementation languages for most of the examples. At times, we also present Clojure snippets to illustrate the underlying fundamental theme. While writing code, we use ADTs (abstract data types). Stacks, Queues, Trees and Graphs are all familiar ADTs. You will see how these ADTs are implemented in a functional setting. We look at implementation techniques like amortization and lazy evaluation to ensure efficiency. By the end of the book, you will be able to write efficient functional data structures and algorithms for your applications. Style and approach Step-by-step topics will help you get started with functional programming. Learn by doing with hands-on code snippets that give you practical experience of the subject.
Learning Functional Programming in Go
by Lex SheehanFunction literals, Monads, Lazy evaluation, Currying, and more About This Book • Write concise and maintainable code with streams and high-order functions • Understand the benefits of currying your Golang functions • Learn the most effective design patterns for functional programming and learn when to apply each of them • Build distributed MapReduce solutions using Go Who This Book Is For This book is for Golang developers comfortable with OOP and interested in learning how to apply the functional paradigm to create robust and testable apps. Prior programming experience with Go would be helpful, but not mandatory. What You Will Learn • Learn how to compose reliable applications using high-order functions • Explore techniques to eliminate side-effects using FP techniques such as currying • Use first-class functions to implement pure functions • Understand how to implement a lambda expression in Go • Compose a working application using the decorator pattern • Create faster programs using lazy evaluation • Use Go concurrency constructs to compose a functionality pipeline • Understand category theory and what it has to do with FP In Detail Functional programming is a popular programming paradigm that is used to simplify many tasks and will help you write flexible and succinct code. It allows you to decompose your programs into smaller, highly reusable components, without applying conceptual restraints on how the software should be modularized. This book bridges the language gap for Golang developers by showing you how to create and consume functional constructs in Golang. The book is divided into four modules. The first module explains the functional style of programming; pure functional programming (FP), manipulating collections, and using high-order functions. In the second module, you will learn design patterns that you can use to build FP-style applications. In the next module, you will learn FP techniques that you can use to improve your API signatures, to increase performance, and to build better Cloud-native applications. The last module delves into the underpinnings of FP with an introduction to category theory for software developers to give you a real understanding of what pure functional programming is all about, along with applicable code examples. By the end of the book, you will be adept at building applications the functional way. Style and approach This book takes a pragmatic approach and shows you techniques to write better functional constructs in Golang. We'll also show you how use these concepts to build robust and testable apps.
Learning Generative Adversarial Networks
by Kuntal GangulyBuild image generation and semi-supervised models using Generative Adversarial Networks About This Book • Understand the buzz surrounding Generative Adversarial Networks and how they work, in the simplest manner possible • Develop generative models for a variety of real-world use-cases and deploy them to production • Contains intuitive examples and real-world cases to put the theoretical concepts explained in this book to practical use Who This Book Is For Data scientists and machine learning practitioners who wish to understand the fundamentals of generative models will find this book useful. Those who wish to implement Generative Adversarial Networks and their variant architectures through real-world examples will also benefit from this book. No prior knowledge of generative models or GANs is expected. What You Will Learn • Understand the basics of deep learning and the difference between discriminative and generative models • Generate images and build semi-supervised models using Generative Adversarial Networks (GANs) with real-world datasets • Tune GAN models by addressing the challenges such as mode collapse, training instability using mini batch, feature matching, and the boundary equilibrium technique. • Use stacking with Deep Learning architectures to run and generate images from text. • Couple multiple Generative models to discover relationships across various domains • Explore the real-world steps to deploy deep models in production In Detail Generative models are gaining a lot of popularity among the data scientists, mainly because they facilitate the building of AI systems that consume raw data from a source and automatically builds an understanding of it. Unlike supervised learning methods, generative models do not require labeling of the data which makes it an interesting system to use. This book will help you to build and analyze the deep learning models and apply them to real-world problems. This book will help readers develop intelligent and creative application from a wide variety of datasets, mainly focusing on visuals or images. The book begins with the basics of generative models, as you get to know the theory behind Generative Adversarial Networks and its building blocks. This book will show you how you can overcome the problem of text to image synthesis with GANs, using libraries like Tensorflow, Keras and PyTorch. Transfering style from one domain to another becomes a headache when working with huge data sets. The author, using real-world examples, will show how you can overcome this. You will understand and train Generative Adversarial Networks and use them in a production environment and learn tips to use them effectively and accurately. Style and approach A step-by-step guide that will teach you the use of appropriate GAN models for image generation, editing and painting, text-to-image synthesis, image style transfer, and cross-domain discovery with Python libraries such as Tensorflow, Keras, and PyTorch.
Learning Google BigQuery: A beginner's guide to mining massive datasets through interactive analysis
by Eric Brown Jason Morris Ruben Oliva Ramos Thirukkumaran Haridass Mikhail BerlyantKey Features Get started with BigQuery API and write custom applications using it Learn how BigQuery API can be used for storing, managing, and query massive datasets with ease A practical guide with examples and use-cases to teach you everything you need to know about Google BigQuery Book Description Google BigQuery is a popular cloud data warehouse for large-scale data analytics. This book will serve as a comprehensive guide to mastering BigQuery, and how you can utilize it to quickly and efficiently get useful insights from your Big Data. You will begin with getting a quick overview of the Google Cloud Platform and the various services it supports. Then, you will be introduced to the Google BigQuery API and how it fits within in the framework of GCP. The book covers useful techniques to migrate your existing data from your enterprise to Google BigQuery, as well as readying and optimizing it for analysis. You will perform basic as well as advanced data querying using BigQuery, and connect the results to various third party tools for reporting and visualization purposes such as R and Tableau. If you're looking to implement real-time reporting of your streaming data running in your enterprise, this book will also help you. This book also provides tips, best practices and mistakes to avoid while working with Google BigQuery and services that interact with it. By the time you're done with it, you will have set a solid foundation in working with BigQuery to solve even the trickiest of data problems. What you will learn Get a hands-on introduction to Google Cloud Platform and its services Understand the different data types supported by Google BigQuery Migrate your enterprise data to BigQuery and query it using the legacy and standard SQL techniques Use partition tables in your project and query external data sources and wild card tables Create tables and data sets dynamically using the BigQuery API Perform real-time inserting of records for analytics using Python and C# Visualize your BigQuery data by connecting it to third party tools such as Tableau and R Master the Google Cloud Pub/Sub for implementing real-time reporting and analytics of your Big Data
Learning HTTP/2: A Practical Guide for Beginners
by Javier Garza Stephen LudinWhat can your organization gain by adopting HTTP/2? How about faster, simpler, and more robust websites and applications? This practical guide demonstrates how the latest version of the Hypertext Transfer Protocol can dramatically improve website and application performance. You’ll take a deep dive into HTTP/2 details, and learn how this updated protocol is changing the web landscape.HTTP/1.1 has been the primary means of communicating data across the web for the past 20 years, but the level of interaction today has gone well beyond what people envisioned in 1997. With this book, authors Stephen Ludin and Javier Garza show you how HTTP/2 will help speed the execution of modern sites and applications.With this book, you’ll explore:Performance challenges that led to the HTTP upgradeHTTP/2 in a nutshell, including benefits and transition methodsExisting best practices and hacks to improve web performanceHTTP/2 support for browsers, servers, proxies, and content delivery networksHow the performance of sites using HTTP/2 compares to their HTTP/1.1 experienceHTTP/2’s effect on specific issues such as latency, packet loss, and Time to First Byte (TTFB)HTTP/2’s effect on specific issues such as latency, packet loss, and Time to First Byte (TTFB)
Learning Informatica PowerCenter 10.x - Second Edition
by Rahul MalewarHarness the power and simplicity of Informatica PowerCenter 10.x to build and manage efficient data management solutions About This Book • Master PowerCenter 10.x components to create, execute, monitor, and schedule ETL processes with a practical approach. • An ideal guide to building the necessary skills and competencies to become an expert Informatica PowerCenter developer. • A comprehensive guide to fetching/transforming and loading huge volumes of data in a very effective way, with reduced resource consumption Who This Book Is For If you wish to deploy Informatica in enterprise environments and build a career in data warehousing, then this book is for you. Whether you are a software developer/analytic professional and are new to Informatica or an experienced user, you will learn all the features of Informatica 10.x. A basic knowledge of programming and data warehouse concepts is essential. What You Will Learn • Install or upgrade the components of the Informatica PowerCenter tool • Work on various aspects of administrative skills and on the various developer Informatica PowerCenter screens such as Designer, Workflow Manager, Workflow Monitor, and Repository Manager. • Get practical hands-on experience of various sections of Informatica PowerCenter, such as navigator, toolbar, workspace, control panel, and so on • Leverage basic and advanced utilities, such as the debugger, target load plan, and incremental aggregation to process data • Implement data warehousing concepts such as schemas and SCDs using Informatica • Migrate various components, such as sources and targets, to another region using the Designer and Repository Manager screens • Enhance code performance using tips such as pushdown optimization and partitioning In Detail Informatica PowerCenter is an industry-leading ETL tool, known for its accelerated data extraction, transformation, and data management strategies. This book will be your quick guide to exploring Informatica PowerCenter's powerful features such as working on sources, targets, transformations, performance optimization, scheduling, deploying for processing, and managing your data at speed. First, you'll learn how to install and configure tools. You will learn to implement various data warehouse and ETL concepts, and use PowerCenter 10.x components to build mappings, tasks, workflows, and so on. You will come across features such as transformations, SCD, XML processing, partitioning, constraint-based loading, Incremental aggregation, and many more. Moreover, you'll also learn to deliver powerful visualizations for data profiling using the advanced monitoring dashboard functionality offered by the new version. Using data transformation technique, performance tuning, and the many new advanced features, this book will help you understand and process data for training or production purposes. The step-by-step approach and adoption of real-time scenarios will guide you through effectively accessing all core functionalities offered by Informatica PowerCenter version 10.x. Style and approach You'll get hand-on with sources, targets, transformations, performance optimization, scheduling, deploying for processing, and managing your data, and learn everything you need to become a proficient Informatica PowerCenter developer.
Learning Ionic 2 - Second Edition
by Arvind RavulavaruThis book is for JavaScript developers with basic skills. No previous knowledge of Ionic is required for this book.
Learning Java Lambdas
by Toby WestonUnderstand and utilize Java Lambdas About This Book • Take a deep dive into one of the single most important additions to modern Java • Master Java lambdas, and fully understand functions, classes, and scope. • Improve your programming skills, which will enable you to write cleaner and more dynamic code Who This Book Is For Learning Java Lambdas is for developers looking to upgrade their Java skills and familiarize themselves with one of the most important new features of Java. This book is not for absolute beginners and will be more suited to professionals who are already comfortable with Java coding. You should have a basic knowledge of Java before reading this book. What You Will Learn • What a lambda is and how it differs from other Java features • How to use lambdas effectively in your own projects • The use of method references and advanced scoping • The difference between lambdas and closures • The differences in bytecode produced when using lambdas In Detail In this short book, we take an in-depth look at lambdas in Java, and their supporting features. The book covers essential topics, such as functional interfaces and type inference, and the key differences between lambdas and closures. You will learn about the background to functional programming and lambdas, before moving on to understanding the basic syntax of lambdas and what differentiates these anonymous functions from standard anonymous classes. Lastly, you'll learn how to invoke lambdas and look at the bytecode generated. After reading this book, you'll understand lambdas in depth, their background, syntax, implementation details, and how and when to use them. You'll also have a clear knowledge of the difference between functions and classes, and why that's relevant to lambdas. This knowledge will enable you to appreciate the improvements to type inference that drive a lot of the new features in modern Java, and will increase your understanding of method references and scoping. Style and approach This book is a deep dive into one of the core new features of the Java language – Lambdas. It covers them in great details, making sure that you fully understand how lambdas work, and how they can be put to use in your own programs.
Learning Julia
by Anshul Joshi Rahul LakhanpalLearn Julia language for data science and data analytics About This Book • Set up Julia's environment and start building simple programs • Explore the technical aspects of Julia and its potential when it comes to speed and data processing • Write efficient and high-quality code in Julia Who This Book Is For This book allows existing programmers, statisticians and data scientists to learn the Julia and take its advantage while building applications with complex numerical and scientific computations. Basic knowledge of mathematics is needed to understand the various methods that will be used or created in the book to exploit the capabilities for which Julia is made. What You Will Learn • Understand Julia's ecosystem and create simple programs • Master the type system and create your own types in Julia • Understand Julia's type system, annotations, and conversions • Define functions and understand meta-programming and multiple dispatch • Create graphics and data visualizations using Julia • Build programs capable of networking and parallel computation • Develop real-world applications and use connections for RDBMS and NoSQL • Learn to interact with other programming languages–C and Python—using Julia In Detail Julia is a highly appropriate language for scientific computing, but it comes with all the required capabilities of a general-purpose language. It allows us to achieve C/Fortran-like performance while maintaining the concise syntax of a scripting language such as Python. It is perfect for building high-performance and concurrent applications. From the basics of its syntax to learning built-in object types, this book covers it all. This book shows you how to write effective functions, reduce code redundancies, and improve code reuse. It will be helpful for new programmers who are starting out with Julia to explore its wide and ever-growing package ecosystem and also for experienced developers/statisticians/data scientists who want to add Julia to their skill-set. The book presents the fundamentals of programming in Julia and in-depth informative examples, using a step-by-step approach. You will be taken through concepts and examples such as doing simple mathematical operations, creating loops, metaprogramming, functions, collections, multiple dispatch, and so on. By the end of the book, you will be able to apply your skills in Julia to create and explore applications of any domain. Style and approach This book demonstrates the basics of Julia along with some data structures and testing tools that will give you enough material to get started with the language from an application standpoint.