万本电子书0元读

万本电子书0元读

PHP 7 Data Structures and Algorithms
PHP 7 Data Structures and Algorithms
Mizanur Rahman
¥80.65
Increase your productivity by implementing data structures About This Book ? Gain a complete understanding of data structures using a simple approach ? Analyze algorithms and learn when you should apply each solution ? Explore the true potential of functional data structures Who This Book Is For This book is for those who want to learn data structures and algorithms with PHP for better control over application-solution, efficiency, and optimization. A basic understanding of PHP data types, control structures, and other basic features is required What You Will Learn ? Gain a better understanding of PHP arrays as a basic data structure and their hidden power ? Grasp how to analyze algorithms and the Big O Notation ? Implement linked lists, double linked lists, stack, queues, and priority queues using PHP ? Work with sorting, searching, and recursive algorithms ? Make use of greedy, dynamic, and pattern matching algorithms ? Implement tree, heaps, and graph algorithms ? Apply PHP functional data structures and built-in data structures and algorithms In Detail PHP has always been the the go-to language for web based application development, but there are materials and resources you can refer to to see how it works. Data structures and algorithms help you to code and execute them effectively, cutting down on processing time significantly. If you want to explore data structures and algorithms in a practical way with real-life projects, then this book is for you. The book begins by introducing you to data structures and algorithms and how to solve a problem from beginning to end using them. Once you are well aware of the basics, it covers the core aspects like arrays, listed lists, stacks and queues. It will take you through several methods of finding efficient algorithms and show you which ones you should implement in each scenario. In addition to this, you will explore the possibilities of functional data structures using PHP and go through advanced algorithms and graphs as well as dynamic programming. By the end, you will be confident enough to tackle both basic and advanced data structures, understand how they work, and know when to use them in your day-to-day work Style and approach An easy-to-follow guide full of examples of implementation of data structures and real world examples to solve the problems faced. Each topic is first explained in general terms and then implemented using step by step explanation so that developers can understand each part of the discussion without any problem.
Mastering macOS Programming
Mastering macOS Programming
Stuart Grimshaw
¥80.65
Take your macOS Sierra to the next level using the latest tools, designs, and best coding practices while developing with Swift 3.0 About This Book ? Learn to harness the power of macOS with the elegance of the Swift programming language ? Become highly competent in building apps on the macOS platform ? Get the most in-depth guide with a hands-on approach on the latest version of macOS Who This Book Is For This book is for developers who have some experience with macOS and want to take their skills to next level by unlocking the full potential of latest version of macOS with Swift 3 to build impressive applications. Basic knowledge of Swift will be beneficial but is not required. What You Will Learn ? Combine beautiful design with robust code for the very best user experience ? Bring the best coding practices to the new macOS Sierra ? See what's new in Swift 3.0 and how best to leverage the Swift language ? Master Apple's tools, including Xcode, Interface Builder, and Instruments ? Use Unix and other common command-line tools to increase productivity ? Explore the essential Cocoa frameworks, including networking, animation, audio, and video In Detail macOS continues to lead the way in desktop operating systems, with its tight integration across the Apple ecosystem of platforms and devices. With this book, you will get an in-depth knowledge of working on macOS, enabling you to unleash the full potential of the latest version using Swift 3 to build applications. This book will help you broaden your horizons by taking your programming skills to next level. The initial chapters will show you all about the environment that surrounds a developer at the start of a project. It introduces you to the new features that Swift 3 and Xcode 8 offers and also covers the common design patterns that you need to know for planning anything more than trivial projects. You will then learn the advanced Swift programming concepts, including memory management, generics, protocol orientated and functional programming and with this knowledge you will be able to tackle the next several chapters that deal with Apple's own Cocoa frameworks. It also covers AppKit, Foundation, and Core Data in detail which is a part of the Cocoa umbrella framework. The rest of the book will cover the challenges posed by asynchronous programming, error handling, debugging, and many other areas that are an indispensable part of producing software in a professional environment. By the end of this book, you will be well acquainted with Swift, Cocoa, and AppKit, as well as a plethora of other essential tools, and you will be ready to tackle much more complex and advanced software projects. Style and approach This comprehensive guide takes a hands-on practical approach incorporating a visually-rich format rather than a text heavy format. The focus is on teaching the core concepts through a series of small projects and standalone examples so you gain expertise with various aspects of macOS application development.
Mastering Software Testing with JUnit 5
Mastering Software Testing with JUnit 5
Boni García
¥80.65
A comprehensive, hands-on guide on unit testing framework for Java programming language About This Book ? In-depth coverage of Jupiter, the new programming and extension model provided by JUnit 5 ? Integration of JUnit 5 with other frameworks such as Mockito, Spring, Selenium, Cucumber, and Docker ? Best practices for writing meaningful Jupiter test cases Who This Book Is For This book is for Java software engineers and testers. If you are a Java developer who is keen on improving the quality of your code and building world class applications then this book is for you. Prior experience of the concepts of automated testing will be helpful. What You Will Learn ? The importance of software testing and its impact on software quality ? The options available for testing Java applications ? The architecture, features and extension model of JUnit 5 ? Writing test cases using the Jupiter programming model ? How to use the latest and advanced features of JUnit 5 ? Integrating JUnit 5 with existing third-party frameworks ? Best practices for writing meaningful JUnit 5 test cases ? Managing software testing activities in a living software project In Detail When building an application it is of utmost importance to have clean code, a productive environment and efficient systems in place. Having automated unit testing in place helps developers to achieve these goals. The JUnit testing framework is a popular choice among Java developers and has recently released a major version update with JUnit 5. This book shows you how to make use of the power of JUnit 5 to write better software. The book begins with an introduction to software quality and software testing. After that, you will see an in-depth analysis of all the features of Jupiter, the new programming and extension model provided by JUnit 5. You will learn how to integrate JUnit 5 with other frameworks such as Mockito, Spring, Selenium, Cucumber, and Docker. After the technical features of JUnit 5, the final part of this book will train you for the daily work of a software tester. You will learn best practices for writing meaningful tests. Finally, you will learn how software testing fits into the overall software development process, and sits alongside continuous integration, defect tracking, and test reporting. Style and approach The book offers definitive and comprehensive coverage of all the Unit testing concepts with JUnit and its features using several real world examples so that readers can put their learning to practice almost immediately. This book is structured in three parts: 1. Software testing foundations (software quality and Java testing) 2. JUnit 5 in depth (programming and extension model of JUnit 5) 3. Software testing in practice (how to write and manage JUnit 5 tests)
Mastering Bash
Mastering Bash
Giorgio Zarrelli
¥80.65
Your one stop guide to making the most out of Bash programming About This Book ? From roots to leaves, learn how to program in Bash and automate daily tasks, pouring some spice in your *s ? Daemonize a * and make a real service of it, ensuring it’s available at any time to process user-fed data or commands ? This book provides functional examples that show you practical applications of commands Who This Book Is For If you're a power user or system administrator involved in writing Bash *s to automate tasks, then this book is for you. This book is also ideal for advanced users who are engaged in complex daily tasks. What You Will Learn ? Understand Bash right from the basics and progress to an advanced level ? Customise your environment and automate system routine tasks ? Write structured *s and create a command-line interface for your *s ? Understand arrays, menus, and functions ? Securely execute remote commands using ssh ? Write Nagios plugins to automate your infrastructure checks ? Interact with web services, and a Slack notification * ? Find out how to execute subshells and take advantage of parallelism ? Explore inter-process communication and write your own daemon In Detail System administration is an everyday effort that involves a lot of tedious tasks, and devious pits. Knowing your environment is the key to unleashing the most powerful solution that will make your life easy as an administrator, and show you the path to new heights. Bash is your Swiss army knife to set up your working or home environment as you want, when you want. This book will enable you to customize your system step by step, making your own real, virtual, home out of it. The journey will take you swiftly through the basis of the shell programming in Bash to more interesting and challenging tasks. You will be introduced to one of the most famous open source monitoring systems—Nagios, and write complex programs with it in any languages. You’ll see how to perform checks on your sites and applications. Moving on, you’ll discover how to write your own daemons so you can create your services and take advantage of inter-process communication to let your *s talk to each other. So, despite these being everyday tasks, you’ll have a lot of fun on the way. By the end of the book, you will have gained advanced knowledge of Bash that will help you automate routine tasks and manage your systems. Style and approach This book presents step-by-step instructions and expert advice on working with Bash and writing *s. Starting from the basics, this book serves as a reference manual where you can find handy solutions and advice to make your *s flexible and powerful.
Unity 5 Game Optimization
Unity 5 Game Optimization
Chris Dickinson
¥80.65
Master performance optimization for Unity3D applications with tips and techniques that cover every aspect of the Unity3D EngineAbout This BookOptimize CPU cycles, memory usage, and GPU throughput for any Unity3D applicationMaster optimization techniques across all Unity Engine features including Scripting, Asset Management, Physics, Graphics Features, and ShadersA practical guide to exploring Unity Engine's many performance-enhancing methodsWho This Book Is ForThis book is intended for intermediate and advanced Unity developers who have experience with most of Unity’s feature-set, and who want to maximize the performance of their game. Familiarity with the C# language will be needed.What You Will LearnUse the Unity Profiler to find bottlenecks anywhere in our application, and discover how to resolve themImplement best-practices for C# *ing to avoid common pitfallsDevelop a solid understanding of the rendering pipeline, and maximize its performance through reducing draw calls and avoiding fill rate bottlenecksEnhance shaders in a way that is accessible to most developers, optimizing them through subtle yet effective performance tweaksKeep our scenes as dynamic as possible by making the most of the Physics engineOrganize, filter, and compress our art assets to maximize performance while maintaining high qualityPull back the veil on the Mono Framework and the C# Language to implement low-level enhancements that maximize memory usage and avoid garbage collectionGet to know the best practices for project organization to save time through an improved workflowIn DetailCompetition within the gaming industry has become significantly fiercer in recent years with the adoption of game development frameworks such as Unity3D. Through its massive feature-set and ease-of-use, Unity helps put some of the best processing and rendering technology in the hands of hobbyists and professionals alike. This has led to an enormous explosion of talent, which has made it critical to ensure our games stand out from the crowd through a high level of quality. A good user experience is essential to create a solid product that our users will enjoy for many years to come.Nothing turns gamers away from a game faster than a poor user-experience. Input latency, slow rendering, broken physics, stutters, freezes, and crashes are among a gamer’s worst nightmares and it’s up to us as game developers to ensure this never happens. High performance does not need to be limited to games with the biggest teams and budgets.Initially, you will explore the major features of the Unity3D Engine from top to bottom, investigating a multitude of ways we can improve application performance starting with the detection and analysis of bottlenecks. You’ll then gain an understanding of possible solutions and how to implement them. You will then learn everything you need to know about where performance bottlenecks can be found, why they happen, and how to work around them.This book gathers a massive wealth of knowledge together in one place, saving many hours of research and can be used as a quick reference to solve specific issues that arise during product development.Style and approachThis book is organized based on the major features of Unity engine and should be treated as a reference guide. It is written as a series of investigations into both common and unusual performance pitfalls, each including a study on why the bottleneck is causing us problems, and a list of enhancements or features that can be used to work around them. Differences in effectiveness, behaviors, or feature-sets between Unity 4.x and Unity 5.x will be highlighted.
Scientific Computing with Scala
Scientific Computing with Scala
Vytautas Jančauskas
¥80.65
Learn to solve scientific computing problems using Scala and its numerical computing, data processing, concurrency, and plotting libraries About This Book Parallelize your numerical computing code using convenient and safe techniques. Accomplish common high-performance, scientific computing goals in Scala. Learn about data visualization and how to create high-quality scientific plots in Scala Who This Book Is For Scientists and engineers who would like to use Scala for their scientific and numerical computing needs. A basic familiarity with undergraduate level mathematics and statistics is expected but not strictly required. A basic knowledge of Scala is required as well as the ability to write simple Scala programs. However, complicated programming concepts are not used in the book. Anyone who wants to explore using Scala for writing scientific or engineering software will benefit from the book. What You Will Learn Write and read a variety of popular file formats used to store scientific data Use Breeze for linear algebra, optimization, and digital signal processing Gain insight into Saddle for data analysis Use ScalaLab for interactive computing Quickly and conveniently write safe parallel applications using Scala's parallel collections Implement and deploy concurrent programs using the Akka framework Use the Wisp plotting library to produce scientific plots Visualize multivariate data using various visualization techniques In Detail Scala is a statically typed, Java Virtual Machine (JVM)-based language with strong support for functional programming. There exist libraries for Scala that cover a range of common scientific computing tasks – from linear algebra and numerical algorithms to convenient and safe parallelization to powerful plotting facilities. Learning to use these to perform common scientific tasks will allow you to write programs that are both fast and easy to write and maintain. We will start by discussing the advantages of using Scala over other scientific computing platforms. You will discover Scala packages that provide the functionality you have come to expect when writing scientific software. We will explore using Scala's Breeze library for linear algebra, optimization, and signal processing. We will then proceed to the Saddle library for data analysis. If you have experience in R or with Python's popular pandas library you will learn how to translate those skills to Saddle. If you are new to data analysis, you will learn basic concepts of Saddle as well. Well will explore the numerical computing environment called ScalaLab. It comes bundled with a lot of scientific software readily available. We will use it for interactive computing, data analysis, and visualization. In the following chapters, we will explore using Scala's powerful parallel collections for safe and convenient parallel programming. Topics such as the Akka concurrency framework will be covered. Finally, you will learn about multivariate data visualization and how to produce professional-looking plots in Scala easily. After reading the book, you should have more than enough information on how to start using Scala as your scientific computing platform Style and approach Examples are provided on how to use Scala to do basic numerical and scientific computing tasks. All the concepts are illustrated with more involved examples in each chapter. The goal of the book is to allow you to translate existing experience in scientific computing to Scala.
Learning Functional Data Structures and Algorithms
Learning Functional Data Structures and Algorithms
Atul S. Khot
¥80.65
Learn functional data structures and algorithms for your applications and bring their benefits to your work now About This Book Moving from object-oriented programming to functional programmingThis book will help you get started with functional programming. Easy-to-understand explanations of practical topics will help you get started with functional data structures. Illustrative diagrams to explain the algorithms in detail. Get hands-on practice of Scala to get the most out of functional programming. Who This Book Is For This book is for those who have some experience in functional programming languages. The data structures in this book are primarily written in Scala, however implementing the algorithms in other functional languages should be straight forward. What You Will Learn Learn to think in the functional paradigm Understand common data structures and the associated algorithms, as well as the context in which they are commonly used Take a look at the runtime and space complexities with the O notation See how ADTs are implemented in a functional setting Explore the basic theme of immutability and persistent data structures Find out how the internal algorithms are redesigned to exploit structural sharing, so that the persistent data structures perform well, avoiding needless copying. Get to know functional features like lazy evaluation and recursion used to implement efficient algorithms Gain Scala best practices and idioms In Detail Functional data structures have the power to improve the codebase of an application and improve efficiency. With the advent of functional programming and with powerful functional languages such as Scala, Clojure and Elixir becoming part of important enterprise applications, functional data structures have gained an important place in the developer toolkit. Immutability is a cornerstone of functional programming. Immutable and persistent data structures are thread safe by definition and hence very appealing for writing robust concurrent programs. How do we express traditional algorithms in functional settingWon’t we end up copying too muchDo we trade performance for versioned data structuresThis book attempts to answer these questions by looking at functional implementations of traditional algorithms. It begins with a refresher and consolidation of what functional programming is all about. Next, you’ll get to know about Lists, the work horse data type for most functional languages. We show what structural sharing means and how it helps to make immutable data structures efficient and practical. Scala is the primary implementation languages for most of the examples. At times, we also present Clojure snippets to illustrate the underlying fundamental theme. While writing code, we use ADTs (abstract data types). Stacks, Queues, Trees and Graphs are all familiar ADTs. You will see how these ADTs are implemented in a functional setting. We look at implementation techniques like amortization and lazy evaluation to ensure efficiency. By the end of the book, you will be able to write efficient functional data structures and algorithms for your applications. Style and approach Step-by-step topics will help you get started with functional programming. Learn by doing with hands-on code snippets that give you practical experience of the subject.
Canvas Cookbook
Canvas Cookbook
Bhushan Purushottam Joshi
¥80.65
Over 80 simple but creative and structured recipes to explore the capabilities of HTML5 Canvas About This Book Develop simple to advanced recipes of your own, and ultimately produce a great application Discover a better way to use HTML5 Canvas, JavaScript, and CSS Put your creative instincts to use in your day-to-day interface developments Who This Book Is For The book is intended for readers with a preliminary knowledge of JavaScript and CSS. Whether you're a beginner or expert in this technology, the book provides recipes to help you build your own application, presentation, or game. What You Will Learn Draw basic shapes such as lines, arcs, curves, and text using the coordinate system Learn about the animation cycle and use it to animate shapes Grasp the knowledge required to create particles and use them Give various effects to images and videos and also use them in animations Discover the use of event listeners to make recipes interactive and to handle events through event handlers Create good presentation graphics with graphs and charts Learn all about 3D development, from building 3D objects to animating them Convert your knowledge into a complete working game Understand the interoperability and deployment of recipes on different browsers and on different devices In Detail With the growing popularity of HTML5 Canvas, this book offers tailored recipes to help you develop portable applications, presentations, and games. The recipes are simple yet creative and build on each other. At every step, the book inspires the reader to develop his/her own recipe. From basic to advanced, every aspect of Canvas API has been covered to guide readers to develop their own application, presentation, or game. Style and approach All the recipes are sequential and cover the basic and advanced concepts of Canvas. Every recipe is as simple as possible without compromising creativity
Cross-platform Desktop Application Development: Electron, Node, NW.js, and React
Cross-platform Desktop Application Development: Electron, Node, NW.js, and React
Dmitry Sheiko
¥80.65
Build powerful cross-platform desktop applications with web technologies such as Node, NW.JS, Electron, and React About This Book ? Build different cross-platform HTML5 desktop applications right from planning, designing, and deployment to enhancement, testing, and delivery ? Forget the pain of cross-platform compatibility and build efficient apps that can be easily deployed on different platforms. ? Build simple to advanced HTML5 desktop apps, by integrating them with other popular frameworks and libraries such as Electron, Node.JS, Nw.js, React, Redux, and TypeScript Who This Book Is For This book has been written for developers interested in creating desktop applications with HTML5. The first part requires essential web-master skills (HTML, CSS, and JavaScript). The second demands minimal experience with React. And finally for the third it would be helpful to have a basic knowledge of React, Redux, and TypeScript. What You Will Learn ? Plan, design, and develop different cross-platform desktop apps ? Application architecture with React and local state ? Application architecture with React and Redux store ? Code design with TypeScript interfaces and specialized types ? CSS and component libraries such as Photonkit, Material UI, and React MDL ? HTML5 APIs such as desktop notifications, WebSockets, WebRTC, and others ? Desktop environment integration APIs of NW.js and Electron ? Package and distribute for NW.JS and Electron In Detail Building and maintaining cross-platform desktop applications with native languages isn’t a trivial task. Since it’s hard to simulate on a foreign platform, packaging and distribution can be quite platform-specific and testing cross-platform apps is pretty complicated.In such scenarios, web technologies such as HTML5 and JavaScript can be your lifesaver. HTML5 desktop applications can be distributed across different platforms (Window, MacOS, and Linux) without any modifications to the code. The book starts with a walk-through on building a simple file explorer from scratch powered by NW.JS. So you will practice the most exciting features of bleeding edge CSS and JavaScript. In addition you will learn to use the desktop environment integration API, source code protection, packaging, and auto-updating with NW.JS. As the second application you will build a chat-system example implemented with Electron and React. While developing the chat app, you will get Photonkit. Next, you will create a screen capturer with NW.JS, React, and Redux. Finally, you will examine an RSS-reader built with TypeScript, React, Redux, and Electron. Generic UI components will be reused from the React MDL library. By the end of the book, you will have built four desktop apps. You will have covered everything from planning, designing, and development to the enhancement, testing, and delivery of these apps. Style and approach Filled with real world examples, this book teaches you to build cross-platform desktop apps right from scratch using a step-by-step approach.
Building Serverless Web Applications
Building Serverless Web Applications
Diego Zanon
¥80.65
Build scalable, efficient, and highly available web apps using AWS About This Book ? Get an in-depth understanding of the serverless model ? Build a complete serverless web application end to end ? Learn how to use the Serverless Framework to improve your productivity Who This Book Is For If you’re looking to learn more about scalable and cost-efficient architectures, this book is for you. Basic knowledge of Node.js skills or familiarity with cloud services is required. For other topics, we cover the basics. What You Will Learn ? Get a grasp of the pros and cons of going serverless and its use cases ? Discover how you can use the building blocks of AWS to your advantage ? Set up the environment and create a basic app with the Serverless Framework ? Host static files on S3 and CloudFront with HTTPS support ? Build a sample application with a frontend using React as an SPA ? Develop the Node.js backend to handle requests and connect to a SimpleDB database ? Secure your applications with authentication and authorization ? Implement the publish-subscribe pattern to handle notifications in a serverless application ? Create tests, define the workflow for deployment, and monitor your app In Detail This book will equip you with the knowledge needed to build your own serverless apps by showing you how to set up different services while making your application scalable, highly available, and efficient. We begin by giving you an idea of what it means to go serverless, exploring the pros and cons of the serverless model and its use cases. Next, you will be introduced to the AWS services that will be used throughout the book, how to estimate costs, and how to set up and use the Serverless Framework. From here, you will start to build an entire serverless project of an online store, beginning with a React SPA frontend hosted on AWS followed by a serverless backend with API Gateway and Lambda functions. You will also learn to access data from a SimpleDB database, secure the application with authentication and authorization, and implement serverless notifications for browsers using AWS IoT. This book will describe how to monitor the performance, efficiency, and errors of your apps and conclude by teaching you how to test and deploy your applications. Style and approach This book takes a step-by-step approach on how to use the Serverless Framework and AWS services to build Serverless Applications. It will give you a hands-on feeling, allowing you to practice while reading. It provides a brief introduction of concepts while keeping the focus on the practical skills required to develop applications.
Digital Forensics and Incident Response
Digital Forensics and Incident Response
Gerard Johansen
¥80.65
A practical guide to deploying digital forensic techniques in response to cyber security incidents About This Book ? Learn incident response fundamentals and create an effective incident response framework ? Master forensics investigation utilizing digital investigative techniques ? Contains real-life scenarios that effectively use threat intelligence and modeling techniques Who This Book Is For This book is targeted at Information Security professionals, forensics practitioners, and students with knowledge and experience in the use of software applications and basic command-line experience. It will also help professionals who are new to the incident response/digital forensics role within their organization. What You Will Learn ? Create and deploy incident response capabilities within your organization ? Build a solid foundation for acquiring and handling suitable evidence for later analysis ? Analyze collected evidence and determine the root cause of a security incident ? Learn to integrate digital forensic techniques and procedures into the overall incident response process ? Integrate threat intelligence in digital evidence analysis ? Prepare written documentation for use internally or with external parties such as regulators or law enforcement agencies In Detail Digital Forensics and Incident Response will guide you through the entire spectrum of tasks associated with incident response, starting with preparatory activities associated with creating an incident response plan and creating a digital forensics capability within your own organization. You will then begin a detailed examination of digital forensic techniques including acquiring evidence, examining volatile memory, hard drive assessment, and network-based evidence. You will also explore the role that threat intelligence plays in the incident response process. Finally, a detailed section on preparing reports will help you prepare a written report for use either internally or in a courtroom. By the end of the book, you will have mastered forensic techniques and incident response and you will have a solid foundation on which to increase your ability to investigate such incidents in your organization. Style and approach The book covers practical scenarios and examples in an enterprise setting to give you an understanding of how digital forensics integrates with the overall response to cyber security incidents. You will also learn the proper use of tools and techniques to investigate common cyber security incidents such as malware infestation, memory analysis, disk analysis, and network analysis.
Python Microservices Development
Python Microservices Development
Tarek Ziadé
¥80.65
A practical approach to conquering the complexities of Microservices using the Python tooling ecosystem About This Book ? A very useful guide for Python developers who are shifting to the new microservices-based development ? A concise, up-to-date guide to building efficient and lightweight microservices in Python using Flask, Tox, and other tools ? Learn to use Docker containers, CoreOS, and Amazon Web Services to deploy your services Who This Book Is For This book is for developers who have basic knowledge of Python, the command line, and HTTP-based application principles, and those who want to learn how to build, test, scale, and manage Python 3 microservices. No prior experience of writing microservices in Python is assumed. What You Will Learn ? Explore what microservices are and how to design them ? Use Python 3, Flask, Tox, and other tools to build your services using best practices ? Learn how to use a TDD approach ? Discover how to document your microservices ? Configure and package your code in the best way ? Interact with other services ? Secure, monitor, and scale your services ? Deploy your services in Docker containers, CoreOS, and Amazon Web Services In Detail We often deploy our web applications into the cloud, and our code needs to interact with many third-party services. An efficient way to build applications to do this is through microservices architecture. But, in practice, it's hard to get this right due to the complexity of all the pieces interacting with each other. This book will teach you how to overcome these issues and craft applications that are built as small standard units, using all the proven best practices and avoiding the usual traps. It's a practical book: you’ll build everything using Python 3 and its amazing tooling ecosystem. You will understand the principles of TDD and apply them. You will use Flask, Tox, and other tools to build your services using best practices. You will learn how to secure connections between services, and how to * Nginx using Lua to build web application firewall features such as rate limiting. You will also familiarize yourself with Docker’s role in microservices, and use Docker containers, CoreOS, and Amazon Web Services to deploy your services. This book will take you on a journey, ending with the creation of a complete Python application based on microservices. By the end of the book, you will be well versed with the fundamentals of building, designing, testing, and deploying your Python microservices. Style and approach This book is an linear, easy-to-follow guide on how to best design, write, test, and deploy your microservices. It includes real-world examples that will help Python developers create their own Python microservice using the most efficient methods.
Building Microservices with Go
Building Microservices with Go
Nic Jackson
¥80.65
Your one-stop guide to the common patterns and practices, showing you how to apply these using the Go programming language About This Book ? This short, concise, and practical guide is packed with real-world examples of building microservices with Go ? It is easy to read and will benefit smaller teams who want to extend the functionality of their existing systems ? Using this practical approach will save your money in terms of maintaining a monolithic architecture and demonstrate capabilities in ease of use Who This Book Is For You should have a working knowledge of programming in Go, including writing and compiling basic applications. However, no knowledge of RESTful architecture, microservices, or web services is expected. If you are looking to apply techniques to your own projects, taking your first steps into microservice architecture, this book is for you. What You Will Learn ? Plan a microservice architecture and design a microservice ? Write a microservice with a RESTful API and a database ? Understand the common idioms and common patterns in microservices architecture ? Leverage tools and automation that helps microservices become horizontally scalable ? Get a grounding in containerization with Docker and Docker-Compose, which will greatly accelerate your development lifecycle ? Manage and secure Microservices at scale with monitoring, logging, service discovery, and automation ? Test microservices and integrate API tests in Go In Detail Microservice architecture is sweeping the world as the de facto pattern to build web-based applications. Golang is a language particularly well suited to building them. Its strong community, encouragement of idiomatic style, and statically-linked binary artifacts make integrating it with other technologies and managing microservices at scale consistent and intuitive. This book will teach you the common patterns and practices, showing you how to apply these using the Go programming language. It will teach you the fundamental concepts of architectural design and RESTful communication, and show you patterns that provide manageable code that is supportable in development and at scale in production. We will provide you with examples on how to put these concepts and patterns into practice with Go. Whether you are planning a new application or working in an existing monolith, this book will explain and illustrate with practical examples how teams of all sizes can start solving problems with microservices. It will help you understand Docker and Docker-Compose and how it can be used to isolate microservice dependencies and build environments. We finish off by showing you various techniques to monitor, test, and secure your microservices. By the end, you will know the benefits of system resilience of a microservice and the advantages of Go stack. Style and approach The step-by-step tutorial focuses on building microservices. Each chapter expands upon the previous one, teaching you the main skills and techniques required to be a successful microservice practitioner.
Reactive Programming in Kotlin
Reactive Programming in Kotlin
Rivu Chakraborty
¥80.65
Learn how to implement Reactive Programming paradigms with Kotlin, and apply them to web programming with Spring Framework 5.0 and in Android Application Development. About This Book ? Learn how to solve blocking user experience with Reactive Programming and get deep insights into RxKotlin ? Integrate Reactive Kotlin with Spring and build fantastic Android Apps with RxKotlin and RxAndroid ? Build reactive architectures that reduce complexity throughout the development process and make your apps(web and Android) scalable Who This Book Is For This book is for Kotlin developers who would like to build fault-tolerant, scalable, and distributed systems. A basic knowledge of Kotlin is required, but no prior knowledge of reactive programming. What You Will Learn ? Learn about reactive programming paradigms and how reactive programming can improve your existing projects ? Gain in-depth knowledge in RxKotlin 2.0 and the ReactiveX Framework ? Use RxKotlin with Android ? Create your own custom operators in RxKotlin ? Use Spring Framework 5.0 with Kotlin ? Use the reactor-kotlin extension ? Build Rest APIs with Spring,Hibernate, and RxKotlin ? Use testSubscriber to test RxKotlin applications ? Use backpressure management and Flowables In Detail In today’s app-driven era, when programs are asynchronous, and responsiveness is so vital, reactive programming can help you write code that’s more reliable, easier to scale, and better-performing. Reactive programming is revolutionary. With this practical book, Kotlin developers will first learn how to view problems in the reactive way, and then build programs that leverage the best features of this exciting new programming paradigm. You will begin with the general concepts of Reactive programming and then gradually move on to working with asynchronous data streams. You will dive into advanced techniques such as manipulating time in data-flow, customizing operators and provider and how to Use the concurrency model to control asynchronicity of code and process event handlers effectively. You will then be introduced to functional reactive programming and will learn to apply FRP in practical use cases in Kotlin. This book will also take you one step forward by introducing you to spring 5 and spring boot 2 using Kotlin. By the end of the book, you will be able to build real-world applications with reactive user interfaces as well as you’ll learn to implement reactive programming paradigms in Android. Style and Approach Loaded with numerous code examples and real-life projects, this book helps you delve into Reactive Programming with Kotlin, and apply it to real-world Spring-web and Android projects, thus making all your apps reactive.
Building Microservices with .NET Core 2.0 - Second Edition
Building Microservices with .NET Core 2.0 - Second Edition
Gaurav Aroraa
¥80.65
Architect your .NET applications by breaking them into really small pieces - microservices -using this practical, example-based guide. About This Book ? Start your microservices journey and get a broader perspective on microservices development using C# 7.0 with .NET Core 2.0 ? Build, deploy, and test microservices using ASP.Net Core, ASP.NET Core API, and Microsoft Azure Cloud ? Get the basics of reactive microservices Who This Book Is For This book is for .NET Core developers who want to learn and understand the microservices architecture and implement it in their .NET Core applications. It’s ideal for developers who are completely new to microservices or just have a theoretical understanding of this architectural approach and want to gain a practical perspective in order to better manage application complexities. What You Will Learn ? Get acquainted with Microsoft Azure Service Fabric ? Compare microservices with monolithic applications and SOA ? Learn Docker and Azure API management ? Define a service interface and implement APIs using ASP.NET Core 2.0 ? Integrate services using a synchronous approach via RESTful APIs with ASP.NET Core 2.0 ? Implement microservices security using Azure Active Directory, OpenID Connect, and OAuth 2.0 ? Understand the operation and scaling of microservices in .NET Core 2.0 ? Understand the key features of reactive microservices and implement them using reactive extensions In Detail The microservices architectural style promotes the development of complex applications as a suite of small services based on business capabilities. This book will help you identify the appropriate service boundaries within your business. We'll start by looking at what microservices are and their main characteristics. Moving forward, you will be introduced to real-life application scenarios; after assessing the current issues, we will begin the journey of transforming this application by splitting it into a suite of microservices using C# 7.0 with .NET Core 2.0. You will identify service boundaries, split the application into multiple microservices, and define service contracts. You will find out how to configure, deploy, and monitor microservices, and configure scaling to allow the application to quickly adapt to increased demand in the future. With an introduction to reactive microservices, you’ll strategically gain further value to keep your code base simple, focusing on what is more important rather than on messy asynchronous calls. Style and approach This guide serves as a stepping stone that helps .NET Core developers in their microservices architecture. This book provides just enough theory to understand the concepts and apply the examples.
Cloud Native programming with Golang
Cloud Native programming with Golang
Mina Andrawos,Martin Helmich
¥80.65
Discover practical techniques to build cloud-native apps that are scalable, reliable, and always available. About This Book ? Build well-designed and secure microservices. Enrich your microservices with continous integration and monitoring. ? Containerize your application with Docker ? Deploy your application to AWS. Learn how to utilize the powerful AWS services from within your application Who This Book Is For This book is for developers who want to begin building secure, resilient, robust, and scalable Go applications that are cloud native. Some knowledge of the Go programming language should be sufficient.To build the front-end application, you will also need some knowledge of JavaScript programming. What You Will Learn ? Understand modern software applications architectures ? Build secure microservices that can effectively communicate with other services ? Get to know about event-driven architectures by diving into message queues such as Kafka, Rabbitmq, and AWS SQS. ? Understand key modern database technologies such as MongoDB, and Amazon’s DynamoDB ? Leverage the power of containers ? Explore Amazon cloud services fundamentals ? Know how to utilize the power of the Go language to access key services in the Amazon cloud such as S3, SQS, DynamoDB and more. ? Build front-end applications using ReactJS with Go ? Implement CD for modern applications In Detail Cloud computing and microservices are two very important concepts in modern software architecture. They represent key skills that ambitious software engineers need to acquire in order to design and build software applications capable of performing and scaling. Go is a modern cross-platform programming language that is very powerful yet simple; it is an excellent choice for microservices and cloud applications. Go is gaining more and more popularity, and becoming a very attractive skill.. The book will take you on a journey into the world of microservices and cloud computing with the help of Go. It will start by covering the software architectural patterns of cloud applications, as well as practical concepts regarding how to scale, distribute, and deploy those applications. You will also learn how to build a JavaScript-based front-end for your application, using TypeScript and React. From there, we dive into commercial cloud offerings by covering AWS. Finally, we conclude our book by providing some overviews of other concepts and technologies that the reader can explore to move from where the book leaves off. Style and approach This book provides practical techniques, code examples, and architectural patterns required to build cloud native microservices in the Go language. It progresses through the subjects in a step-by-step manner. In each step, we cover the technical concepts behind it, the design considerations, and the code needed to build it.
Enterprise Cloud Security and Governance
Enterprise Cloud Security and Governance
Zeal Vora
¥80.65
Build a resilient cloud architecture to tackle data disasters with ease About This Book ? Gain a firm grasp of Cloud data security and governance, irrespective of your Cloud platform ? Practical examples to ensure you secure your Cloud environment efficiently ? A step-by-step guide that will teach you the unique techniques and methodologies of Cloud data governance Who This Book Is For If you are a cloud security professional who wants to ensure cloud security and data governance no matter the environment, then this book is for you. A basic understanding of working on any cloud platform would be beneficial. What You Will Learn ? Configure your firewall and Network ACL ? Protect your system against DDOS and application-level attacks ? Explore cryptography and data security for your cloud ? Get to grips with configuration management tools to automate your security tasks ? Perform vulnerability scanning with the help of the standard tools in the industry ? Learn about central log management In Detail Modern day businesses and enterprises are moving to the Cloud, to improve efficiency and speed, achieve flexibility and cost effectiveness, and for on-demand Cloud services. However, enterprise Cloud security remains a major concern because migrating to the public Cloud requires transferring some control over organizational assets to the Cloud provider. There are chances these assets can be mismanaged and therefore, as a Cloud security professional, you need to be armed with techniques to help businesses minimize the risks and misuse of business data. The book starts with the basics of Cloud security and offers an understanding of various policies, governance, and compliance challenges in Cloud. This helps you build a strong foundation before you dive deep into understanding what it takes to design a secured network infrastructure and a well-architected application using various security services in the Cloud environment. Automating security tasks, such as Server Hardening with Ansible, and other automation services, such as Monit, will monitor other security daemons and take the necessary action in case these security daemons are stopped maliciously. In short, this book has everything you need to secure your Cloud environment with. It is your ticket to obtain industry-adopted best practices for developing a secure, highly available, and fault-tolerant architecture for organizations. Style and approach This book follows a step-by-step, practical approach to secure your applications and data when they are located remotely.
KnockoutJS by Example
KnockoutJS by Example
Adnan Jaswal
¥80.65
Develop rich, interactive, and real-world web applications using knockout.js About This Book Master the full range of features provided by knockout.js such as declarative binding, automatic refresh, dependency tracking, and templating using this project based guide Tackle real-world problems such as page navigation, forms, composite UI components, maps integration, server interaction for CRUD operations, and application security Discover the power of knockout.js as you build applications with complexity ranging from beginner to advanced Extend and customize knockout.js to harness its full potential Integrate with third party libraries and APIs to build fully featured applications Who This Book Is For This book is intended for designers and developers who want to learn how to use Knockout to develop rich, interactive, and modular web applications. The book assumes no prior knowledge of the Knockout library but basic familiarity with HTML, CSS, and JavaScript would be helpful. What You Will Learn Explore the basic concept behind the Model-View-View Model (MVVM) design pattern and how it is implemented by Knockout Develop a modular application skeleton based on the module pattern that can be used as a template for your projects Create single page, rich, interactive, modular, real-world applications using Knockout Use knockout.js with other libraries and APIs such as JQuery, Bootstrap, and Google Maps API to give your users a richer experience Create a real-world dynamic web form to capture user information and learn how Knockout makes it easier to capture, validate, and submit form data Develop and use dynamic UI components such as grids, tabs, dialogs, and wizards Extend knockout.js to add custom extenders, binding handlers, and observables Communicate with the backend server using JSON over restful web services Secure your single page application using token-based authentication In Detail Knockout is an open source JavaScript library that lets you develop rich, interactive, and modular web applications. It reduces the complexities of JavaScript and HTML development by following the Model-View-View Model (MVVM) design pattern. It allows you to efficiently develop highly scalable, testable, and maintainable web applications that are rich and interactive. Knockout is a pure JavaScript library and supports all major browsers. This book starts with introducing the key features and concepts of knockout.js. It helps you create an application skeleton and a hello world application. You will develop a To-Do list application that aims to show the basic features of knockout.js in action such as data binding and observables, following which you will develop a dynamic online customer registration form that captures and validates customer information. This book will further walk your way to develop a customer banking portal, which demonstrates the use of knockout.js with components such as navigation bars, tabs, carousel, master details view, panels, forms, wizards, and modal dialogs. You will also discover to use token-based authentication and authorization to secure the customer banking portal and move on to creating an editable products grid with CRUD operations. Finally, you will explore using the Google maps api with knockout.js. By working along with the examples, this book will not only leave you with the basic understanding of knockout.js fundamentals but you will also have a web application ready instantly. Style and approach The book takes an iterative approach in explaining and building the sample applications. The applications are built in small portions with each portion delivering a set of features. It is an easy-to-follow yet comprehensive hands-on guide, which is full of real-world applications.
Mastering ArcGIS Server Development with JavaScript
Mastering ArcGIS Server Development with JavaScript
Ken Doman
¥80.65
Transform maps and raw data into full-fledged web mapping applications using the power of the ArcGIS JavaScript API and JavaScript libraries About This Book Create and share modern map applications for desktops, tablets, and mobile browsers Present and edit geographic and related data through maps, charts, graphs, and more Learn the tools, tips, and tricks made available through the API and related libraries with examples of real-world applications Who This Book Is For This book is intended for intermediate developers who want to design web mapping applications. You should have some experience with geographic information systems, especially with ArcGIS products such as ArcGIS Server. It also helps to have some experience with HTML, CSS, and JavaScript. What You Will Learn Create single-page mapping applications, lining up data from different sources Search for and display geographic and tabular information based on locations and attributes Customize maps and widgets to deliver the best user experience Present location data intuitively using charts and graphs Integrate mapping applications with your favorite JavaScript frameworks Test the working of your web map application and take advantage of cloud services such as ArcGIS Online Create modern-looking web maps through styling tips and tricks In Detail ESRI and its ArcGIS line of software have been an industry leader in digital map production and publication for over 30 years. ArcGIS Server lets you design, configure, and publish maps that can be viewed and edited through the Internet. After designing basic maps, you may want to find out new and innovative ways to represent information using these maps. In this book, you'll work through practical examples, experiencing the pitfalls and successes of creating desktop and mobile map applications for a web browser using the ArcGIS Server platform. The book begins by introducing you to ArcGIS Server and ESRI's JavaScript API. You'll work with your first web map and then move on to learn about ESRI's building blocks. A Dojo AMS style widget will help you create your own widgets for a map and then see how to collect geographic data. Furthermore, you will learn different techniques such as using Dojo Charts to create charts and graphs to represent your data. Then you will see how to use ESRI JavaScript API with other JavaScript libraries and different styling methods to make your map stand out. By the end of the book, you will discover how to make your application compatible with different devices and platforms and test it using testing libraries. Style and approach An in-depth guide that explores web application development using ArcGIS Server and the ArcGIS JavaScript API. Topics are explained in the context of developing two applications for fictional clients. Details of application development, including possible pitfalls and best practices, are included in this book.
Extending Unity with Editor Scripting
Extending Unity with Editor Scripting
Angelo Tadres
¥80.65
Put Unity to use for your video games by creating your own custom tools with editor *ing About This Book Acquire a good understanding of extending Unity’s editor capabilities for a platformer game by using Gizmos, custom inspectors, editor windows, *able objects, and more Learn to configure and get control over your asset import pipeline using asset preprocessors A step-by-step, comprehensible guide to creating and customizing a build pipeline that fits the necessities of your video game development team Who This Book Is For This book is for anyone who has a basic knowledge of Unity programming using C# and wants to learn how to extend and create custom tools using Unity editor *ing to improve the development workflow and make video game development easier. What You Will Learn Use Gizmos to create visual aids for debugging Extend the editor capabilities using custom inspectors, property and decorator drawers, editor windows, and handles Save your video game data in a persistent way using *able objects Improve the look and feel of your custom tools using GUIStyles and GUISkins Configure and control the asset import pipeline Improve the build creation pipeline Distribute the custom tools in your team or publish them in the Asset Store In Detail One of Unity's most powerful features is the extensible editor it has. With editor *ing, it is possible to extend or create functionalities to make video game development easier. For a Unity developer, this is an important topic to know and understand because adapting Unity editor *ing to video games saves a great deal of time and resources. This book is designed to cover all the basic concepts of Unity editor *ing using a functional platformer video game that requires workflow improvement. You will commence with the basics of editor *ing, exploring its implementation with the help of an example project, a level editor, before moving on to the usage of visual cues for debugging with Gizmos in the scene view. Next, you will learn how to create custom inspectors and editor windows and implement custom GUI. Furthermore, you will discover how to change the look and feel of the editor using editor GUIStyles and editor GUISkins. You will then explore the usage of editor *ing in order to improve the development pipeline of a video game in Unity by designing ad hoc editor tools, customizing the way the editor imports assets, and getting control over the build creation process. Step by step, you will use and learn all the key concepts while creating and developing a pipeline for a simple platform video game. As a bonus, the final chapter will help you to understand how to share content in the Asset Store that shows the creation of custom tools as a possible new business. By the end of the book, you will easily be able to extend all the concepts to other projects. Style and approach This book uses a step-by-step approach that will help you finish with a level editor tool, a custom configuration for the asset import pipeline, and a build pipeline totally adjusted to the video game.
RESTful Java Web Services - Second Edition
RESTful Java Web Services - Second Edition
Jobinesh Purushothaman
¥80.65
Design scalable and robust RESTful web services with JAX-RS and Jersey extension APIs About This Book Get to grips with the portable Java APIs used for JSON processing Design solutions to produce, consume, and visualize RESTful web services using WADL, RAML, and Swagger A step-by-step guide packed with many real-life use-cases to help you build efficient and secure RESTful web APIs in Java Who This Book Is For If you are a web developer with a basic understanding of the REST concepts but are new to the idea of designing and developing RESTful web services, this is the book for you. As all the code samples for the book are written in Java, proficiency in Java is a must. What You Will Learn Introduce yourself to the RESTful software architectural style and the REST API design principles Make use of the JSR 353 APIs and Jackson API for JSON processing Build portable RESTful web APIs, making use of the JAX-RS 2.0 API Simplify API development using the Jersey extension APIs Secure your RESTful web services with various authentication and authorization mechanisms Get to grips with the various metadata solutions to describe, produce, and consume RESTful web services Understand the design and coding guidelines to build well-performing RESTful APIs See how the role of RESTful web services changes with emerging technologies and trends In Detail REST (REpresentational State Transfer) is a simple yet powerful software architecture style to create scalable web services and allow them to be simple, lightweight, and fast. The REST API uses HTTP and JSON, so that it can be used with many programming languages such as Ruby, Java, Python, and Scala. Its use in Java seems to be the most popular though, because of the API's reusability. This book is a guide to developing RESTful web services in Java using the popular RESTful framework APIs available today. You will begin with gaining an in-depth knowledge of the RESTful software architectural style and its relevance in modern applications. Further, you will understand the APIs to parse, generate, transform, and query JSON effectively. Then, you will see how to build a simple RESTful service using the popular JAX-RS 2.0 API along with some real-world examples. This book will introduce you to the Jersey framework API, which is used to simplify your web services. You will also see how to secure your services with various authentication mechanisms. You will get to grips with various solutions to describe, produce, consume, and visualize RESTful web services. Finally, you will see how to design your web services to equip them for the future technological advances, be it Cloud or mobile computing. By the end of this book, you will be able to efficiently build robust, scalable, and secure RESTful web services, making use of the JAX-RS and Jersey framework extensions. Style and approach This book is written as a step-by-step guide to designing and developing robust RESTful web services. Each topic is explained in a simple and easy-to-understand manner with lots of real-life use-cases and their solutions.