Muutke küpsiste eelistusi

E-raamat: Go Recipes: A Problem-Solution Approach

  • Formaat: PDF+DRM
  • Ilmumisaeg: 17-Nov-2016
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484211885
  • Formaat - PDF+DRM
  • Hind: 49,39 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: PDF+DRM
  • Ilmumisaeg: 17-Nov-2016
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484211885

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Solve your Go problems using a problem-solution approach. Each recipe is a self-contained answer to a practical programming problem in Go. Go Recipes contains recipes that deal with the fundamentals of Go, allowing you to build simple, reliable, and efficient software. Other topics include working with data using modern NoSQL databases such as MongoDB and RethinkDB. The book provides in-depth guidance for building highly scalable backend APIs in Go for your mobile client applications and web client applications.

All this means that you’ll be able to write programs that get the most out of multicore and networked machines, using Go’s novel type system that enables flexible and modular program construction. You'll see how to test your Go applications so they are ready for deployment, as well as learning how to write HTTP servers to offer you maximum flexibility when dealing with remote clients.

What You'll Learn
    Work with the core fundamentals of Go
  • Persist data into NoSQL databases
  • Build scalable backend APIs
  • Test your Go applications
  • Create HTTP web servers in Go
Who This Book Is For

Experienced programmers who have some or no prior experience with Go.

