05218nam 2200625 450 991082158330332120170821162405.01-4571-9284-51-4571-9287-X1-4571-9286-1(CKB)3710000000411234(EBL)2041984(OCoLC)939263120(SSID)ssj0001538700(PQKBManifestationID)11921678(PQKBTitleCode)TC0001538700(PQKBWorkID)11528682(PQKB)10112378(MiAaPQ)EBC2041984(WaSeSS)IndRDA00052853(CaSebORM)9781457192845(PPN)191478059(EXLCZ)99371000000041123420150522h20152015 uy 0engur|n|---|||||txtccrLevel up your web apps with Go /by Mal Curtis ; cover designer, Alex Walker1st editionCollingwood, Victoria :SitePoint,2015.©20151 online resource (259 p.)Description based upon print version of record.0-9924612-9-4 Intro; Level Up Your Web Apps With Go; Table of Contents; Preface; Welcome New Gopher; Go Types Explored; HTTP; Gophr Part 1: The Project; Gophr Part 2: All About the Users; Gophr Part 3: Remembering Our Users; Gophr Part 4: Images; Gophr Part 5: Concurrency; Automated Testing; Packaging and Production; Who Should Read This Book; Conventions Used; Supplementary Materials; Some Notes; Want to take your learning further?; Installation; Go Tools; Basic Types; Functions; Structs; Exported and Unexported Code; Summary; Custom Types; Interfaces; Embedded Types; The defer CommandThird-party LibrariesSyntax Options and Conventions; Summary; Responding to Requests; HTML Templates; Rendering JSON; Summary; Using Bootstrap; Project Layout; Serving Assets; Rendering Pages; Creating a Layout; Advanced Routing; Summary; Before We Start; What do users look like?; Hashing a Password; Identifiers; User Forms; Creating Users; Summary; Exercises; What makes up a session?; Persisting User Sessions; Checking for a User; Displaying User Information; Signing Out, Signing In; Editing Your Details; Summary; Exercises; The Image Type; ImageStore Interface; Summary; ExercisesGoroutinesWaiting for Goroutines to Finish; Communicating with Goroutines; Communicating with Multiple Channels; Putting Goroutines into Practice; Summary; Writing Tests in Go; Code Coverage; Testing HTTP Requests and Responses; Performance Benchmarking; Summary; Exercises; Creating Packages; Dependency Management; Deploying Go Applications; Cross-compiling; That's All, Folks!; Code Samples; Tips, Notes, and Warnings; HTTP Requests; Go Get; Formatting; Imports; Guiding Gently, Not Explicitly; Terminal; The Go Workspace; Your First Go Code; Strings; Numbers; Booleans; Arrays and Slices; MapsPointersType Methods; Error Handling; Alternative Syntax Options; Coding Style Conventions; Breaking It Down; Adding More Information; Pattern Matching in Depth; Returning Errors; The Handler Interface; Chaining Handlers to Create Middleware; Accessing Data; Conditionals with if and else; Loops with Range; Multiple Templates; Pipelines; Variables; Marshaling; Marshaling Structs; Custom JSON Keys; Nested Types; Unmarshaling Types; Unknown JSON Structure; Using httprouter; Flexible Middleware; How Routing Works with Our Middleware; Registration Form; Registration Handler; Creating UsersPersisting UsersThe Sign Out Process; The Login Process; Getting My(SQL) Groove On; MySQL Requirements; Connecting to Databases; Creating ImageStore; Implementing ImageStore in DBImageStore; Uploading Images; Using Channels and Selects for Timeouts; Looping on selects; Throwing Away Goroutines; Using the Resized Images; Passing and Failing; Testing Multiple Variations of Inputs; Testing Between Packages; Testing the Gophr Authentication; Testing Remote HTTP requests; Benchmark Regressions; What is a package?; An Example Package; Exporting; Avoiding Circular ImportsLet's Implement a Real Package<div> Go is an open-source language from Google that's a bit like C. Designed for programmer productivity, it's got a clean syntax, and emphasizes concurrency. This book gives you all you need to use Go in your web applications. You'll learn the basic concepts - language structures, the standard library, and Go tools - then tackle more advanced features like concurrency concepts, testing methodologies, and package structures. At each step, you'll get advice for better coding in Go. You'll see how to structure projects, how to use concurrency effectively, and best practices for testing - as wGo (Computer program language)Go (Computer program language)005.133Curtis Mal1612662Walker AlexMiAaPQMiAaPQMiAaPQBOOK9910821583303321Level up your web apps with Go3941586UNINA