Learn OpenGL

Learn OpenGL
Author: Frahaan Hussain
Publsiher: Packt Publishing Ltd
Total Pages: 208
Release: 2018-08-31
Genre: Computers
ISBN: 9781789340860

Download Learn OpenGL Book in PDF, Epub and Kindle

A step-by-step instructional guide to understanding the fundamentals of game development with OpenGL. Right from the setup to the important features, we'll get a better understanding of games and the engines behind them. Key Features Learn the basics of drawing along with fundamentals of shading to create amazing objects. Get in-depth knowledge of lighting and materials to make realistic objects. Understand the fundamentals of model loading and cube mapping. Book Description Learn OpenGL is your one-stop reference guide to get started with OpenGL and C++ for game development. From setting up the development environment to getting started with basics of drawing and shaders, along with concepts such as lighting, model loading, and cube mapping, this book will get you up to speed with the fundamentals. You begin by setting up your development environment to use OpenGL on Windows and macOS. With GLFW and GLEW set up using absolute and relative linking done, you are ready to setup SDL and SFML for both the operating systems. Now that your development environment is set up, you'll learn to draw using simple shaders as well as make the shader more adaptable and reusable. Then we move on to more advanced topics like texturing your objects with images and transforming your objects using translate, rotate and scale. With these concepts covered, we'll move on to topics like lighting to enable you to incorporate amazing dynamic lights in your game world. By the end of the book, you'll learn about model loading, right from setting up ASSIMP to learning about the model class and loading a model in your game environment. We will conclude by understanding cube mapping to bring advance worlds to your game. What you will learn Set up GLFW and GLEW on Windows and macOS with absolute, relative Linking Set up SDL and SFML on your system using absolute and relative Linking Draw using the simple shaders Create a camera and learn to populate your game world with objects Learn about color and lighting concepts to create an amazing game world Understand model loading and cube mapping to advance your game Who this book is for This book is targeted towards anyone and everyone who is interested in creating games, learning how game engines work and most importantly for anyone who is interested in learning OpenGL. The ideal reader for this book would be anyone with a passion for learning game development or looking out for an OpenGL reference guide. The skills that you'll learn in this book will be applicable to all your game development needs. You'll require a strong foundation in C++ to understand and apply the concepts of this book.

Apache Kafka Quick Start Guide

Apache Kafka Quick Start Guide
Author: Raúl Estrada
Publsiher: Packt Publishing Ltd
Total Pages: 186
Release: 2018-12-27
Genre: Computers
ISBN: 9781788992251

Download Apache Kafka Quick Start Guide Book in PDF, Epub and Kindle

Process large volumes of data in real-time while building high performance and robust data stream processing pipeline using the latest Apache Kafka 2.0 Key Features Solve practical large data and processing challenges with Kafka Tackle data processing challenges like late events, windowing, and watermarking Understand real-time streaming applications processing using Schema registry, Kafka connect, Kafka streams, and KSQL Book Description Apache Kafka is a great open source platform for handling your real-time data pipeline to ensure high-speed filtering and pattern matching on the fly. In this book, you will learn how to use Apache Kafka for efficient processing of distributed applications and will get familiar with solving everyday problems in fast data and processing pipelines. This book focuses on programming rather than the configuration management of Kafka clusters or DevOps. It starts off with the installation and setting up the development environment, before quickly moving on to performing fundamental messaging operations such as validation and enrichment. Here you will learn about message composition with pure Kafka API and Kafka Streams. You will look into the transformation of messages in different formats, such asext, binary, XML, JSON, and AVRO. Next, you will learn how to expose the schemas contained in Kafka with the Schema Registry. You will then learn how to work with all relevant connectors with Kafka Connect. While working with Kafka Streams, you will perform various interesting operations on streams, such as windowing, joins, and aggregations. Finally, through KSQL, you will learn how to retrieve, insert, modify, and delete data streams, and how to manipulate watermarks and windows. What you will learn How to validate data with Kafka Add information to existing data flows Generate new information through message composition Perform data validation and versioning with the Schema Registry How to perform message Serialization and Deserialization How to perform message Serialization and Deserialization Process data streams with Kafka Streams Understand the duality between tables and streams with KSQL Who this book is for This book is for developers who want to quickly master the practical concepts behind Apache Kafka. The audience need not have come across Apache Kafka previously; however, a familiarity of Java or any JVM language will be helpful in understanding the code in this book.

