Forwarded from Библиотека задач по Go | тесты, код, задания
Anonymous Quiz
59%
Хранит горутины, которые готовы к выполнению на процессоре
13%
Выполняет горутины, когда они готовы, и распределяет их между машинами
14%
Переключает горутины между различными ядрами, ожидая их завершения
14%
Обрабатывает блокировки и синхронизирует горутины в очереди
Middle Backend-developer — Удаленно (Москва)
Старший Backend-разработчик — до 485 000 ₽, Удаленно (Москва)
Senior Golang разработчик — от 250 000 ₽, Удаленно (Москва)
GO-разработчик — Удаленно/Офис (Москва/Краснодар)
Старший Backend-разработчик — от 200 000 ₽, Офис/Гибрид (Москва)
Бустер — удалённо (по всему миру)
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔7👍1😢1🎉1
Media is too big
VIEW IN TELEGRAM
Proglib рассказывает свежак в формате рилса
Please open Telegram to view this post
VIEW IN TELEGRAM
😢16👍6
Подключились к внешнему API, всё работает, но тесты — как лотерея: то проходит, то «502». Если это про Вас, пора узнать, как создать фейковый сервер и навести порядок.
import (
"net/http"
"net/http/httptest"
"testing"
"io/ioutil"
)
Он будет эмулировать ответы настоящего API:
fakeServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte(`{"message": "hello, world!"}`))
}))
defer fakeServer.Close()
Выглядеть это будет вот так:
func TestGetMessage(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte(`{"message": "hello from test"}`))
}))
defer server.Close()
msg, err := GetMessage(server.URL)
if err != nil || msg == "" {
t.Errorf("ожидался непустой ответ, получена ошибка: %v", err)
}
}
Фейковый сервер может вернуть и ошибку:
httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusInternalServerError)
}))
Теперь у Вас есть рабочий способ тестировать HTTP-клиенты без внешнего API. Осталось только внедрить это в свои тесты — и забыть, что значит «флак».
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡9👍6
Когда сроки горят, а разработчиков не хватает
Нехватка квалифицированных разработчиков, срывы дедлайнов и перегруз команды — эти проблемы знакомы большинству IT-руководителей. В условиях растущей конкуренции найти баланс между качеством реализации, сроками и бюджетом становится всё сложнее, особенно когда проект требует редких компетенций или быстрого масштабирования.
Решение проблемы — задействовать дополнительные ресурсы на аутсорсе или аутстаффе. Например, обратиться в Proglib. Да-да, мы запустили свою студию веб-разработки!
Что мы предлагаем:
• Опытные специалисты для аутстаффа (frontend, backend, DevOps, UI/UX, PM, BA)
• Полноценная разработка проектов под ключ
• Гибкое масштабирование команды под потребности клиента
• Прозрачная коммуникация и регулярная отчетность
Для каждого проекта формируется индивидуальная команда, исходя из конкретных потребностей заказчика.
Заполните форму, чтобы ускорить свою разработку 👉 https://forms.yandex.ru/u/67e548a4eb614622efa0bcb2/
Нехватка квалифицированных разработчиков, срывы дедлайнов и перегруз команды — эти проблемы знакомы большинству IT-руководителей. В условиях растущей конкуренции найти баланс между качеством реализации, сроками и бюджетом становится всё сложнее, особенно когда проект требует редких компетенций или быстрого масштабирования.
Решение проблемы — задействовать дополнительные ресурсы на аутсорсе или аутстаффе. Например, обратиться в Proglib. Да-да, мы запустили свою студию веб-разработки!
Что мы предлагаем:
• Опытные специалисты для аутстаффа (frontend, backend, DevOps, UI/UX, PM, BA)
• Полноценная разработка проектов под ключ
• Гибкое масштабирование команды под потребности клиента
• Прозрачная коммуникация и регулярная отчетность
Для каждого проекта формируется индивидуальная команда, исходя из конкретных потребностей заказчика.
Заполните форму, чтобы ускорить свою разработку 👉 https://forms.yandex.ru/u/67e548a4eb614622efa0bcb2/
❤1
В Go порядок полей в структуре влияет на размер и эффективность использования памяти. Если не обращать на это внимание, программа будет расходовать память впустую.
Что важно знать:
unsafe.Sizeof()
или инструменты визуализации, чтобы проверить реальный размер.Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Веб-сервер, который настраивает себя сам
Если Вы только начинаете свой путь в веб-разработке, выбор веб-сервера может показаться сложным. Но есть Caddy — решение, которое позволяет сосредоточиться на коде, а не на конфигурации.
Что делает Caddy особенным
➖ Самостоятельно получает и обновляет сертификаты от Let's Encrypt.
➖ Один Caddyfile может заменить 200 строк YAML'а
➖ Написан на Go, расширяется плагинами, запускается где угодно. Даже на тостере с Wi-Fi.
➖ Функциональность из коробки:
• Обратный прокси
• Статическая отдача контента
• Балансировка нагрузки
• Поддержка HTTP/3
• Интеграция с PHP (если это ещё актуально для Ваших задач)
➡️ Попробовать Caddy
🐸 Библиотека Go разработчика #буст
Если Вы только начинаете свой путь в веб-разработке, выбор веб-сервера может показаться сложным. Но есть Caddy — решение, которое позволяет сосредоточиться на коде, а не на конфигурации.
Что делает Caddy особенным
• Обратный прокси
• Статическая отдача контента
• Балансировка нагрузки
• Поддержка HTTP/3
• Интеграция с PHP (если это ещё актуально для Ваших задач)
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡9❤4👍3🤔3🥱2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁27🔥17
Go хвалят за скорость, простоту и tooling. Но автор видео — разработчик с 15+ годами стажа — показывает, что у этой медали есть обратная сторона.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10🥱5🤔2
Если у вас возникали вопросы по Go — архитектурные, синтаксические или просто «что это вообще сейчас было?» — вы по адресу.
📩 Делитесь вопросами в нашей гугл-форме
И мы обязательно на них ответим
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1🤔1
🗺 Карта взаимодействия приложения
Когда проект на Go становится больше пары пакетов, держать в голове связи между функциями — задача неблагодарная.
go-callvis решает эту проблему: он строит интерактивную диаграмму вызовов прямо из кода.
Как установить:
Главная команда:
Это запустит HTTP-сервер по адресу https://localhost:7878/, где можно интерактивно просматривать граф вызовов.
➡️ Репозиторий инструмента
🐸 Библиотека Go разработчика #буст
Когда проект на Go становится больше пары пакетов, держать в голове связи между функциями — задача неблагодарная.
go-callvis решает эту проблему: он строит интерактивную диаграмму вызовов прямо из кода.
Как установить:
go install github.com/ofabry/go-callvis@latest
Главная команда:
go-callvis ./...
Это запустит HTTP-сервер по адресу https://localhost:7878/, где можно интерактивно просматривать граф вызовов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37❤3🔥2
Мы не могли пройти мимо нашумевшего тренда и попросили ИИ перенести Go во вселенную Миядзаки.
Как вам образ? Расскажите в комментариях ↓
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱12👍7
🎧 Cup o' Go: тесты становятся умнее, а рейтинг Go — выше
Что обсудили ведущие на этот раз:
➖ Новый метод T.Output() и хранение артефактов в testing
➖ Новый json/v2 — эксперимент в Go 1.25
➖ Go на 7-м месте в TIOBE
➖ Бенчмаркинг через testing.B.Loop
➡️ Слушать подкаст
🐸 Библиотека Go разработчика #свежак
Что обсудили ведущие на этот раз:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤🔥2😁2❤1
Собрали топовые материалы, которые получили 51 385 сохранений и кликов от наших подписчиков.
Эту подборку мы будем регулярно пополнять, поэтому сохраняйте тонну пользы, чтобы не потерять!
1. Самоучитель по Go для начинающих. Часть 18. Протокол HTTP.
2. Разработка фулстек-приложения на Go (Gin) + React + Postgres + NATS
3. Паттерны многопоточности в Go
4. Секреты внутреннего устройства аллокатора Go
5. sync.Map в Go
6. Итераторы для пагинации API на Go: эффективная обработка данных
7. Обработка ошибок в Go
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤3
🔁 CRDT: мир без конфликтов (почти)
Знаете, что общего у Google Docs, оффлайнового режима в Notion и распределённых баз данных? Они не орут, когда вы и коллеги одновременно меняете одни и те же данные. Это — Conflict-Free Replicated Data Types, и это не магия, а математика + немного храбрости.
➖ Когда стоит использовать:
• Приоритет — доступность, а не мгновенная консистентность.
• Нужна автоматическая синхронизация данных между узлами, даже если они работают оффлайн.
• Система должна быть устойчива к сетевым разделениям (split-brain).
➡️ Подробнее в источнике
🐸 Библиотека Go разработчика #буст
Знаете, что общего у Google Docs, оффлайнового режима в Notion и распределённых баз данных? Они не орут, когда вы и коллеги одновременно меняете одни и те же данные. Это — Conflict-Free Replicated Data Types, и это не магия, а математика + немного храбрости.
• Приоритет — доступность, а не мгновенная консистентность.
• Нужна автоматическая синхронизация данных между узлами, даже если они работают оффлайн.
• Система должна быть устойчива к сетевым разделениям (split-brain).
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5👏4❤1👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33😁12🤔2❤1
🐾 Проклятие или благословение
Вопрос древний, как интернет: помогает ли кошка работать? Или это пушистая диверсия в лапах?
За что кошку можно любить на рабочем месте:
➖ Погладил кота — забыл о дедлайнах. Правда, вместе с дедлайнами можно забыть и о задачах. Но нервы целы.
➖ Когда твой ноутбук превращается в трон для кота, начинаешь задумываться о великих целях... например, купить второй ноутбук.
➖ Кошка никогда не делает ничего лишнего. Хотите продуктивности? Учитесь у мастеров минимализма.
💬 А есть ли минусы у кошек? Делитесь своими мыслями в комментариях👇 Заодно можете покидать своих пушистых помощников 🐈
🐸 Библиотека Go разработчика #междусобойчик
Вопрос древний, как интернет: помогает ли кошка работать? Или это пушистая диверсия в лапах?
За что кошку можно любить на рабочем месте:
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰8😁3🥱1
За минимум строк кода на Go можно собрать работающий HTTP-лоадбалансер с round-robin распределением запросов, health-check'ами и проксированием
Минимальная структура, без лишних internal/ и pkg/, и только нужные папки по мере роста проекта. Практичный взгляд на организацию кода без перегрузки.
Go — это не только простота и скорость компиляции. Здесь собраны 15 причин, почему язык стоит внимания.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
Forwarded from Библиотека задач по Go | тесты, код, задания
Golang разработчик — Удаленно/Гибрид/Офис (Москва)
Team Lead — до 550 000 ₽, Удаленно
Senior Golang инженер — Удаленно (Ярославль)
Senior Go Developer — от 300 000 ₽, Удаленно (Москва)
Бустер — удалённо (по всему миру)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21😁6👾3🔥1