RESTful Rails Development. Building Open Applications and Services - Helion
ISBN: 978-14-919-1081-8
stron: 304, Format: ebook
Data wydania: 2015-10-08
Księgarnia: Helion
Cena książki: 126,65 zł (poprzednio: 147,27 zł)
Oszczędzasz: 14% (-20,62 zł)
The Web is slowly but surely changing from a model in which a human reader browses content on web pages to a model in which services and clients (not necessarily humans) exchange information. And because of this, author Silvia Puglisi explains, it makes more sense to build platforms instead of just products or applications. Platforms are like ecosystems interconnecting different applications, services, users, developers, and partners, and offer many benefits.
In this book, you'll learn how to design and develop Representational State Transfer (REST) platforms in Rails. You'll begin with an introduction to Ruby on Rails, and then move quickly through new concepts. At the end of each chapter, you'll have learned something new about building and organically extending a multi-service platform spanning different devices—and will have had some fun in the process. By the end of the book you'll know how to build an architecture composed of different services accessing shared resources through a set of collaborating APIs and applications.
- Explore the basics of REST and HTTP, including REST architecture and the role of hypermedia
- Get to know Rails and Ruby on Rails
- Learn about API development and create an API
- Take a thorough look at REST, including Asynchronous REST and testing RESTful services
- Work with data streams as you map them onto an application UI and integrate external APIs in your application
- Learn about device-independent development
- Use data analytics to recognize important events, develop key metrics, and track them
- Explore various tools you can use to build your own data analytic platform
- Learn how to scale a Rails application successfully
- Examine privacy and security issues and the implications of handling and collecting user data
Osoby które kupowały "RESTful Rails Development. Building Open Applications and Services", wybierały także:
- Ruby on Rails. Ćwiczenia 18,75 zł, (3,00 zł -84%)
- Programowanie w języku Ruby. Mikrousługi i konteneryzacja 58,98 zł, (29,49 zł -50%)
- Rails. Sztuka programowania 58,98 zł, (29,49 zł -50%)
- Ruby on Rails. Od podstaw 49,00 zł, (24,50 zł -50%)
- Rails. Receptury 67,00 zł, (33,50 zł -50%)
Spis treści
RESTful Rails Development. Building Open Applications and Services eBook -- spis treści
- Preface
- Why Rails and Not Node.js
- Why (I Think) You Should Read This Book
- What You Will Find in This Book
- What You Will Not Find in This Book (And Where You Can Go for Answers)
- Resources
- Coding Style
- Conventions Used in This Book
- Using Code Examples
- How to Contact Us
- Acknowledgments
- 1. From Hypertext to Hyperdata
- REST and HTTP
- Architectural Abstractions
- Introducing REST
- RESTful Programming and Hypermedia
- Design Concepts
- RESTful Architectures
- Process view
- Connector view
- Data view
- RESTful Interfaces: Hypermedia and Action Controls
- RESTful interfaces
- How to include control
- Links are flow control
- Actions, or operation control
- Beyond HTTP
- Wrapping Up
- REST and HTTP
- 2. Getting Started with Ruby on Rails
- Getting to Know Ruby on Rails
- Setting Up Ruby and Rails
- RVM
- rbenv
- Using an Installer
- The Architecture of a Rails App
- Model-View-Controller
- Object-Relational Mapping
- Bundler
- Choosing an Editor
- Hello Rails
- Test-Driven Development
- Wrapping Up
- 3. First Adventures in API Design
- Application Programming Interfaces
- Dos of API Development
- Do KISS and DRY
- Do simple syntax
- Do simple semantics
- Do URI Design
- Do KISS and DRY
- Why You Should Use Rails to Build APIs
- The WikiCat API
- Preparing the Database
- Scaffolding the Models
- Coding Controllers and Serializers
- Testing
- Wrapping Up
- 4. The REST of the World
- Life Is CRUD
- RESTful Rails
- Testing RESTful Routing in Rails
- HTTP Semantics
- GET
- HEAD
- POST
- PUT
- DELETE
- Wrapping Up
- 5. Designing APIs in RoR
- Hypermedia and Adaptable APIs
- REST Patterns
- Creating Hypermedia Interfaces
- Resource-Oriented Thinking
- Designing Explorable Resources
- HATEOAS
- The WikiCat Hypermedia API
- Wrapping Up
- 6. Asynchronous REST
- Asynchronous RESTful Operations
- Asynchronous REST in Rails
- Rails Workers and Background Jobs
- Creating an Application Skeleton in Three Easy Steps
- Uploading Images Through an API Call
- Creating Workers and a Jobs Queue
- Creating a Resource Queue
- Callbacks
- WebSockets
- Wrapping Up
- 7. Testing RESTful Services
- Testing in Rails
- Mocks, Stubs, Doubles, and Dummies
- Testing RESTful Services
- Wrapping Up
- 8. Microservices and Microapplications
- Basics of SOA and Distributed Systems Design
- Legacies
- Heterogeneity
- Complexity
- Redundancy
- Microservices Paradigms
- The Evolutionary Approach
- Thinking in Terms of Microapplications and Services
- The Thematic Walks API
- The Wikipin API
- Installing PostgreSQL
- Creating the app
- Generating the models
- Defining the models
- Working on the controllers
- The Citywalks API
- Discovering the /lib Directory
- Defining the Models
- Building the Controllers
- The Wikipin API
- Wrapping Up
- Basics of SOA and Distributed Systems Design
- 9. Mapping Data Streams onto an Application UI
- Wanderings in Frontend Land
- Rendering and Templating in Rails
- Ember.js: A Framework for Creating Ambitious Web Applications
- Designed for Application Development
- MVC Paradigm of Frontend
- Rails MVC Versus Ember.js MVC
- Planning the Application
- Getting Started with Ember.js
- Prerequisites
- Getting Started with Ember.js
- Modeling Data
- Routing in Ember.js
- Defining the Templates
- Writing a Component
- Exploring Walks Through Categories
- Wrapping Up
- 10. Deploying an API
- How Is an API Deployed?
- API Management
- Design
- Documentation
- Analytics
- Access
- Scalability
- PaaS Solutions
- API Management
- Deploying the Wikipin API on OpenShift
- Preliminary Steps
- Meet Jenkins
- Wrapping Up
- How Is an API Deployed?
- 11. Managing an App Ecosystem
- API Management
- APIs Are Not Consumer Products
- Managing Your Communitys Happiness
- Developer Programs
- Getting started with apiDoc
- Creating a developer community
- App and API Quality
- User Happiness
- Developer Programs
- Data Management and Analytics
- Wrapping Up
- API Management
- 12. Consuming Data Streams: Integrating External APIs in Your Application
- Creating a Weather Service
- If This Then Something
- Adhering to the Terms of Service
- Asynchronous REST
- Wrapping Up
- 13. Device-Independent Development
- Web Development Is a Broad Term
- Developing for Mobile
- Build native applications in a language you already know
- Developing for Mobile
- Streaming Data into a Firefox OS App
- Developing an Internet of Things App
- Rails on the Raspberry Pi
- Creating the Raspboard App
- Wrapping Up
- Web Development Is a Broad Term
- 14. Data Analytics
- Data Comes from Everywhere
- Monolithic Versus Microapplication Architectures
- Monitor, Optimize, and Enhance
- Application Logs
- Monitor Request Response Times
- Monitor Processes
- Monitor Your Server Diagnostics
- Resources usage
- Comprehensive Monitoring Solutions
- Actions and Events
- Plotting Data
- Feeding your data
- Plotting Data
- Wrapping Up
- 15. Scaling Gracefully
- Scaling Rails
- Creating a Middleware for Different APIs to Communicate
- Configuring a Reverse Proxy with Nginx
- Meet Lua
- Bundle Things Together
- Caching
- Scaling Is Not Necessarily Difficult and Painful
- Wrapping Up
- 16. Privacy and Security
- How to Protect User Privacy
- k-anonymity
- Differential Privacy
- Privacy-Enhancing Technologies
- Is My Data Safe?
- Common Sources of Insecurity
- XSS
- Command-line injection
- HTTP header injection
- HTTP response splitting
- SQL injection
- Common Sources of Insecurity
- Is Rails Secure?
- Sessions
- Session storage
- Replay attacks for CookieStore
- Session fixation attacks
- Session storage
- Cross-Site Request Forgery
- Redirection
- File Upload
- File Download
- Logs
- Sessions
- Conclusions
- How to Protect User Privacy
- A. HTTP Quick Reference
- Everything Started with Hypertext
- Creating an HTTP Server in Ruby, Quickly
- The HTTP Protocol
- Architecture
- Parameters
- Messages
- Request messages
- Response messages
- Entity
- Connections
- Status Code Definitions
- Access Authentication
- Content Negotiation
- Caching
- Security Considerations
- Index