Selenium WebDriver Quick Start Guide

Selenium WebDriver Quick Start Guide
Author: Pinakin Chaubal
Publsiher: Packt Publishing Ltd
Total Pages: 192
Release: 2018-10-30
Genre: Computers
ISBN: 9781789611342

Download Selenium WebDriver Quick Start Guide Book in PDF, Epub and Kindle

Get writing tests and learn to design your own testing framework with Selenium WebDriver API Key Features Learn Selenium from the ground up Design your own testing framework Create reusable functionality in your framework Book Description Selenium WebDriver is a platform-independent API for automating the testing of both browser and mobile applications. It is also a core technology in many other browser automation tools, APIs, and frameworks. This book will guide you through the WebDriver APIs that are used in automation tests. Chapter by chapter, we will construct the building blocks of a page object model framework as you learn about the required Java and Selenium methods and terminology. The book starts with an introduction to the same-origin policy, cross-site scripting dangers, and the Document Object Model (DOM). Moving ahead, we'll learn about XPath, which allows us to select items on a page, and how to design a customized XPath. After that, we will be creating singleton patterns and drivers. Then you will learn about synchronization and handling pop-up windows. You will see how to create a factory for browsers and understand command design patterns applicable to this area. At the end of the book, we tie all this together by creating a framework and implementing multi-browser testing with Selenium Grid. What you will learn Understand what an XPath is and how to design a customized XPath Learn how to create a Maven project and build Create a Singleton driver Get to grips with Jenkins integration Create a factory for browsers Implement multi-browser testing with Selenium Grid Create a sample pop-up window and JavaScript alert Report using Extent Reports Who this book is for This book is for software testers or developers.

Ajax on Java

Ajax on Java
Author: Steven Douglas Olson
Publsiher: "O'Reilly Media, Inc."
Total Pages: 228
Release: 2007-02-22
Genre: Computers
ISBN: 9780596553647

Download Ajax on Java Book in PDF, Epub and Kindle

This practical guide shows you how to make your Java web applications more responsive and dynamic by incorporating new Ajaxian features, including suggestion lists, drag-and-drop, and more. Java developers can choose between many different ways of incorporating Ajax, from building JavaScript into your applications "by hand" to using the new Google Web Toolkit (GWT). Ajax on Java starts with an introduction to Ajax, showing you how to write some basic applications that use client-side JavaScript to request information from a Java servlet and display it without doing a full page reload. It also presents several strategies for communicating between the client and the server, including sending raw data, and using XML or JSON (JavaScript Object Notation) for sending more complex collections of data. The book then branches out into different approaches for incorporating Ajax, which include: The Prototype and script.aculo.us Javascript libraries, the Dojo and Rico libraries, and DWR Integrating Ajax into Java ServerPages (JSP) applications Using Ajax with Struts Integrating Ajax into Java ServerFaces (JSF) applications Using Google's GWT, which offers a pure Java approach to developing web applications: your client-side components are written in Java, and compiled into HTML and JavaScript Ajax gives web developers the ability to build applications that are more interactive, more dynamic, more exciting and enjoyable for your users. If you're a Java developer and haven't tried Ajax, but would like to get started, this book is essential. Your users will be grateful.

Mastering Kubernetes

Mastering Kubernetes
Author: Gigi Sayfan
Publsiher: Packt Publishing Ltd
Total Pages: 426
Release: 2017-05-25
Genre: Computers
ISBN: 9781786469854

Download Mastering Kubernetes Book in PDF, Epub and Kindle

