Muutke küpsiste eelistusi

E-raamat: Go in Action

  • Formaat: 264 pages
  • Ilmumisaeg: 04-Nov-2015
  • Kirjastus: Manning Publications
  • Keel: eng
  • ISBN-13: 9781638352020
Teised raamatud teemal:
  • Formaat - EPUB+DRM
  • Hind: 41,07 €*
  • * 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: 264 pages
  • Ilmumisaeg: 04-Nov-2015
  • Kirjastus: Manning Publications
  • Keel: eng
  • ISBN-13: 9781638352020
Teised raamatud teemal:

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. 

DESCRIPTION

Many of the normal concerns faced by application developers are amplified by the challenges of web-scale concurrency, real-time performance expectations, multi-core support, and efficiently consuming services without constantly managing I/O blocks. Although it's possible to solve most of these issues with existing languages and frameworks, Go is designed to handle them right out of the box, making for a more natural and productive coding experience. Developed at Google for its own internal use, Go now powers dozens of nimble startups, along with name brands like Canonical, Heroku, SoundCloud, and Mozilla, who rely on highly performant services for their infrastructure.

 





Go in Action introduces the unique features and concepts of the Go language, guiding readers from inquisitive developers to Go gurus. It provides hands-on experience with writing real-world applications including web sites and network servers, as well as techniques to manipulate and convert data at incredibly high speeds. It also goes in-depth with the language and explains the tricks and secrets that the Go masters are using to make their applications perform. For example, it looks at Go's powerful reflection libraries and uses real-world examples of integration with C code.

 





KEY SELLING POINTS

Written by Go developers





Real use cases faced in day-to-day development

Get tricks and tips from experienced Go users

 

AUDIENCE

This book assumes you're a working developer proficient with another language like Java, Ruby, Python, C#, or C++.

 

ABOUT THE TECHNOLOGY

Go is a powerful language that is gaining rapid adoption by companies that want to write fast systems while allowing their developers to use modern programming languages. Go development is sponsored and curated by Google, but has contributors from around the globe.
foreword xi
preface xiii
acknowledgments xiv
About this book xvi
About the cover illustration xix
1 Introducing Go
1(8)
1.1 Solving modern programming challenges with Go
2(5)
Development speed
3(1)
Concurrency
3(2)
Go's type system
5(2)
Memory management
7(1)
1.2 Hello, Go
7(1)
Introducing the Go Playground
8(1)
1.3 Summary
8(1)
2 Go quick-start
9(30)
2.1 Program architecture
10(1)
2.2 Main package
11(2)
2.3 Search package
13(19)
search.go
14(8)
feed.go
22(4)
match.go/default.go
26(6)
2.4 RSS matcher
32(6)
2.5 Summary
38(1)
3 Packaging and tooling
39(18)
3.1 Packages
40(2)
Package-naming conventions
40(1)
Package main
40(2)
3.2 Imports
42(2)
Remote imports
42(1)
Named imports
43(1)
3.3 init
44(1)
3.4 Using Go tools
45(2)
3.5 Going farther with Go developer tools
47(4)
Go vet
47(1)
Go format
48(1)
Go documentation
48(3)
3.6 Collaborating with other Go developers
51(1)
Creating repositories for sharing
51(1)
3.7 Dependency management
52(4)
Vendoring dependencies
52(2)
Introducing gb
54(2)
3.8 Summary
56(1)
4 Arrays, slices, and maps
57(31)
4.1 Array internals and fundamentals
57(8)
Internals
58(1)
Declaring and initializing
58(2)
Working with arrays
60(2)
Multidimensional arrays
62(2)
Passing arrays between functions
64(1)
4.2 Slice internals and fundamentals
65(16)
Internals
65(1)
Creating and initializing
65(3)
Working with slices
68(11)
Multidimensional slices
79(1)
Passing slices between functions
80(1)
4.3 Map internals and fundamentals
81(6)
Internals
81(2)
Creating and initializing
83(1)
Working with maps
84(2)
Passing maps between functions
86(1)
4.4 Summary
87(1)
5 Go's type system
88(40)
5.1 User-defined types
89(3)
5.2 Methods
92(4)
5.3 The nature of types
96(5)
Built-in types
96(1)
Reference types
97(1)
Struct types
98(3)
5.4 Interfaces
101(10)
Standard library
102(2)
Implementation
104(1)
Method sets
105(4)
Polymorphism
109(2)
5.5 Type embedding
111(8)
5.6 Exporting and unexporting identifiers
119(8)
5.7 Summary
127(1)
6 Concurrency
128(30)
6.1 Concurrency versus parallelism
129(3)
6.2 Goroutines
132(7)
6.3 Race conditions
139(3)
6.4 Locking shared resources
142(5)
Atomic functions
142(3)
Mutexes
145(2)
6.5 Channels
147(10)
Unbuffered channels
148(5)
Buffered channels
153(4)
6.6 Summary
157(1)
7 Concurrency patterns
158(26)
7.1 Runner
158(9)
7.2 Pooling
167(10)
7.3 Work
177(6)
7.4 Summary
183(1)
8 Standard library
184(27)
8.1 Documentation and source code
185(2)
8.2 Logging
187(9)
Log package
187(4)
Customized loggers
191(4)
Conclusion
195(1)
8.3 Encoding/Decoding
196(7)
Decoding JSON
196(5)
Encoding JSON
201(1)
Conclusion
202(1)
8.4 Input and output
203(7)
Writer and Reader interfaces
203(2)
Working together
205(3)
Simple curl
208(2)
Conclusion
210(1)
8.5 Summary
210(1)
9 Testing and benchmarking
211(26)
9.1 Unit testing
212(16)
Basic unit test
212(4)
Table tests
216(3)
Mocking calls
219(4)
Testing endpoints
223(5)
9.2 Examples
228(4)
9.3 Benchmarking
232(4)
9.4 Summary
236(1)
index 237
Brian Ketelsen and Erik St. Martin are the organizers of GopherCon an annual conference for Go developers and coauthors of the Go-based Skynet framework. Both Brian and Eric work with Go daily in a high-stakes production setting. William Kennedy is a seasoned software developer, author of the blog GoingGo.Net, and organizer for the Go-Miami and Miami MongoDB meetups.