tgindex
Go in Action

Всё про язык программирования Go на русском и английском языке Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels

Последний пост
31 мар.
Последнее чтение
12:31
Постов за неделю
0
Всего постов
20
Тип
открытый
Язык
русский
Категория
Языки
В каталоге с
12 авг.
Подписчики
4 148
+3 за 4 дн.
Сутки
−2
−0,05%
Неделя
 
Месяц
 
Просмотров на пост
1 527
20 постов
Вовлечённость
36,8%
к подписчикам
Постов в день
0,0
всего 20
Упоминаний
1
каналов
Охват размещения
оценка
1/24сутки в ленте
1/48двое суток
1/72трое суток

Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.

Посты

  • 31 мар.2 859125из devo_pes

    Улучшаем Dockerfile: от примитивной базы к multi-stage-решению Dockerfile можно составить по-разному, и даже самые примитивные его варианты могут работать, но это не значит, что их стоит использовать. Поэтому давайте разбираться, как сделать из Dockerfile конфетку. Для этого читайте статью. Там с каждым шагом Dockerfile становится всё круче с каждым шагом: 🔘 Начинается с наивного подхода — всё работает, но образ тяжеленный, сборка занимает 10 минут, а результат непредсказуем. 🔘 Multi-stage — разделяем сборка и рантайм, финальный образ содержит только бинарник и необходимые runtime-зависимости. Другие два шага, а также отдельный блок о том, почему не все лучшие практики стоит бездумно выполнять — по ссылке.

  • 30 мар.2 140531

    Полнотекстовый поиск на Go без Elasticsearch: Bleve как альтернатива Когда в проекте возникает задача поиска, первая мысль — поднимать Elasticsearch. Но что, если не хочется тащить внешний сервис, возиться с кластеризацией и поддерживать ещё одну точку отказа? Для Go есть Bleve — встраиваемая библиотека, которая работает внутри вашего приложения, индексирует любые структуры и не требует отдельного сервера. В гайде разбирают всё по делу: — создание индекса и простой поиск с ранжированием по BM25; — кастомные маппинги полей: стемминг, стоп-слова, исключение полей из индекса; — мультиязычный поиск через IndexAlias — один виртуальный индекс поверх нескольких; — курсорная пагинация с SearchAfter (чтобы не было дублей и пропусков при обновлении данных); — настройки производительности Scorch: воркеры, размер сегментов, пороги мёржа. Bleve — это не замена Elasticsearch для больших распределённых систем, но идеальный вариант, когда нужен полнотекстовый поиск без лишней инфраструктуры и с полным контролем. Код, примеры и нюансы конфигурации — в материале: https://tproger.ru/translations/polnotekstovyj-poisk-na-go-bez-elasticsearch---gajd-po-bleve

  • 5 мар.1 670

    видео или голосовое, без подписи

  • 5 мар.1 746

    видео или голосовое, без подписи

  • 5 мар.1 447

    видео или голосовое, без подписи

  • 5 мар.1 478

    видео или голосовое, без подписи

  • 5 мар.1 2653

    Победителями премии Тпрогер 🐀становятся... Здесь играет барабанная дробь и интригующая музыка... Вам нужно только выждать драматическую паузу перед объявлением победителей — в каждой номинации он один, и определяется большинством голосов. Готовы? В номинации «Продукт года» золотая мышь достается компании: 🐀NetVision за платформу интеллектуального мониторинга СИМ. В номинации «Облачный продукт года» побеждает компания: 🐀Гравитон с паком виртуализации «Гелиус» Звание «IT-ивент года» вручается компании: 🐀Островок! за О!Хакатон И в категории «Дизайн года» первое место занимает компания: 🐀AcademiaDev за интерактивную инсталляцию. Каждый ваш лайк, голос влияли на исход премии. Давайте поддержим всех — ставьте 🏆участникам, которые хоть и не заняли призового места, но точно остались в сердечке. И 🔥, если хотите аналогичных активностей и готовы выбирать еще!

  • 27 янв.1 94547

    Я решил написать ухудшенный UUID по ничтожнейшим из причин Вчера я баловался с проектом API, которым занимаюсь уже долгое время. Подобные проекты мы обычно переписываем снова и снова на протяжении многих лет, чтобы поддерживать высокий уровень дофамина от рефакторинга. Вы понимаете, о чём я. На этот раз совершенно внезапно я кое-что осознал. Мне нужно отрефакторить одну вещь. Я достаточно активно пользуюсь UUID, поэтому URL моих ресурсов очень длинные и некрасивые. В зависимости от версии и варианта в UUID есть множество разной информации, но по большей мере это куча случайных битов, которые и обеспечивают свойство «универсальной уникальности», которое нам так нравится. Но если по какой-то причине вам не нравится проверенный временем стандарт с огромной экосистемой нативной поддержки... то эта статья для вас! Читать: https://habr.com/ru/articles/987352/ #ru @go_in_action | Другие наши каналы

  • 27 янв.1 485511

    Go рухнул с 7 на 16 место в TIOBE: пора ли российским компаниям пересмотреть технологический стек? В ноябре 2024 года язык программирования Go достиг своего исторического максимума — седьмого места в престижном индексе TIOBE, укрепив позиции в топ-10. Однако всего через 14 месяцев, в январе 2026 года, картина кардинально изменилась: Go обвалился на 16-е место, потеряв сразу 9 позиций. Это один из самых драматичных спадов года среди топовых языков. Парадокс в том, что в России Go переживает противоположную тенденцию — язык активно набирает популярность, его используют крупнейшие технологические компании и количество Go-разработчиков превысило 40 тысяч. Возникает критический вопрос для отечественной индустрии: не движемся ли мы против глобального технологического тренда, делая ставку на язык, который теряет позиции на мировой арене? Читать: https://habr.com/ru/articles/989014/ #ru @go_in_action | Другие наши каналы

  • 27 янв.1 109219

    PostgreSQL RLS в Go, Часть 2: Архитектура Highload. Паника, гонки и 10 000 партиций В первой части было разобрано, как настроить RLS в Go, почему is_local=true спасает от утечек в PgBouncer, и как покрыть это интеграционными тестами. Если вы еще не настроили базовую изоляцию, начните оттуда. Сегодня мы пойдем глубже. Мы не будем говорить о синтаксисе. Мы поговорим об архитектуре. О том, почему RLS - это не просто "удобный фильтр", а нативный механизм инкапсуляции, который решает проблемы распределенных систем и рисков безопасности прямо в слое данных, не раздувая Ops-сложность до сотен схем и баз. Кому и зачем читать? Junior/Middle: Поймете, почему RLS - это архитектурный выбор, а не просто WHERE tenant_id = ?. Узнаете про TOCTOU и как его избежать. Senior/Architect: Увидите паттерны для highload (партиционирование + RLS) и production-грабли (матвьюхи, репликация). Читать: https://habr.com/ru/articles/988744/ #ru @go_in_action | Другие наши каналы

  • 27 янв.1 09019

    Go: 15 самых популярных докладов 2025 года на YouTube Go 1.25, кодовые агенты, тулчейн, наблюдаемость, безопасность, тестирование, производительность и работа высокодоступных систем. Читать: «Go: 15 самых популярных докладов 2025 года на YouTube» #ru @go_in_action | Другие наши каналы

  • 27 янв.1 146110

    Go против Rust против Zig: какой язык для чего нужен Это попытка понять философию языков и определить, какой язык ближе лично вам. Читать: «Go против Rust против Zig: какой язык для чего нужен» #ru @go_in_action | Другие наши каналы

  • Экспорт приватных типов в Go: почему это антипаттерн азбираем антипаттерн, его последствия для инкапсуляции и архитектуры, а также показываем идиоматичные способы инициализации структур и сервисов в Go. Читать: «Экспорт приватных типов в Go: почему это антипаттерн» #ru @go_in_action | Другие наши каналы

  • 14 янв.1 702324

    Black-White Array: новая структура данных с O(log N) аллокаций Black-White Array (BWA) — это упорядоченная структура данных с амортизированным временем операций вставки/поиска/удаления и используемых участков памяти. Преимущества: • Амортизированное время вставки/удаления/поиска сравнимое с реализацией BTree от Google; • Низкое количество аллокаций памяти при операциях вставки - меньше давления на сборщик мусора, ниже фрагментация памяти; • Массивы под капотом: данные лежат рядом, что улучшает кэшируемость процессором и скорость обхода/доступа к данным; • Позволяет хранить элементы с одинаковыми ключами - не нужно использовать дополнительные структуры для группировки таких элементов; • Низкий оверхед на хранение служебной информации - экономия памяти по сравнению с другими структурами данных; • Удобен для вставки батчами; • Простая сериализация и десериализация; Подробности Читать: https://habr.com/ru/articles/984184/ #ru @go_in_action | Другие наши каналы

  • 12 янв.1 47419

    Как сделать свой статический анализатор для Go? Go разработчики постоянно сталкиваются с предупреждениями встроенного статического анализатора. А что делать, если его возможностей не хватает или нужно искать что-то специфичное для вашего проекта? Go предоставляет мощные инструменты для разбора и анализа кода. В этой статье мы поговорим о них и даже сделаем своё первое диагностическое правило. Читать: https://habr.com/ru/companies/pvs-studio/articles/984526/ #ru @go_in_action | Другие наши каналы

  • 12 янв.1 322215

    Go: сборщик мусора там, где его не ждут Когда мы говорим о сборщике мусора, то сразу думаем о куче. Зачем он нужен в стеке? Переменная попала на стек, функция завершила исполнение — стек вжух! — и очистился. А что, если я вам скажу, что на стеке Go тоже свой сборщик мусора? Звучит неожиданно? Давайте разберемся по порядку. Читать: https://habr.com/ru/articles/983622/ #ru @go_in_action | Другие наши каналы

  • 11 янв.1 313418

    Честный взгляд на Go: сильные стороны и болезненные ограничения Команда Go for Devs подготовила перевод обзора языка Go от практикующего разработчика. Автор без прикрас разбирает сильные стороны Go — конкурентность, простоту и эргономику, — а затем подробно объясняет, почему его разочаровывают enum’ы, неизменяемость и модель ошибок. Читать: https://habr.com/ru/articles/984048/ #ru @go_in_action | Другие наши каналы

  • 3 янв.1 5781221

    gRPC против JSON — что выбрать и как сломать себе мозг правильно Cлушай, если ты до сих пор шлёшь JSON туда-сюда и мучаешься с валидацией — пора смотреть в сторону gRPC. Но сперва давай без пафоса разберём, что это вообще такое. Читать: https://habr.com/ru/articles/982652/ #ru @go_in_action | Другие наши каналы

  • 2 янв.1 739820

    А может чайку Все уже слышали, что в Go 1.25 завезли новый экспериментальный сборщик мусора - Green Tea GC. Теории о том, как он работает, много (и в том числе на Хабре). Но когда мы с коллегой попытались просто включить GOEXPERIMENT=greenteagc на наших обычных бенчмарках, нас ждало разочарование: результаты были то чуть лучше, то чуть хуже, то вообще одинаковые. Сплошная лотерея. Мы задались целью: найти условия, в которых Green Tea GC побеждает безоговорочно. Не на 1-2% в пределах погрешности, а так, чтобы график "пробил потолок". И у нас получилось добиться стабильного ускорения пауз GC на 40-50%. Вот рецепт нашего успеха Читать: https://habr.com/ru/articles/982480/ #ru @go_in_action | Другие наши каналы

  • 31 дек.1 275115

    Компонентная модель WebAssembly: от Go 1.24 к 1.25 для интеграции с Rust Новая эра межъязыкового взаимодействия До 2024 года интеграция Go и Rust была либо через хрупкий CGO, либо через сетевые вызовы с накладными расходами. Выход Go 1.24 с директивой //go:wasmexport и дальнейшие оптимизации в Go 1.25 изменили правила игры благодаря WebAssembly Component Model (WCM). Компонентная модель - это стандартизированная система типов (WIT) и ABI, позволяющая компонентам на разных языках взаимодействовать напрямую, без сериализации. Сегодня мы создадим Go-компонент и запустим его из Rust. Читать: https://habr.com/ru/articles/982180/ #ru @go_in_action | Другие наши каналы

Go in Action — tgindex