Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🦸⚡ 9 способов настройки градиента цели для поддержания мотивации
Разбираемся, как настроить себя идти до конца, преодолевая препятствия и лень.
Читать статью
#саморазвитие
Разбираемся, как настроить себя идти до конца, преодолевая препятствия и лень.
Читать статью
#саморазвитие
🔥1🥱1
This media is not supported in your browser
VIEW IN TELEGRAM
🧰fx долгое время был полезным инструментом для просмотра JSON-файлов, но за дело взялся SRE из Google Антон Медведев.
👨🔧Антон переписал fx с нуля, добавив новый тематический вид TUI, поиск по регулярным выражениям, нечеткий поиск и поддержку «даже самых массивных JSON-файлов».
🤩Поистине крутой инструмент и отличный пример использования преимуществ Go.
🔗fx 30.0.0
👨🔧Антон переписал fx с нуля, добавив новый тематический вид TUI, поиск по регулярным выражениям, нечеткий поиск и поддержку «даже самых массивных JSON-файлов».
🤩Поистине крутой инструмент и отличный пример использования преимуществ Go.
🔗fx 30.0.0
👍21🔥8
Практический взгляд на пакет slogtest
В пакете slog есть обработчик, который определяет формат вывода логов по умолчанию: один выводит JSON, а другой key=value. В дополнение к ним slog позволяет относительно легко создать кастомные обработчики. Если хотите погрузиться в тему подробнее, есть целое руководство по написанию последних.
Но как протестировать этот самый кастомный обработчик? На помощь приходит пакет testing/slogtest. Он очень прост в использование и помогает среди прочего убедиться, что ваш обработчик соблюдает все необходимые правила. Под катом — практический взгляд на достоинства и недостатки тестирования обработчика с помощью slogtest👇
🔗 Читать
В пакете slog есть обработчик, который определяет формат вывода логов по умолчанию: один выводит JSON, а другой key=value. В дополнение к ним slog позволяет относительно легко создать кастомные обработчики. Если хотите погрузиться в тему подробнее, есть целое руководство по написанию последних.
Но как протестировать этот самый кастомный обработчик? На помощь приходит пакет testing/slogtest. Он очень прост в использование и помогает среди прочего убедиться, что ваш обработчик соблюдает все необходимые правила. Под катом — практический взгляд на достоинства и недостатки тестирования обработчика с помощью slogtest👇
🔗 Читать
GitHub
example/slog-handler-guide/README.md at master · golang/example
Go example projects. Contribute to golang/example development by creating an account on GitHub.
👍10🤔1
💬Есть ли у вас собственный проект на Go с открытым исходным кодом? Неважно, где и как вы его используете: для рабочих проектов или в личных целях. Это в любом случае интересно. Если их несколько, расскажите об одном, который больше всего достоин внимания.
🫶Ждем ваши проекты в комментариях👇
#инструменты
🫶Ждем ваши проекты в комментариях👇
#инструменты
👍13🌚1
Доклад «Как заставить вашу базу-данных держать 20K RPS, варианты масштабирования и их минусы» о том, как правильно скейлить вашу БД от 1 RPS до 20К RPS, какие подходы к масштабированию существуют и какие неочевидные минусы есть в этих подходах.
Доклад «RoaringBitmap: что это такое и как мы это используем» о том, что такое битмапы и как устроены RoaringBitmap, как с ними работать в Go и как это используется в Ozon при работе с сегментами.
Доклад «Protocol Buffers: про то что все знают или не знают» про protobuf: типы данных, сообщения, нумерация полей, перечисления, коллекции, возможности безопасного обновления контракта и многое другое.
⏱️Таймкоды:
5:15 Приветствие
7:13 «Как заставить вашу БД держать 20к RPS: варианты масштабирования и их минусы» - Дмитрий Логовский
8:22 1. Репликация
19:09 2. Партиционирование
25:19 3. Шардирование
31:09 Вопросы
44:21 «RoaringBitmap: что это и как мы это используем» — Антон Коновалов
45:55 1. Что такое битмапы
51:01 2. При решении каких задач мы используем bitmap в отделе «Сегменты и триггерные коммуникации»
58:52 Как написать свой маленький bitset на Go
1:08:12 3. RoaringBitmap
1:19:20 Вопросы
1:32:46 «Protocol Buffers: про то, что все знают или не знают» — Владислав Сидоров
1:33:09 Введение
1:35:55 Style guide
1:37:36 Скалярные типы
1:39:00 Enum'ы
1:40:05 Коллекции
1:42:32 Демонстрация
1:48:17 Базовые правила
2:02:05 OneOf
2:05:30 Вопросы
2:17:20 QR с фидбеком
#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤1
⚡️Команда Go наконец-то представила свою позицию относительно организации модуля Go
Распространенный вопрос, который возникает у начинающих Go-разработчиков: «Как организовать проект?» с точки зрения расположения файлов и каталогов.
Цель документа — предоставить некоторые рекомендации, которые помогут ответить на этот вопрос. Чтобы максимально эффективно его использовать, убедитесь, что вы знакомы с основами модулей Go.
Распространенный вопрос, который возникает у начинающих Go-разработчиков: «Как организовать проект?» с точки зрения расположения файлов и каталогов.
Цель документа — предоставить некоторые рекомендации, которые помогут ответить на этот вопрос. Чтобы максимально эффективно его использовать, убедитесь, что вы знакомы с основами модулей Go.
👍45🔥12
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥65🥱28❤6👍3😁3
$
go get modernc.org/sqlite@none
Эта команда удалит модуль из go.mod.
#tip
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63❤7🙏6🌚1
⚒️Failsafe-go — новая библиотека для создания отказоустойчивых Go-приложений. Она позволяет обернуть код различными «политиками», которые можно комбинировать и составлять по мере необходимости. Политики включают: Retry, Circuit Breaker, Rate Limiter, Timeout, Bulkhead, and Fallback.
👉 Подробнее
👉 Подробнее
Failsafe-go
Policies
Failsafe-go website
👍15🔥5
🌐 Cross-origin resource sharing (CORS) — механизм современных браузеров, который позволяет предоставить веб-страницам доступ к ресурсам другого домена.
Eli Bendersky разбирается с CORS и показывает, что нужно знать Go-разработчику про этот механизм при разработке веб-приложений.
🔗 Читать
Eli Bendersky разбирается с CORS и показывает, что нужно знать Go-разработчику про этот механизм при разработке веб-приложений.
🔗 Читать
👍11❤1
💬Если бы вы начали разработку крупномасштабного веб-приложения на Go с нуля со всеми новомодными фичами, какой фреймворк вы бы использовали?
#холивар
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Forwarded from Библиотека шарписта | C#, F#, .NET, ASP.NET
👀 Повышаем качество код-ревью: 7 полезных советов
В данной статье мы рассмотрим 7 практических советов, следуя которым можно значительно повысить качество проверки кода.
🔗Читать статью
🔗Зеркало
В данной статье мы рассмотрим 7 практических советов, следуя которым можно значительно повысить качество проверки кода.
🔗Читать статью
🔗Зеркало
👍7😁2
🤔Если эта идея звучит знакомо, возможно, вы уже столкнулись с RoadRunner, еще одним сервером PHP-приложений на базе Go, который использует совершенно другой подход.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤1👍1
Вас ждут темы, касающиеся паттернов микросервисной архитектуры и DI. Ну и не обошлось без Go-собесов.
🌐 Микросервисная архитектура для собеседования: Transactional outbox
🌐 Dependency Injection на примере Uber fx
🌐 Микросервисная архитектура: Circuit Breaker
🌐 Открытое собеседование на Go-разаботчика, часть 1
🌐 Собеседование на Go-разаботчика, System Design
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
🚀В новом выпуске Game Bytes от GitHub упомянуты несколько игр и инструментов для разработки игр, которые написаны на языке Go. И это не может не радовать.
📌Вот несколько упомянутых в статье инструментов, которые использовались в разработке:
🔧Ebitengine — игровой движок 2D, написанный на Go.
🔧Oto — низкоуровневая Go-библиотека для воспроизведения звука на нескольких платформах.
🔧Tmx — парсер TMX, написанный на Go.
Подробнее👇
📌Вот несколько упомянутых в статье инструментов, которые использовались в разработке:
🔧Ebitengine — игровой движок 2D, написанный на Go.
🔧Oto — низкоуровневая Go-библиотека для воспроизведения звука на нескольких платформах.
🔧Tmx — парсер TMX, написанный на Go.
Подробнее👇
GitHub
GitHub - hajimehoshi/ebiten: Ebitengine - A dead simple 2D game engine for Go
Ebitengine - A dead simple 2D game engine for Go. Contribute to hajimehoshi/ebiten development by creating an account on GitHub.
❤4🔥2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🤩Game Bytes — ежемесячная серия, посвященная миру разработки игр на GitHub, в которой представлены обновления игровых движков, игры с открытым исходным кодом, моды, карты и многое другое.
🔥Knight Dreams — бесконечная аркада на JavaScript и, абсолютно заслуженно, игра месяца.
📌Обновления игр и игровых движков:
🎮Roboden — изобретательная стратегия в реальном времени. В последнем выпуске представлена новая среда Inferno с новыми угрозами.
🎮Aaaaxy — 2D-платформер-головоломка, который чертовски сложно объяснить, но команда GitHub сделала это.
🎮Crazee Rider — гонки на мотоциклах, подобные игре 80-х годов. Почему бы не окунуться немного в прошлое?
⚡️Обновлен мод Scavengers в Beyond All Reason. Из анонса вы узнаете не только о новом игровом процессе, но и о тяжелой работе, проделанной при разработке мода.
⚡️Unreal Engine 5.3 (хотя исходный код не открыт, подписчики имеют доступ к нему через GitHub).
📌Игровые новости, свежие карты, моды, инструменты и многое другое читайте в статье.
#разработкаигр
🔥Knight Dreams — бесконечная аркада на JavaScript и, абсолютно заслуженно, игра месяца.
📌Обновления игр и игровых движков:
🎮Roboden — изобретательная стратегия в реальном времени. В последнем выпуске представлена новая среда Inferno с новыми угрозами.
🎮Aaaaxy — 2D-платформер-головоломка, который чертовски сложно объяснить, но команда GitHub сделала это.
🎮Crazee Rider — гонки на мотоциклах, подобные игре 80-х годов. Почему бы не окунуться немного в прошлое?
⚡️Обновлен мод Scavengers в Beyond All Reason. Из анонса вы узнаете не только о новом игровом процессе, но и о тяжелой работе, проделанной при разработке мода.
⚡️Unreal Engine 5.3 (хотя исходный код не открыт, подписчики имеют доступ к нему через GitHub).
📌Игровые новости, свежие карты, моды, инструменты и многое другое читайте в статье.
#разработкаигр
🔥5👍2
🤔Видишь такое и думаешь: «Зачем тогда использовать Go, если у него нет будущего?». Согласны?
😎На Хабре, кстати, недавно появился любопытный перевод, который не похож на пресловутые «Rust vs Go». Автор использует одну и ту же задачу и популярные библиотеки для обоих языков, поэтому в нем могут быть некоторые детали, на которых не акцентировали внимание в других сравнениях.
😎На Хабре, кстати, недавно появился любопытный перевод, который не похож на пресловутые «Rust vs Go». Автор использует одну и ту же задачу и популярные библиотеки для обоих языков, поэтому в нем могут быть некоторые детали, на которых не акцентировали внимание в других сравнениях.
👍3⚡1