Master the art of container management utilizing the power of Kubernetes. About This Book This practical guide demystifies Kubernetes and ensures that your clusters are always available, scalable, and up to date Discover new features such as autoscaling, rolling updates, resource quotas, and cluster size Master the skills of designing and deploying large clusters on various cloud platforms Who This Book Is For The book is for system administrators and developers who have intermediate level of knowledge with Kubernetes and are now waiting to master its advanced features. You should also have basic networking knowledge. This advanced-level book provides a pathway to master Kubernetes. What You Will Learn Architect a robust Kubernetes cluster for long-time operation Discover the advantages of running Kubernetes on GCE, AWS, Azure, and bare metal See the identity model of Kubernetes and options for cluster federation Monitor and troubleshoot Kubernetes clusters and run a highly available Kubernetes Create and configure custom Kubernetes resources and use third-party resources in your automation workflows Discover the art of running complex stateful applications in your container environment Deliver applications as standard packages In Detail Kubernetes is an open source system to automate the deployment, scaling, and management of containerized applications. If you are running more than just a few containers or want automated management of your containers, you need Kubernetes. This book mainly focuses on the advanced management of Kubernetes clusters. It covers problems that arise when you start using container orchestration in production. We start by giving you an overview of the guiding principles in Kubernetes design and show you the best practises in the fields of security, high availability, and cluster federation. You will discover how to run complex stateful microservices on Kubernetes including advanced features as horizontal pod autoscaling, rolling updates, resource quotas, and persistent storage back ends. Using real-world use cases, we explain the options for network configuration and provides guidelines on how to set up, operate, and troubleshoot various Kubernetes networking plugins. Finally, we cover custom resource development and utilization in automation and maintenance workflows. By the end of this book, you'll know everything you need to know to go from intermediate to advanced level. Style and approach Delving into the design of the Kubernetes platform, the reader will be exposed to the advanced features and best practices of Kubernetes. This book will be an advanced level book which will provide a pathway to master Kubernetes

Ghidra Software Reverse Engineering for Beginners

Ghidra Software Reverse Engineering for Beginners
Author: A. P. David
Publsiher: Packt Publishing Ltd
Total Pages: 322
Release: 2021-01-08
Genre: Computers
ISBN: 9781800201842

Download Ghidra Software Reverse Engineering for Beginners Book in PDF, Epub and Kindle

Detect potentials bugs in your code or program and develop your own tools using the Ghidra reverse engineering framework developed by the NSA project Key Features Make the most of Ghidra on different platforms such as Linux, Windows, and macOS Leverage a variety of plug-ins and extensions to perform disassembly, assembly, decompilation, and scripting Discover how you can meet your cybersecurity needs by creating custom patches and tools Book Description Ghidra, an open source software reverse engineering (SRE) framework created by the NSA research directorate, enables users to analyze compiled code on any platform, whether Linux, Windows, or macOS. This book is a starting point for developers interested in leveraging Ghidra to create patches and extend tool capabilities to meet their cybersecurity needs. You'll begin by installing Ghidra and exploring its features, and gradually learn how to automate reverse engineering tasks using Ghidra plug-ins. You'll then see how to set up an environment to perform malware analysis using Ghidra and how to use it in the headless mode. As you progress, you'll use Ghidra scripting to automate the task of identifying vulnerabilities in executable binaries. The book also covers advanced topics such as developing Ghidra plug-ins, developing your own GUI, incorporating new process architectures if needed, and contributing to the Ghidra project. By the end of this Ghidra book, you'll have developed the skills you need to harness the power of Ghidra for analyzing and avoiding potential vulnerabilities in code and networks. What you will learn Get to grips with using Ghidra's features, plug-ins, and extensions Understand how you can contribute to Ghidra Focus on reverse engineering malware and perform binary auditing Automate reverse engineering tasks with Ghidra plug-ins Become well-versed with developing your own Ghidra extensions, scripts, and features Automate the task of looking for vulnerabilities in executable binaries using Ghidra scripting Find out how to use Ghidra in the headless mode Who this book is for This SRE book is for developers, software engineers, or any IT professional with some understanding of cybersecurity essentials. Prior knowledge of Java or Python, along with experience in programming or developing applications, is required before getting started with this book.

