万本电子书0元读

万本电子书0元读

Expert Python Programming
Expert Python Programming
Michał Jaworski
¥70.84
Refine your Python programming skills and build professional grade applications with this comprehensive guide Key Features * Create manageable code that can run in various environments with different sets of dependencies * Implement effective Python data structures and algorithms to write optimized code * Discover the exciting new features of Python 3.7 Book Description Python is a dynamic programming language that's used in a wide range of domains thanks to its simple yet powerful nature. Although writing Python code is easy, making it readable, reusable, and easy to maintain is challenging. Complete with best practices, useful tools, and standards implemented by professional Python developers, the third edition of Expert Python Programming will help you overcome this challenge. The book will start by taking you through the new features in Python 3.7. You'll then learn the advanced components of Python syntax, in addition to understanding how to apply concepts of various programming paradigms, including object-oriented programming, functional programming, and event-driven programming. This book will also guide you through learning the best naming practices, writing your own distributable Python packages, and getting up to speed with automated ways of deploying your software on remote servers. You’ll discover how to create useful Python extensions with C, C++, Cython, and CFFI. Furthermore, studying about code management tools, writing clear documentation, and exploring test-driven development will help you write clean code. By the end of the book, you will have become an expert in writing efficient and maintainable Python code. What you will learn * Explore modern ways of setting up repeatable and consistent development environments * Package Python code effectively for community and production use * Learn modern syntax elements of Python programming such as f-strings, enums, and lambda functions * Demystify metaprogramming in Python with metaclasses * Write concurrent code in Python * Extend Python with code written in different languages * Integrate Python with code written in different languages Who this book is for This book will appeal to you if you’re a programmer looking to take your Python knowledge to the next level by writing efficient code and learning the latest features of version 3.7 and above.
Introduction to DevOps with Kubernetes
Introduction to DevOps with Kubernetes
Onur Yılmaz
¥70.84
Become familiar with Kubernetes and explore techniques to manage your containerized workloads and services Key Features * Learn everything from creating a cluster to monitoring applications in Kubernetes * Understand and develop DevOps primitives using Kubernetes * Use Kubernetes to solve challenging real-life DevOps problems Book Description Kubernetes and DevOps are the two pillars that can keep your business at the top by ensuring high performance of your IT infrastructure. Introduction to DevOps with Kubernetes will help you develop the skills you need to improve your DevOps with the power of Kubernetes. The book begins with an overview of Kubernetes primitives and DevOps concepts. You'll understand how Kubernetes can assist you with overcoming a wide range of real-world operation challenges. You will get to grips with creating and upgrading a cluster, and then learn how to deploy, update, and scale an application on Kubernetes. As you advance through the chapters, you’ll be able to monitor an application by setting up a pod failure alert on Prometheus. The book will also guide you in configuring Alertmanager to send alerts to the Slack channel and trace down a problem on the application using kubectl commands. By the end of this book, you’ll be able to manage the lifecycle of simple to complex applications on Kubernetes with confidence. What you will learn * Create and manage Kubernetes clusters in on-premise systems and cloud * Exercise various DevOps practices using Kubernetes * Explore configuration, secret, and storage management, and exercise these on Kubernetes * Perform different update techniques and apply them on Kubernetes * Use the built-in scaling feature in Kubernetes to scale your applications up and down * Use various troubleshooting techniques and have a monitoring system installed on Kubernetes Who this book is for If you are a developer who wants to learn how to apply DevOps patterns using Kubernetes, then this book is for you. Familiarity with Kubernetes will be useful, but not essential.
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.
Learning Elastic Stack 7.0
Learning Elastic Stack 7.0
Pranav Shukla
¥62.12
A beginner's guide to storing, managing, and analyzing data with the updated features of Elastic 7.0 Key Features * Gain access to new features and updates introduced in Elastic Stack 7.0 * Grasp the fundamentals of Elastic Stack including Elasticsearch, Logstash, and Kibana * Explore useful tips for using Elastic Cloud and deploying Elastic Stack in production environments Book Description The Elastic Stack is a powerful combination of tools for techniques such as distributed search, analytics, logging, and visualization of data. Elastic Stack 7.0 encompasses new features and capabilities that will enable you to find unique insights into analytics using these techniques. This book will give you a fundamental understanding of what the stack is all about, and help you use it efficiently to build powerful real-time data processing applications. The first few sections of the book will help you understand how to set up the stack by installing tools, and exploring their basic configurations. You’ll then get up to speed with using Elasticsearch for distributed searching and analytics, Logstash for logging, and Kibana for data visualization. As you work through the book, you will discover the technique of creating custom plugins using Kibana and Beats. This is followed by coverage of the Elastic X-Pack, a useful extension for effective security and monitoring. You’ll also find helpful tips on how to use Elastic Cloud and deploy Elastic Stack in production environments. By the end of this book, you’ll be well versed with the fundamental Elastic Stack functionalities and the role of each component in the stack to solve different data processing problems. What you will learn * Install and configure an Elasticsearch architecture * Solve the full-text search problem with Elasticsearch * Discover powerful analytics capabilities through aggregations using Elasticsearch * Build a data pipeline to transfer data from a variety of sources into Elasticsearch for analysis * Create interactive dashboards for effective storytelling with your data using Kibana * Learn how to secure, monitor and use Elastic Stack’s alerting and reporting capabilities * Take applications to an on-premise or cloud-based production environment with Elastic Stack Who this book is for This book is for entry-level data professionals, software engineers, e-commerce developers, and full-stack developers who want to learn about Elastic Stack and how the real-time processing and search engine works for business analytics and enterprise search applications. Previous experience with Elastic Stack is not required, however knowledge of data warehousing and database concepts will be helpful.
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.
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
Blockchain for Decision Makers
Blockchain for Decision Makers
Romain Tormen
¥63.21
Understand how blockchain works and explore a variety of strategies to implement it in your organization effectively Key Features * Become familiar with business challenges faced by companies when using blockchain * Discover how companies implement blockchain to monetize and secure their data * Study real-world examples to understand blockchain and its use in organizations Book Description In addition to cryptocurrencies, blockchain-based apps are being developed in different industries such as banking, supply chain, and healthcare to achieve digital transformation and enhance user experience. Blockchain is not only about Bitcoin or cryptocurrencies, but also about different technologies such as peer-to-peer networks, consensus mechanisms, and cryptography. These technologies together help sustain trustless environments in which digital value can be transferred between individuals without intermediaries. This book will help you understand the basics of blockchain such as consensus protocols, decentralized applications, and tokenization. You'll focus on how blockchain is used today in different industries and the technological challenges faced while implementing a blockchain strategy. The book also enables you, as a decision maker, to understand blockchain from a technical perspective and evaluate its applicability in your business. Finally, you'll get to grips with blockchain frameworks such as Hyperledger and Quorum and their usability. By the end of this book, you'll have learned about the current use cases of blockchain and be able to implement a blockchain strategy on your own. What you will learn * Become well-versed with how blockchain works * Understand the difference between blockchain and Bitcoin * Learn how blockchain is being used in different industry verticals such as finance and retail * Delve into the technological and organizational challenges of implementing blockchain * Explore the possibilities that blockchain can unlock for decision makers * Choose a blockchain framework best suited for your projects from options such as Ethereum and Hyperledger Fabric Who this book is for This book is for CXOs, business professionals, organization leaders, decision makers, technology enthusiasts, and managers who wish to understand how blockchain is implemented in different organizations, its impact, and how it can be customized according to business needs. Prior experience with blockchain is not required.
Refactoring TypeScript
Refactoring TypeScript
James Hickey
¥54.49
Discover various techniques to develop maintainable code and keep it in shape. Key Features * Learn all about refactoring - why it is important and how to do it * Discover easy ways to refactor code with examples * Explore techniques that can be applied to most other programming languages Book Description Refactoring improves your code without changing its behavior. With refactoring, the best approach is to apply small targeted changes to a codebase. Instead of doing a huge sweeping change to your code, refactoring is better as a long-term and continuous enterprise. Refactoring TypeScript explains how to spot bugs and remove them from your code. You’ll start by seeing how wordy conditionals, methods, and null checks make code unhealthy and unstable. Whether it is identifying messy nested conditionals or removing unnecessary methods, this book will show various techniques to avoid these pitfalls and write code that is easier to understand, maintain, and test. By the end of the book, you’ll have learned some of the main causes of unhealthy code, tips to identify them and techniques to address them. What you will learn * Spot and fix common code smells to create code that is easier to read and understand * Discover ways to identify long methods and refactor them * Create objects that keep your code flexible, maintainable, and testable * Apply the Single Responsibility Principle to develop less-coupled code * Discover how to combine different refactoring techniques * Learn ways to solve the issues caused by overusing primitives Who this book is for This book is designed for programmers who are looking to explore various refactoring techniques to develop healthy and maintainable code. Some experience in JavaScript and TypeScript can help you easily grasp the concepts explained in this book.
Hands-On Data Science with the Command Line
Hands-On Data Science with the Command Line
Jason Morris
¥54.49
Big data processing and analytics at speed and scale using command line tools. Key Features * Perform string processing, numerical computations, and more using CLI tools * Understand the essential components of data science development workflow * Automate data pipeline scripts and visualization with the command line Book Description The Command Line has been in existence on UNIX-based OSes in the form of Bash shell for over 3 decades. However, very little is known to developers as to how command-line tools can be OSEMN (pronounced as awesome and standing for Obtaining, Scrubbing, Exploring, Modeling, and iNterpreting data) for carrying out simple-to-advanced data science tasks at speed. This book will start with the requisite concepts and installation steps for carrying out data science tasks using the command line. You will learn to create a data pipeline to solve the problem of working with small-to medium-sized files on a single machine. You will understand the power of the command line, learn how to edit files using a text-based and an. You will not only learn how to automate jobs and scripts, but also learn how to visualize data using the command line. By the end of this book, you will learn how to speed up the process and perform automated tasks using command-line tools. What you will learn * Understand how to set up the command line for data science * Use AWK programming language commands to search quickly in large datasets. * Work with files and APIs using the command line * Share and collect data with CLI tools * Perform visualization with commands and functions * Uncover machine-level programming practices with a modern approach to data science Who this book is for This book is for data scientists and data analysts with little to no knowledge of the command line but has an understanding of data science. Perform everyday data science tasks using the power of command line tools.
Intelligent Projects Using Python
Intelligent Projects Using Python
Santanu Pattanayak
¥73.02
Implement machine learning and deep learning methodologies to build smart, cognitive AI projects using Python Key Features * A go-to guide to help you master AI algorithms and concepts * 8 real-world projects tackling different challenges in healthcare, e-commerce, and surveillance * Use TensorFlow, Keras, and other Python libraries to implement smart AI applications Book Description This book will be a perfect companion if you want to build insightful projects from leading AI domains using Python. The book covers detailed implementation of projects from all the core disciplines of AI. We start by covering the basics of how to create smart systems using machine learning and deep learning techniques. You will assimilate various neural network architectures such as CNN, RNN, LSTM, to solve critical new world challenges. You will learn to train a model to detect diabetic retinopathy conditions in the human eye and create an intelligent system for performing a video-to-text translation. You will use the transfer learning technique in the healthcare domain and implement style transfer using GANs. Later you will learn to build AI-based recommendation systems, a mobile app for sentiment analysis and a powerful chatbot for carrying customer services. You will implement AI techniques in the cybersecurity domain to generate Captchas. Later you will train and build autonomous vehicles to self-drive using reinforcement learning. You will be using libraries from the Python ecosystem such as TensorFlow, Keras and more to bring the core aspects of machine learning, deep learning, and AI. By the end of this book, you will be skilled to build your own smart models for tackling any kind of AI problems without any hassle. What you will learn * Build an intelligent machine translation system using seq-2-seq neural translation machines * Create AI applications using GAN and deploy smart mobile apps using TensorFlow * Translate videos into text using CNN and RNN * Implement smart AI Chatbots, and integrate and extend them in several domains * Create smart reinforcement, learning-based applications using Q-Learning * Break and generate CAPTCHA using Deep Learning and Adversarial Learning Who this book is for This book is intended for data scientists, machine learning professionals, and deep learning practitioners who are ready to extend their knowledge and potential in AI. If you want to build real-life smart systems to play a crucial role in every complex domain, then this book is what you need. Knowledge of Python programming and a familiarity with basic machine learning and deep learning concepts are expected to help you get the most out of the book
Python Network Programming
Python Network Programming
Abhishek Ratan
¥90.46
Power up your network applications with Python programming Key Features * Master Python skills to develop powerful network applications * Grasp the fundamentals and functionalities of SDN * Design multi-threaded, event-driven architectures for echo and chat servers Book Description This Learning Path highlights major aspects of Python network programming such as writing simple networking clients, creating and deploying SDN and NFV systems, and extending your network with Mininet. You’ll also learn how to automate legacy and the latest network devices. As you progress through the chapters, you’ll use Python for DevOps and open source tools to test, secure, and analyze your network. Toward the end, you'll develop client-side applications, such as web API clients, email clients, SSH, and FTP, using socket programming. By the end of this Learning Path, you will have learned how to analyze a network's security vulnerabilities using advanced network packet capture and analysis techniques. This Learning Path includes content from the following Packt products: * Practical Network Automation by Abhishek Ratan * Mastering Python Networking by Eric Chou * Python Network Programming Cookbook, Second Edition by Pradeeban Kathiravelu, Dr. M. O. Faruque Sarker What you will learn * Create socket-based networks with asynchronous models * Develop client apps for web APIs, including S3 Amazon and Twitter * Talk to email and remote network servers with different protocols * Integrate Python with Cisco, Juniper, and Arista eAPI for automation * Use Telnet and SSH connections for remote system monitoring * Interact with websites via XML-RPC, SOAP, and REST APIs * Build networks with Ryu, OpenDaylight, Floodlight, ONOS, and POX * Configure virtual networks in different deployment environments Who this book is for If you are a Python developer or a system administrator who wants to start network programming, this Learning Path gets you a step closer to your goal. IT professionals and DevOps engineers who are new to managing network devices or those with minimal experience looking to expand their knowledge and skills in Python will also find this Learning Path useful. Although prior knowledge of networking is not required, some experience in Python programming will be helpful for a better understanding of the concepts in the Learning Path.
Jira Quick Start Guide
Jira Quick Start Guide
Ravi Sagar
¥54.49
Leverage Jira's powerful task management and workflow features to better manage your business processes Key Features * The book covers all major applications of Jira, which are Jira Software, Jira Core, Jira Service Desk. * Configure project workflows and the fields that will be used in the project with the help of Jira's features * Create tickets for issues and manage your projects using the Jira software Book Description Jira is an issue tracker and project management system. With their latest release, the Jira team has now expanded their user base to agile teams as well as business teams. This book provides a comprehensive explanation covering all major components of Jira, including Jira Software, Jira Core, and Jira Service Desk. This book starts with an introduction to Jira's unique features and how it can be used as an issue-tracking tool. It will then teach you about how a new project is created by a Jira administrator, what responsibilities there are, and using correct and relevant schemes in your project. You will then learn how to configure project workflows and fields for project screens. You will understand the various permissions used in projects and the importance of project roles in Jira. Then, the book talks about the concepts of versions acting as milestones and using components when handling issues in your projects. It will then focus on analysing data using built-in reports and creating dashboards in Jira. At the end, it will discuss various best practices for users as well as project managers or project administrators. What you will learn * Implement Jira as a project administrator or project manager * Get familiar with various functionalities of Jira * Configure projects and boards in your organisation's Jira instance * Understand how and when to use components and versions in your projects * Manage project configurations and Jira schemes * Learn the best practices to manage your Jira instance Who this book is for This book will be especially useful for project managers but it's also intended for other Jira users, including developers, and any other industry besides software development, who would like to use Jira for project management.
Hands-On Design Patterns with C++
Hands-On Design Patterns with C++
Fedor G. Pikus
¥90.46
A comprehensive guide with extensive coverage on concepts such as OOP, functional programming, generic programming, and STL along with the latest features of C++ Key Features * Delve into the core patterns and components of C++ in order to master application design * Learn tricks, techniques, and best practices to solve common design and architectural challenges * Understand the limitation imposed by C++ and how to solve them using design patterns Book Description C++ is a general-purpose programming language designed with the goals of efficiency, performance, and flexibility in mind. Design patterns are commonly accepted solutions to well-recognized design problems. In essence, they are a library of reusable components, only for software architecture, and not for a concrete implementation. The focus of this book is on the design patterns that naturally lend themselves to the needs of a C++ programmer, and on the patterns that uniquely benefit from the features of C++, in particular, the generic programming. Armed with the knowledge of these patterns, you will spend less time searching for a solution to a common problem and be familiar with the solutions developed from experience, as well as their advantages and drawbacks. The other use of design patterns is as a concise and an efficient way to communicate. A pattern is a familiar and instantly recognizable solution to specific problem; through its use, sometimes with a single line of code, we can convey a considerable amount of information. The code conveys: "This is the problem we are facing, these are additional considerations that are most important in our case; hence, the following well-known solution was chosen." By the end of this book, you will have gained a comprehensive understanding of design patterns to create robust, reusable, and maintainable code. What you will learn * Recognize the most common design patterns used in C++ * Understand how to use C++ generic programming to solve common design problems * Explore the most powerful C++ idioms, their strengths, and drawbacks * Rediscover how to use popular C++ idioms with generic programming * Understand the impact of design patterns on the program’s performance Who this book is for This book is for experienced C++ developers and programmers who wish to learn about software design patterns and principles and apply them to create robust, reusable, and easily maintainable apps.
Advanced JavaScript
Advanced JavaScript
Zachary Shute
¥63.21
Gain a deeper understanding of JavaScript and apply it to build small applications in backend, frontend, and mobile frameworks. Key Features * Explore the new ES6 syntax, the event loop, and asynchronous programming * Learn the test-driven development approach when building apps * Master advanced JavaScript concepts to enhance your web developments skill Book Description If you are looking for a programming language to develop flexible and efficient applications, JavaScript is an obvious choice. Advanced JavaScript is a hands-on guide that takes you through JavaScript and its many features, one step at a time. You'll begin by learning how to use the new JavaScript syntax in ES6, and then work through the many other features that modern JavaScript has to offer. As you progress through the chapters, you’ll use asynchronous programming with callbacks and promises, handle browser events, and perform Document Object Model (DOM) manipulation. You'll also explore various methods of testing JavaScript projects. In the concluding chapters, you'll discover functional programming and learn to use it to build your apps. With this book as your guide, you'll also be able to develop APIs using Node.js and Express, create front-ends using React/Redux, and build mobile apps using React/Expo. By the end of Advanced JavaScript, you will have explored the features and benefits of JavaScript to build small applications. What you will learn * Examine major features in ES6 and implement those features to build applications * Create promise and callback handlers to work with asynchronous processes * Develop asynchronous flows using Promise chaining and async/await syntax * Manipulate the DOM with JavaScript * Handle JavaScript browser events * Explore Test Driven Development and build code tests with JavaScript code testing frameworks. * List the benefits and drawbacks of functional programming compared to other styles * Construct applications with the Node.js backend framework and the React frontend framework Who this book is for This book is designed to target anyone who wants to write JavaScript in a professional environment. We expect the audience to have used JavaScript in some capacity and be familiar with the basic syntax. This book would be good for a tech enthusiast wondering when to use generators or how to use Promises and Callbacks effectively, or a novice developer who wants to deepen their knowledge on JavaScript and understand TDD.
Spring 5.0 Projects
Spring 5.0 Projects
Nilang Patel
¥81.74
Discover the latest features of Spring framework by building robust, fast, and reactive web applications Key Features * Take advantage of all the features of Spring 5.0 with third party tools to build a robust back end * Secure Spring based web application using Spring Security framework with LDAP and OAuth protocol * Develop robust and scalable microservice based applications on Spring Cloud, using Spring Boot Book Description Spring makes it easy to create RESTful applications, merge with social services, communicate with modern databases, secure your system, and make your code modular and easy to test. With the arrival of Spring Boot, developers can really focus on the code and deliver great value, with minimal contour. This book will show you how to build various projects in Spring 5.0, using its features and third party tools. We'll start by creating a web application using Spring MVC, Spring Data, the World Bank API for some statistics on different countries, and MySQL database. Moving ahead, you'll build a RESTful web services application using Spring WebFlux framework. You'll be then taken through creating a Spring Boot-based simple blog management system, which uses Elasticsearch as the data store. Then, you'll use Spring Security with the LDAP libraries for authenticating users and create a central authentication and authorization server using OAuth 2 protocol. Further, you'll understand how to create Spring Boot-based monolithic application using JHipster. Toward the end, we'll create an online book store with microservice architecture using Spring Cloud and Net?ix OSS components, and a task management system using Spring and Kotlin. By the end of the book, you'll be able to create coherent and ?exible real-time web applications using Spring Framework. What you will learn * Build Spring based application using Bootstrap template and JQuery * Understand the Spring WebFlux framework and how it uses Reactor library * Interact with Elasticsearch for indexing, querying, and aggregating data * Create a simple monolithic application using JHipster * Use Spring Security and Spring Security LDAP and OAuth libraries for Authentication * Develop a microservice-based application with Spring Cloud and Netflix * Work on Spring Framework with Kotlin Who this book is for This book is for competent Spring developers who wish to understand how to develop complex yet flexible applications with Spring. You must have a good knowledge of Java programming and be familiar with the basics of Spring.
Mastering Distributed Tracing
Mastering Distributed Tracing
Yuri Shkuro
¥90.46
Understand how to apply distributed tracing to microservices-based architectures Key Features * A thorough conceptual introduction to distributed tracing * An exploration of the most important open standards in the space * A how-to guide for code instrumentation and operating a tracing infrastructure Book Description Mastering Distributed Tracing will equip you to operate and enhance your own tracing infrastructure. Through practical exercises and code examples, you will learn how end-to-end tracing can be used as a powerful application performance management and comprehension tool. The rise of Internet-scale companies, like Google and Amazon, ushered in a new era of distributed systems operating on thousands of nodes across multiple data centers. Microservices increased that complexity, often exponentially. It is harder to debug these systems, track down failures, detect bottlenecks, or even simply understand what is going on. Distributed tracing focuses on solving these problems for complex distributed systems. Today, tracing standards have developed and we have much faster systems, making instrumentation less intrusive and data more valuable. Yuri Shkuro, the creator of Jaeger, a popular open-source distributed tracing system, delivers end-to-end coverage of the field in Mastering Distributed Tracing. Review the history and theoretical foundations of tracing; solve the data gathering problem through code instrumentation, with open standards like OpenTracing, W3C Trace Context, and OpenCensus; and discuss the benefits and applications of a distributed tracing infrastructure for understanding, and profiling, complex systems. What you will learn * How to get started with using a distributed tracing system * How to get the most value out of end-to-end tracing * Learn about open standards in the space * Learn about code instrumentation and operating a tracing infrastructure * Learn where distributed tracing fits into microservices as a core function Who this book is for Any developer interested in testing large systems will find this book very revealing and in places, surprising. Every microservice architect and developer should have an insight into distributed tracing, and the book will help them on their way. System administrators with some development skills will also benefit. No particular programming language skills are required, although an ability to read Java, while non-essential, will help with the core chapters.
Learn Web Development with Python
Learn Web Development with Python
Fabrizio Romano
¥90.46
A comprehensive guide to Python programming for web development using the most popular Python web framework - Django Key Features *Learn the fundamentals of programming with Python and building web apps *Build web applications from scratch with Django *Create real-world RESTful web services with the latest Django framework Book Description If you want to develop complete Python web apps with Django, this Learning Path is for you. It will walk you through Python programming techniques and guide you in implementing them when creating 4 professional Django projects, teaching you how to solve common problems and develop RESTful web services with Django and Python. You will learn how to build a blog application, a social image bookmarking website, an online shop, and an e-learning platform. Learn Web Development with Python will get you started with Python programming techniques, show you how to enhance your applications with AJAX, create RESTful APIs, and set up a production environment for your Django projects. Last but not least, you’ll learn the best practices for creating real-world applications. By the end of this Learning Path, you will have a full understanding of how Django works and how to use it to build web applications from scratch. This Learning Path includes content from the following Packt products: *Learn Python Programming by Fabrizio Romano *Django RESTful Web Services by Gastón C. Hillar *Django Design Patterns and Best Practices by Arun Ravindran What you will learn *Explore the fundamentals of Python programming with interactive projects *Grasp essential coding concepts along with the basics of data structures and control flow *Develop RESTful APIs from scratch with Django and the Django REST Framework *Create automated tests for RESTful web services *Debug, test, and profile RESTful web services with Django and the Django REST Framework *Use Django with other technologies such as Redis and Celery Who this book is for If you have little experience in coding or Python and want to learn how to build full-fledged web apps, this Learning Path is for you. No prior experience with RESTful web services, Python, or Django is required, but basic Python programming experience is needed to understand the concepts covered.
Building Microservices with Spring
Building Microservices with Spring
Dinesh Rajput
¥90.46
Learn and use the design patterns and best practices in Spring to solve common design problems and build user-friendly microservices Key Features *Study the benefits of using the right design pattern in your toolkit *Manage your code easily with Spring's dependency injection pattern *Explore the features of Docker and Mesos to build successful microservices Book Description Getting Started with Spring Microservices begins with an overview of the Spring Framework 5.0, its design patterns, and its guidelines that enable you to implement responsive microservices at scale. You will learn how to use GoF patterns in application design. You will understand the dependency injection pattern, which is the main principle behind the decoupling process of the Spring Framework and makes it easier to manage your code. Then, you will learn how to use proxy patterns in aspect-oriented programming and remoting. Moving on, you will understand the JDBC template patterns and their use in abstracting database access. After understanding the basics, you will move on to more advanced topics, such as reactive streams and concurrency. Written to the latest specifications of Spring that focuses on Reactive Programming, the Learning Path teaches you how to build modern, internet-scale Java applications in no time. Next, you will understand how Spring Boot is used to deploying serverless autonomous services by removing the need to have a heavyweight application server. You’ll also explore ways to deploy your microservices to Docker and managing them with Mesos. By the end of this Learning Path, you will have the clarity and confidence for implementing microservices using Spring Framework. This Learning Path includes content from the following Packt products: *Spring 5 Microservices by Rajesh R V *Spring 5 Design Patterns by Dinesh Rajput What you will learn *Develop applications using dependency injection patterns *Build web applications using traditional Spring MVC patterns *Utilize the reactive programming pattern to build reactive web apps *Learn concurrency and handle multiple connections inside a web server *Use Spring Boot and Spring Cloud to develop microservices *Leverage reactive programming to build cloud-native applications Who this book is for Getting Started with Spring Microservices is ideal for Spring developers who want to use design patterns to solve common design problems and build cloud-ready, Internet-scale applications, and simple RESTful services.
Modern C++: Efficient and Scalable Application Development
Modern C++: Efficient and Scalable Application Development
Richard Grimes
¥90.46
Create apps in C++ and leverage its latest features using modern programming techniques. Key Features *Develop strong C++ skills to build a variety of applications *Explore features of C++17, such as containers, algorithms, and threads *Grasp the standard support for threading and concurrency and use them in basic daily tasks Book Description C++ is one of the most widely used programming languages. It is fast, flexible, and used to solve many programming problems. This Learning Path gives you an in-depth and hands-on experience of working with C++, using the latest recipes and understanding most recent developments. You will explore C++ programming constructs by learning about language structures, functions, and classes, which will help you identify the execution flow through code. You will also understand the importance of the C++ standard library as well as memory allocation for writing better and faster programs. Modern C++: Efficient and Scalable Application Development deals with the challenges faced with advanced C++ programming. You will work through advanced topics such as multithreading, networking, concurrency, lambda expressions, and many more recipes. By the end of this Learning Path, you will have all the skills to become a master C++ programmer. This Learning Path includes content from the following Packt products: *Beginning C++ Programming by Richard Grimes *Modern C++ Programming Cookbook by Marius Bancila *The Modern C++ Challenge by Marius Bancila What you will learn *Become familiar with the structure of C++ projects *Identify the main structures in the language: functions and classes *Learn to debug your programs *Leverage C++ features to obtain increased robustness and performance *Explore functions and callable objects with a focus on modern features *Serialize and deserialize JSON and XML data *Create client-server applications that communicate over TCP/IP *Use design patterns to solve real-world problems Who this book is for This Learning Path is designed for developers who want to gain a solid foundation in C++. The desire to learn how to code in C++ is all you need to get started with this Learning Path
Hands-On System Programming with C++
Hands-On System Programming with C++
Dr. Rian Quinn
¥90.46
A hands-on guide to making system programming with C++ easy Key Features *Write system-level code leveraging C++17 *Learn the internals of the Linux Application Binary Interface (ABI) and apply it to system programming *Explore C++ concurrency to take advantage of server-level constructs Book Description C++ is a general-purpose programming language with a bias toward system programming as it provides ready access to hardware-level resources, efficient compilation, and a versatile approach to higher-level abstractions. This book will help you understand the benefits of system programming with C++17. You will gain a firm understanding of various C, C++, and POSIX standards, as well as their respective system types for both C++ and POSIX. After a brief refresher on C++, Resource Acquisition Is Initialization (RAII), and the new C++ Guideline Support Library (GSL), you will learn to program Linux and Unix systems along with process management. As you progress through the chapters, you will become acquainted with C++'s support for IO. You will then study various memory management methods, including a chapter on allocators and how they benefit system programming. You will also explore how to program file input and output and learn about POSIX sockets. This book will help you get to grips with safely setting up a UDP and TCP server/client. Finally, you will be guided through Unix time interfaces, multithreading, and error handling with C++ exceptions. By the end of this book, you will be comfortable with using C++ to program high-quality systems. What you will learn *Understand the benefits of using C++ for system programming *Program Linux/Unix systems using C++ *Discover the advantages of Resource Acquisition Is Initialization (RAII) *Program both console and file input and output *Uncover the POSIX socket APIs and understand how to program them *Explore advanced system programming topics, such as C++ allocators *Use POSIX and C++ threads to program concurrent systems *Grasp how C++ can be used to create performant system applications Who this book is for If you are a fresh developer with intermediate knowledge of C++ but little or no knowledge of Unix and Linux system programming, this book will help you learn system programming with C++ in a practical way.