ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Go for DevOps: Learn how to use the Go language to automate servers, the cloud, Kubernetes, GitHub, Packer, and Terraform

دانلود کتاب برو به DevOps: یاد بگیرید که چگونه از زبان Go برای خودکار سازی سرورها ، ابر ، Kubernetes ، Github ، Packer و Terraform استفاده کنید

Go for DevOps: Learn how to use the Go language to automate servers, the cloud, Kubernetes, GitHub, Packer, and Terraform

مشخصات کتاب

Go for DevOps: Learn how to use the Go language to automate servers, the cloud, Kubernetes, GitHub, Packer, and Terraform

ویرایش:  
نویسندگان: ,   
سری:  
ISBN (شابک) : 9781801818896 
ناشر: Packt Publishing 
سال نشر: 2022 
تعداد صفحات: 634 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 9 مگابایت 

قیمت کتاب (تومان) : 77,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 1


در صورت تبدیل فایل کتاب Go for DevOps: Learn how to use the Go language to automate servers, the cloud, Kubernetes, GitHub, Packer, and Terraform به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب برو به DevOps: یاد بگیرید که چگونه از زبان Go برای خودکار سازی سرورها ، ابر ، Kubernetes ، Github ، Packer و Terraform استفاده کنید نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی درمورد کتاب به خارجی



فهرست مطالب

Cover
Title Page
Copyright
Dedication
Contributors
Table of Contents
Preface

Section 1: Getting Up and Running with Go
Chapter 1: Go Language Basics
____Technical requirements
____Using the Go Playground
____Utilizing Go packages
________Declaring a package
________Importing a package
________Using a package
________Package name conflicts
________Packages must be used
________A Go Hello World
____Using Go\'s variable types
________Go\'s types
________Declaring variables
________Variable scopes and shadowing
________Function/statement variable must be used
____Looping in Go
________C style
________Removing the init statement
________Remove the post statement too and you have a while loop
________Creating an infinite loop
____Using conditionals
________if statements
________else
____Learning about functions
________Returning multiple values and named results
________Variadic arguments
________Anonymous functions
____Defining public and private
____Using arrays and slices
________Arrays
________Slices
________Extracting all values
________Understanding maps
________Declaring a map
________Accessing values
________Adding new values
________Extracting all values
____Understanding Go pointers
________Memory addresses
________Function arguments are copies
________Pointers to the rescue
____Getting to know about structs
________Declaring a struct
________Declaring a custom type
________Custom struct types
________Adding methods to a type
________Changing a field\'s value
________Changing a field\'s value in a method
________Constructors
____Comprehending Go interfaces
________Defining an interface type
________Important things about interfaces
________The blank interface – Go\'s universal value
________Type assertion
____Summary

Chapter 2: Go Language Essentials
____Handling errors in Go
________Creating an error
________Using an error
________Creating named errors
________Custom errors
________Wrapping errors
____Utilizing Go constants
________Declaring a constant
________Enumeration via constants
________Printing enumerators
____Using defer, panic, and recover
________defer
________panic
________recover
____Utilizing goroutines for concurrency
________Starting a goroutine
________Synchronization
________WaitGroups
________Channels
________Sending/receiving
________select statements
________Channels as an event signal
________Mutexes
________RWMutex
____Understanding Go\'s Context type
________Using a Context to signal a timeout
________Honoring a context when receiving
________Context in the standard library
________Context to pass values
________Best practices
____Utilizing Go\'s testing framework
________Creating a basic test file
________Creating a simple test
________Table Driven Tests (TDT)
________Creating fakes with interfaces
________Third-party testing packages
____Generics – the new kid on the block
________Type parameters
________Using type constraints
________We could do better with constraints
________Current built-in constraints
________Type constraints with methods
________Adding type parameters to struct types
________Specifying the type when calling a generic function
________Gotchas to watch for
________When to use generics
____Summary

Chapter 3: Setting Up Your Environment
____Technical requirements
____Installing Go on your machine
________macOS installation using the package installer
________macOS installation via Homebrew
________Windows installation using MSI
________Linux
________Other platforms
________A note on Go compiler version compatibility
____Building code locally
________Creating a module directory and go.mod file
________Updating a module when adding dependencies
________Adding a hello world
________Running our first program
____Summary

Chapter 4: Filesystem Interactions
____All I/O in Go are files
________I/O interfaces
____Reading and writing to files
________Reading local files
________Writing local files
________Reading remote files
____Streaming file content
________Stdin/Stdout/Stderr are just files
________Reading data out of a stream
________Writing data into a stream
____OS-agnostic pathing
________What OS/platform am I running?
________Using filepath
________Relative and absolute pathing
____OS-agnostic filesystems
________io.fs filesystems
________embed
________Walking our filesystem
________The io/fs future
____Summary

Chapter 5: Using Common Data Formats
____Technical requirements
____CSV files
________Basic value separation using the strings package
________Using the encoding/csv package
________Using excelize when dealing with Excel
____Popular encoding formats
________The Go field tags
________JSON
________YAML encoding
____Summary

Chapter 6: Interacting with Remote Data Sources
____Technical requirements
____Accessing SQL databases
________Connecting to a Postgres database
________Querying a Postgres database
________Null values
________Writing data to Postgres
________Transactions
________Postgres-specific types
________Other options
________Storage abstractions
________Case study – data migration of an orchestration system – Google
____Developing REST services and clients
________REST for RPCs
____Developing gRPC services and clients
________Protocol buffers
________Stating the prerequisites
________Generating your packages
________Writing a gRPC client
________Writing a gRPC server
________Creating a server binary
________Creating a client binary
________Company-standard RPC clients and servers
____Summary

