万本电子书0元读

万本电子书0元读

Image Processing with ImageJ - Second Edition
Image Processing with ImageJ - Second Edition
Jurjen Broeke
¥71.93
Extract and analyze data from complex images with ImageJ, the world’s leading image processing tool About This Book Design automated image-processing solutions and speed up image-processing tasks with ImageJ Create quality and intuitive interfaces for image processing by developing a basic framework for ImageJ plugins. Tackle even the most sophisticated datasets and complex images Who This Book Is For The book has been created for engineers, scientists, and developers eager to tackle image processing with one of the leading tools available. No prior knowledge of ImageJ is needed. Familiarity with Java programming will be required for readers to code their own routines using ImageJ. What You Will Learn Install and set up ImageJ for image processing. Process images using ImageJ’s built-in tools Create macros to perform repetitive processing tasks Set up and use an integrated development environment for ImageJ plugins Create plugins with a user-friendly interface for processing Use established ImageJ plugins for processing and quantification Generate a simple interface based on a real world example and create other interfaces for other projects Speed up interface development by setting multiple parameters interactively In Detail Advances in image processing have been vital for the scientific and technological communities, making it possible to analyze images in greater detail than ever before. But as images become larger and more complex, advanced processing techniques are required. ImageJ is built for the modern challenges of image processing – it’s one of the key tools in its development, letting you automate basic tasks so you can focus on sophisticated, in depth analysis. This book demonstrates how to put ImageJ into practice. It outlines its key features and demonstrates how to create your own image processing applications using macros and ImageJ plugins. Once you’ve got to grips with the basics of ImageJ, you’ll then discover how to build a number of different image processing solutions. From simple tasks to advanced and automated image processing, you’ll gain confidence with this innovative and powerful tool – however and whatever you are using it for. Style and approach A step-by-step guide to image processing and developing macros and plugins in ImageJ. The book will progress from using the built-in tools to macros and finally plugins for image processing.
Learning D
Learning D
Michael Parker
¥90.46
Leverage the modern convenience and modelling power of the D programming language to develop software with native efficiency About This Book Acquire the skills to understand the fundamentals of D through its support for imperative and object-oriented programming Take advantage of D’s powerful compile-time features, templates and ranges to apply generative, generic, and functional style A systematic guide that will help you become familiar with the concepts in D with the help of simple and easy-to-understand examples Who This Book Is For This book is intended for those with some background in a C-family language who want to learn how to apply their knowledge and experience to D. Perhaps you’re a college student looking to use D for hobby projects, or a career programmer interested in expanding your skillset. This book will help you get up to speed with the language and avoid common pitfalls that arise when translating C-family experience to D. What You Will Learn Compile programs with DMD and manage projects with DUB Work efficiently by binding your D programs with new and existing C libraries Generate code at compile-time to enhance runtime performance Implement complex templates for more powerful generic code Write idiomatic D with range-based functional pipelines Use the DUB repository to find a link with a variety of D libraries Implement a web-app in D from the ground up In Detail D is a modern programming language that is both powerful and efficient. It combines multiple paradigms in a way that opens up a whole new world of software design. It is used to develop both desktop and web applications, with future targets including mobile, and is available on multiple platforms. It is familiar to anyone with some experience in one or more of the C-family languages. However, hidden in the similarities are several differences that can be surprising when trying to apply common idioms from other languages. When learning D on your own, this can make it more time-consuming to master. In order to make the most of the language and become an idiomatic D programmer, it’s necessary to learn how to think in D. This book familiarizes you with D from the ground up, with a heavy focus on helping you to avoid surprises so that you can take your D knowledge to the next level more quickly and painlessly. Your journey begins with a taste of the language and the basics of compiling D programs with DMD, the reference D compiler developed by Digital Mars, and DUB, a community-developed build utility and package manager. You then set out on an exploration of major language features. This begins with the fundamentals of D, including built-in types, conditionals, loops and all of the basic building-blocks of a D program, followed by an examination of D’s object-oriented programming support. You’ll learn how these features differ from languages you may already be familiar with. Next up are D’s compile-time features, such as Compile-Time Function Evaluation and conditional compilation, then generic programming with templates. After that, you’ll learn the more advanced features of ranges and functional pipeline programming. To enhance your D experience, you are next taken on a tour of the D ecosystem and learn how to make D interact with C. Finally, you get a look at D web development using the vibe.d project and the book closes with some handy advice on where to go next. Style and approach A friendly guide to the D programming language and its ecosystem that walks programmers through all they need to know for a painless experience in learning D.
Flask Blueprints
Flask Blueprints
Jo?l Perras
¥80.65
Dive into the world of the Flask microframework to develop an array of web applications About This Book Structure, compose, and build powerful Flask HTML-based applications and JSON/XML-based APIs using advanced application design patterns Integrate third-party Flask extensions for tasks such as social authentication, sending emails, and interacting with databases and cache layers Build a series of Flask applications of increasing complexity Who This Book Is For If you are a Python web developer who has developed basic Flask applications and now wants to build a series of more complex web applications, then this is the book for you. What You Will Learn Use the virtualenv Python package to effectively isolate your development environments Convert a simple one-file Flask application into a more full-fledged multi-package application Integrate Flask-Login for simple user authentication, Flask-WTF for forms, and Flask-SQLAlchemy for database interactions Explore URL routing and dispatching in a blueprint structured application Create your own signals and consume them within your application Learn to leverage Werkzeug, the WSGI library that powers much of Flask Implement custom exceptions for handling non-20x response codes Write your own CLI tools for administrative and development tasks of your Flask application using Flask-Script/Click Build your Flask extensions to encapsulate reusable behaviors across your applications Integrate your application with open source JavaScript-based graphing libraries to create simple data visualizations In Detail Flask is a small but powerful web development framework for Python. Though Flask is termed a micro-framework, it is no way lacking in functionality; there are many extensions available to Flask which helps it to function at the same level as other large frameworks such as Django and Ruby on Rails. This book will demonstrate how to develop a series of web application projects with the Python web micro-framework, and leverage extensions and external Python libraries and APIs to extend the development of a variety of larger and more complex web applications. The book will start by explaining Python’s Virtualenv library and how to create and switch between multiple virtual environments. You’ll first build an SQL database-backed application, which will use Flask-WTF, Flask-SQLAlchemy, Jinja templates, and other methods. Next you’ll move on to a timeline application, built using concepts including pytest-Flask, the Blinker package, data modelling for user timelines, exception handling, and creating and organizing CLI tools. Moving on, you’ll discover how to implement a photo timeline application where you’ll explore topics such as writing and running celery tasks, API error handling and testing, and Werkzeug middlewares. Finally, the book walks you through creating an application which fetches data from GitHub and stores it locally. You will also learn how to install and configure Flask-Click extension. Style and approach This book covers how to effectively use the Flask micro-framework to develop a series of web applications. Each chapter focusses on the development of an application increasing in complexity with easy steps to follow.
Python Geospatial Analysis Cookbook
Python Geospatial Analysis Cookbook
Michael Diener
¥90.46
Over 60 recipes to work with topology, overlays, indoor routing, and web application analysis with Python About This Book Explore the practical process of using geospatial analysis to solve simple to complex problems with reusable recipes Concise step-by-step instructions to teach you about projections, vector, raster, overlay, indoor routing and topology analysis Create a basic indoor routing application with geodjango Who This Book Is For If you are a student, teacher, programmer, geospatial or IT administrator, GIS analyst, researcher, or scientist looking to do spatial analysis, then this book is for you. Anyone trying to answer simple to complex spatial analysis questions will get a working demonstration of the power of Python with real-world data. Some of you may be beginners with GIS, but most of you will probably have a basic understanding of geospatial analysis and programming. What You Will Learn Discover the projection and coordinate system information of your data and learn how to transform that data into different projections Import or export your data into different data formats to prepare it for your application or spatial analysis Use the power of PostGIS with Python to take advantage of the powerful analysis functions Execute spatial analysis functions on vector data including clipping, spatial joins, measuring distances, areas, and combining data to new results Create your own set of topology rules to perform and ensure quality assurance rules in Python Find the shortest indoor path with network analysis functions in easy, extensible recipes revolving around all kinds of network analysis problems Visualize your data on a map using the visualization tools and methods available to create visually stunning results Build an indoor routing web application with GeoDjango to include your spatial analysis tools built from the previous recipes In Detail Geospatial development links your data to places on the Earth’s surface. Its analysis is used in almost every industry to answer location type questions. Combined with the power of the Python programming language, which is becoming the de facto spatial *ing choice for developers and analysts worldwide, this technology will help you to solve real-world spatial problems. This book begins by tackling the installation of the necessary software dependencies and libraries needed to perform spatial analysis with Python. From there, the next logical step is to prepare our data for analysis; we will do this by building up our tool box to deal with data preparation, transformations, and projections. Now that our data is ready for analysis, we will tackle the most common analysis methods for vector and raster data. To check or validate our results, we will explore how to use topology checks to ensure top-quality results. This is followed with network routing analysis focused on constructing indoor routes within buildings, over different levels. Finally, we put several recipes together in a GeoDjango web application that demonstrates a working indoor routing spatial analysis application. The round trip will provide you all the pieces you need to accomplish your own spatial analysis application to suit your requirements. Style and approach Easy-to-follow, step-by-step recipes, explaining from start to finish how to accomplish real-world tasks.
BeagleBone Black Cookbook
BeagleBone Black Cookbook
Charles A. Hamilton
¥80.65
Over 70 recipes and solutions for inventors, makers, and budding engineers to create projects using the BeagleBone Black About This Book ?Learn how to develop applications with the BeagleBone Black and open source Linux software ?Sharpen your expertise in making sophisticated electronic devices ?Explore the BeagleBone Black with this easy-to-succeed recipe format Who This Book Is For If you are a hardware, Linux, and/or microcomputing novice, or someone who wants more power and possibilities with product prototypes, electronic art projects, or embedded computing experiments, then this book is for you. It is for Internet of Things enthusiasts who want to use more sophisticated hardware than the Raspberry Pi or the Arduino can provide. Whether you are an engineering student, a DIYer, an inventor, or an advanced electronics enthusiast, this book delivers accessible, compelling instructions for using an advanced microcomputing platform. What You Will Learn ?Set up and run the BeagleBone Black for the first time ?Learn the basics of microcomputing and Linux using the command line and easy kernel mods ?Make introductory projects with Python, JavaScript, BoneScript, and Node.js ?Explore physical computing and simple circuits using buttons, LEDs, sensors, and motors ?Discover the unique features of the BeagleBone Black and its real-time computing functions ?Build intermediate level audio and video applications ?Assemble draft prototypes for wearable and Internet of Things devices In Detail With dozens of how-tos, this book kicks off with the basic steps for setting up and running the BeagleBone Black for the first time, from connecting the necessary hardware and using the command line with Linux commands to installing new software and controlling your system remotely. Following these recipes, more advanced examples take you through *ing, debugging, and working with software source files, eventually working with the Linux kernel. Subsequently, you will learn how to exploit the board's real-time functions. We will then discover exciting methods for using sound and video with the system before marching forward into an exploration of recipes for building Internet of Things projects. Finally, the book finishes with a dramatic arc upward into outer space, when you explore ways to set up test recipes for building a project on board a small satellite's payload. Style and approach This comprehensive recipe book deconstructs a complex, often confusing piece of technology, and transforms it to become accessible and fun with snappy, unintimidating prose, and extensive easy-to-succeed instructions.
Learning Cypher
Learning Cypher
Onofrio Panzarino
¥50.13
An easytofollow guide full of tips and examples of realworld applications. In each chapter, a thorough example will show you the concepts in action, followed by a detailed explanation. This book is intended for those who want to learn how to create, query, and maintain a graph database, or who want to migrate to a graph database from SQL. It would be helpful to have some familiarity with Java and/or SQL, but no prior experience is required.
Node Cookbook Second Edition
Node Cookbook Second Edition
David Mark Clements
¥90.46
In Node Cookbook Second Edition, each chapter focuses on a different aspect of working with Node. Following a Cookbook structure, the recipes are written in an easytounderstand language. Readers will find it easier to grasp even the complex recipes which are backed by lots of illustrations, tips, and hints. If you have some knowledge of JavaScript and want to build fast, efficient, scalable clientserver solutions, then Node Cookbook Second Edition is for you. Knowledge of Node will be an advantage but is not required. Experienced users of Node will be able to improve their skills.
RabbitMQ Essentials
RabbitMQ Essentials
David Dossot
¥50.13
This book is a quick and concise introduction to RabbitMQ. Follow the unique case study of Clever Coney Media as they progressively discover how to fully utilize RabbitMQ, containing clever examples and detailed explanations. Whether you are someone who develops enterprise messaging products professionally or a hobbyist who is already familiar with open source Message Queuing software and you are looking for a new challenge, then this is the book for you. Although you should be familiar with Java, Ruby, and Python to get the most out of the examples, RabbitMQ Essentials will give you the push you need to get started that no other RabbitMQ tutorial can provide you with.
Learning Veeam? Backup & Replication for VMware vSphere
Learning Veeam? Backup & Replication for VMware vSphere
Christian Mohn
¥59.94
This is an easytofollow guide that will help you learn everything you need to know to administer backup, replication, and recovery in your VMware vSphere environment, with Veeam Backup and Replication. This book is aimed at VMware vSphere administrators looking to protect their infrastructure by utilizing the world’s leading modern data protection solution, specifically designed for virtual environments. A good understanding of VMware vSphere architecture is recommended, but prior knowledge of Veeam Backup and Replication is not required.
Rake Task Management Essentials
Rake Task Management Essentials
Andrey Koleshko
¥41.41
A stepbystep and interactive approach explaining the Rake essentials along with code examples and advanced features. If you are a developer who is acquainted with the Ruby language and want to speed up writing the code concerned with files, then this book is for you. To start reading this book, basic Ruby knowledge is required; however, a huge amount of experience with the language is not necessary.
Storm: Distributed Real-time Computation Blueprints
Storm: Distributed Real-time Computation Blueprints
P. Taylor Goetz
¥90.46
A blueprints book with 10 different projects built in 10 different chapters which demonstrate the various use cases of storm for both beginner and intermediate users, grounded in realworld example applications. Although the book focuses primarily on Java development with Storm, the patterns are more broadly applicable and the tips, techniques, and approaches described in the book apply to architects, developers, and operations. Additionally, the book should provoke and inspire applications of distributed computing to other industries and domains. Hadoop enthusiasts will also find this book a good introduction to Storm, providing a potential migration path from batch processing to the world of realtime analytics.
Lo-Dash Essentials
Lo-Dash Essentials
Adam Boduch
¥80.65
If you are a curious JavaScript developer interested simultaneously in tweaking the efficiency of your code, as well as improving the conciseness of it, and maintaining the readability of it, then this is the book for you. Ideally, the book is intended for readers already working on JavaScript projects and using frameworks such as jQuery and Backbone. Even if you're already using Lo-Dash, this book will show you how to use it efficiently. While extensive JavaScript experience isn't a requirement, you should have at least some prior programming experience in order to best understand the concepts presented.
Learning SaltStack
Learning SaltStack
Colton Myers
¥54.49
If you are a system administrator who manages multiple servers, then you know how difficult it is to keep your infrastructure in line. If you've been searching for an easier way, this book is for you. No prior experience with SaltStack is required.
Clojure Data Analysis Cookbook - Second Edition
Clojure Data Analysis Cookbook - Second Edition
Eric Rochester
¥99.18
This book is for those with a basic knowledge of Clojure, who are looking to push the language to excel with data analysis.
Apache ZooKeeper Essentials
Apache ZooKeeper Essentials
Saurav Haloi
¥54.49
Whether you are a novice to ZooKeeper or already have some experience, you will be able to master the concepts of ZooKeeper and its usage with ease. This book assumes you to have some prior knowledge of distributed systems and high-level programming knowledge of C, Java, or Python, but no experience with Apache ZooKeeper is required.
WiX Cookbook
WiX Cookbook
Nick Ramirez
¥80.65
If you are a developer with a good understanding of WiX projects and would like to further explore advanced WiX topics, this book is for you. To get the most out of this book, knowledge of proper XML syntax is recommended.
Learning Couchbase
Learning Couchbase
Henry Potsangbam
¥80.65
Design documents and implement real world e-commerce applications with Couchbase About This Book Get acquainted with Couchbase architecture and design your document-based data schema Implement full text search using industry standard elastic search plugins Develop critical and high performance applications using this hands-on tutorial guide Who This Book Is For If you are new to the NoSQL document system or have little or no experience in NoSQL development and administration and are planning to deploy Couchbase for your next project, then this book is for you. It would be helpful to have a bit of familiarity with Java. What You Will Learn Get acquainted with the concept of NoSQL databases and configure your Couchbase database cluster Maintain Couchbase effectively using the web-based administrative console with ease Enable partition capabilities by making use of Buckets Analyze important design considerations for maintaining relationship between various documents Use Couchbase SDK Java API to store and retrieve document Write views using map/reduce to retrieve documents efficiently Get familiar with N1QL and how to use it in Java applications Integrate Couchbase with Elasticsearch to implement full text search Configure XDCR for disaster recovery and develop ecommerce application using Couchbase In Detail This book achieves its goal by taking up an end-to-end development structure, right from understanding NOSQL document design to implementing full fledged eCommerce application design using Couchbase as a backend. Starting with the architecture of Couchbase to get you up and running, this book quickly takes you through designing a NoSQL document and implementing highly scalable applications using Java API. You will then be introduced to document design and get to know the various ways to administer Couchbase. Followed by this, learn to store documents using bucket. Moving on, you will then learn to store, retrieve and delete documents using smart client base on Java API. You will then retrieve documents using SQL like syntax call N1QL. Next, you will learn how to write map reduce base views. Finally, you will configure XDCR for disaster recovery and implement an eCommerce application using Couchbase. Style and approach The book starts from absolute basics and slowly moves to more advanced topics ensuring at every step that all concepts and terms are understood by the reader to have complete understanding at every stage. Technical and complex terms are explained in clear and simple language, thus making this book a perfect companion for those who have started their journey to NoSQL using Couchbase
VMware Horizon View High Availability
VMware Horizon View High Availability
Andrew Alloway
¥80.65
Design, develop and deploy a highly available vSphere environment for VMware Horizon View About This Book Enhance your capability of meeting various Service Level Agreements in VMware Horizon View Get acquainted through all the necessary considerations for building a View environment Cover VMware High Availability hurdle by hurdle along with the checklists for verification of the environment being ready for production Who This Book Is For If you manage, plan or deploy VMware Horizon View or are looking for tips for best practices and configuration details this book is for you. This book is intended for administrators who design and deploy VMware Horizon View or administrators who are looking for ways to improve their existing View environment. What You Will Learn Install and configure a VMware Horizon View Connection Server and redundant pair Discover the networking requirements for View and learn how to build redundancy into your network Analyze each of the View user pool types and how each one can be made highly available and survivable. Get to know about storage protocols such as NFS, iSCSI and Fibre Channel Deploy Virtual SAN, and find out how to effectively couple Virtual SAN with View Learn about View monitoring tools to allow fast responses to various crises Plan, analyze and upgrade VMware Horizon View Analyze network services required for VMware Horizon View and build them in a redundant manner In Detail The increasing movement to virtualize workloads and workstations has put VMware Horizon View into a central mission critical role in many environments. Administrators may be overwhelmed with planning for outages and dealing with failure scenarios. It’s easy to miss small details that will result in outages down the road. Following VMware Horizon View best practices and planning ahead with network infrastructure will allow you to avoid these common pit falls. This book will walk you through the setup and configuration of View in a highly available configuration. It will provide you with the skills to analyze and deploy configurations that can stand up to rigorous failure standards. The book starts with deploying and basic configuration of VMware Horizon View in a redundant setup, then moves on to cover high availability for networking, fibre channel, NFS, and iSCSI. We finish this book with monitoring and upgrade planning. At the end we also learn about maintaining the uptime and minimizing the downtime that can be caused due to various factors. Each topic comes with a list of best practices and failure scenarios to test. Administrators will learn the intricacies of protecting a View environment. Style and approach This book provides configuration and installation steps for administration and installation of a Horizon View server. It includes high-level overviews of any protocols, services used by Horizon View, and best practices and high availability checklists for each chapter.
Offline First Web Development
Offline First Web Development
Daniel Sauble
¥80.65
Design and implement a robust offline app experience using Sencha Touch and PouchDB About This Book Understand the design principles behind a well-designed offline experience Create the illusion of being online when you’re really offline Use common libraries to enhance the offline experience of mobile apps with this comprehensive guide Who This Book Is For Do you want to make your app experience more robust and delightfulAre you eager to write apps that cater to a wider audience, not just the Silicon Valley crowdDo you need to persuade your peers that offline-first is a worthwhile development paradigmIf your answer to all or any one of these questions is yes, then this is the book is for you. Some previous coding and command-line experience would be useful, but is not required. What You Will Learn Convince others that the offline-first paradigm is worth doing Design the behavior of the app, taking offline, online, and the transition between those two states into account Implement the offline/online experience that you’ve designed Show the user what’s happening under the hood with online/offline indicators and Good Mobile Messaging Employ various strategies to cope with unreliable network conditions Help the user resolve conflicts related to the “split-brain” problem Choose intelligent defaults based on usage of the app Use point-to-point networking to partially overcome a lack of Internet connectivity In Detail When building mobile apps, it’s easy to forget about the moments when your users lack a good Internet connection. Try this: put your phone in airplane mode and open a few popular apps to see how they handle being offline. From Twitter to Pinterest to Apple Maps, some apps handle being offline better than others, but very few do it well. A poor offline experience will result in frustrated users who may stop using your app, or worse, turn to your competitor’s apps. Expert or novice, this book will teach you everything you need to know about designing and building a rigorous offline app experience. By putting the offline experience first, you’ll have a solid foundation to build upon, avoiding the unnecessary stress and frustration of trying to retrofit offline capabilities into your finished app. This basic principle, designing for the worst case scenario, could save you countless hours of wasted effort. Style and approach This book adopts an iterative approach to designing and building a mobile app, where each chapter builds on the one before, resulting in a fully-functional app that demonstrates the concepts taught, each one of which is explained through the use of an example.
Computer Vision for the Web
Computer Vision for the Web
Foat Akhmadeev
¥54.49
Unleash the power of the Computer Vision algorithms in JavaScript to develop vision-enabled web contentAbout This BookExplore the exciting world of image processing, and face and gesture recognition, and implement them in your websiteDevelop wonderful web projects to implement Computer Vision algorithms in an effective wayA fast-paced guide to help you deal with real-world Computer Vision applications using JavaScript libraries Who This Book Is For If you have an interest in Computer Vision or wish to apply Computer Vision algorithms such as face, custom object, and gesture recognition for an online application, then this book is ideal for you. Prior understanding of the JavaScript language and core mathematical concepts is recommended.What You Will LearnApply complex Computer Vision algorithms in your applications using JavaScriptPut together different JavaScript libraries to discover objects in photosGet to grips with developing simple computer vision applications on your ownUnderstand when and why you should use different computer vision methodsApply various image filters to images and videosRecognize and track many different objects, including face and face particles using powerful face recognition algorithmsExplore ways to control your browser without touching the mouse or keyboard In Detail JavaScript is a dynamic and prototype-based programming language supported by every browser today. JavaScript libraries boast outstanding functionalities that enable you to furnish your own Computer Vision projects, making it easier to develop JavaScript–based applications, especially for web-centric technologies. It makes the implementation of Computer Vision algorithms easier as it supports scheme-based functional programming.This book will give you an insight into controlling your applications with gestures and head motion and readying them for the web. Packed with real-world tasks, it begins with a walkthrough of the basic concepts of Computer Vision that the JavaScript world offers us, and you’ll implement various powerful algorithms in your own online application. Then, we move on to a comprehensive analysis of JavaScript functions and their applications.?Furthermore, the book will show you how to implement filters and image segmentation, and use tracking.js and jsfeat libraries to convert your browser into Photoshop. Subjects such as object and custom detection, feature extraction, and object matching are covered to help you find an object in a photo. You will see how a complex object such as a face can be recognized by a browser as you move toward the end of the book. Finally, you will focus on algorithms to create a human interface. By the end of this book, you will be familiarized with the application of complex Computer Vision algorithms to develop your own applications, without spending much time learning sophisticated theory.Style and approach This book is an easy-to-follow project-based guide that throws you directly into the excitement of the Computer Vision theme. A “more in less” approach is followed by important concepts explained in a to-the-point, easy-to-understand manner.
ASP.NET Web API Security Essentials
ASP.NET Web API Security Essentials
Rajesh Gunasundaram
¥63.21
Take the security of your ASP.NET Web API to the next level using some of the most amazing security techniques around About This Book This book has been completely updated for ASP.NET Web API 2.0 including the new features of ASP.NET Web API such as Cross-Origin Resource Sharing (CORS) and OWIN self-hosting Learn various techniques to secure ASP.NET Web API, including basic authentication using authentication filters, forms, Windows Authentication, external authentication services, and integrating ASP.NET’s Identity system An easy-to-follow guide to enable SSL, prevent Cross-Site Request Forgery (CSRF) attacks, and enable CORS in ASP.NET Web API Who This Book Is For This book is intended for anyone who has previous knowledge of developing ASP.NET Web API applications. Good working knowledge and experience with C# and.NET Framework are prerequisites for this book. What You Will Learn Secure your web API by enabling Secured Socket Layer (SSL) Manage your application’s user accounts by integrating ASP.NET’s Identity system Ensure the security of your web API by implementing basic authentication Implement forms and Windows authentication to secure your web API Use external authentication such as Facebook and Twitter to authenticate a request to a web API Protect your web API from CSRF attacks Enable CORS in your web API to explicitly allow some cross-origin requests while rejecting others Fortify your web API using OAuth2 In Detail This book incorporates the new features of ASP.NET Web API 2 that will help you to secure an ASP.NET Web API and make a well-informed decision when choosing the right security mechanism for your security requirements. We start by showing you how to set up a browser client to utilize ASP.NET Web API services. We then cover ASP.NET Web API’s security architecture, authentication, and authorization to help you secure a web API from unauthorized users. Next, you will learn how to use SSL with ASP.NET Web API, including using SSL client certificates, and integrate the ASP.NET Identity system with ASP.NET Web API. We’ll show you how to secure a web API using OAuth2 to authenticate against a membership database using OWIN middleware. You will be able to use local logins to send authenticated requests using OAuth2. We also explain how to secure a web API using forms authentication and how users can log in with their Windows credentials using integrated Windows authentication. You will come to understand the need for external authentication services to enable OAuth/OpenID and social media authentication. We’ll then help you implement anti-Cross-Site Request Forgery (CSRF) measures in ASP.NET Web API. Finally, you will discover how to enable Cross-Origin Resource Sharing (CORS) in your web API application. Style and approach Each chapter is dedicated to a specific security technique, in a task-based and easy-to-follow way. Most of the chapters are accompanied with source code that demonstrates the step-by-step guidelines of implementing the technique, and includes an explanation of how each technique works.