Document Type
|
:
|
BL
|
Record Number
|
:
|
855850
|
Main Entry
|
:
|
Kozyra, Nathan
|
Title & Author
|
:
|
Mastering Go web services : : program and deploy fast, scalable web services and create high-performance RESTful APIs using Go /\ Nathan Kozyra.
|
Publication Statement
|
:
|
Birmingham, UK :: Packt Publishing,, 2015.
|
Series Statement
|
:
|
Community experience distilled
|
Page. NO
|
:
|
1 online resource (1 volume) :: illustrations
|
ISBN
|
:
|
1783981318
|
|
:
|
: 9781783981311
|
|
:
|
178398130X
|
|
:
|
9781783981304
|
Notes
|
:
|
Includes index.
|
Contents
|
:
|
Cover; Copyright; Credits; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Our First API in Go; Understanding requirements and dependencies; Installing Go; Installing and using MySQL; Redis; Couchbase; Nginx; Apache JMeter; Using predefined datasets; Choosing an IDE; Eclipse; Sublime Text; LiteIDE; IntelliJ IDEA; Some client-side tools; Looking at our application; Setting up our database; Introducing the HTTP package; Quick hitter -- saying Hello, World via API; Building our first route; Gorilla; Routes; Setting data via HTTP; Connecting to MySQL.
|
|
:
|
Introducing security and authenticationForcing HTTPS; Adding TLS support; Letting users register and authenticate; A quick hit -- generating a salt; Examining OAuth in Go; Making requests on behalf of users; Summary; Chapter 6: Accessing and Using Web Services in Go; Connecting our users to other services; Saving state with a web service; Using data from other OAuth services; Connecting securely as a client in Go; Summary; Chapter 7: Working with Other Web Technologies; Serving Go through a reverse proxy; Using Go with Apache; Go and NGINX as a reverse proxy; Enabling sessions for the API.
|
|
:
|
Serving data from the datastore to the clientSetting headers to add detail for clients; Summary; Chapter 2: RESTful Services in Go; Designing our application; Looking at REST; Making a representation in an API; Self-description; The importance of a URI; HATEOAS; Other API architectures; RPC; Choosing formats; JSON; XML; YAML; CSV; Comparing the HTTP actions and methods; The PATCH versus the PUT method; Bringing in CRUD; Adding more endpoints; Handling API versions; Allowing pagination with the link header; Summary; Chapter 3: Routing and Bootstrapping; Writing custom routers in Go.
|
|
:
|
Sessions in a RESTful designUsing NoSQL in Go; Memcached; MongoDB; Enabling connections using a username and password; Allowing our users to connect to each other; Summary; Chapter 8: Responsive Go for the Web; Creating a frontend interface; Logging in; Using client-side frameworks with Go; jQuery; Consuming APIs with jQuery; AngularJS; Consuming APIs with Angular; Setting up an API-consuming frontend; Creating a client-side Angular application for a web service; Viewing other users; Rendering frameworks on the server side in Go; Creating a status update; Summary; Chapter 9: Deployment.
|
|
:
|
Using more advanced routers in GorillaUsing Gorilla for JSON-RPC; Using services for API access; Using a simple interface for API access; Returning valuable error information; Handling binary data; Summary; Chapter 4: Designing APIs in Go; Designing our social network API; Handling our API versions; Concurrent WebSockets; Separating our API logic; Expanding our error messages; Updating our users via the web service; Summary; Chapter 5: Templates and Options in Go; Sharing our OPTIONS; Implementing alternative formats; Rolling our own data representation format.
|
Abstract
|
:
|
If you are a web programmer with experience in developing web services and have a rudimentary knowledge of using Go, then this is the book for you. Basic knowledge of Go as well as knowledge of relational databases and non-relational NoSQL datastores is assumed. Some basic concurrency knowledge is also required.
|
Subject
|
:
|
Application program interfaces (Computer software)
|
Subject
|
:
|
Go (Computer program language)
|
Subject
|
:
|
Application program interfaces (Computer software)
|
Subject
|
:
|
COMPUTERS-- Computer Literacy.
|
Subject
|
:
|
COMPUTERS-- Computer Science.
|
Subject
|
:
|
COMPUTERS-- Data Processing.
|
Subject
|
:
|
COMPUTERS-- Hardware-- General.
|
Subject
|
:
|
COMPUTERS-- Information Technology.
|
Subject
|
:
|
COMPUTERS-- Machine Theory.
|
Subject
|
:
|
COMPUTERS-- Reference.
|
Subject
|
:
|
Go (Computer program language)
|
Dewey Classification
|
:
|
004.5
|
LC Classification
|
:
|
QA76.73.G63
|
Parallel Title
|
:
|
Program and deploy fast, scalable web services and create high-performance RESTful APIs using Go
|