Selenium Framework Design in Data Driven Testing

Selenium Framework Design in Data Driven Testing
Author: Carl Cocchiaro
Publsiher: Packt Publishing Ltd
Total Pages: 354
Release: 2018-01-23
Genre: Computers
ISBN: 9781788471732

Download Selenium Framework Design in Data Driven Testing Book in PDF, Epub and Kindle

Take a deep dive into building data-driven test frameworks using Selenium WebDriver Key Features A comprehensive guide to designing data-driven test frameworks using the Selenium 3 WebDriver API, AppiumDriver API, Java-Bindings, and TestNG Learn how to use Selenium Page Object Design Patterns and D.R.Y. (Don’t Repeat Yourself) Approaches to software development in automated testing Discover the Selenium Grid Architecture and build your own grid for browser and mobile devices Use third party tools and services like ExtentReports for results processing, reporting, and SauceLabs for cloud-based test services Book Description The Selenium WebDriver 3.x Technology is an open source API available to test both Browser and Mobile applications. It is completely platform independent in that tests built for one browser or mobile device, will also work on all other browsers and mobile devices. Selenium supports all major development languages which allow it to be tied directly into the technology used to develop the applications. This guide will provide a step-by-step approach to designing and building a data-driven test framework using Selenium WebDriver, Java, and TestNG. The book starts off by introducing users to the Selenium Page Object Design Patterns and D.R.Y Approaches to Software Development. In doing so, it covers designing and building a Selenium WebDriver framework that supports both Browser and Mobile Devices. It will lead the user through a journey of architecting their own framework with a scalable driver class, Java utility classes, JSON Data Provider, Data-Driven Test Classes, and support for third party tools and plugins. Users will learn how to design and build a Selenium Grid from scratch to allow the framework to scale and support different browsers, mobile devices, versions, and platforms, and how they can leverage third party grids in the Cloud like SauceLabs. Other topics covered include designing abstract base and sub-classes, inheritance, dual-driver support, parallel testing, testing multi-branded applications, best practices for using locators, and data encapsulation. Finally, you will be presented with a sample fully-functional framework to get them up and running with the Selenium WebDriver for browser testing. By the end of the book, you will be able to design your own automation testing framework and perform data-driven testing with Selenium WebDriver. What you will learn Design the Selenium Driver Class for local, remote, and third party grid support Build Page Object Classes using the Selenium Page Object Model Develop Data-Driven Test Classes using the TestNG framework Encapsulate Data using the JSON Protocol Build a Selenium Grid for RemoteWebDriver Testing Construct Utility Classes for use in Synchronization, File I/O, Reporting and Test Listener Classes Run the sample framework and see the benefits of a live data-driven framework in real-time Who this book is for This book is intended for software quality assurance/testing professionals, software project managers, or software developers with prior experience in using Selenium and Java to test web-based applications.This book is geared towards the quality assurance and development professionals responsible for designing and building enterprise-based testing frameworks.The user should have a working knowledge of the Java, TestNG, and Selenium technologies

Mastering Reverse Engineering

Mastering Reverse Engineering
Author: Reginald Wong
Publsiher: Packt Publishing Ltd
Total Pages: 436
Release: 2018-10-31
Genre: Computers
ISBN: 9781788835299

Download Mastering Reverse Engineering Book in PDF, Epub and Kindle

