• Complain

Nathan Kozyra - Go: Building Web Applications

Here you can read online Nathan Kozyra - Go: Building Web Applications full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2016, publisher: Packt Publishing, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Nathan Kozyra Go: Building Web Applications

Go: Building Web Applications: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Go: Building Web Applications" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Build real-world, production-ready solutions by harnessing the powerful features of Go

About This Book
  • An easy-to-follow guide that provides everything a developer needs to know to build end-to-end web applications in Go
  • Write interesting and clever, but simple code, and learn skills and techniques that are directly transferable to your own projects
  • A practical approach to utilize application scaffolding to design highly scalable programs that are deeply rooted in go routines and channels
Who This Book Is For

This book is intended for developers who are new to Go, but have previous experience of building web applications and APIs.

What You Will Learn
  • Build a fully featured REST API to enable client-side single page apps
  • Utilize TLS to build reliable and secure sites
  • Learn to apply the nuances of the Go language to implement a wide range of start-up quality projects
  • Create websites and data services capable of massive scale using Gos net/http package, exploring RESTful patterns as well as low-latency WebSocket APIs
  • Interact with a variety of remote web services to consume capabilities ranging from authentication and authorization to a fully functioning thesaurus
  • Explore the core syntaxes and language features that enable concurrency in Go
  • Understand when and where to use concurrency to keep data consistent and applications non-blocking, responsive, and reliable
  • Utilize advanced concurrency patterns and best practices to stay low-level without compromising the simplicity of Go itself
In Detail

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. It is a statically typed language with syntax loosely derived from that of C, adding garbage collection, type safety, some dynamic-typing capabilities, additional built-in types such as variable-length arrays and key-value maps, and a large standard library.

This course starts with a walkthrough of the topics most critical to anyone building a new web application. Whether its keeping your application secure, connecting to your database, enabling token-based authentication, or utilizing logic-less templates, this course has you covered.

Scale, performance, and high availability lie at the heart of the projects, and the lessons learned throughout this course will arm you with everything you need to build world-class solutions. It will also take you through the history of concurrency, how Go utilizes it, how Go differs from other languages, and the features and structures of Gos concurrency core. It will make you feel comfortable designing a safe, data-consistent, and high-performance concurrent application in Go.

This course is an invaluable resource to help you understand Gos powerful features to build simple, reliable, secure, and efficient web applications.

Style and approach

This course is a step-by-step guide, which starts off with the basics of go programming to build web applications and will gradually move on to cover intermediate and advanced topics. You will be going through this smooth transition by building interesting projects along with the authors, discussing significant options, and decisions at each stage, while keeping the programs lean, uncluttered, and as simple as possible.

Nathan Kozyra: author's other books


Who wrote Go: Building Web Applications? Find out the surname, the name of the author of the book and a list of all author's works by series.

Go: Building Web Applications — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Go: Building Web Applications" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Go: Building Web Applications

Go: Building Web Applications

Build real-world, production-ready solutions by harnessing the powerful features of Go

A course in three modules

BIRMINGHAM - MUMBAI Go Building Web Applications Copyright 2016 Packt - photo 1

BIRMINGHAM - MUMBAI

Go: Building Web Applications

Copyright 2016 Packt Publishing

All rights reserved. No part of this course may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this course to ensure the accuracy of the information presented. However, the information contained in this course is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this course.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this course by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Published on: August 2016

Published by Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham B3 2PB, UK.

ISBN 978-1-78712-349-6

www.packtpub.com

Credits

Authors

Nathan Kozyra

Mat Ryer

Reviewers

Karthik Nayak

Tyler Bunnell

Michael Hamrah

Nimish Parmar

Jeremy R. Budnack

Jnos Fehr

Aleksandar S. Sokolovski

Michele Della Torre

Content Development Editor

Arun Nadar

Graphics

Abhinash Sahu

Production Coordinator

Melwyn D'sa

Preface