About the Author xv
About the Technical Reviewer xvii
Introduction xix
Chapter 1 Beginning Go
1(26)
Introduction to Go
1(1)
The Go Ecosystem
2(1)
1-1 Installing Go Tools
2(3)
Problem
2(1)
Solution
2(1)
How It Works
2(3)
1-2 Setting Up Go Development Environment
5(1)
Problem
5(1)
Solution
5(1)
How It Works
5(1)
1-3 Declaring Variables
6(2)
Problem
6(1)
Solution
6(1)
How It Works
6(2)
1-4 Building an Executable Program
8(2)
Problem
8(1)
Solution
8(1)
How It Works
8(2)
1-5 Writing a Package as a Shared Library
10(4)
Problem
10(1)
Solution
10(1)
How It Works
10(4)
1-6 Reusing a Shared Library Package
14(1)
Problem
14(1)
Solution
14(1)
How It Works
14(1)
1-7 Managing Source Code Using Go Tool
15(4)
Problem
15(1)
Solution
15(1)
How It Works
15(4)
1-8 Writing and Reusing Packages
19(8)
Problem
19(1)
Solution
20(1)
How It Works
20(7)
Chapter 2 Go Fundamentals
27(26)
2-1 Writing Functions in Go
27(6)
Problem
27(1)
Solution
27(1)
How It Works
27(6)
2-2 Working with Arrays
33(4)
Problem
33(1)
Solution
33(1)
How It Works
33(4)
2-3 Working with Dynamic Arrays Using Slices
37(4)
Problem
37(1)
Solution
37(1)
How It Works
37(4)
2-4 Persisting Key/Value Pairs Using Map
41(4)
Problem
41(1)
Solution
41(1)
How It Works
41(4)
2-5 Writing Clean-Up Code in Functions
45(1)
Problem
45(1)
Solution
45(1)
How It Works
45(1)
2-6 Stopping the Execution Flow of Control Using Panic
46(1)
Problem
46(1)
Solution
46(1)
How It Works
46(1)
2-7 Recovering a Panicking Function Using Recover
47(1)
Problem
47(1)
Solution
47(1)
How It Works
47(1)
2-8 Performing Error Handling
48(5)
Problem
48(1)
Solution
48(1)
How It Works
49(4)
Chapter 3 Structs and Interfaces
53(22)
3-1 Creating User-Defined Types
53(3)
Problem
53(1)
Solution
53(1)
How It Works
53(3)
3-2 Adding Methods to Struct Types
56(6)
Problem
56(1)
Solution
56(1)
How It Works
56(6)
3-3 Composing Types Using Type Embedding
62(5)
Problem
62(1)
Solution
62(1)
How It Works
62(5)
3-4 Working with Interfaces
67(8)
Problem
67(1)
Solution
67(1)
How It Works
67(8)
Chapter 4 Concurrency
75(28)
4-1 Writing Concurrent Programs
75(4)
Problem
75(1)
Solution
75(1)
How It Works
75(4)
4-2 Managing the Number of CPUs in Concurrency
79(1)
Problem
79(1)
Solution
80(1)
How It Works
80(1)
4-3 Creating Channels
80(4)
Problem
80(1)
Solution
80(1)
How It Works
80(4)
4-4 Using Channels for Synchronous Communication
84(5)
Problem
84(1)
Solution
84(1)
How It Works
84(5)
4-5 Using the Output of One Goroutine as the Input of Another
89(5)
Problem
89(1)
Solution
89(1)
How It Works
90(4)
4-6 Using Channels for Asynchronous Communication
94(5)
Problem
94(1)
Solution
94(1)
How It Works
95(4)
4-7 Communicating on Multiple Channels
99(4)
Problem
99(1)
Solution
99(1)
How It Works
99(4)
Chapter 5 Using Standard Library Packages
103(26)
5-1 Encoding and Decoding JSON
103(5)
Problem
103(1)
Solution
103(1)
How It Works
103(5)
5-2 Using Command-Line Flags
108(3)
Problem
108(1)
Solution
108(1)
How It Works
108(3)
5-3 Logging Go Programs
111(7)
Problem
111(1)
Solution
111(1)
How It Works
111(7)
5-4 Archiving Files in Tar and Zip Formats
118(11)
Problem
118(1)
Solution
118(1)
How It Works
118(11)
Chapter 6 Data Persistence
129(40)
6-1 Persisting Data with MongoDB
129(12)
Problem
129(1)
Solution
129(1)
How It Works
129(2)
Working with Collections
131(1)
Performing CRUD Operations
131(10)
6-2 Persisting Data with RethinkDB
141(12)
Problem
141(1)
Solution
141(1)
How It Works
142(11)
6-3 Working on Time Series Data with InfluxDB
153(9)
Problem
153(1)
Solution
153(1)
How It Works
154(8)
6-4 Working with SQL Databases
162(7)
Problem
162(1)
Solution
162(1)
How It Works
162(7)
Chapter 7 Building HTTP Servers
169(36)
7-1 Creating Custom HTTP Handlers
170(4)
Problem
170(1)
Solution
170(1)
How It Works
170(4)
7-2 Using an Adapter to Use Normal Functions as Handlers
174(2)
Problem
174(1)
Solution
175(1)
How It Works
175(1)
7-3 Using Normal Functions as HTTP Handlers Using ServeMux.HandleFunc
176(2)
Problem
176(1)
Solution
176(1)
How It Works
176(2)
7-4 Using Default ServeMux Value
178(1)
Problem
178(1)
Solution
178(1)
How It Works
178(1)
7-5 Customizing http.Server
179(1)
Problem
179(1)
Solution
179(1)
How It Works
179(1)
7-6 Writing HTTP Middleware
180(3)
Problem
180(1)
Solution
180(1)
How It Works
181(2)
7-7 Writing RESTful API with Go and MongoDB
183(22)
Problem
183(1)
Solution
183(1)
How It Works
183(22)
Chapter 8 Testing Go Applications
205(30)
8-1 Writing Unit Tests
205(3)
Problem
205(1)
Solution
205(1)
How It Works
205(3)
8-2 Skipping Long-Running Tests
208(2)
Problem
208(1)
Solution
208(1)
How It Works
209(1)
8-3 Writing Benchmark Tests
210(2)
Problem
210(1)
Solution
211(1)
How It Works
211(1)
8-4 Running Unit Tests in Parallel
212(2)
Problem
212(1)
Solution
212(1)
How It Works
212(2)
8-5 Writing Tests for Verifying Example Code
214(2)
Problem
214(1)
Solution
214(1)
How It Works
214(2)
8-6 Testing HTTP Applications
216(5)
Problem
216(1)
Solution
216(1)
How It Works
216(5)
8-7 Writing BDD-Style Tests
221(14)
Problem
221(1)
Solution
221(1)
How It Works
221(14)
Index 235
Shiju Varghese is a solutions architect who specializes in cloud computing solutions and distributed web apps. His current technology focus is on Go, Google Cloud, Azure, and Docker. He has been working with Web technologies since early 2000, and has developed web apps and distributed systems in Go, C#, and Node.js. His areas of interest include cloud solutions architecture, application containers, distributed systems, RESTful microservice architecture, and mobile backend as a service. Shiju has been awarded Microsoft MVP status five times. He is a regular speaker at various technology conferences.