Implement reverse engineering techniques to analyze software, exploit software targets, and defend against security threats like malware and viruses. Key Features Analyze and improvise software and hardware with real-world examples Learn advanced debugging and patching techniques with tools such as IDA Pro, x86dbg, and Radare2. Explore modern security techniques to identify, exploit, and avoid cyber threats Book Description If you want to analyze software in order to exploit its weaknesses and strengthen its defenses, then you should explore reverse engineering. Reverse Engineering is a hackerfriendly tool used to expose security flaws and questionable privacy practices.In this book, you will learn how to analyse software even without having access to its source code or design documents. You will start off by learning the low-level language used to communicate with the computer and then move on to covering reverse engineering techniques. Next, you will explore analysis techniques using real-world tools such as IDA Pro and x86dbg. As you progress through the chapters, you will walk through use cases encountered in reverse engineering, such as encryption and compression, used to obfuscate code, and how to to identify and overcome anti-debugging and anti-analysis tricks. Lastly, you will learn how to analyse other types of files that contain code. By the end of this book, you will have the confidence to perform reverse engineering. What you will learn Learn core reverse engineering Identify and extract malware components Explore the tools used for reverse engineering Run programs under non-native operating systems Understand binary obfuscation techniques Identify and analyze anti-debugging and anti-analysis tricks Who this book is for If you are a security engineer or analyst or a system programmer and want to use reverse engineering to improve your software and hardware, this is the book for you. You will also find this book useful if you are a developer who wants to explore and learn reverse engineering. Having some programming/shell scripting knowledge is an added advantage.

Learning C Functional Programming

Learning C   Functional Programming
Author: Wisnu Anggoro
Publsiher: Packt Publishing Ltd
Total Pages: 304
Release: 2017-08-10
Genre: Computers
ISBN: 9781787280588

Download Learning C Functional Programming Book in PDF, Epub and Kindle

Apply 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.

Palm OS Programming

Palm OS Programming
Author: Neil Rhodes,Julie McKeehan
Publsiher: "O'Reilly Media, Inc."
Total Pages: 681
Release: 2002
Genre: Computers
ISBN: 9781565928565

Download Palm OS Programming Book in PDF, Epub and Kindle

Introduces the PalmPilot and its systems while offering instruction in programming forms, databases, widgets, and event-driven user interfaces.

Using Samba

Using Samba
Author: Gerald Carter,Jay Ts,Robert Eckstein
Publsiher: "O'Reilly Media, Inc."
Total Pages: 450
Release: 2007-01-23
Genre: Computers
ISBN: 9781449373092

Download Using Samba Book in PDF, Epub and Kindle

This book is the comprehensive guide to Samba administration, officially adopted by the Samba Team. Wondering how to integrate Samba's authentication with that of a Windows domain? How to get Samba to serve Microsoft Dfs shares? How to share files on Mac OS X? These and a dozen other issues of interest to system administrators are covered. A whole chapter is dedicated to troubleshooting! The range of this book knows few bounds. Using Samba takes you from basic installation and configuration -- on both the client and server side, for a wide range of systems -- to subtle details of security, cross-platform compatibility, and resource discovery that make the difference between whether users see the folder they expect or a cryptic error message. The current edition covers such advanced 3.x features as: Integration with Active Directory and OpenLDAP Migrating from Windows NT 4.0 domains to Samba Delegating administrative tasks to non-root users Central printer management Advanced file serving features, such as making use of Virtual File System (VFS) plugins. Samba is a cross-platform triumph: robust, flexible and fast, it turns a Unix or Linux system into a file and print server for Microsoft Windows network clients. This book will help you make your file and print sharing as powerful and efficient as possible. The authors delve into the internals of the Windows activities and protocols to an unprecedented degree, explaining the strengths and weaknesses of each feature in Windows domains and in Samba itself. Whether you're playing on your personal computer or an enterprise network, on one note or a full three-octave range, Using Samba will give you an efficient and secure server.

Learning SQL

Learning SQL
Author: Alan Beaulieu
Publsiher: O'Reilly Media
Total Pages: 338
Release: 2009-04-11
Genre: Computers
ISBN: 9780596551070

Download Learning SQL Book in PDF, Epub and Kindle

Updated for the latest database management systems -- including MySQL 6.0, Oracle 11g, and Microsoft's SQL Server 2008 -- this introductory guide will get you up and running with SQL quickly. Whether you need to write database applications, perform administrative tasks, or generate reports, Learning SQL, Second Edition, will help you easily master all the SQL fundamentals. Each chapter presents a self-contained lesson on a key SQL concept or technique, with numerous illustrations and annotated examples. Exercises at the end of each chapter let you practice the skills you learn. With this book, you will: Move quickly through SQL basics and learn several advanced features Use SQL data statements to generate, manipulate, and retrieve data Create database objects, such as tables, indexes, and constraints, using SQL schema statements Learn how data sets interact with queries, and understand the importance of subqueries Convert and manipulate data with SQL's built-in functions, and use conditional logic in data statements Knowledge of SQL is a must for interacting with data. With Learning SQL, you'll quickly learn how to put the power and flexibility of this language to work.

Python 3 Object oriented Programming

Python 3 Object oriented Programming
Author: Dusty Phillips
Publsiher: Packt Publishing Ltd
Total Pages: 460
Release: 2015-08-20
Genre: Computers
ISBN: 9781784395957

Download Python 3 Object oriented Programming Book in PDF, Epub and Kindle

Unleash the power of Python 3 objects About This Book Stop writing scripts and start architecting programs Learn the latest Python syntax and libraries A practical, hands-on tutorial that teaches you all about abstract design patterns and how to implement them in Python 3 Who This Book Is For If you're new to object-oriented programming techniques, or if you have basic Python skills and wish to learn in depth how and when to correctly apply object-oriented programming in Python to design software, this is the book for you. What You Will Learn Implement objects in Python by creating classes and defining methods Separate related objects into a taxonomy of classes and describe the properties and behaviors of those objects via the class interface Extend class functionality using inheritance Understand when to use object-oriented features, and more importantly when not to use them Discover what design patterns are and why they are different in Python Uncover the simplicity of unit testing and why it's so important in Python Grasp common concurrency techniques and pitfalls in Python 3 Exploit object-oriented programming in key Python technologies such as Kivy and Django. Object-oriented programming concurrently with asyncio In Detail Python 3 is more versatile and easier to use than ever. It runs on all major platforms in a huge array of use cases. Coding in Python minimizes development time and increases productivity in comparison to other languages. Clean, maintainable code is easy to both read and write using Python's clear, concise syntax. Object-oriented programming is a popular design paradigm in which data and behaviors are encapsulated in such a way that they can be manipulated together. Many modern programming languages utilize the powerful concepts behind object-oriented programming and Python is no exception. Starting with a detailed analysis of object-oriented analysis and design, you will use the Python programming language to clearly grasp key concepts from the object-oriented paradigm. This book fully explains classes, data encapsulation, inheritance, polymorphism, abstraction, and exceptions with an emphasis on when you can use each principle to develop well-designed software. You'll get an in-depth analysis of many common object-oriented design patterns that are more suitable to Python's unique style. This book will not just teach Python syntax, but will also build your confidence in how to program. You will also learn how to create maintainable applications by studying higher level design patterns. Following this, you'll learn the complexities of string and file manipulation, and how Python distinguishes between binary and textual data. Not one, but two very powerful automated testing systems will be introduced in the book. After you discover the joy of unit testing and just how easy it can be, you'll study higher level libraries such as database connectors and GUI toolkits and learn how they uniquely apply object-oriented principles. You'll learn how these principles will allow you to make greater use of key members of the Python eco-system such as Django and Kivy. This new edition includes all the topics that made Python 3 Object-oriented Programming an instant Packt classic. It's also packed with updated content to reflect recent changes in the core Python library and covers modern third-party packages that were not available on the Python 3 platform when the book was first published. Style and approach Throughout the book you will learn key object-oriented programming techniques demonstrated by comprehensive case studies in the context of a larger project.

Mastering OpenCV 4 with Python

