万本电子书0元读

万本电子书0元读

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.
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.
Blockchain Quick Start Guide
Blockchain Quick Start Guide
Xun (Brian) Wu
¥54.49
Learn quick and effective techniques to get up and running with building blockchain including Ethereum and Hyperledger Fabric. Key Features *Understand the key concepts of decentralized applications and consensus algorithms *Learn key concepts of Ethereum and Solidity programming *Practical guide to get started with build efficient Blockchain applications with Ethereum and Hyperledger Book Description Blockchain is a technology that powers the development of decentralized applications.This technology allows the construction of a network with no single control that enables participants to make contributions to and receive benefits from the network directly. This book will give you a thorough overview of blockchain and explain how a blockchain works.You will begin by going through various blockchain consensus mechanisms and cryptographic hash functions. You will then learn the fundamentals of programming in Solidity – the defacto language for developing decentralize, applications in Ethereum. After that, you will set up an Ethereum development environment and develop, package, build, and test campaign-decentralized applications.The book also shows you how to set up Hyperledger composer tools, analyze business scenarios, design business models, and write a chain code. Finally, you will get a glimpse of how blockchain is actually used in different real-world domains. By the end of this guide, you will be comfortable working with basic blockchain frameworks, and develop secure, decentralized applications in a hassle-free manner. What you will learn *Understand how blockchain hashing works *Write and test a smart contract using Solidity *Develop and test a decentralized application *Build and test your application using Hyperledger Fabric *Implement business network using Hyperledger Composer *Test and interact with business network applications Who this book is for The book is for developers, analysts, or anyone looking to learn about Blockchain in a quick and easy manner.
Learn Linux Shell Scripting – Fundamentals of Bash 4.4
Learn Linux Shell Scripting – Fundamentals of Bash 4.4
Sebastiaan Tammer
¥71.93
Create and maintain powerful Bash scripts for automation and administration. Key Features *Get up and running with Linux shell scripting using real-world examples *Leverage command-line techniques and methodologies to automate common yet complex administration tasks *A practical guide with exposure to scripting constructs and common scripting patterns Book Description Shell scripts allow us to program commands in chains and have the system execute them as a scripted event, just like batch files. This book will start with an overview of Linux and Bash shell scripting, and then quickly deep dive into helping you set up your local environment, before introducing you to tools that are used to write shell scripts. The next set of chapters will focus on helping you understand Linux under the hood and what Bash provides the user. Soon, you will have embarked on your journey along the command line. You will now begin writing actual scripts instead of commands, and will be introduced to practical applications for scripts. The final set of chapters will deep dive into the more advanced topics in shell scripting. These advanced topics will take you from simple scripts to reusable, valuable programs that exist in the real world. The final chapter will leave you with some handy tips and tricks and, as regards the most frequently used commands, a cheat sheet containing the most interesting flags and options will also be provided. After completing this book, you should feel confident about starting your own shell scripting projects, no matter how simple or complex the task previously seemed. We aim to teach you how to script and what to consider, to complement the clear-cut patterns that you can use in your daily scripting challenges. What you will learn *Understand Linux and Bash basics as well as shell scripting fundamentals *Learn to write simple shell scripts that interact with Linux operating system *Build, maintain, and deploy scripts in a Linux environment *Learn best practices for writing shell scripts *Avoid common pitfalls associated with Bash scripting *Gain experience and the right toolset to write your own complex shell scripts Who this book is for This book targets new and existing Linux system administrators, Windows system administrators or developers who are interested in automating administrative tasks. No prior shell scripting experience is needed but in case you do this book will make a pro quickly. Readers should have a basic understanding of the command line.
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.
Blockchain for Business 2019
Blockchain for Business 2019
Peter Lipovyanov
¥54.49
Your one-stop guide to blockchain technology and its business applications Key Features * Assimilate blockchain services such as Ethereum and Hyperledger to transform industrial applications * Know in and out of blockchain technology to understand various business use cases * Understand various common and not-so-common challenges faced in blockchain development Book Description Blockchain for Business 2019 is a comprehensive guide that enables you to bring in various blockchain functionalities to extend your existing business models and make correct fully-informed decisions. You will learn how decentralized applications are transforming numerous business sectors that are expected to play a huge role in the future. You will see how large corporations are already implementing blockchain technology now. You will then learn about the various blockchain services, such as Bitcoin, Ethereum, Hyperledger, and others to understand their use cases in a variety of business domains. You will develop a solid fundamental understanding of blockchain architecture. Moving ahead, you will get to grips with the inner workings of blockchain, with detailed explanations of mining, decentralized consensus, cryptography, smart contracts, and many other important concepts. You will delve into a realistic view of the current state of blockchain technology, along with its issues, limitations, and potential solutions that can take it to the next level. By the end of this book, you will all be well versed in the latest innovations and developments in the emerging blockchain space. What you will learn * Understand the fundamentals of blockchain and how it was developed * Gain a good understanding of economic concepts and developments * Develop a base for concepts such as cryptography, computer networking, and programming * Understand the applications of blockchain and its potential impact on the world * Become well versed with the latest developments in the blockchain space * Explore blockchain frameworks, including decentralized organizational structures, networks, and applications Who this book is for This book is for financial professionals, business executives, managers, and enthusiasts who are interested in getting well-versed with blockchain technology in various business domains. This book will help boost your existing business models using blockchain services. No prior experience of blockchain is required.
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.
QGIS Quick Start Guide
QGIS Quick Start Guide
Andrew Cutts
¥54.49
Step through loading GIS data, creating GIS data, styling GIS and making maps with QGIS following a simple narrative that will allow you to build confidence as you progress. Key Features * Work with GIS data, a step by step guide from creation to making a map * Perform geoprocessing tasks and automate them using model builder * Explore a range of features in QGIS 3.4, discover the power behind open source desktop GIS Book Description QGIS is a user friendly, open source geographic information system (GIS). The popularity of open source GIS and QGIS, in particular, has been growing rapidly over the last few years. This book is designed to help beginners learn about all the tools required to use QGIS 3.4. This book will provide you with clear, step-by-step instructions to help you apply your GIS knowledge to QGIS. You begin with an overview of QGIS 3.4 and its installation. You will learn how to load existing spatial data and create vector data from scratch. You will then be creating styles and labels for maps. The final two chapters demonstrate the Processing toolbox and include a brief investigation on how to extend QGIS. Throughout this book, we will be using the GeoPackage format, and we will also discuss how QGIS can support many different types of data. Finally, you will learn where to get help and how to become engaged with the GIS community. What you will learn * Use existing data to interact with the canvas via zoom/pan/selection * Create vector data and a GeoPackage and build a simple project around it * Style data, both vector and raster data, using the Layer Styling Panel * Design, label, save, and export maps using the data you have created * Analyze spatial queries using the Processing toolbox * Expand QGIS with the help of plugins, model builder, and the command line Who this book is for If you know the basic functions and processes of GIS, and want to learn to use QGIS to analyze geospatial data and create rich mapping applications, then this is the book for you.
React Native Cookbook
React Native Cookbook
Dan Ward
¥90.46
Improve your React Native mobile development skills or transition from web development to mobile development with this practical solution-packed guide Key Features * Learn strategies and techniques to face challenges in React Native mobile development head-on * Leverage the best ways to use iOS and Android for React Native development while maximizing code reuse and cohesion * Build engaging, performant user experiences with React Native Book Description If you are a developer looking to create mobile applications with maximized code reusability and minimized cost, then React Native is here to help. With this practical guide, you will be able to build attractive UIs, tackle common mobile development-related issues, and achieve improved performance in mobile environments. This book starts with common techniques for React Native customization and helps you set up your development platforms. Over the course of the book, a wide variety of step-by-step recipes are designed with both built-in React Native and custom third-party components that you will create, style, and animate. You will create real-world browser-based authentication, build a fully functional audio player, and integrate with Google maps. You will also explore different strategies for working with data, including leveraging the popular Redux library and optimizing your app’s dataflow. You will then get an introduction to writing native device functionality for new and already existing native projects. Finally, you will learn how app deployment works, and tips and tricks for writing performant code. By the end of the book, you'll have gained enough knowledge to build full iOS and Android applications using React Native. What you will learn * Build UI features and components using React Native * Create advanced animations for UI components * Develop universal apps that run on phones and tablets * Leverage Redux to manage application flow and data * Expose both custom native UI components and application logic to React Native * Employ open-source third-party plugins to create React Native apps more efficiently Who this book is for If you're a JavaScript developer looking for a practical guide with step-by-step tutorials for developing feature rich mobile apps using React Native, then this book is for you. Though not required, some experience working with React will help you more easily understand the React Native concepts covered in this book. While React Native development can be done on a Windows machine, certain aspects, such as running your apps on iOS devices and in the iOS simulator, or editing native code with Xcode, can only be done with a Mac.
Kibana 7 Quick Start Guide
Kibana 7 Quick Start Guide
Anurag Srivastava
¥54.49
A quick start guide to visualize your Elasticsearch data Key Features * Your hands-on guide to visualizing the Elasticsearch data as well as navigating the Elastic stack * Work with different Kibana plugins and create effective machine learning jobs using Kibana * Build effective dashboards and reports without any hassle Book Description The Elastic Stack is growing rapidly and, day by day, additional tools are being added to make it more effective. This book endeavors to explain all the important aspects of Kibana, which is essential for utilizing its full potential. This book covers the core concepts of Kibana, with chapters set out in a coherent manner so that readers can advance their learning in a step-by-step manner. The focus is on a practical approach, thereby enabling the reader to apply those examples in real time for a better understanding of the concepts and to provide them with the correct skills in relation to the tool. With its succinct explanations, it is quite easy for a reader to use this book as a reference guide for learning basic to advanced implementations of Kibana. The practical examples, such as the creation of Kibana dashboards from CSV data, application RDBMS data, system metrics data, log file data, APM agents, and search results, can provide readers with a number of different drop-off points from where they can fetch any type of data into Kibana for the purpose of analysis or dashboarding. What you will learn * Explore how Logstash is configured to fetch CSV data * Understand how to create index patterns in Kibana * Become familiar with how to apply filters on data * Discover how to create ML jobs * Explore how to analyze APM data from APM agents * Get to grips with how to save, share, inspect, and edit visualizations * Understand how to find an anomaly in data Who this book is for Kibana 7 Quick Start Guide is for developers new to Kibana who want to learn the fundamentals of using the tool for visualization, as well as existing Elastic developers.
Mastering Rust
Mastering Rust
Rahul Sharma
¥90.46
Become proficient in designing, developing and deploying effective software systems using the advanced constructs of Rust Key Features * Improve your productivity using the latest version of Rust and write simpler and easier code * Understand Rust’s immutability and ownership principle, expressive type system, safe concurrency * Deep dive into the new doamins of Rust like WebAssembly, Networking and Command line tools Book Description Rust is an empowering language that provides a rare combination of safety, speed, and zero-cost abstractions. Mastering Rust – Second Edition is filled with clear and simple explanations of the language features along with real-world examples, showing you how you can build robust, scalable, and reliable programs. This second edition of the book improves upon the previous one and touches on all aspects that make Rust a great language. We have included the features from latest Rust 2018 edition such as the new module system, the smarter compiler, helpful error messages, and the stable procedural macros. You’ll learn how Rust can be used for systems programming, network programming, and even on the web. You’ll also learn techniques such as writing memory-safe code, building idiomatic Rust libraries, writing efficient asynchronous networking code, and advanced macros. The book contains a mix of theory and hands-on tasks so you acquire the skills as well as the knowledge, and it also provides exercises to hammer the concepts in. After reading this book, you will be able to implement Rust for your enterprise projects, write better tests and documentation, design for performance, and write idiomatic Rust code. What you will learn * Write generic and type-safe code by using Rust’s powerful type system * How memory safety works without garbage collection * Know the different strategies in error handling and when to use them * Learn how to use concurrency primitives such as threads and channels * Use advanced macros to reduce boilerplate code * Create efficient web applications with the Actix-web framework * Use Diesel for type-safe database interactions in your web application Who this book is for The book is aimed at beginner and intermediate programmers who already have familiarity with any imperative language and have only heard of Rust as a new language. If you are a developer who wants to write robust, efficient and maintainable software systems and want to become proficient with Rust, this book is for you. It starts by giving a whirlwind tour of the important concepts of Rust and covers advanced features of the language in subsequent chapters using code examples that readers will find useful to advance their knowledge.
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.
Bayesian Analysis with Python
Bayesian Analysis with Python
Osvaldo Martin
¥81.74
Bayesian modeling with PyMC3 and exploratory analysis of Bayesian models with ArviZ Key Features *A step-by-step guide to conduct Bayesian data analyses using PyMC3 and ArviZ *A modern, practical and computational approach to Bayesian statistical modeling *A tutorial for Bayesian analysis and best practices with the help of sample problems and practice exercises. Book Description The second edition of Bayesian Analysis with Python is an introduction to the main concepts of applied Bayesian inference and its practical implementation in Python using PyMC3, a state-of-the-art probabilistic programming library, and ArviZ, a new library for exploratory analysis of Bayesian models. The main concepts of Bayesian statistics are covered using a practical and computational approach. Synthetic and real data sets are used to introduce several types of models, such as generalized linear models for regression and classification, mixture models, hierarchical models, and Gaussian processes, among others. By the end of the book, you will have a working knowledge of probabilistic modeling and you will be able to design and implement Bayesian models for your own data science problems. After reading the book you will be better prepared to delve into more advanced material or specialized statistical modeling if you need to. What you will learn *Build probabilistic models using the Python library PyMC3 *Analyze probabilistic models with the help of ArviZ *Acquire the skills required to sanity check models and modify them if necessary *Understand the advantages and caveats of hierarchical models *Find out how different models can be used to answer different data analysis questions *Compare models and choose between alternative ones *Discover how different models are unified from a probabilistic perspective *Think probabilistically and benefit from the flexibility of the Bayesian framework Who this book is for If you are a student, data scientist, researcher, or a developer looking to get started with Bayesian data analysis and probabilistic programming, this book is for you. The book is introductory so no previous statistical knowledge is required, although some experience in using Python and NumPy is expected.
Windows Malware Analysis Essentials
Windows Malware Analysis Essentials
Victor Marak
¥90.46
Master the fundamentals of malware analysis for the Windows platform and enhance your anti-malware skill set About This Book Set the baseline towards performing malware analysis on the Windows platform and how to use the tools required to deal with malware Understand how to decipher x86 assembly code from source code inside your favourite development environment A step-by-step based guide that reveals malware analysis from an industry insider and demystifies the process Who This Book Is For This book is best for someone who has prior experience with reverse engineering Windows executables and wants to specialize in malware analysis. The book presents the malware analysis thought process using a show-and-tell approach, and the examples included will give any analyst confidence in how to approach this task on their own the next time around. What You Will Learn Use the positional number system for clear conception of Boolean algebra, that applies to malware research purposes Get introduced to static and dynamic analysis methodologies and build your own malware lab Analyse destructive malware samples from the real world (ITW) from fingerprinting and static/dynamic analysis to the final debrief Understand different modes of linking and how to compile your own libraries from assembly code and integrate the codein your final program Get to know about the various emulators, debuggers and their features, and sandboxes and set them up effectively depending on the required scenario Deal with other malware vectors such as pdf and MS-Office based malware as well as *s and shellcode In Detail Windows OS is the most used operating system in the world and hence is targeted by malware writers. There are strong ramifications if things go awry. Things will go wrong if they can, and hence we see a salvo of attacks that have continued to disrupt the normal scheme of things in our day to day lives. This book will guide you on how to use essential tools such as debuggers, disassemblers, and sandboxes to dissect malware samples. It will expose your innards and then build a report of their indicators of compromise along with detection rule sets that will enable you to help contain the outbreak when faced with such a situation. We will start with the basics of computing fundamentals such as number systems and Boolean algebra. Further, you'll learn about x86 assembly programming and its integration with high level languages such as C++.You'll understand how to decipher disassembly code obtained from the compiled source code and map it back to its original design goals. By delving into end to end analysis with real-world malware samples to solidify your understanding, you'll sharpen your technique of handling destructive malware binaries and vector mechanisms. You will also be encouraged to consider analysis lab safety measures so that there is no infection in the process. Finally, we'll have a rounded tour of various emulations, sandboxing, and debugging options so that you know what is at your disposal when you need a specific kind of weapon in order to nullify the malware. Style and approach An easy to follow, hands-on guide with de*ions and screenshots that will help you execute effective malicious software investigations and conjure up solutions creatively and confidently.
Clojure for Data Science
Clojure for Data Science
Henry Garner
¥80.65
Statistics, big data, and machine learning for Clojure programmers About This Book Write code using Clojure to harness the power of your data Discover the libraries and frameworks that will help you succeed A practical guide to understanding how the Clojure programming language can be used to derive insights from data Who This Book Is For This book is aimed at developers who are already productive in Clojure but who are overwhelmed by the breadth and depth of understanding required to be effective in the field of data science. Whether you’re tasked with delivering a specific analytics project or simply suspect that you could be deriving more value from your data, this book will inspire you with the opportunities–and inform you of the risks–that exist in data of all shapes and sizes. What You Will Learn Perform hypothesis testing and understand feature selection and statistical significance to interpret your results with confidence Implement the core machine learning techniques of regression, classification, clustering and recommendation Understand the importance of the value of simple statistics and distributions in exploratory data analysis Scale algorithms to web-sized datasets efficiently using distributed programming models on Hadoop and Spark Apply suitable analytic approaches for text, graph, and time series data Interpret the terminology that you will encounter in technical papers Import libraries from other JVM languages such as Java and Scala Communicate your findings clearly and convincingly to nontechnical colleagues In Detail The term “data science” has been widely used to define this new profession that is expected to interpret vast datasets and translate them to improved decision-making and performance. Clojure is a powerful language that combines the interactivity of a *ing language with the speed of a compiled language. Together with its rich ecosystem of native libraries and an extremely simple and consistent functional approach to data manipulation, which maps closely to mathematical formula, it is an ideal, practical, and flexible language to meet a data scientist’s diverse needs. Taking you on a journey from simple summary statistics to sophisticated machine learning algorithms, this book shows how the Clojure programming language can be used to derive insights from data. Data scientists often forge a novel path, and you’ll see how to make use of Clojure’s Java interoperability capabilities to access libraries such as Mahout and Mllib for which Clojure wrappers don’t yet exist. Even seasoned Clojure developers will develop a deeper appreciation for their language’s flexibility! You’ll learn how to apply statistical thinking to your own data and use Clojure to explore, analyze, and visualize it in a technically and statistically robust way. You can also use Incanter for local data processing and ClojureScript to present interactive visualisations and understand how distributed platforms such as Hadoop sand Spark’s MapReduce and GraphX’s BSP solve the challenges of data analysis at scale, and how to explain algorithms using those programming models. Above all, by following the explanations in this book, you’ll learn not just how to be effective using the current state-of-the-art methods in data science, but why such methods work so that you can continue to be productive as the field evolves into the future. Style and approach This is a practical guide to data science that teaches theory by example through the libraries and frameworks accessible from the Clojure programming language.
PhoneGap Essentials
PhoneGap Essentials
Ivan Turkovic
¥54.49
Use PhoneGap to build cross-platform mobile applications quickly and efficiently About This Book Build native mobile phone applications with HTML5, JavaScript, and CSS Incorporate smartphone capabilities such as GPS, camera, accelerometer, and more into your apps for any mobile platform Use Cordova view to embed PhoneGap into native applications to either transit smoothly to PhoneGap or incorporate PhoneGap functionalities Who This Book Is For If you are a mobile application developer in iOS or Android, or a web application developer who wants to learn how to make cross-platform mobile applications using PhoneGap, this book is perfect for you. To make the most of this book, it will be helpful if you have prior knowledge of HTML5, CSS, and JavaScript. What You Will Learn Get to grips with the fundamentals of PhoneGap to get started Set up a development environment for Linux, Mac OS, and Windows Use Cordova CLI, workflows, and Plugman Plugin manager to create mobile applications efficiently Understand the development workflow to create native cross-platform mobile applications Embed plugin support to transition to PhoneGap or use it to enhance existing applications Improve your mobile development knowledge using object-oriented programming (OOP), reusable components, and AJAX closures Be empowered to build your own mobile apps quickly with ease Discover tips and tricks to make app development fun and easy In Detail PhoneGap is an open source framework that allows you to quickly build cross-platform mobile apps using HTML5, JavaScript, and CSS. PhoneGap Build is a cloud service that allows you to quickly develop and compile mobile applications without SDKs, compilers, and hardware. PhoneGap allows you to use its existing plugins or create new ones, as per your requirements, to enhance your mobile applications. Starting by installing PhoneGap, you’ll develop an app that uses various device capabilities through different plugins and learn how to build an app in the cloud with PhoneGap’s Build service. You’ll discover how to use PhoneGap to create an application view, along with how to use a camera, geolocation, and other device capabilities to create engaging apps. Next, you’ll augment applications with PhoneGap's plugins using minimalistic code. You’ll explore the app preparation process to deploy your app to the app store. By the end of the book, you’ll have also learned how to apply hybrid mobile UIs that will work across different platforms and different screen sizes for better user experience. Style and approach This is an example-based, fast-paced guide that covers the fundamentals of creating cross-platform mobile applications with PhoneGap.
Redis Essentials
Redis Essentials
Maxwell Dayvson Da Silva
¥71.93
Harness the power of Redis to integrate and manage your projects efficiently About This Book Learn how to use Redis's data types efficiently to manage large data sets Scale Redis to multiple servers with Twemproxy, Redis Sentinel, and Redis Cluster A fast-paced guide, full of real-world examples to help you get the best out of the features offered by Redis Who This Book Is For If you are a competent developer with experience of working with data structure servers and want to boost your project's performance by learning about features of Redis, then this book is for you. What You Will Learn Build analytics applications using Bitmaps and Hyperloglogs Enhance scalability with Twemproxy, Redis Sentinel, and Redis Cluster Build a Time Series implementation in Node.js and Redis Create your own Redis commands by extending Redis with Lua Get to know security techniques to protect your data (SSL encryption, firewall rules, basic authorization) Persist data to disk and learn the trade-offs of AOF and RDB Understand how to use Node.js, PHP, Python, and Ruby clients for Redis Avoid common pitfalls when designing your next solution In Detail Redis is the most popular in-memory key-value data store. It’s very lightweight and its data types give it an edge over the other competitors. If you need an in-memory database or a high-performance cache system that is simple to use and highly scalable, Redis is what you need. Redis Essentials is a fast-paced guide that teaches the fundamentals on data types, explains how to manage data through commands, and shares experiences from big players in the industry. We start off by explaining the basics of Redis followed by the various data types such as Strings, hashes, lists, and more. Next, Common pitfalls for various scenarios are described, followed by solutions to ensure you do not fall into common traps. After this, major differences between client implementations in PHP, Python, and Ruby are presented. Next, you will learn how to extend Redis with Lua, get to know security techniques such as basic authorization, firewall rules, and SSL encryption, and discover how to use Twemproxy, Redis Sentinel, and Redis Cluster to scale infrastructures horizontally. At the end of this book, you will be able to utilize all the essential features of Redis to optimize your project's performance. Style and approach A practical guide that offers the foundation upon which you can begin to understand the capabilities of Redis using a step-by-step approach. This book is full of real-world problems and in-depth knowledge of the concepts and features of Redis, with plenty of examples.