TGViewer
Channel Public Channel
Go in Action

Go in Action

@go_in_action

Всё про язык программирования Go на русском и английском языке

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels
Subscribers
4.11K
Photos
2.4K
Videos
3
Links
4K
Recent Posts 16 shown
Post #4993 521
Разница между Go-разработчиком с зарплатой в 100–200 тысяч и 500 тысяч не в количестве написанных строк кода

Первый решает, как написать сервис. Второй нужен ли он вообще, что сломается на десятикратной нагрузке и как правильно построить ожидания. Разницу платят за ответственность, а не за код.

Литкод или курсы с этим не помогут. А карьерный рост должен идти по твоему плану, а не зависеть от удачи.

Поэтому мы в ШОРТКАТ сделали для тебя карьерную консультацию 1-на-1 с лидом из бигтеха. Часовой звонок, где лид погрузится в твой контекст, разберет резюме и построит персональный план:
👉 Как повысить грейд и зарплату в ближайшее время;
👉 Что делать вдолгую, чтобы остаться востребованным на рынке труда;
👉 На чем сфокусироваться, а на что лучше не тратить время.

Задач и оценок не будет — это не собеседование.

Консультация стоит 1990 рублей. В неделю проводим не больше 10, чтобы хватало внимания на каждого.

Оставить заявку: @shortcut_go_bot

Реклама.
О рекламодателе.
Post #4984 3.28K

Forwarded from DevOps для ДевоПсов

Улучшаем Dockerfile: от примитивной базы к multi-stage-решению

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

🔘 Начинается с наивного подхода — всё работает, но образ тяжеленный, сборка занимает 10 минут, а результат непредсказуем.
🔘 Multi-stage — разделяем сборка и рантайм, финальный образ содержит только бинарник и необходимые runtime-зависимости.

Другие два шага, а также отдельный блок о том, почему не все лучшие практики стоит бездумно выполнять — по ссылке.
  • 👍 2
Post #4983 2.43K
Полнотекстовый поиск на 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
  • 🔥 3
  • 👍 2
Post #4977 1.84K

Forwarded from Типичный программист

Победителями премии Тпрогер 🐀становятся...

Здесь играет барабанная дробь и интригующая музыка... Вам нужно только выждать драматическую паузу перед объявлением победителей — в каждой номинации он один, и определяется большинством голосов. Готовы?

В номинации «Продукт года» золотая мышь достается компании:
🐀NetVision за платформу интеллектуального мониторинга СИМ.

В номинации «Облачный продукт года» побеждает компания:
🐀Гравитон с паком виртуализации «Гелиус»

Звание «IT-ивент года» вручается компании:
🐀Островок! за О!Хакатон

И в категории «Дизайн года» первое место занимает компания:
🐀AcademiaDev за интерактивную инсталляцию.

Каждый ваш лайк, голос влияли на исход премии. Давайте поддержим всех — ставьте 🏆участникам, которые хоть и не заняли призового места, но точно остались в сердечке.
И 🔥, если хотите аналогичных активностей и готовы выбирать еще!
  • 💊 3
Post #4859 2.01K
Я решил написать ухудшенный UUID по ничтожнейшим из причин

Вчера я баловался с проектом API, которым занимаюсь уже долгое время. Подобные проекты мы обычно переписываем снова и снова на протяжении многих лет, чтобы поддерживать высокий уровень дофамина от рефакторинга. Вы понимаете, о чём я. На этот раз совершенно внезапно я кое-что осознал. Мне нужно отрефакторить одну вещь. Я достаточно активно пользуюсь UUID, поэтому URL моих ресурсов очень длинные и некрасивые.

В зависимости от версии и варианта в UUID есть множество разной информации, но по большей мере это куча случайных битов, которые и обеспечивают свойство «универсальной уникальности», которое нам так нравится. Но если по какой-то причине вам не нравится проверенный временем стандарт с огромной экосистемой нативной поддержки... то эта статья для вас!


Читать: https://habr.com/ru/articles/987352/