Mastering OpenCV 4 with Python
Author: Alberto Fernández Villán
Publsiher: Packt Publishing Ltd
Total Pages: 532
Release: 2019-03-29
Genre: Computers
ISBN: 9781789349757

Download Mastering OpenCV 4 with Python Book in PDF, Epub and Kindle

Create advanced applications with Python and OpenCV, exploring the potential of facial recognition, machine learning, deep learning, web computing and augmented reality. Key Features Develop your computer vision skills by mastering algorithms in Open Source Computer Vision 4 (OpenCV 4) and Python Apply machine learning and deep learning techniques with TensorFlow and Keras Discover the modern design patterns you should avoid when developing efficient computer vision applications Book Description OpenCV is considered to be one of the best open source computer vision and machine learning software libraries. It helps developers build complete projects in relation to image processing, motion detection, or image segmentation, among many others. OpenCV for Python enables you to run computer vision algorithms smoothly in real time, combining the best of the OpenCV C++ API and the Python language. In this book, you'll get started by setting up OpenCV and delving into the key concepts of computer vision. You'll then proceed to study more advanced concepts and discover the full potential of OpenCV. The book will also introduce you to the creation of advanced applications using Python and OpenCV, enabling you to develop applications that include facial recognition, target tracking, or augmented reality. Next, you'll learn machine learning techniques and concepts, understand how to apply them in real-world examples, and also explore their benefits, including real-time data production and faster data processing. You'll also discover how to translate the functionality provided by OpenCV into optimized application code projects using Python bindings. Toward the concluding chapters, you'll explore the application of artificial intelligence and deep learning techniques using the popular Python libraries TensorFlow, and Keras. By the end of this book, you'll be able to develop advanced computer vision applications to meet your customers' demands. What you will learn Handle files and images, and explore various image processing techniques Explore image transformations, including translation, resizing, and cropping Gain insights into building histograms Brush up on contour detection, filtering, and drawing Work with Augmented Reality to build marker-based and markerless applications Work with the main machine learning algorithms in OpenCV Explore the deep learning Python libraries and OpenCV deep learning capabilities Create computer vision and deep learning web applications Who this book is for This book is designed for computer vision developers, engineers, and researchers who want to develop modern computer vision applications. Basic experience of OpenCV and Python programming is a must.

Mastering Assembly Programming

Mastering Assembly Programming
Author: Alexey Lyashko
Publsiher: Packt Publishing Ltd
Total Pages: 290
Release: 2017-09-27
Genre: Computers
ISBN: 9781787120075

Download Mastering Assembly Programming Book in PDF, Epub and Kindle

Incorporate the assembly language routines in your high level language applications About This Book Understand the Assembly programming concepts and the benefits of examining the AL codes generated from high level languages Learn to incorporate the assembly language routines in your high level language applications Understand how a CPU works when programming in high level languages Who This Book Is For This book is for developers who would like to learn about Assembly language. Prior programming knowledge of C and C++ is assumed. What You Will Learn Obtain deeper understanding of the underlying platform Understand binary arithmetic and logic operations Create elegant and efficient code in Assembly language Understand how to link Assembly code to outer world Obtain in-depth understanding of relevant internal mechanisms of Intel CPU Write stable, efficient and elegant patches for running processes In Detail The Assembly language is the lowest level human readable programming language on any platform. Knowing the way things are on the Assembly level will help developers design their code in a much more elegant and efficient way. It may be produced by compiling source code from a high-level programming language (such as C/C++) but can also be written from scratch. Assembly code can be converted to machine code using an assembler. The first section of the book starts with setting up the development environment on Windows and Linux, mentioning most common toolchains. The reader is led through the basic structure of CPU and memory, and is presented the most important Assembly instructions through examples for both Windows and Linux, 32 and 64 bits. Then the reader would understand how high level languages are translated into Assembly and then compiled into object code. Finally we will cover patching existing code, either legacy code without sources or a running code in same or remote process. Style and approach This book takes a step-by-step, detailed approach to Comprehensively learning Assembly Programming.