Chapter 7: Writing Command-Line Tooling
____Technical requirements
____Implementing application I/O
________The flag package
________Custom flags
________Basic flag error handling
________Shorthand flags
________Accessing non-flag arguments
________Retrieving input from STDIN
____Using Cobra for advanced CLI applications
________Code organization
________The optional Cobra generator
________The command package
____Handling OS signals
________Capturing an OS signal
________Using Context to cancel
____Summary

Chapter 8: Automating Command-Line Tasks
____Technical requirements
____Using os/exec to automate local changes
________Determining the availability of essential tools
____Using SSH in Go to automate remote changes
________Connecting to another system
____Designing safe, concurrent change automations
________Components of a change
________Writing a concurrent job
________Case study – Network rollouts
____Writing a system agent
________Designing a system agent
________Implementing Install
________Implementing SystemPerf
____Summary

Section 2: Instrumenting, Observing, and Responding

Chapter 9: Observability with OpenTelemetry
____Technical requirements
____An introduction to OpenTelemetry
________Reference architecture for OpenTelemetry
________OpenTelemetry components
____Logging with context
________Our first log statement
________Structured and leveled logs with Zap
________Ingesting, transforming, and exporting logs using OpenTelemetry
____Instrumenting for distributed tracing
________The life cycle of a distributed trace
________Correlating traces and logs
________Adding log entries to spans
____Instrumenting for metrics
________The life cycle of a metric
________Client/server metrics with OpenTelemetry
____Alerting on metrics abnormalities
________Adding and configuring Alertmanager
____Summary

Chapter 10: Automating Workflows with GitHub Actions
____Technical requirements
____Understanding the basics of GitHub Actions
________Exploring the components of a GitHub Action
________How to build and trigger your first GitHub Action
____Building a continuous integration workflow
________Introducing the tweeter command-line tool
________Goals of the tweeter continuous integration workflow
________Continuous integration workflow for tweeter
____Building a release workflow
________GitHub releases
________Release automation for tweeter
____Creating a custom GitHub Action using Go
________Basics of custom actions
________Goals for the tweeter custom GitHub Action
________Creating the tweeter action
____Publishing a custom Go GitHub Action
________The basics of publishing actions
________Goals for publishing the tweeter custom action
________Managing action semantic versioning
________Publishing the tweeter action to the GitHub Marketplace
____Summary

Chapter 11: Using ChatOps to Increase Efficiency
____Technical requirements
____Environment architecture
____Using an Ops service
____Building a basic chatbot
____Creating event handlers
________Case Study – Regexes versus Lexer and Parser
____Creating our Slack application
________Running the applications
____Summary

Section 3: Cloud ready Go

Chapter 12: Creating Immutable Infrastructure Using Packer
____Technical requirements
____Building an Amazon Machine Image
________Setting up an AWS source
________Defining a build block and adding some provisioners
________Executing a Packer build
____Validating images with Goss
________Creating a spec file
________Adding a Packer provisioner
____Customizing Packer with plugins
________Writing your own plugin
________Releasing a plugin
________Using our plugin in a build
________Debugging a Packer plugin
____Summary

Chapter 13: Infrastructure as Code with Terraform
____Technical requirements
____An introduction to IaC
____Understanding the basics of Terraform
________Initializing and applying infrastructure specs using Terraform
____Understanding the basics of Terraform providers
________Defining and provisioning cloud resources
____Building a pet store Terraform provider
________Resources for building custom providers
________The pet store provider
________Publishing custom providers
____Summary

Chapter 14: Deploying and Building Applications in Kubernetes
____Technical requirements
____Interacting with the Kubernetes API
________Creating a KinD cluster
________Using kubectl to interact with the API
____Deploying a load-balanced HTTP application using Go
________It all starts with main
________Creating a ClientSet
________Creating a namespace
________Deploying the application into the namespace
________Creating the NGINX deployment
________Waiting for ready replicas to match desired replicas
________Creating a Service to load-balance
________Creating an ingress to expose our application on a local host port
________Streaming pod logs for the NGINX application
____Extending Kubernetes with custom resources and operators
________Custom Resource Definitions
________Controllers
________Standing on the shoulders of giants
____Building a pet store operator
________Initializing the new operator
____Summary

Chapter 15: Programming the Cloud
____Technical requirements
____What is the cloud?
____Learning the basics of the Azure APIs
________A background on cloud APIs and SDKs
________Microsoft Azure identity, RBAC, and resource hierarchy
________Creating an Azure account and accessing the API
____Building infrastructure using Azure Resource Manager
________Azure SDK for Go
________Setting up your local environment
________Building an Azure virtual machine
____Using provisioned Azure infrastructure
________Building an Azure Storage account
____Summary

Chapter 16: Designing for Chaos
____Technical requirements
____Using overload prevention mechanisms
________Case study – AWS client requests overwhelm the network
________Using circuit breakers
________Using backoff implementations
________Combining circuit breakers with backoff
____Using rate limiters to prevent runaway workflows
________Case study – Google satellite disk erase
________Channel-based rate limiter
________Token-bucket rate limiter
____Building workflows that are repeatable and never lost
________Building idempotent workflows
________Using three-way handshakes to prevent workflow loss
____Using policies to restrict tools
________Defining a gRPC workflow service
________Creating a policy engine
________Writing a policy
________Cautions on policy engines
____Building systems with an emergency stop
________Understanding emergency stops
________Building an emergency-stop package
________Using the emergency-stop package
________Case study – Google\'s network backbone emergency stop
____Summary

Index
About Packt
Other Books You May Enjoy




نظرات کاربران