#ru

@go_in_action | Другие наши каналы
  • 🔥 4
Post #4858 1.53K
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 | Другие наши каналы
  • 👎 5
Post #4857 1.14K
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 | Другие наши каналы
  • ❤ 1
  • ✍ 1
Post #4854 1.12K
Go: 15 самых популярных докладов 2025 года на YouTube

Go 1.25, кодовые агенты, тулчейн, наблюдаемость, безопасность, тестирование, производительность и работа высокодоступных систем.

Читать: «Go: 15 самых популярных докладов 2025 года на YouTube»

#ru

@go_in_action | Другие наши каналы
Post #4850 781
Экспорт приватных типов в Go: почему это антипаттерн

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

Читать: «Экспорт приватных типов в Go: почему это антипаттерн»

#ru

@go_in_action | Другие наши каналы
  • 👎 2
Post #4693 1.72K
Black-White Array: новая структура данных с O(log N) аллокаций

Black-White Array (BWA) — это упорядоченная структура данных с амортизированным временем операций вставки/поиска/удаления и используемых участков памяти. Преимущества:

• Амортизированное время вставки/удаления/поиска сравнимое с реализацией BTree от Google;
• Низкое количество аллокаций памяти при операциях вставки - меньше давления на сборщик мусора, ниже фрагментация памяти;
• Массивы под капотом: данные лежат рядом, что улучшает кэшируемость процессором и скорость обхода/доступа к данным;
• Позволяет хранить элементы с одинаковыми ключами - не нужно использовать дополнительные структуры для группировки таких элементов;
• Низкий оверхед на хранение служебной информации - экономия памяти по сравнению с другими структурами данных;
• Удобен для вставки батчами;
• Простая сериализация и десериализация;
Подробности

Читать: https://habr.com/ru/articles/984184/

#ru

@go_in_action | Другие наши каналы
  • 👍 3
Post #4692 1.5K
Как сделать свой статический анализатор для Go?

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


Читать: https://habr.com/ru/companies/pvs-studio/articles/984526/

#ru

@go_in_action | Другие наши каналы
  • 🔥 1
Post #4691 1.34K
Go: сборщик мусора там, где его не ждут

Когда мы говорим о сборщике мусора, то сразу думаем о куче. Зачем он нужен в стеке? Переменная попала на стек, функция завершила исполнение — стек вжух! — и очистился.

А что, если я вам скажу, что на стеке Go тоже свой сборщик мусора? Звучит неожиданно? Давайте разберемся по порядку.


Читать: https://habr.com/ru/articles/983622/

#ru

@go_in_action | Другие наши каналы
  • ❤ 2
Post #4690 1.33K
Честный взгляд на Go: сильные стороны и болезненные ограничения

Команда Go for Devs подготовила перевод обзора языка Go от практикующего разработчика. Автор без прикрас разбирает сильные стороны Go — конкурентность, простоту и эргономику, — а затем подробно объясняет, почему его разочаровывают enum’ы, неизменяемость и модель ошибок.


Читать: https://habr.com/ru/articles/984048/

#ru

@go_in_action | Другие наши каналы
  • 👎 2
  • ❤ 1
  • 👍 1
Post #4689 1.59K
gRPC против JSON — что выбрать и как сломать себе мозг правильно

Cлушай, если ты до сих пор шлёшь JSON туда-сюда и мучаешься с валидацией — пора смотреть в сторону gRPC. Но сперва давай без пафоса разберём, что это вообще такое.


Читать: https://habr.com/ru/articles/982652/

#ru

@go_in_action | Другие наши каналы
  • 👎 10
  • ❤ 1
  • 👍 1
Post #4688 1.75K
А может чайку

Все уже слышали, что в 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 | Другие наши каналы
  • 🔥 5
  • ☃ 2
  • ❤ 1
Older posts →

About this channel

How can I read @go_in_action without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Go in Action: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Go in Action have?
Go in Action (@go_in_action) has 4.11K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Go in Action know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →