万本电子书0元读

万本电子书0元读

Building Serverless Microservices in Python
Building Serverless Microservices in Python
Takashi Freeman Richard
¥54.49
A practical guide for developing end-to-end serverless microservices in Python for developers, DevOps, and architects. Key Features * Create a secure, cost-effective, and scalable serverless data API * Use identity management and authentication for a user-specific and secure web application * Go beyond traditional web hosting to explore the full range of cloud hosting options Book Description Over the last few years, there has been a massive shift from monolithic architecture to microservices, thanks to their small and independent deployments that allow increased flexibility and agile delivery. Traditionally, virtual machines and containers were the principal mediums for deploying microservices, but they involved a lot of operational effort, configuration, and maintenance. More recently, serverless computing has gained popularity due to its built-in autoscaling abilities, reduced operational costs, and increased productivity. Building Serverless Microservices in Python begins by introducing you to serverless microservice structures. You will then learn how to create your first serverless data API and test your microservice. Moving on, you'll delve into data management and work with serverless patterns. Finally, the book introduces you to the importance of securing microservices. By the end of the book, you will have gained the skills you need to combine microservices with serverless computing, making their deployment much easier thanks to the cloud provider managing the servers and capacity planning. What you will learn * Discover what microservices offer above and beyond other architectures * Create a serverless application with AWS * Gain secure access to data and resources * Run tests on your configuration and code * Create a highly available serverless microservice data API * Build, deploy, and run your serverless configuration and code Who this book is for If you are a developer with basic knowledge of Python and want to learn how to build, test, deploy, and secure microservices, then this book is for you. No prior knowledge of building microservices is required.
Hands-On Neural Networks with Keras
Hands-On Neural Networks with Keras
Niloy Purkait
¥73.02
Your one-stop guide to learning and implementing artificial neural networks with Keras effectively Key Features * Design and create neural network architectures on different domains using Keras * Integrate neural network models in your applications using this highly practical guide * Get ready for the future of neural networks through transfer learning and predicting multi network models Book Description Neural networks are used to solve a wide range of problems in different areas of AI and deep learning. Hands-On Neural Networks with Keras will start with teaching you about the core concepts of neural networks. You will delve into combining different neural network models and work with real-world use cases, including computer vision, natural language understanding, synthetic data generation, and many more. Moving on, you will become well versed with convolutional neural networks (CNNs), recurrent neural networks (RNNs), long short-term memory (LSTM) networks, autoencoders, and generative adversarial networks (GANs) using real-world training datasets. We will examine how to use CNNs for image recognition, how to use reinforcement learning agents, and many more. We will dive into the specific architectures of various networks and then implement each of them in a hands-on manner using industry-grade frameworks. By the end of this book, you will be highly familiar with all prominent deep learning models and frameworks, and the options you have when applying deep learning to real-world scenarios and embedding artificial intelligence as the core fabric of your organization. What you will learn * Understand the fundamental nature and workflow of predictive data modeling * Explore how different types of visual and linguistic signals are processed by neural networks * Dive into the mathematical and statistical ideas behind how networks learn from data * Design and implement various neural networks such as CNNs, LSTMs, and GANs * Use different architectures to tackle cognitive tasks and embed intelligence in systems * Learn how to generate synthetic data and use augmentation strategies to improve your models * Stay on top of the latest academic and commercial developments in the field of AI Who this book is for This book is for machine learning practitioners, deep learning researchers and AI enthusiasts who are looking to get well versed with different neural network architecture using Keras. Working knowledge of Python programming language is mandatory.
Mastering OpenCV 4 with Python
Mastering OpenCV 4 with Python
Alberto Fernández Villán
¥81.74
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, Keras, and PyTorch * 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.
Unreal Engine 4.x Scripting with C++ Cookbook
Unreal Engine 4.x Scripting with C++ Cookbook
John P. Doran
¥73.02
Write efficient, reusable scripts to build custom characters, game environments, and control enemy AI Key Features * Build captivating multiplayer games using Unreal Engine and C++ * Incorporate existing C++ libraries into your game to add extra functionality such as hardware integration * Practical solutions for memory management, error handling, inputs, and collision for your game codebase Book Description Unreal Engine 4 (UE4) is a popular and award-winning game engine that powers some of the most popular games. A truly powerful tool for game development, there has never been a better time to use it for both commercial and independent projects. With more than 100 recipes, this book shows how to unleash the power of C++ while developing games with Unreal Engine. This book takes you on a journey to jumpstart your C++ and UE4 development skills. You will start off by setting up UE4 for C++ development and learn how to work with Visual Studio, a popular code editor. You will learn how to create C++ classes and structs the Unreal way. This will be followed by exploring memory management, smart pointers, and debugging your code. You will then learn how to make your own Actors and Components through code and how to handle input and collision events. You will also get exposure to many elements of game development including creating user interfaces, artificial intelligence, and writing code with networked play in mind. You will also learn how to add on to the Unreal Editor itself. With a range of task-oriented recipes, this book provides actionable information about writing code for games with UE4 using C++. By the end of the book, you will be empowered to become a top-notch developer with UE4 using C++ as your scripting language! What you will learn * Create C++ classes and structs that integrate well with UE4 and the Blueprints editor * Discover how to work with various APIs that Unreal Engine already contains * Utilize advanced concepts such as events, delegates, and interfaces in your UE4 projects * Build user interfaces using Canvas and UMG through C++ * Extend the Unreal Editor by creating custom windows and editors * Implement AI tasks and services using C++, Blackboard, and Behavior Trees * Write C++ code with networking in mind and replicate properties and functions Who this book is for If you are really passionate game developer looking for solutions to common scripting problems, then this is the book for you. Understanding of the fundamentals of game design and C++ is expected to get the most from this book.
Cognitive Computing with IBM Watson
Cognitive Computing with IBM Watson
Rob High
¥62.12
Understand, design, and create cognitive applications using Watson’s suite of APIs. Key Features * Develop your skills and work with IBM Watson APIs to build efficient and powerful cognitive apps * Learn how to build smart apps to carry out different sets of activities using real-world use cases * Get well versed with the best practices of IBM Watson and implement them in your daily work Book Description Cognitive computing is rapidly infusing every aspect of our lives riding on three important fields: data science, machine learning (ML), and artificial intelligence (AI). It allows computing systems to learn and keep on improving as the amount of data in the system grows. This book introduces readers to a whole new paradigm of computing – a paradigm that is totally different from the conventional computing of the Information Age. You will learn the concepts of ML, deep learning (DL), neural networks, and AI through the set of APIs provided by IBM Watson. This book will help you build your own applications to understand, plan, and solve problems, and analyze them as per your needs. You will learn about various domains of cognitive computing, such as NLP, voice processing, computer vision, emotion analytics, and conversational systems, using different IBM Watson APIs. From this, the reader will learn what ML is, and what goes on in the background to make computers "do their magic," as well as where these concepts have been applied. Having achieved this, the readers will then be able to embark on their journey of learning, researching, and applying the concept in their respective fields. What you will learn * Get well versed with the APIs provided by IBM Watson on IBM Cloud * Learn ML, AI, cognitive computing, and neural network principles * Implement smart applications in fields such as healthcare, entertainment, security, and more * Understand unstructured content using cognitive metadata with the help of Natural Language Understanding * Use Watson’s APIs to create real-life applications to realize their capabilities * Delve into various domains of cognitive computing, such as media analytics, embedded deep learning, computer vision, and more Who this book is for This book is for beginners and novices; having some knowledge about artificial intelligence and deep learning is an advantage, but not a prerequisite to benefit from this book. We explain the concept of deep learning and artificial intelligence through the set of tools IBM Watson provides.
Docker High Performance
Docker High Performance
Allan Espinosa
¥44.68
Leverage Docker to unlock efficient and rapid container deployments to improve your development workflow Key Features * Reconfigure Docker hosts to create a logging system with the ElasticSearch-Logstash-Kibana (ELK) stack * Tackle the challenges of large-scale container deployment with this fast-paced guide * Benchmark the performance of your Docker containers using Apache JMeter Book Description Docker is an enterprise-grade container platform that allows you to build and deploy your apps. Its portable format lets you run your code right from your desktop workstations to popular cloud computing providers. This comprehensive guide will improve your Docker work?ows and ensure your application's production environment runs smoothly. This book starts with a refresher on setting up and running Docker and details the basic setup for creating a Docker Swarm cluster. You will then learn how to automate this cluster by using Chef Server and Cookbook. After that, you will run the Docker monitoring system with Prometheus and Grafana, and deploy the ELK stack. You will also learn some tips for optimizing Docker images. After deploying containers with the help of Jenkins, you will then move on to a tutorial on using Apache JMeter to analyze your application's performance. You will learn how to use Docker Swarm and NGINX to load-balance your application and how common debugging tools in Linux can be used to troubleshoot Docker containers. By the end of this book, you will be able to integrate all the optimizations that you have learned and put everything into practice in your applications. What you will learn * Automate provisioning and setting up nodes in a Docker Swarm cluster * Configure a monitoring system with Prometheus and Grafana * Use Apache JMeter to create workloads for benchmarking the performance of Docker containers * Understand how to load-balance an application with Docker Swarm and Nginx * Deploy strace, tcdump, blktrace, and other Linux debugging tools to troubleshoot containers * Integrate Docker optimizations for DevOps, Site Reliability Engineering, CI, and CD Who this book is for If you are a software developer with a good understanding of managing Docker services and the Linux file system and are looking for ways to optimize working with Docker containers, then this is the book for you. Developers fascinated with containers and workflow automation with benefit from this book.
Hands-On System Programming with Go
Hands-On System Programming with Go
Alex Guerrieri
¥70.84
Explore the fundamentals of systems programming starting from kernel API and filesystem to network programming and process communications Key Features * Learn how to write Unix and Linux system code in Golang v1.12 * Perform inter-process communication using pipes, message queues, shared memory, and semaphores * Explore modern Go features such as goroutines and channels that facilitate systems programming Book Description System software and applications were largely created using low-level languages such as C or C++. Go is a modern language that combines simplicity, concurrency, and performance, making it a good alternative for building system applications for Linux and macOS. This Go book introduces Unix and systems programming to help you understand the components the OS has to offer, ranging from the kernel API to the filesystem, and familiarize yourself with Go and its specifications. You'll also learn how to optimize input and output operations with files and streams of data, which are useful tools in building pseudo terminal applications. You'll gain insights into how processes communicate with each other, and learn about processes and daemon control using signals, pipes, and exit codes. This book will also enable you to understand how to use network communication using various protocols, including TCP and HTTP. As you advance, you'll focus on Go's best feature-concurrency helping you handle communication with channels and goroutines, other concurrency tools to synchronize shared resources, and the context package to write elegant applications. By the end of this book, you will have learned how to build concurrent system applications using Go What you will learn * Explore concepts of system programming using Go and concurrency * Gain insights into Golang's internals, memory models and allocation * Familiarize yourself with the filesystem and IO streams in general * Handle and control processes and daemons' lifetime via signals and pipes * Communicate with other applications effectively using a network * Use various encoding formats to serialize complex data structures * Become well-versed in concurrency with channels, goroutines, and sync * Use concurrency patterns to build robust and performant system applications Who this book is for If you are a developer who wants to learn system programming with Go, this book is for you. Although no knowledge of Unix and Linux system programming is necessary, intermediate knowledge of Go will help you understand the concepts covered in the book
Improving your Penetration Testing Skills
Improving your Penetration Testing Skills
Gilberto Najera-Gutierrez
¥88.28
Evade antiviruses and bypass firewalls with the most widely used penetration testing frameworks Key Features * Gain insights into the latest antivirus evasion techniques * Set up a complete pentesting environment using Metasploit and virtual machines * Discover a variety of tools and techniques that can be used with Kali Linux Book Description Penetration testing or ethical hacking is a legal and foolproof way to identify vulnerabilities in your system. With thorough penetration testing, you can secure your system against the majority of threats. This Learning Path starts with an in-depth explanation of what hacking and penetration testing is. You’ll gain a deep understanding of classical SQL and command injection flaws, and discover ways to exploit these flaws to secure your system. You'll also learn how to create and customize payloads to evade antivirus software and bypass an organization's defenses. Whether it’s exploiting server vulnerabilities and attacking client systems, or compromising mobile phones and installing backdoors, this Learning Path will guide you through all this and more to improve your defense against online attacks. By the end of this Learning Path, you'll have the knowledge and skills you need to invade a system and identify all its vulnerabilities. This Learning Path includes content from the following Packt products: * Web Penetration Testing with Kali Linux - Third Edition by Juned Ahmed Ansari and Gilberto Najera-Gutierrez * Metasploit Penetration Testing Cookbook - Third Edition by Abhinav Singh , Monika Agarwal, et al What you will learn * Build and analyze Metasploit modules in Ruby * Integrate Metasploit with other penetration testing tools * Use server-side attacks to detect vulnerabilities in web servers and their applications * Explore automated attacks such as fuzzing web applications * Identify the difference between hacking a web application and network hacking * Deploy Metasploit with the Penetration Testing Execution Standard (PTES) * Use MSFvenom to generate payloads and backdoor files, and create shellcode Who this book is for This Learning Path is designed for security professionals, web programmers, and pentesters who want to learn vulnerability exploitation and make the most of the Metasploit framework. Some understanding of penetration testing and Metasploit is required, but basic system administration skills and the ability to read code are a must.
Hands-On Game Development with WebAssembly
Hands-On Game Development with WebAssembly
Rick Battagline
¥70.84
Make your WebAssembly journey fun while making a game with it Key Features * Create a WebAssembly game that implements sprites, animations, physics, particle systems, and other game development fundamentals * Get to grips with advanced game mechanics in WebAssembly * Learn to use WebAssembly and WebGL to render to the HTML5 canvas element Book Description Within the next few years, WebAssembly will change the web as we know it. It promises a world where you can write an application for the web in any language, and compile it for native platforms as well as the web. This book is designed to introduce web developers and game developers to the world of WebAssembly by walking through the development of a retro arcade game. You will learn how to build a WebAssembly application using C++, Emscripten, JavaScript, WebGL, SDL, and HTML5. This book covers a lot of ground in both game development and web application development. When creating a game or application that targets WebAssembly, developers need to learn a plethora of skills and tools. This book is a sample platter of those tools and skills. It covers topics including Emscripten, C/C++, WebGL, OpenGL, JavaScript, HTML5, and CSS. The reader will also learn basic techniques for game development, including 2D sprite animation, particle systems, 2D camera design, sound effects, 2D game physics, user interface design, shaders, debugging, and optimization. By the end of the book, you will be able to create simple web games and web applications targeting WebAssembly. What you will learn * Build web applications with near-native performance using WebAssembly * Become familiar with how web applications can be used to create games using HTML5 Canvas, WebGL, and SDL * Become well versed with game development concepts such as sprites, animation, particle systems, AI, physics, camera design, sound effects, and shaders * Deploy C/C++ applications to the browser using WebAssembly and Emscripten * Understand how Emscripten HTML shell templates, JavaScript glue code, and a WebAssembly module interact * Debug and performance tune your WebAssembly application Who this book is for Web developers and game developers interested in creating applications for the web using WebAssembly. Game developers interested in deploying their games to the web Web developers interested in creating applications that are potentially orders of magnitude faster than their existing JavaScript web apps C/C++ developers interested in using their existing skills to deploy applications to the web
Continuous Delivery with Docker and Jenkins
Continuous Delivery with Docker and Jenkins
Rafał Leszko
¥79.56
Create a complete Continuous Delivery process using modern DevOps tools such as Docker, Kubernetes, Jenkins, Docker Hub, Ansible, GitHub and many more. Key Features * Build reliable and secure applications using Docker containers. * Create a highly available environment to scale a Docker servers using Kubernetes * Implement advance continuous delivery process by parallelizing the pipeline tasks Book Description Continuous Delivery with Docker and Jenkins, Second Edition will explain the advantages of combining Jenkins and Docker to improve the continuous integration and delivery process of an app development. It will start with setting up a Docker server and configuring Jenkins on it. It will then provide steps to build applications on Docker files and integrate them with Jenkins using continuous delivery processes such as continuous integration, automated acceptance testing, and configuration management. Moving on, you will learn how to ensure quick application deployment with Docker containers along with scaling Jenkins using Kubernetes. Next, you will get to know how to deploy applications using Docker images and testing them with Jenkins. Towards the end, the book will touch base with missing parts of the CD pipeline, which are the environments and infrastructure, application versioning, and nonfunctional testing. By the end of the book, you will be enhancing the DevOps workflow by integrating the functionalities of Docker and Jenkins. What you will learn * Get to grips with docker fundamentals and how to dockerize an application for the CD process * Learn how to use Jenkins on the Cloud environments * Scale a pool of Docker servers using Kubernetes * Create multi-container applications using Docker Compose * Write acceptance tests using Cucumber and run them in the Docker ecosystem using Jenkins * Publish a built Docker image to a Docker Registry and deploy cycles of Jenkins pipelines using community best practices Who this book is for The book targets DevOps engineers, system administrators, docker professionals or any stakeholders who would like to explore the power of working with Docker and Jenkins together. No prior knowledge of DevOps is required for this book.
Geospatial Data Science Quick Start Guide
Geospatial Data Science Quick Start Guide
Abdishakur Hassan
¥53.40
Discover the power of location data to build effective, intelligent data models with Geospatial ecosystems Key Features * Manipulate location-based data and create intelligent geospatial data models * Build effective location recommendation systems used by popular companies such as Uber * A hands-on guide to help you consume spatial data and parallelize GIS operations effectively Book Description Data scientists, who have access to vast data streams, are a bit myopic when it comes to intrinsic and extrinsic location-based data and are missing out on the intelligence it can provide to their models. This book demonstrates effective techniques for using the power of data science and geospatial intelligence to build effective, intelligent data models that make use of location-based data to give useful predictions and analyses. This book begins with a quick overview of the fundamentals of location-based data and how techniques such as Exploratory Data Analysis can be applied to it. We then delve into spatial operations such as computing distances, areas, extents, centroids, buffer polygons, intersecting geometries, geocoding, and more, which adds additional context to location data. Moving ahead, you will learn how to quickly build and deploy a geo-fencing system using Python. Lastly, you will learn how to leverage geospatial analysis techniques in popular recommendation systems such as collaborative filtering and location-based recommendations, and more. By the end of the book, you will be a rockstar when it comes to performing geospatial analysis with ease. What you will learn * Learn how companies now use location data * Set up your Python environment and install Python geospatial packages * Visualize spatial data as graphs * Extract geometry from spatial data * Perform spatial regression from scratch * Build web applications which dynamically references geospatial data Who this book is for Data Scientists who would like to leverage location-based data and want to use location-based intelligence in their data models will find this book useful. This book is also for GIS developers who wish to incorporate data analysis in their projects. Knowledge of Python programming and some basic understanding of data analysis are all you need to get the most out of this book.
Flutter for Beginners
Flutter for Beginners
Alessandro Biessek
¥63.21
A step-by-step guide to learning Flutter and Dart 2 for creating Android and iOS mobile applications Key Features * Get up to speed with the basics of Dart programming and delve into Flutter development * Understand native SDK and third-party libraries for building Android and iOS applications using Flutter * Package and deploy your Flutter apps to achieve native-like performance Book Description Google Flutter is a cross-platform mobile platform that makes it easier to write secure and high-performance native apps for iOS and Android. This book begins by introducing you to the Flutter framework and basics of Dart. You’ll learn to set up the development environment to get started with your Flutter project. The book will guide you through designing the user interface and user input functions for your app. As you progress, you’ll explore the navigator widget to manage your app routes and understand how to add transitions between screens. You’ll then get to grips with developing your own plugin and discover how to structure good plugin code. The book will help you display a map from the Flutter app, add markers and interactions to it, and use the Google Places API. You’ll build on your knowledge by not only adding tests to create a bug-free app, but also preparing it for deployment on Apple's App Store and Google Play. In later chapters, you’ll learn to improve the user experience with advanced features such as map integrations, platform-specific code with native programming languages, and personalized animation options for designing intuitive UIs. By the end of this book, you’ll be well-versed with Dart programming and have the skills to develop your own mobile apps or build a career as a Dart and Flutter app developer. What you will learn * Understand the fundamentals of the Dart programming language * Explore the core concepts of the Flutter UI and how it compiles for multiple platforms * Develop Flutter plugins and widgets and understand how to structure good plugin code * Style your apps with widgets and learn the difference between stateful and stateless widgets * Add animation to your UI using Flutter's AnimatedBuilder component * Integrate your native code into your Flutter codebase for native app performance Who this book is for This book is for developers looking to learn Google's revolutionary framework, Flutter from scratch. No knowledge of Flutter or Dart is required. However, basic programming language knowledge will be helpful.
Developer, Advocate!
Developer, Advocate!
Geertjan Wielenga
¥71.93
A collection of in-depth conversations with leading developer advocates that reveal the world of developer relations today Key Features * Top developer advocates reveal the work they’re doing at the center of their tech communities and the impact their advocacy is having on the tech industry as a whole * Discover the best practices of developer advocacy and get the inside story on working at some of the world’s largest tech companies * Features contributions from noted developer advocates, including Scott Hanselman, Sally Eaves, Venkat Subramaniam, Jono Bacon, Ted Neward, and more Book Description What exactly is a developer advocate, and how do they connect developers and companies around the world? Why is the area of developer relations set to explode? Can anybody with a passion for tech become a developer advocate? What are the keys to success on a global scale? How does a developer advocate maintain authenticity when balancing the needs of their company and their tech community? What are the hot topics in areas including Java, JavaScript, "tech for good," artificial intelligence, blockchain, the cloud, and open source? These are just a few of the questions addressed by developer advocate and author Geertjan Wielenga in Developer, Advocate!. 32 of the industry's most prominent developer advocates, from companies including Oracle, Microsoft, Google, and Amazon, open up about what it's like to turn a lifelong passion for knowledge sharing about tech into a rewarding career. These advocates run the gamut from working at large software vendors to small start-ups, along with independent developer advocates who work within organizations or for themselves. In Developer, Advocate!, readers will see how developer advocates are actively changing the world, not only for developers, but for individuals and companies navigating the fast-changing tech landscape. More importantly, Developer, Advocate! serves as a rallying cry to inspire and motivate tech enthusiasts and burgeoning developer advocates to get started and take their first steps within their tech community. What you will learn * Discover how developer advocates are putting developer interests at the heart of the software industry in companies including Microsoft and Google * Gain the confidence to use your voice in the tech community * Immerse yourself in developer advocacy techniques * Understand and overcome the challenges and obstacles facing developer advocates today * Hear predictions from the people at the cutting edge of tech * Explore your career options in developer advocacy Who this book is for Anybody interested in developer advocacy, the impact it is having, and how to build developer advocacy capabilities
Hands-On Object-Oriented Programming with C#
Hands-On Object-Oriented Programming with C#
Raihan Taher
¥73.02
Enhance your programming skills by learning the intricacies of object oriented programming in C# 8 Key Features * Understand the four pillars of OOP; encapsulation, inheritance, abstraction and polymorphism * Leverage the latest features of C# 8 including nullable reference types and Async Streams * Explore various design patterns, principles, and best practices in OOP Book Description Object-oriented programming (OOP) is a programming paradigm organized around objects rather than actions, and data rather than logic. With the latest release of C#, you can look forward to new additions that improve object-oriented programming. This book will get you up to speed with OOP in C# in an engaging and interactive way. The book starts off by introducing you to C# language essentials and explaining OOP concepts through simple programs. You will then go on to learn how to use classes, interfacesm and properties to write pure OOP code in your applications. You will broaden your understanding of OOP further as you delve into some of the advanced features of the language, such as using events, delegates, and generics. Next, you will learn the secrets of writing good code by following design patterns and design principles. You'll also understand problem statements with their solutions and learn how to work with databases with the help of ADO.NET. Further on, you'll discover a chapter dedicated to the Git version control system. As you approach the conclusion, you'll be able to work through OOP-specific interview questions and understand how to tackle them. By the end of this book, you will have a good understanding of OOP with C# and be able to take your skills to the next level. What you will learn * Master OOP paradigm fundamentals * Explore various types of exceptions * Utilize C# language constructs efficiently * Solve complex design problems by understanding OOP * Understand how to work with databases using ADO.NET * Understand the power of generics in C# * Get insights into the popular version control system, Git * Learn how to model and design your software Who this book is for This book is designed for people who are new to object-oriented programming. Basic C# skills are assumed, however, prior knowledge of OOP in any other language is not required.
ReasonML Quick Start Guide
ReasonML Quick Start Guide
Raphael Rafatpanah
¥54.49
A hands on approach to learning ReasonML from the perspective of a web developer. Key Features * Hands on learning by building a real world app shell that includes client-side routing and more. * Understand Reason’s ecosystem including BuckleScript and various npm workflows. * Learn how Reason differs from TypeScript and Flow, and how to use it to make refactoring less stressful. Book Description ReasonML, also known as Reason, is a new syntax and toolchain for OCaml that was created by Facebook and is meant to be approachable for web developers. Although OCaml has several resources, most of them are from the perspective of systems development. This book, alternatively, explores Reason from the perspective of web development. You'll learn how to use Reason to build safer, simpler React applications and why you would want to do so. Reason supports immutability by default, which works quite well in the context of React. In learning Reason, you will also learn about its ecosystem – BuckleScript, JavaScript interoperability, and various npm workflows. We learn by building a real-world app shell, including a client-side router with page transitions, that we can customize for any Reason project. You'll learn how to leverage OCaml's excellent type system to enforce guarantees about business logic, as well as preventing runtime type errors.You'll also see how the type system can help offload concerns that we once had to keep in our heads. We'll explore using CSS-in-Reason, how to use external JSON in Reason, and how to unit-test critical business logic. By the end of the book, you'll understand why Reason is exploding in popularity and will have a solid foundation on which to continue your journey with Reason. What you will learn * Learn why Reason is exploding in popularity and why it's the future of React * Become familiar with Reason's syntax and semantics * Learn about Reason's ecosystem: BuckleScript and JavaScript interoperability * Learn how to build React applications with Reason * Learn how to use Reason's type system as a tool to provide amazing guarantees * Gain a solid foundation on which to continue your journey Who this book is for The target audience of this book is web developers who are somewhat familiar with ReactJS and who want to learn why ReasonML is the future of ReactJS.
Vue CLI 3 Quick Start Guide
Vue CLI 3 Quick Start Guide
Ajdin Imsirovic
¥53.40
Build Vue apps the right way using Vue CLI 3. Understand how the building blocks of Vue CLI 3 work including npm, webpack, babel, eslint, plugins, GUI, testing, and SCSS. Import third-party libraries and maintain your project. Key Features * Learn to work with Vue CLI 3 both on the command line and with a GUI * Manage VueJS apps, settings, Vue plugins, and third-party libraries * Learn how to build Vue apps from scratch using webpack, babel, ES6, vue-router, Jest, Cypress, SCSS, and Git Book Description The sprawling landscape of various tools in JavaScript web development is becoming overwhelming. This book will show you how Vue CLI 3 can help you take back control of the tool chain. To that end, we'll begin by configuring webpack, utilizing HMR, and using single-file .vue components. We'll also use SCSS, ECMAScript, and TypeScript. We'll unit test with Jest and perform E2E testing with Cypress. This book will show you how to configure Vue CLI as your default way of building Vue projects. You'll discover the reasons behind using webpack, babel, eslint, and other modern JavaScript toolchain technologies. You'll learn about the inner workings of each through the lens of Vue CLI 3. We'll explore the extendibility of Vue CLI with the built-in settings, and various core and third-party plugins. Vue CLI helps you work with Vue components, routers, directives, and services in the Vue ecosystem. While learning these concepts, you'll examine the evolution of JavaScript. You'll learn about use of npm, IIFEs, modules in JavaScript, Common.js modules, task runners, npm scripts, module bundlers, and webpack. You'll get familiar with the reasons why Vue CLI 3 is set up the way it is. You'll also learn to perform linting with ESLint and Prettier. Towards the end, we'll introduce you to working with styles and SCSS. Finally, we'll show you how to deploy your very own Vue project on Github Pages. What you will learn * Work with nvm, install Node.js and npm, use Vue CLI 3 with no configuration, via the command line and the graphical user interface * Build a Vue project from scratch using npm and webpack, and learn about hot module replacement * Work with Babel settings, configurations, and presets * Work with Vue plugins, including testing plugins such as Jest and Cypress * Write, run, and watch unit and E2E tests using TDD assertions in the red-green-refactor cycle * Work with Vue router and use, nested, lazy-loading, and dynamic routes * Add SCSS to your projects and work with third-party Vue plugins * Deploy your Vue apps to Github Pages Who this book is for This book is for existing web developers and developers who are new to web development. You must be familiar with HTML, CSS, and JavaScript programming. Basic knowledge of the command line will be helpful but is not necessary.
Hands-On Generative Adversarial Networks with Keras
Hands-On Generative Adversarial Networks with Keras
Rafael Valle
¥70.84
Develop generative models for a variety of real-world use-cases and deploy them to production Key Features * Discover various GAN architectures using Python and Keras library * Understand how GAN models function with the help of theoretical and practical examples * Apply your learnings to become an active contributor to open source GAN applications Book Description Generative Adversarial Networks (GANs) have revolutionized the fields of machine learning and deep learning. This book will be your first step towards understanding GAN architectures and tackling the challenges involved in training them. This book opens with an introduction to deep learning and generative models, and their applications in artificial intelligence (AI). You will then learn how to build, evaluate, and improve your first GAN with the help of easy-to-follow examples. The next few chapters will guide you through training a GAN model to produce and improve high-resolution images. You will also learn how to implement conditional GANs that give you the ability to control characteristics of GAN outputs. You will build on your knowledge further by exploring a new training methodology for progressive growing of GANs. Moving on, you'll gain insights into state-of-the-art models in image synthesis, speech enhancement, and natural language generation using GANs. In addition to this, you'll be able to identify GAN samples with TequilaGAN. By the end of this book, you will be well-versed with the latest advancements in the GAN framework using various examples and datasets, and you will have the skills you need to implement GAN architectures for several tasks and domains, including computer vision, natural language processing (NLP), and audio processing. Foreword by Ting-Chun Wang, Senior Research Scientist, NVIDIA What you will learn * Learn how GANs work and the advantages and challenges of working with them * Control the output of GANs with the help of conditional GANs, using embedding and space manipulation * Apply GANs to computer vision, NLP, and audio processing * Understand how to implement progressive growing of GANs * Use GANs for image synthesis and speech enhancement * Explore the future of GANs in visual and sonic arts * Implement pix2pixHD to turn semantic label maps into photorealistic images Who this book is for This book is for machine learning practitioners, deep learning researchers, and AI enthusiasts who are looking for a perfect mix of theory and hands-on content in order to implement GANs using Keras. Working knowledge of Python is expected.
Julia 1.0 Programming Complete Reference Guide
Julia 1.0 Programming Complete Reference Guide
Ivo Balbaert
¥88.28
Learn dynamic programming with Julia to build apps for data analysis, visualization, machine learning, and the web Key Features * Leverage Julia's high speed and efficiency to build fast, efficient applications * Perform supervised and unsupervised machine learning and time series analysis * Tackle problems concurrently and in a distributed environment Book Description Julia offers the high productivity and ease of use of Python and R with the lightning-fast speed of C++. There’s never been a better time to learn this language, thanks to its large-scale adoption across a wide range of domains, including fintech, biotech and artificial intelligence (AI). You will begin by learning how to set up a running Julia platform, before exploring its various built-in types. This Learning Path walks you through two important collection types: arrays and matrices. You’ll be taken through how type conversions and promotions work, and in further chapters you'll study how Julia interacts with operating systems and other languages. You’ll also learn about the use of macros, what makes Julia suitable for numerical and scientific computing, and how to run external programs. Once you have grasped the basics, this Learning Path goes on to how to analyze the Iris dataset using DataFrames. While building a web scraper and a web app, you’ll explore the use of functions, methods, and multiple dispatches. In the final chapters, you'll delve into machine learning, where you'll build a book recommender system. By the end of this Learning Path, you’ll be well versed with Julia and have the skills you need to leverage its high speed and efficiency for your applications. This Learning Path includes content from the following Packt products: * Julia 1.0 Programming - Second Edition by Ivo Balbaert * Julia Programming Projects by Adrian Salceanu What you will learn * Create your own types to extend the built-in type system * Visualize your data in Julia with plotting packages * Explore the use of built-in macros for testing and debugging * Integrate Julia with other languages such as C, Python, and MATLAB * Analyze and manipulate datasets using Julia and DataFrames * Develop and run a web app using Julia and the HTTP package * Build a recommendation system using supervised machine learning Who this book is for If you are a statistician or data scientist who wants a quick course in the Julia programming language while building big data applications, this Learning Path is for you. Basic knowledge of mathematics and programming is a must.
OpenCV 4 Computer Vision Application Programming Cookbook
OpenCV 4 Computer Vision Application Programming Cookbook
David Millán Escrivá
¥70.84
Discover interesting recipes to help you understand the concepts of object detection, image processing, and facial detection Key Features * Explore the latest features and APIs in OpenCV 4 and build computer vision algorithms * Develop effective, robust, and fail-safe vision for your applications * Build computer vision algorithms with machine learning capabilities Book Description OpenCV is an image and video processing library used for all types of image and video analysis. Throughout the book, you'll work through recipes that implement a variety of tasks, such as facial recognition and detection. With 70 self-contained tutorials, this book examines common pain points and best practices for computer vision (CV) developers. Each recipe addresses a specific problem and offers a proven, best-practice solution with insights into how it works, so that you can copy the code and configuration files and modify them to suit your needs. This book begins by setting up OpenCV, and explains how to manipulate pixels. You'll understand how you can process images with classes and count pixels with histograms. You'll also learn detecting, describing, and matching interest points. As you advance through the chapters, you'll get to grips with estimating projective relations in images, reconstructing 3D scenes, processing video sequences, and tracking visual motion. In the final chapters, you'll cover deep learning concepts such as face and object detection. By the end of the book, you'll be able to confidently implement a range to computer vision algorithms to meet the technical requirements of your complex CV projects What you will learn * Install and create a program using the OpenCV library * Segment images into homogenous regions and extract meaningful objects * Apply image filters to enhance image content * Exploit image geometry to relay different views of a pictured scene * Calibrate the camera from different image observations * Detect people and objects in images using machine learning techniques * Reconstruct a 3D scene from images * Explore face detection using deep learning Who this book is for If you’re a CV developer or professional who already uses or would like to use OpenCV for building computer vision software, this book is for you. You’ll also find this book useful if you’re a C++ programmer looking to extend your computer vision skillset by learning OpenCV.
Hands-On Network Programming with C
Hands-On Network Programming with C
Lewis Van Winkle
¥62.12
A comprehensive guide to programming with network sockets, implementing Internet protocols, designing IoT devices, and much more with C Key Features * Leverage your C or C++ programming skills to build powerful network applications * Get to grips with a variety of network protocols that allow you to load web pages, send emails, and do much more * Write portable network code for operating systems such as Windows, Linux, and macOS Book Description Network programming, a challenging topic in C, is made easy to understand with a careful exposition of socket programming APIs. This book gets you started with modern network programming in C and the right use of relevant operating system APIs. This book covers core concepts, such as hostname resolution with DNS, that are crucial to the functioning of the modern web. You’ll delve into the fundamental network protocols, TCP and UDP. Essential techniques for networking paradigms such as client-server and peer-to-peer models are explained with the help of practical examples. You’ll also study HTTP and HTTPS (the protocols responsible for web pages) from both the client and server perspective. To keep up with current trends, you’ll apply the concepts covered in this book to gain insights into web programming for IoT. You’ll even get to grips with network monitoring and implementing security best practices. By the end of this book, you’ll have experience of working with client-server applications, and be able to implement new network programs in C. The code in this book is compatible with the older C99 version as well as the latest C18 and C++17 standards. Special consideration is given to writing robust, reliable, and secure code that is portable across operating systems, including Winsock sockets for Windows and POSIX sockets for Linux and macOS. What you will learn * Uncover cross-platform socket programming APIs * Implement techniques for supporting IPv4 and IPv6 * Understand how TCP and UDP connections work over IP * Discover how hostname resolution and DNS work * Interface with web APIs using HTTP and HTTPS * Acquire hands-on experience with Simple Mail Transfer Protocol (SMTP) * Apply network programming to the Internet of Things (IoT) Who this book is for If you're a developer or a system administrator who wants to enter the world of network programming, this book is for you. Basic knowledge of C programming is assumed.
Training Systems Using Python Statistical Modeling
Training Systems Using Python Statistical Modeling
Curtis Miller
¥62.12
Leverage the power of Python and statistical modeling techniques for building accurate predictive models Key Features * Get introduced to Python's rich suite of libraries for statistical modeling * Implement regression, clustering and train neural networks from scratch * Includes real-world examples on training end-to-end machine learning systems in Python Book Description Python's ease of use and multi-purpose nature has led it to become the choice of tool for many data scientists and machine learning developers today. Its rich libraries are widely used for data analysis, and more importantly, for building state-of-the-art predictive models. This book takes you through an exciting journey, of using these libraries to implement effective statistical models for predictive analytics. You’ll start by diving into classical statistical analysis, where you will learn to compute descriptive statistics using pandas. You will look at supervised learning, where you will explore the principles of machine learning and train different machine learning models from scratch. You will also work with binary prediction models, such as data classification using k-nearest neighbors, decision trees, and random forests. This book also covers algorithms for regression analysis, such as ridge and lasso regression, and their implementation in Python. You will also learn how neural networks can be trained and deployed for more accurate predictions, and which Python libraries can be used to implement them. By the end of this book, you will have all the knowledge you need to design, build, and deploy enterprise-grade statistical models for machine learning using Python and its rich ecosystem of libraries for predictive analytics. What you will learn * Understand the importance of statistical modeling * Learn about the various Python packages for statistical analysis * Implement algorithms such as Naive Bayes, random forests, and more * Build predictive models from scratch using Python's scikit-learn library * Implement regression analysis and clustering * Learn how to train a neural network in Python Who this book is for If you are a data scientist, a statistician or a machine learning developer looking to train and deploy effective machine learning models using popular statistical techniques, then this book is for you. Knowledge of Python programming is required to get the most out of this book.