Библиотека Go (Golang) разработчика
2.63K subscribers
290 photos
96 videos
29 files
354 links
Полезные материалы по всему, что может быть полезно Golang разработчику. По всем вопросам @evgenycarter
Download Telegram
Distributed_Services_with_Go.pdf
5.2 MB
Distributed Services with Go
Your Guide to Reliable, Scalable, and Maintainable Systems
Travis Jeffery (2021)

This is the book for Gophers who want to learn how to build distributed systems. You know the basics of Go and are eager to put your knowledge to work. Build distributed services that are highly available, resilient, and scalable. This book is just what you need to apply Go to real-world situations. Level up your engineering skills today.

👉 @golang_lib
👍2
Как сделать api на golang?

Вы можете использовать net/http пакет чтобы сделать GET или POST API запрос на Golang, ниже пример кода как пример:

package main

import (
"fmt"
"io/ioutil"
"log"
"net/http"
)

func main() {
response, err := http.Get("https://вашсайт.ru/api/thread/latest")

if err != nil {
panic(err)
}

defer response.Body.Close()

// Распаковать ответ
data, err := ioutil.ReadAll(response.Body)
if err != nil {
log.Fatal(err)
}

// Вывести ответ как строку
fmt.Println(string(data))
}

👉 @golang_lib
👍1👎1
Telegram Бот на Golang

Обзор проекта
Проектируем Архитектуру Telegram Бота
Разработка API Клиента (SDK библиотеки)
Базовая структура проекта
Генерируем ссылку авторизации
Сервер авторизации. Подключаем BoltDB
Система конфигов и обработка ошибок
Деплоймент. DigitalOcean. CI/CD

👉 @golang_lib
👍2
Go и плагины

Go многими воспринимается как средство для написания микросервисов, тем не менее, сам он является языком общего назначения и позволяет писать приложения любого рода, в том числе, поддерживающие модули расширения.

Примерно год назад передо мной встала задача добавить поддержку плагинов в приложение на Go. Задача стояла не особо остро, и руки до решения дошли только сейчас. Ответ, однако, оказался не столь очевидным, сколь хотелось бы. Идеального решения, как по мне, нет, поэтому попытаюсь максимально объективно рассмотреть все три имеющихся.

👉 @golang_lib
👍2
В этой статье представлено TimingWheel в go-zero, которое позволяет разработчикам планировать множество отложенных задач.

https://faun.pub/implement-a-timing-wheel-for-millions-of-concurrent-tasks-942c8d9e4abe

👉 @golang_lib
👍1
Adam_Woodbeck_Network_Programming_with_Go_Learn_to_Code_Secure_and.pdf
3.9 MB
Network Programming with Go: Code Secure and Reliable Network Services from Scratch
Автор: Adam Woodbeck (2021)

В книге описана теория и практика использования Go для написания безопасного, читаемого и готового к работе сетевого кода. В первых главах вы узнаете основы работы в сети и маршрутизации трафика, затем примените полученные знания на практике.
 
По мере продвижения вы изучите сетевые протоколы более высокого уровня и напишете приложения, которые безопасно взаимодействуют с серверами, клиентами и API-интерфейсами по сети с использованием TLS.

Кроме того, вы узнаете фундаментальные основы TCP/IP, методы обеспечения надежности связи на уровне сокетов, способы использования обработчиков и middleware, инструменты для включения аутентификации и шифрования в приложения с использованием TLS, методы сериализации данных для хранения или передачи данных, подходы к настройке приложения для работы в облаке и многое другое.

👉 @golang_lib
👍2
Как Uber сэкономил 70 тысяч ядер благодаря полуавтоматической настройке сборки мусора

В рамках мер повышения рентабельности наша команда недавно занялась снижением затрат на вычислительные мощности посредством увеличения их эффективности. Один из самых значимых вкладов был внесён в области оптимизации GOGC. В этом посте мы хотим поделиться высокоэффективным, малоопасным, крупномасштабным полуавтоматизированным механизмом настройки сбора мусора в Go.

👉 @golang_lib
👍1
GO приложение в кластере k8s

Kubernetes сегодня — звезда среди систем оркестровки и контейнеризации приложений. Важно понимать, как с ним работать. Поделюсь примером демонстрационного api приложения, которое написано на golang, и покажу способы взаимодействия с ним.

Но сначала — страшная история о том, как я жил без него. Много лет назад, в начале моей карьеры, когда ещё не появился kubernetes, доставка кода до production была весьма проблемной задачей. Бывало так, что создание нового приложения для меня начиналось не с работы в моей любимой IDE, а с заказа процессора, материнской платы, и всё это собиралось вручную. Затем я вставлял сервер в стойку, настраивал порты на cisco L3 маршрутизаторе. И это была только начальная фаза. После этого приходилось новоиспеченную node подключать к кластеру proxmox, накатывать операционную систему, ставить nginx и проводить ещё множество разных настроек.

👉 @golang_lib
👍1
Hands-On High Performance with Go
Автор: Bob Strecansky (2020)

Go - это простой в написании язык, популярный среди разработчиков благодаря своим фичам, таким как параллелизм, переносимость и способность снижать сложность. Эта книга о Golang научит вас создавать идиоматический код Go, который будет многоразовым и высокопроизводительным.

Во время чтения книги вы:
✔️Научитесь эффективно организовывать данные и управлять ими с помощью кластеров и очередей задач;
✔️Изучите часто применяемые структуры данных и алгоритмы Go;
✔️Напишете анонимные функции в Go;
✔️Научитесь развертывать, мониторить и итерировать программы с упором на производительность;
✔️Погрузитесь в управление памятью и параллелизм CPU и GPU в Go.

Скачать

👉 @golang_lib
👍1