دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Matt Butcher. Matt Farina
سری:
ISBN (شابک) : 9781633430075
ناشر: Manning
سال نشر: 2016
تعداد صفحات: 294
زبان: english
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 2 Mb
در صورت ایرانی بودن نویسنده امکان دانلود وجود ندارد و مبلغ عودت داده خواهد شد
در صورت تبدیل فایل کتاب Go in Practice به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب به تمرین بروید نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Summary Go in Practice شما را از طریق 70 تکنیک دنیای واقعی در زمینه های کلیدی مانند مدیریت بسته، ارتباطات میکروسرویس و موارد دیگر راهنمایی می کند. این کتابچه راهنمای عملی با پیروی از قالب کتاب آشپزی مسئله/راهحل/بحث، بر مفاهیم اساسی زبان Go استوار است و استراتژیهای خاصی را معرفی میکند که میتوانید در برنامههای روزانه خود از آنها استفاده کنید. خرید کتاب چاپی شامل یک کتاب الکترونیکی رایگان در قالبهای PDF، Kindle و ePub از انتشارات منینگ است. درباره Technology Go ممکن است زبان سیستمی عالی باشد. Go با در نظر گرفتن سادگی، همزمانی و برنامه های کاربردی مدرن ساخته شده است، مجموعه ابزار اصلی برای ساخت سریع برنامه های وب، ابر و سیستم ها را فراهم می کند. اگر زبانی مانند جاوا یا سی شارپ می دانید، شروع کار با Go آسان است. ترفند این است که تکنیک های عملی کثیفی زیر ناخن را پیدا کنید که برای ساخت کد آماده تولید نیاز دارید. درباره Book Go in Practice شما را از طریق ده ها تکنیک دنیای واقعی در زمینه های کلیدی راهنمایی می کند. این کتابچه راهنمای عملی با پیروی از قالب کتاب آشپزی مسئله/راهحل/بحث، بر مفاهیم اساسی زبان Go استوار است و استراتژیهای خاصی را معرفی میکند که میتوانید در برنامههای روزانه خود از آنها استفاده کنید. تکنیکهایی را برای ساخت سرویسهای وب، استفاده از Go در فضای ابری، آزمایش و اشکالزدایی، مسیریابی، برنامههای کاربردی شبکه و موارد دیگر یاد خواهید گرفت. پس از اتمام این کتاب، شما آماده خواهید بود تا برنامه های پیشرفته Go-native را بسازید. ده ها تکنیک خاص و کاربردی Golang استفاده از Go برای devops و clouds نوشتن سرویس های وب و میکروسرویس های RESTful تکنیک های کاربردی وب توسعه دهنده درباره Reader برای توسعه دهندگان باتجربه ای نوشته شده است که قبلاً کاوش Go را آغاز کرده اند و می خواهند از آن به طور موثر در یک محیط تولید استفاده کنند. درباره نویسندگان مت فارینا یک معمار نرم افزار در Deis است. مت بوچر یک مهندس اصلی در گروه فناوری پیشرفته در شرکت Hewlett Packard Enterprise است. آنها هر دو نویسنده، سخنران و مشارکت کنندگان عادی منبع باز هستند. فهرست مطالب بخش 1 - پیشینه و اصول اولیه ورود به Go یک پایه محکم همزمانی در Go قسمت 2 - برنامه های کاربردی کاملاً گرد مدیریت خطاها و وحشت زدایی و آزمایش قسمت 3 - یک رابط برای دریافت برنامه های کاربردی و الگوهای ایمیل شما به عنوان الگوها و الگوهای دریافت ایمیل فرم ها کار با خدمات وب قسمت 4 - انتقال برنامه های کاربردی خود به ابر استفاده از ابر ارتباط بین خدمات ابری بازتاب و تولید کد
Summary Go in Practice guides you through 70 real-world techniques in key areas like package management, microservice communication, and more. Following a cookbook-style Problem/Solution/Discussion format, this practical handbook builds on the foundational concepts of the Go language and introduces specific strategies you can use in your day-to-day applications. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Go may be the perfect systems language. Built with simplicity, concurrency, and modern applications in mind, Go provides the core tool set for rapidly building web, cloud, and systems applications. If you know a language like Java or C#, it's easy to get started with Go; the trick is finding the practical dirt-under-the-fingernails techniques that you need to build production-ready code. About the Book Go in Practice guides you through dozens of real-world techniques in key areas. Following a cookbook-style Problem/Solution/Discussion format, this practical handbook builds on the foundational concepts of the Go language and introduces specific strategies you can use in your day-to-day applications. You'll learn techniques for building web services, using Go in the cloud, testing and debugging, routing, network applications, and much more. After finishing this book, you will be ready to build sophisticated cloud-native Go applications. What's Inside Dozens of specific, practical Golang techniques Using Go for devops and cloudops Writing RESTful web services and microservices Practical web dev techniques About the Reader Written for experienced developers who have already started exploring Go and want to use it effectively in a production setting. About the Authors Matt Farina is a software architect at Deis. Matt Butcher is a Principal Engineer in the Advanced Technology Group at Hewlett Packard Enterprise. They are both authors, speakers, and regular open source contributors. Table of Contents PART 1 - BACKGROUND AND FUNDAMENTALS Getting into Go A solid foundation Concurrency in Go PART 2 - WELL-ROUNDED APPLICATIONS Handling errors and panic Debugging and testing PART 3 - AN INTERFACE FOR YOUR APPLICATIONS HTML and email template patterns Serving and receiving assets and forms Working with web services PART 4 - TAKING YOUR APPLICATIONS TO THE CLOUD Using the cloud Communication between cloud services Reflection and code generation
Go in Practice brief contents contents foreword preface acknowledgments Matt Butcher Matt Farina about this book How the book is organized Code conventions and downloads Author Online Forum about the authors about the cover illustration Part 1 Background and fundamentals 1 Getting into Go 1.1 What is Go? 1.2 Noteworthy aspects of Go 1.2.1 Multiple return values 1.2.2 A modern standard library 1.2.3 Concurrency with goroutines and channels 1.2.4 Go the toolchain—more than a language 1.3 Go in the vast language landscape 1.3.1 C and Go 1.3.2 Java and Go 1.3.3 Python, PHP, and Go 1.3.4 JavaScript, Node.js, and Go 1.4 Getting up and running in Go 1.4.1 Installing Go 1.4.2 Working with Git, Mercurial, and version control 1.4.3 Exploring the workspace 1.4.4 Working with environment variables 1.5 Hello, Go 1.6 Summary 2 A solid foundation 2.1 Working with CLI applications, the Go way 2.1.1 Command-line flags Technique 1 GNU/UNIX-style command-line arguments 2.1.2 Command-line frameworks Technique 2 Avoiding CLI boilerplate code 2.2 Handling configuration Technique 3 Using configuration files Technique 4 Configuration via environment variables 2.3 Working with real-world web servers 2.3.1 Starting up and shutting down a server Technique 5 Graceful shutdowns using manners 2.3.2 Routing web requests Technique 6 Matching paths to content Technique 7 Handling complex paths with wildcards Technique 8 URL pattern matching Technique 9 Faster routing (without the work) 2.4 Summary 3 Concurrency in Go 3.1 Understanding Go’s concurrency model 3.2 Working with goroutines Technique 10 Using goroutine closures Technique 11 Waiting for goroutines Technique 12 Locking with a mutex 3.3 Working with channels Technique 13 Using multiple channels Technique 14 Closing channels Technique 15 Locking with buffered channels 3.4 Summary Part 2 Well-rounded applications 4 Handling errors and panics 4.1 Error handling Technique 16 Minimize the nils Technique 17 Custom error types Technique 18 Error variables 4.2 The panic system 4.2.1 Differentiating panics from errors 4.2.2 Working with panics Technique 19 Issuing panics 4.2.3 Recovering from panics Technique 20 Recovering from panics 4.2.4 Panics and goroutines Technique 21 Trapping panics on goroutines 4.3 Summary 5 Debugging and testing 5.1 Locating bugs 5.1.1 Wait, where is my debugger? 5.2 Logging 5.2.1 Using Go’s logger Technique 22 Logging to an arbitrary writer Technique 23 Logging to a network resource Technique 24 Handling back pressure in network logging 5.2.2 Working with system loggers Technique 25 Logging to the syslog 5.3 Accessing stack traces Technique 26 Capturing stack traces 5.4 Testing 5.4.1 Unit testing Technique 27 Using interfaces for mocking or stubbing Technique 28 Verifying interfaces with canary tests 5.4.2 Generative testing 5.5 Using performance tests and benchmarks Technique 29 Benchmarking Go code Technique 30 Parallel benchmarks Technique 31 Detecting race conditions 5.6 Summary Part 3 An interface for your applications 6 HTML and email template patterns 6.1 Working with HTML templates 6.1.1 Standard library HTML package overview 6.1.2 Adding functionality inside templates Technique 32 Extending templates with functions 6.1.3 Limiting template parsing Technique 33 Caching parsed templates 6.1.4 When template execution breaks Technique 34 Handling template execution failures 6.1.5 Mixing templates Technique 35 Nested templates Technique 36 Template inheritance Technique 37 Mapping data types to templates 6.2 Using templates for email Technique 38 Generating email from templates 6.3 Summary 7 Serving and receiving assets and forms 7.1 Serving static content Technique 39 Serving subdirectories Technique 40 File server with custom error pages Technique 41 Caching file server Technique 42 Embedding files in a binary Technique 43 Serving from an alternative location 7.2 Handling form posts 7.2.1 Introduction to form requests Technique 44 Accessing multiple values for a form field 7.2.2 Working with files and multipart submissions Technique 45 Uploading a single file Technique 46 Uploading multiple files Technique 47 Verify uploaded file is allowed type 7.2.3 Working with raw multipart data Technique 48 Incrementally saving a file 7.3 Summary 8 Working with web services 8.1 Using REST APIs 8.1.1 Using the HTTP client 8.1.2 When faults happen Technique 49 Detecting timeouts Technique 50 Timing out and resuming with HTTP 8.2 Passing and handling errors over HTTP 8.2.1 Generating custom errors Technique 51 Custom HTTP error passing 8.2.2 Reading and using custom errors Technique 52 Reading custom errors 8.3 Parsing and mapping JSON Technique 53 Parsing JSON without knowing the schema 8.4 Versioning REST APIs Technique 54 API version in the URL Technique 55 API version in content type 8.5 Summary Part 4 Taking your applications to the cloud 9 Using the cloud 9.1 What is cloud computing? 9.1.1 The types of cloud computing 9.1.2 Containers and cloud-native applications 9.2 Managing cloud services 9.2.1 Avoiding cloud provider lock-in Technique 56 Working with multiple cloud providers 9.2.2 Dealing with divergent errors Technique 57 Cleanly handling cloud provider errors 9.3 Running on cloud servers 9.3.1 Performing runtime detection Technique 58 Gathering information on the host Technique 59 Detecting dependencies 9.3.2 Building for the cloud Technique 60 Cross-compiling 9.3.3 Performing runtime monitoring Technique 61 Monitoring the Go runtime 9.4 Summary 10 Communication between cloud services 10.1 Microservices and high availability 10.2 Communicating between services 10.2.1 Making REST faster Technique 62 Reusing connections Technique 63 Faster JSON marshal and unmarshal 10.2.2 Moving beyond REST Technique 64 Using protocol buffers Technique 65 Communicating over RPC with protocol buffers 10.3 Summary 11 Reflection and code generation 11.1 Three features of reflection Technique 66 Switching based on type and kind Technique 67 Discovering whether a value implements an interface Technique 68 Accessing fields on a struct 11.2 Structs, tags, and annotations 11.2.1 Annotating structs 11.2.2 Using tag annotations Technique 69 Processing tags on a struct 11.3 Generating Go code with Go code Technique 70 Generating code with go generate 11.4 Summary index Symbols Numerics A B C D E F G H I J K L M N O P Q R S T U V W X Y Back Cover