Go Programming Blueprints :: build real-world, production-ready solutions in Go using cutting-edge technology and techniques /
Intended for seasoned Go programmers who want to put their expertise in Go to use to solve big, real-world, modern problems. With a basic understanding of channels and goroutines, you will hone your skills to build tools and programs that are quick and simple. You need not be an expert in distribute...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham, England :
Packt Publishing,
2015.
|
Schriftenreihe: | Community experience distilled.
|
Schlagworte: | |
Online-Zugang: | Volltext |
Zusammenfassung: | Intended for seasoned Go programmers who want to put their expertise in Go to use to solve big, real-world, modern problems. With a basic understanding of channels and goroutines, you will hone your skills to build tools and programs that are quick and simple. You need not be an expert in distributed systems or technologies in order to deliver solutions capable of great scale. It is assumed that you are familiar with the basic concepts of Go. |
Beschreibung: | Includes index. |
Beschreibung: | 1 online resource (274 pages) |
ISBN: | 9781783988037 1783988037 9781786462473 1786462478 |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-ocn903967010 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m o d | ||
007 | cr cn||||||||| | ||
008 | 150206t20152015enk o 001 0 eng d | ||
040 | |a E7B |b eng |e rda |e pn |c E7B |d COO |d N$T |d OCLCF |d TEFOD |d OCLCQ |d OCLCO |d CNNOR |d VT2 |d D6H |d OCLCQ |d NLE |d STF |d UKMGB |d OCLCQ |d WYU |d G3B |d UKAHL |d RDF |d OCLCO |d OCLCQ |d QGK |d OCLCO |d OCLCL | ||
016 | 7 | |a 018007084 |2 Uk | |
019 | |a 964524868 |a 1259096976 | ||
020 | |a 9781783988037 |q (electronic bk.) | ||
020 | |a 1783988037 |q (electronic bk.) | ||
020 | |a 9781786462473 | ||
020 | |a 1786462478 | ||
020 | |z 1783988029 | ||
020 | |z 9781783988020 | ||
035 | |a (OCoLC)903967010 |z (OCoLC)964524868 |z (OCoLC)1259096976 | ||
037 | |a E009C93D-0E41-40FD-ACC3-AFCD22ED4165 |b OverDrive, Inc. |n http://www.overdrive.com | ||
050 | 4 | |a QA76.756 |b .R947 2015eb | |
072 | 7 | |a COM |x 051280 |2 bisacsh | |
072 | 7 | |a COM |x 051230 |2 bisacsh | |
082 | 7 | |a 005.3 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a Ryer, Mat, |e author. | |
245 | 1 | 0 | |a Go Programming Blueprints : |b build real-world, production-ready solutions in Go using cutting-edge technology and techniques / |c Mat Ryer. |
264 | 1 | |a Birmingham, England : |b Packt Publishing, |c 2015. | |
264 | 4 | |c ©2015 | |
300 | |a 1 online resource (274 pages) | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
347 | |a text file | ||
490 | 1 | |a Community Experience Distilled | |
500 | |a Includes index. | ||
588 | 0 | |a Online resource; title from PDF title page (ebrary, viewed February 5, 2015). | |
505 | 0 | |a Cover; Copyright; Credits; About the Author; Acknowledgments; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Chat Application with Web Sockets; A simple web server; Templates; Doing things once; Using your own handlers; Properly building and executing Go programs; Modeling a chat room and clients on the server; Modeling the client; Modeling a room; Concurrency programming using idiomatic Go; Turning a room into an HTTP handler; Use helper functions to remove complexity; Creating and using rooms; Building an HTML and JavaScript chat client | |
505 | 8 | |a Getting more out of templatesTracing code to get a look under the hood; Writing a package using TDD; Interfaces; Unit tests; Red-green testing; Implementing the interface; Unexported types being returned to users; Using our new trace package; Making tracing optional; Clean package APIs; Summary; Chapter 2: Adding Authentication; Handlers all the way down; Making a pretty social sign-in page; Endpoints with dynamic paths; OAuth2; Open source OAuth2 packages; Tell the authentication providers about your app; Implementing external logging in; Logging in; Handling the response from the provider | |
505 | 8 | |a Presenting the user dataAugmenting messages with additional data; Summary; Chapter 3: Three Ways to Implement Profile Pictures; Avatars from the authentication server; Getting the avatar URL; Transmitting the avatar URL; Adding the avatar to the user interface; Logging out; Making things prettier; Implementing Gravatar; Abstracting the avatar URL process; The authentication service and the avatar's implementation; Using an implementation; Gravatar implementation; Uploading an avatar picture; User identification; An upload form; Handling the upload; Serving the images | |
505 | 8 | |a The Avatar implementation for local filesSupporting different file types; Refactoring and optimizing our code; Replacing concrete types with interfaces; Changing interfaces in a test-driven way; Fixing existing implementations; Global variables versus fields; Implementing our new design; Tidying up and testing; Combining all three implementations; Summary; Chapter 4: Command-line Tools to Find Domain Names; Pipe design for command-line tools; Five simple programs; Sprinkle; Exercise -- configurable transformations; Domainify; Exercise -- making top-level domains configurable; Coolify; Synonyms | |
505 | 8 | |a Using environment variables for configurationConsuming a web API; Getting domain suggestions; Available; Composing all five programs; One program to rule them all; Summary; Chapter 5: Building Distributed Systems and Working with Flexible Data; System design; Database design; Installing the environment; NSQ; NSQ driver for Go; MongoDB; MongoDB driver for Go; Start the environment; Votes from Twitter; Authorization with Twitter; Extracting the connection; Reading environment variables; Reading from MongoDB; Reading from Twitter; Signal channels; Publishing to NSQ | |
520 | |a Intended for seasoned Go programmers who want to put their expertise in Go to use to solve big, real-world, modern problems. With a basic understanding of channels and goroutines, you will hone your skills to build tools and programs that are quick and simple. You need not be an expert in distributed systems or technologies in order to deliver solutions capable of great scale. It is assumed that you are familiar with the basic concepts of Go. | ||
546 | |a English. | ||
650 | 0 | |a Computer programs |x Design. | |
650 | 7 | |a COMPUTERS |x Programming Languages |x Java. |2 bisacsh | |
650 | 7 | |a COMPUTERS |x Software Development & Engineering |x General. |2 bisacsh | |
650 | 7 | |a Computer programs |x Design |2 fast | |
758 | |i has work: |a Go programming blueprints (Text) |1 https://id.oclc.org/worldcat/entity/E39PCGjJCgfT3KBgTTqRGJwvjK |4 https://id.oclc.org/worldcat/ontology/hasWork | ||
776 | 0 | 8 | |i Print version: |a Ryer, Mat. |t Go Programming Blueprints : build real-world, production-ready solutions in Go using cutting-edge technology and techniques. |d Birmingham, England : Packt Publishing, ©2015 |h v, 255 pages |k Community experience distilled. |z 9781783988020 |
830 | 0 | |a Community experience distilled. |0 http://id.loc.gov/authorities/names/no2011030603 | |
856 | 4 | 0 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=943550 |3 Volltext |
936 | |a BATCHLOAD | ||
938 | |a Askews and Holts Library Services |b ASKH |n AH28174105 | ||
938 | |a ebrary |b EBRY |n ebr11011948 | ||
938 | |a EBSCOhost |b EBSC |n 943550 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-ocn903967010 |
---|---|
_version_ | 1816882304515047424 |
adam_text | |
any_adam_object | |
author | Ryer, Mat |
author_facet | Ryer, Mat |
author_role | aut |
author_sort | Ryer, Mat |
author_variant | m r mr |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.756 .R947 2015eb |
callnumber-search | QA76.756 .R947 2015eb |
callnumber-sort | QA 276.756 R947 42015EB |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | Cover; Copyright; Credits; About the Author; Acknowledgments; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Chat Application with Web Sockets; A simple web server; Templates; Doing things once; Using your own handlers; Properly building and executing Go programs; Modeling a chat room and clients on the server; Modeling the client; Modeling a room; Concurrency programming using idiomatic Go; Turning a room into an HTTP handler; Use helper functions to remove complexity; Creating and using rooms; Building an HTML and JavaScript chat client Getting more out of templatesTracing code to get a look under the hood; Writing a package using TDD; Interfaces; Unit tests; Red-green testing; Implementing the interface; Unexported types being returned to users; Using our new trace package; Making tracing optional; Clean package APIs; Summary; Chapter 2: Adding Authentication; Handlers all the way down; Making a pretty social sign-in page; Endpoints with dynamic paths; OAuth2; Open source OAuth2 packages; Tell the authentication providers about your app; Implementing external logging in; Logging in; Handling the response from the provider Presenting the user dataAugmenting messages with additional data; Summary; Chapter 3: Three Ways to Implement Profile Pictures; Avatars from the authentication server; Getting the avatar URL; Transmitting the avatar URL; Adding the avatar to the user interface; Logging out; Making things prettier; Implementing Gravatar; Abstracting the avatar URL process; The authentication service and the avatar's implementation; Using an implementation; Gravatar implementation; Uploading an avatar picture; User identification; An upload form; Handling the upload; Serving the images The Avatar implementation for local filesSupporting different file types; Refactoring and optimizing our code; Replacing concrete types with interfaces; Changing interfaces in a test-driven way; Fixing existing implementations; Global variables versus fields; Implementing our new design; Tidying up and testing; Combining all three implementations; Summary; Chapter 4: Command-line Tools to Find Domain Names; Pipe design for command-line tools; Five simple programs; Sprinkle; Exercise -- configurable transformations; Domainify; Exercise -- making top-level domains configurable; Coolify; Synonyms Using environment variables for configurationConsuming a web API; Getting domain suggestions; Available; Composing all five programs; One program to rule them all; Summary; Chapter 5: Building Distributed Systems and Working with Flexible Data; System design; Database design; Installing the environment; NSQ; NSQ driver for Go; MongoDB; MongoDB driver for Go; Start the environment; Votes from Twitter; Authorization with Twitter; Extracting the connection; Reading environment variables; Reading from MongoDB; Reading from Twitter; Signal channels; Publishing to NSQ |
ctrlnum | (OCoLC)903967010 |
dewey-full | 005.3 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.3 |
dewey-search | 005.3 |
dewey-sort | 15.3 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>06207cam a2200673 i 4500</leader><controlfield tag="001">ZDB-4-EBA-ocn903967010</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr cn|||||||||</controlfield><controlfield tag="008">150206t20152015enk o 001 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">E7B</subfield><subfield code="b">eng</subfield><subfield code="e">rda</subfield><subfield code="e">pn</subfield><subfield code="c">E7B</subfield><subfield code="d">COO</subfield><subfield code="d">N$T</subfield><subfield code="d">OCLCF</subfield><subfield code="d">TEFOD</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">CNNOR</subfield><subfield code="d">VT2</subfield><subfield code="d">D6H</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">NLE</subfield><subfield code="d">STF</subfield><subfield code="d">UKMGB</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">WYU</subfield><subfield code="d">G3B</subfield><subfield code="d">UKAHL</subfield><subfield code="d">RDF</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">QGK</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCL</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">018007084</subfield><subfield code="2">Uk</subfield></datafield><datafield tag="019" ind1=" " ind2=" "><subfield code="a">964524868</subfield><subfield code="a">1259096976</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781783988037</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1783988037</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781786462473</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1786462478</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">1783988029</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">9781783988020</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)903967010</subfield><subfield code="z">(OCoLC)964524868</subfield><subfield code="z">(OCoLC)1259096976</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">E009C93D-0E41-40FD-ACC3-AFCD22ED4165</subfield><subfield code="b">OverDrive, Inc.</subfield><subfield code="n">http://www.overdrive.com</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.756</subfield><subfield code="b">.R947 2015eb</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">051280</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">051230</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.3</subfield><subfield code="2">23</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Ryer, Mat,</subfield><subfield code="e">author.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Go Programming Blueprints :</subfield><subfield code="b">build real-world, production-ready solutions in Go using cutting-edge technology and techniques /</subfield><subfield code="c">Mat Ryer.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham, England :</subfield><subfield code="b">Packt Publishing,</subfield><subfield code="c">2015.</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">©2015</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (274 pages)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="347" ind1=" " ind2=" "><subfield code="a">text file</subfield></datafield><datafield tag="490" ind1="1" ind2=" "><subfield code="a">Community Experience Distilled</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes index.</subfield></datafield><datafield tag="588" ind1="0" ind2=" "><subfield code="a">Online resource; title from PDF title page (ebrary, viewed February 5, 2015).</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Cover; Copyright; Credits; About the Author; Acknowledgments; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Chat Application with Web Sockets; A simple web server; Templates; Doing things once; Using your own handlers; Properly building and executing Go programs; Modeling a chat room and clients on the server; Modeling the client; Modeling a room; Concurrency programming using idiomatic Go; Turning a room into an HTTP handler; Use helper functions to remove complexity; Creating and using rooms; Building an HTML and JavaScript chat client</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Getting more out of templatesTracing code to get a look under the hood; Writing a package using TDD; Interfaces; Unit tests; Red-green testing; Implementing the interface; Unexported types being returned to users; Using our new trace package; Making tracing optional; Clean package APIs; Summary; Chapter 2: Adding Authentication; Handlers all the way down; Making a pretty social sign-in page; Endpoints with dynamic paths; OAuth2; Open source OAuth2 packages; Tell the authentication providers about your app; Implementing external logging in; Logging in; Handling the response from the provider</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Presenting the user dataAugmenting messages with additional data; Summary; Chapter 3: Three Ways to Implement Profile Pictures; Avatars from the authentication server; Getting the avatar URL; Transmitting the avatar URL; Adding the avatar to the user interface; Logging out; Making things prettier; Implementing Gravatar; Abstracting the avatar URL process; The authentication service and the avatar's implementation; Using an implementation; Gravatar implementation; Uploading an avatar picture; User identification; An upload form; Handling the upload; Serving the images</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">The Avatar implementation for local filesSupporting different file types; Refactoring and optimizing our code; Replacing concrete types with interfaces; Changing interfaces in a test-driven way; Fixing existing implementations; Global variables versus fields; Implementing our new design; Tidying up and testing; Combining all three implementations; Summary; Chapter 4: Command-line Tools to Find Domain Names; Pipe design for command-line tools; Five simple programs; Sprinkle; Exercise -- configurable transformations; Domainify; Exercise -- making top-level domains configurable; Coolify; Synonyms</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Using environment variables for configurationConsuming a web API; Getting domain suggestions; Available; Composing all five programs; One program to rule them all; Summary; Chapter 5: Building Distributed Systems and Working with Flexible Data; System design; Database design; Installing the environment; NSQ; NSQ driver for Go; MongoDB; MongoDB driver for Go; Start the environment; Votes from Twitter; Authorization with Twitter; Extracting the connection; Reading environment variables; Reading from MongoDB; Reading from Twitter; Signal channels; Publishing to NSQ</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Intended for seasoned Go programmers who want to put their expertise in Go to use to solve big, real-world, modern problems. With a basic understanding of channels and goroutines, you will hone your skills to build tools and programs that are quick and simple. You need not be an expert in distributed systems or technologies in order to deliver solutions capable of great scale. It is assumed that you are familiar with the basic concepts of Go.</subfield></datafield><datafield tag="546" ind1=" " ind2=" "><subfield code="a">English.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Computer programs</subfield><subfield code="x">Design.</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Programming Languages</subfield><subfield code="x">Java.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Software Development & Engineering</subfield><subfield code="x">General.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Computer programs</subfield><subfield code="x">Design</subfield><subfield code="2">fast</subfield></datafield><datafield tag="758" ind1=" " ind2=" "><subfield code="i">has work:</subfield><subfield code="a">Go programming blueprints (Text)</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PCGjJCgfT3KBgTTqRGJwvjK</subfield><subfield code="4">https://id.oclc.org/worldcat/ontology/hasWork</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Print version:</subfield><subfield code="a">Ryer, Mat.</subfield><subfield code="t">Go Programming Blueprints : build real-world, production-ready solutions in Go using cutting-edge technology and techniques.</subfield><subfield code="d">Birmingham, England : Packt Publishing, ©2015</subfield><subfield code="h">v, 255 pages</subfield><subfield code="k">Community experience distilled.</subfield><subfield code="z">9781783988020</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">Community experience distilled.</subfield><subfield code="0">http://id.loc.gov/authorities/names/no2011030603</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=943550</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="936" ind1=" " ind2=" "><subfield code="a">BATCHLOAD</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">Askews and Holts Library Services</subfield><subfield code="b">ASKH</subfield><subfield code="n">AH28174105</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">ebrary</subfield><subfield code="b">EBRY</subfield><subfield code="n">ebr11011948</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">943550</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-ocn903967010 |
illustrated | Not Illustrated |
indexdate | 2024-11-27T13:26:29Z |
institution | BVB |
isbn | 9781783988037 1783988037 9781786462473 1786462478 |
language | English |
oclc_num | 903967010 |
open_access_boolean | |
owner | MAIN DE-863 DE-BY-FWS |
owner_facet | MAIN DE-863 DE-BY-FWS |
physical | 1 online resource (274 pages) |
psigel | ZDB-4-EBA |
publishDate | 2015 |
publishDateSearch | 2015 |
publishDateSort | 2015 |
publisher | Packt Publishing, |
record_format | marc |
series | Community experience distilled. |
series2 | Community Experience Distilled |
spelling | Ryer, Mat, author. Go Programming Blueprints : build real-world, production-ready solutions in Go using cutting-edge technology and techniques / Mat Ryer. Birmingham, England : Packt Publishing, 2015. ©2015 1 online resource (274 pages) text txt rdacontent computer c rdamedia online resource cr rdacarrier text file Community Experience Distilled Includes index. Online resource; title from PDF title page (ebrary, viewed February 5, 2015). Cover; Copyright; Credits; About the Author; Acknowledgments; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Chat Application with Web Sockets; A simple web server; Templates; Doing things once; Using your own handlers; Properly building and executing Go programs; Modeling a chat room and clients on the server; Modeling the client; Modeling a room; Concurrency programming using idiomatic Go; Turning a room into an HTTP handler; Use helper functions to remove complexity; Creating and using rooms; Building an HTML and JavaScript chat client Getting more out of templatesTracing code to get a look under the hood; Writing a package using TDD; Interfaces; Unit tests; Red-green testing; Implementing the interface; Unexported types being returned to users; Using our new trace package; Making tracing optional; Clean package APIs; Summary; Chapter 2: Adding Authentication; Handlers all the way down; Making a pretty social sign-in page; Endpoints with dynamic paths; OAuth2; Open source OAuth2 packages; Tell the authentication providers about your app; Implementing external logging in; Logging in; Handling the response from the provider Presenting the user dataAugmenting messages with additional data; Summary; Chapter 3: Three Ways to Implement Profile Pictures; Avatars from the authentication server; Getting the avatar URL; Transmitting the avatar URL; Adding the avatar to the user interface; Logging out; Making things prettier; Implementing Gravatar; Abstracting the avatar URL process; The authentication service and the avatar's implementation; Using an implementation; Gravatar implementation; Uploading an avatar picture; User identification; An upload form; Handling the upload; Serving the images The Avatar implementation for local filesSupporting different file types; Refactoring and optimizing our code; Replacing concrete types with interfaces; Changing interfaces in a test-driven way; Fixing existing implementations; Global variables versus fields; Implementing our new design; Tidying up and testing; Combining all three implementations; Summary; Chapter 4: Command-line Tools to Find Domain Names; Pipe design for command-line tools; Five simple programs; Sprinkle; Exercise -- configurable transformations; Domainify; Exercise -- making top-level domains configurable; Coolify; Synonyms Using environment variables for configurationConsuming a web API; Getting domain suggestions; Available; Composing all five programs; One program to rule them all; Summary; Chapter 5: Building Distributed Systems and Working with Flexible Data; System design; Database design; Installing the environment; NSQ; NSQ driver for Go; MongoDB; MongoDB driver for Go; Start the environment; Votes from Twitter; Authorization with Twitter; Extracting the connection; Reading environment variables; Reading from MongoDB; Reading from Twitter; Signal channels; Publishing to NSQ Intended for seasoned Go programmers who want to put their expertise in Go to use to solve big, real-world, modern problems. With a basic understanding of channels and goroutines, you will hone your skills to build tools and programs that are quick and simple. You need not be an expert in distributed systems or technologies in order to deliver solutions capable of great scale. It is assumed that you are familiar with the basic concepts of Go. English. Computer programs Design. COMPUTERS Programming Languages Java. bisacsh COMPUTERS Software Development & Engineering General. bisacsh Computer programs Design fast has work: Go programming blueprints (Text) https://id.oclc.org/worldcat/entity/E39PCGjJCgfT3KBgTTqRGJwvjK https://id.oclc.org/worldcat/ontology/hasWork Print version: Ryer, Mat. Go Programming Blueprints : build real-world, production-ready solutions in Go using cutting-edge technology and techniques. Birmingham, England : Packt Publishing, ©2015 v, 255 pages Community experience distilled. 9781783988020 Community experience distilled. http://id.loc.gov/authorities/names/no2011030603 FWS01 ZDB-4-EBA FWS_PDA_EBA https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=943550 Volltext |
spellingShingle | Ryer, Mat Go Programming Blueprints : build real-world, production-ready solutions in Go using cutting-edge technology and techniques / Community experience distilled. Cover; Copyright; Credits; About the Author; Acknowledgments; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Chat Application with Web Sockets; A simple web server; Templates; Doing things once; Using your own handlers; Properly building and executing Go programs; Modeling a chat room and clients on the server; Modeling the client; Modeling a room; Concurrency programming using idiomatic Go; Turning a room into an HTTP handler; Use helper functions to remove complexity; Creating and using rooms; Building an HTML and JavaScript chat client Getting more out of templatesTracing code to get a look under the hood; Writing a package using TDD; Interfaces; Unit tests; Red-green testing; Implementing the interface; Unexported types being returned to users; Using our new trace package; Making tracing optional; Clean package APIs; Summary; Chapter 2: Adding Authentication; Handlers all the way down; Making a pretty social sign-in page; Endpoints with dynamic paths; OAuth2; Open source OAuth2 packages; Tell the authentication providers about your app; Implementing external logging in; Logging in; Handling the response from the provider Presenting the user dataAugmenting messages with additional data; Summary; Chapter 3: Three Ways to Implement Profile Pictures; Avatars from the authentication server; Getting the avatar URL; Transmitting the avatar URL; Adding the avatar to the user interface; Logging out; Making things prettier; Implementing Gravatar; Abstracting the avatar URL process; The authentication service and the avatar's implementation; Using an implementation; Gravatar implementation; Uploading an avatar picture; User identification; An upload form; Handling the upload; Serving the images The Avatar implementation for local filesSupporting different file types; Refactoring and optimizing our code; Replacing concrete types with interfaces; Changing interfaces in a test-driven way; Fixing existing implementations; Global variables versus fields; Implementing our new design; Tidying up and testing; Combining all three implementations; Summary; Chapter 4: Command-line Tools to Find Domain Names; Pipe design for command-line tools; Five simple programs; Sprinkle; Exercise -- configurable transformations; Domainify; Exercise -- making top-level domains configurable; Coolify; Synonyms Using environment variables for configurationConsuming a web API; Getting domain suggestions; Available; Composing all five programs; One program to rule them all; Summary; Chapter 5: Building Distributed Systems and Working with Flexible Data; System design; Database design; Installing the environment; NSQ; NSQ driver for Go; MongoDB; MongoDB driver for Go; Start the environment; Votes from Twitter; Authorization with Twitter; Extracting the connection; Reading environment variables; Reading from MongoDB; Reading from Twitter; Signal channels; Publishing to NSQ Computer programs Design. COMPUTERS Programming Languages Java. bisacsh COMPUTERS Software Development & Engineering General. bisacsh Computer programs Design fast |
title | Go Programming Blueprints : build real-world, production-ready solutions in Go using cutting-edge technology and techniques / |
title_auth | Go Programming Blueprints : build real-world, production-ready solutions in Go using cutting-edge technology and techniques / |
title_exact_search | Go Programming Blueprints : build real-world, production-ready solutions in Go using cutting-edge technology and techniques / |
title_full | Go Programming Blueprints : build real-world, production-ready solutions in Go using cutting-edge technology and techniques / Mat Ryer. |
title_fullStr | Go Programming Blueprints : build real-world, production-ready solutions in Go using cutting-edge technology and techniques / Mat Ryer. |
title_full_unstemmed | Go Programming Blueprints : build real-world, production-ready solutions in Go using cutting-edge technology and techniques / Mat Ryer. |
title_short | Go Programming Blueprints : |
title_sort | go programming blueprints build real world production ready solutions in go using cutting edge technology and techniques |
title_sub | build real-world, production-ready solutions in Go using cutting-edge technology and techniques / |
topic | Computer programs Design. COMPUTERS Programming Languages Java. bisacsh COMPUTERS Software Development & Engineering General. bisacsh Computer programs Design fast |
topic_facet | Computer programs Design. COMPUTERS Programming Languages Java. COMPUTERS Software Development & Engineering General. Computer programs Design |
url | https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=943550 |
work_keys_str_mv | AT ryermat goprogrammingblueprintsbuildrealworldproductionreadysolutionsingousingcuttingedgetechnologyandtechniques |