Since the late 1980s and early 1990s, there has been a slow flood of powerful new languages and paradigmsPerl, Python, Ruby, PHP, and JavaScripthave taken an expanding user base by storm and has become one of the most popular languages (up there with stalwarts such as C, C++, and Java). Multithreading, memory caching, and APIs have allowed multiple processes, dissonant languages, applications, and even separate operating systems to work in congress.

And while this is great, there's a niche that until very recently was largely unserved: powerful, compiled, cross-platform languages with concurrency support that are geared towards systems programmers.

So when Google announced Go in 2009, which included some of the best minds in language design (and programming in general)Rob Pike and Ken Thompson of Bell Labs fame and Robert Griesemer, who worked on Google's JavaScript implementation V8to design a modern, concurrent language with development ease at the forefront.

For Go programming bright future, the team focused on some sore spots in the alternatives, which are as follows:

  • Dynamically typed languages havein recent yearsbecome incredibly popular. Go eschews the explicit, "cumbersome" type systems of Java or C++. Go uses type inference, which saves development time, but is still also strongly typed.
  • Concurrency, parallelism, pointers/memory access, and garbage collection are unwieldy in the aforementioned languages. Go lets these concepts be as easy or as complicated as you want or need them to be.
  • As a newer language, Go has a focus on multicore design that was a necessary afterthought in languages such as C++.
  • Go's compiler is super-fast; it's so fast that there are implementations of it that treat Go code as interpreted.
  • Although Google designed Go to be a systems language, it's versatile enough to be used in a myriad of ways. Certainly, the focus on advanced, cheap concurrency makes it ideal for network and systems programming.
  • Go is loose with syntax, but strict with usage. By this we mean that Go will let you get a little lazy with some lexer tokens, but you still have to produce fundamentally tight code. As Go provides a formatting tool that attempts to clarify your code, you can also spend less time on readability concerns as you're coding
What this learning path covers

, Learning Go Web Development , starts off with introducing and setting up Go before you move on to produce responsive servers that react to certain web endpoint. You will then implement database connections to acquire data and then present it to our users using different template packages. Later on, you will learn about sessions and cookies to retain information before delving with the basics of microservices. By the end of this module, we will be covering the testing, debugging, and the security aspect.

, Go Programming Blueprints , has a project-based approach where you will be building chat application, adding authentication, and adding your own profile pictures in different ways. You will learn how Go makes it easy to build powerful command-line tools to find domain names before building a highly scalable Twitter polling and vote counting engine powered by NSQ and MongoDB. Later on it covers the functionalities of RESTful Data Web Service API and Google Places API before you move on to build a simple but powerful filesystem backup tool for our code projects.

, Mastering Concurrency in Go , introduces you to Concurrency in Go where you will be understanding the Concurrency model and developing a strategy for designing applications. You will learn to create basic and complex communication channels between our goroutines to manage data not only across single or multithreaded systems but also distributed systems. Later on you will be tackling a real-world problem, that is, being able to develop a high performance web server that can handle a very large volume of live, active traffic. You will then learn how to scale your application and make it capable of being expanded in scope, design, and/or capacity. It will then focus on when and where to implement concurrent patterns, utilize parallelism, and ensure data consistency. At the end of this module, we will be logging and testing concurrency before we finally look at the best practices on how to implement complicated and advanced techniques offered by Go.

What you need for this learning path

For this course, any modern computers running a standard Linux flavor, OS X or Windows should be enough to get started. You can find a full list of requirements at https://golang.org/dl/. Later on, you'll also need to have the following software installed:

  • MySQL (http://dev.mysql.com/downloads/)
  • Couchbase (http://www.couchbase.com/download)

Your choice of IDE is a matter of personal preference.

Who this learning path is for

This course is intended for developers who are new to Go but have previous experience of building web applications and APIs. It is also targeted towards systems or network programmer with some knowledge of Go and concurrency, but would like to know about the implementation of concurrent systems written in Go

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this coursewhat you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of.

To send us general feedback, simply e-mail <>, and mention the course's title in the subject of your message.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Go: Building Web Applications»

Look at similar books to Go: Building Web Applications. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Go: Building Web Applications»

Discussion, reviews of the book Go: Building Web Applications and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.