Реализация алгоритма распределённого консенсуса Raft: запись стрима от Anthony De Meulemeester.
🌐 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Implementing Raft Consensus For GGcache In Golang
► Join my Discord community for free education 👉 https://discord.com/invite/bDy8t4b3Rz
► Become a Patreon for exclusive tutorials👉 https://www.patreon.com/anthonygg_
► Follow me on Twitter 👉 https://twitter.com/anthdm
► Follow me on GitHub 👉 https://…
► Become a Patreon for exclusive tutorials👉 https://www.patreon.com/anthonygg_
► Follow me on Twitter 👉 https://twitter.com/anthdm
► Follow me on GitHub 👉 https://…
👍4🔥4
Forwarded from Библиотека программиста | программирование, кодинг, разработка
TFTDS: 18 подробных лекций про отказоустойчивость в распределенных системах от Романа Липовского:
1. Модель распределенной системы.
2. Линеаризуемость. Репликация регистра, алгоритм ABD.
3. Atomic Broadcast, State Machine Replication, Consensus.
4. Невозможность консенсуса, теорема FLP.
5. Single-Decree Paxos
6. Multi-Paxos.
7. RAFT.
8. Made Live.
9. Exabyte-scale KV & DFS.
10. Спецификация распределённой системы. TLA+.
11. Транзакции, изоляция транзакций, 2PL и SI.
12. Распределенные транзакции в Google Spanner.
13. Детерминированные распределенные транзакции (Calvin).
14. Византийские отказы.
15. PBFT.
16. Bitcoin.
17. HotStuff.
18. Итоги
🌐 Смотреть
1. Модель распределенной системы.
2. Линеаризуемость. Репликация регистра, алгоритм ABD.
3. Atomic Broadcast, State Machine Replication, Consensus.
4. Невозможность консенсуса, теорема FLP.
5. Single-Decree Paxos
6. Multi-Paxos.
7. RAFT.
8. Made Live.
9. Exabyte-scale KV & DFS.
10. Спецификация распределённой системы. TLA+.
11. Транзакции, изоляция транзакций, 2PL и SI.
12. Распределенные транзакции в Google Spanner.
13. Детерминированные распределенные транзакции (Calvin).
14. Византийские отказы.
15. PBFT.
16. Bitcoin.
17. HotStuff.
18. Итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍1
Embedding — ловушка, в которую разработчики попадают при переходе на Go с объектно-ориентированного языка, такого как Java.
Вдохновленный постом с Reddit, Zach Musgrave показывает, как слишком сильное увлечение объектно-ориентированными идеями может привести к трудно отслеживаемым ошибкам.
Читать
Вдохновленный постом с Reddit, Zach Musgrave показывает, как слишком сильное увлечение объектно-ориентированными идеями может привести к трудно отслеживаемым ошибкам.
Читать
Reddit
From the golang community on Reddit
Explore this post and more from the golang community
👍9
Николай Тузов, Александр Бруяко (сеньор Go-разработчик в Avito) и Денис Фетинин (сеньор разработчик в Lamoda, Go community lead) обсуждают пет-проекты в жизни разработчика:
— какие пет-проекты мы делали, для чего и каковы результаты;
— является ли их наличие/отсутствие плюсом/минусом на собеседовании, что вообще полезного они дают?
— как находить идеи и время для пет-проектов?
— что НЕ надо в них делать
и другое.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🔗 Репозиторий
🔗 Документация
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - learning-cloud-native-go/myapp: 🚀 How to build a Dockerized RESTful API application using Go.
🚀 How to build a Dockerized RESTful API application using Go. - learning-cloud-native-go/myapp
👍18
Обзор уязвимости в Go-библиотеке golang/net/html, которая может привести к XSS (Cross-Site Scripting). Автор получил за нее 3 133 доллара от Google.
🌐 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
$3,133.70 XSS in golang's net/html library - My first Google bug bounty
📧 Subscribe to BBRE Premium: https://bbre.dev/premium
✉️ Sign up for the mailing list: https://bbre.dev/nl
📣 Follow me on twitter: https://bbre.dev/tw
This video is a writeup of a vulnerability I found in Google's golang/net/html library that could lead…
✉️ Sign up for the mailing list: https://bbre.dev/nl
📣 Follow me on twitter: https://bbre.dev/tw
This video is a writeup of a vulnerability I found in Google's golang/net/html library that could lead…
😁8👍7
Разбираемся, как GoReleaser помогает создавать сборки для нескольких платформ и менеджеров пакетов, как настроить его для создания SBOM и как запустить его для сборки и публикации встроенных двоичных файлов и пакетов.
Читать
Читать
Kosli
How to Publish Your Golang Binaries with Goreleaser
Discover how to use Goreleaser to easily publish your Golang binaries. Automate your build and deployment pipeline for faster, more reliable releases.
👍7
Разработка e-commerce проекта JSON API на Go с использованием JWT-аутентификации, PostgreSQL и Docker: пополняемая серия видеоруководств от Anthony De Meulemeester.
🌐 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Complete JSON API project in Golang (JWT, Postgres, and Docker)
Share your videos with friends, family, and the world
👍3👏1
Полезные мысли относительно тестирования в Go и обзор того, как на самом деле работает
Читать
go test
.Читать
bryce.is/writing/code
go test and parallelism
I was recently debugging an issue in some integration-style Go tests which made me realize that I didn't have a very deep understanding of how parallelism works when using `go test`.
🔥1
https://github.com/knadh/koanf
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - knadh/koanf: Simple, extremely lightweight, extensible, configuration management library for Go. Supports JSON, TOML,…
Simple, extremely lightweight, extensible, configuration management library for Go. Supports JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper. - knadh/koanf
⚡10👍6
https://github.com/charmbracelet/log
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - charmbracelet/log: A minimal, colorful Go logging library 🪵
A minimal, colorful Go logging library 🪵. Contribute to charmbracelet/log development by creating an account on GitHub.
👍11
Forwarded from Библиотека программиста | программирование, кодинг, разработка
ByteByteGo_LinkedIn_PDF.pdf
37.8 MB
#проектирование_систем
Бесплатная книга по системному проектированию
По большому счету, это расширенная и углубленная версия рассылки ByteByteGo от Alex Xu и команды.
Бесплатная книга по системному проектированию
По большому счету, это расширенная и углубленная версия рассылки ByteByteGo от Alex Xu и команды.
👍15🔥3
Серии коротких и полезных заметок для Go-разработчика
📌 Mastering Go Concurrency:
— With Fanout and Goroutines
— Fan in With Channels
— Synchronizing Critical Sections With Mutex
— Decoupling Data Transfer With Buffered Channels
— Running Background Tasks with Goroutines
📌 Mastering Go Application Design
— HTTP Servers
— HTTP Path Parameters
📌 Mastering Go Concurrency:
— With Fanout and Goroutines
— Fan in With Channels
— Synchronizing Critical Sections With Mutex
— Decoupling Data Transfer With Buffered Channels
— Running Background Tasks with Goroutines
📌 Mastering Go Application Design
— HTTP Servers
— HTTP Path Parameters
Kyle Felter
Mastering Concurrency in Go: With Fanout and Goroutines (Part 1)
Part 1 , Part 2 , Part 3 , Part 4 , Part 5
Goroutines can be used to take advantage of CPUs with multiple processors. Starting a Goroutine using the “go” keyword, will start execution on a thread in parallel if a thread is available. You will need to make…
Goroutines can be used to take advantage of CPUs with multiple processors. Starting a Goroutine using the “go” keyword, will start execution on a thread in parallel if a thread is available. You will need to make…
👍4
🔥3👍1
Николай Тузов рассказывает и показывает, почему интерфейсы лучше описывать в месте их использования.
Смотреть
Смотреть
YouTube
Почему интерфейсы лучше размещать в месте использования - GoLang best practices
Почему важно описывать интерфейсы не рядом с реализацией, а в месте использования.
----
❤️ Если у вас есть желание поддержать развитие канала:
Секретный телеграм-канал:
- В рублях: https://t.me/+1UPXV_DGnG1mODJi
- В евро: https://t.me/+hedI8LevYTc5MDM6
…
----
❤️ Если у вас есть желание поддержать развитие канала:
Секретный телеграм-канал:
- В рублях: https://t.me/+1UPXV_DGnG1mODJi
- В евро: https://t.me/+hedI8LevYTc5MDM6
…
👍13❤1🔥1