Go in Action @go_in_action Channel on Telegram

Go in Action

@go_in_action


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

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

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

Другие каналы: @tproger_channels

Go in Action (Russian)

Добро пожаловать в канал "Go в действии"! Здесь вы найдете всю необходимую информацию о языке программирования Go на русском и английском языках. Этот канал создан для всех, кто интересуется данной темой и хочет углубить свои знания. Здесь вы сможете найти полезные советы, новости, обновления и многое другое, связанное с Go. Наша цель - помочь каждому стать опытным разработчиком на этом языке и поддерживать общение в сообществе. Присоединяйтесь к нам, чтобы быть в курсе всех событий и улучшить свои навыки программирования! У нас также есть возможность размещения рекламы, если вам интересно продвижение в данной сфере. По всем вопросам обращайтесь к нашему боту по продажам @tproger_sales_bot. Пожалуйста, ознакомьтесь с правилами общения в канале по ссылке https://tprg.ru/rules. Также не забудьте заглянуть в наши другие каналы @tproger_channels для еще большего контента и информации. Присоединяйтесь к нам, и давайте вместе погрузимся в мир Go и станем лучшими разработчиками в этой сфере!

Go in Action

21 Nov, 09:01


Создание XDP eBPF программы с использованием C и Golang: пошаговое руководство

В сегодняшнем мире, где всё тесно связано и ориентировано на данные, производительность сети имеет решающее значение для обеспечения эффективного взаимодействия и оптимального пользовательского опыта. XDP и eBPF — это мощные технологияи, которые помогают обрабатывать пакеты с высокой скоростью и оптимизировать работу сети.

В этом пошаговом руководстве мы рассмотрим процесс создания XDP eBPF программы с использованием языков C и Golang.


Читать: https://habr.com/ru/companies/otus/articles/860104/

#ru

@go_in_action | Другие наши каналы

Go in Action

21 Nov, 07:41


Functional options in Go

Варианты работы с конструкторами в Go, паттерн функциональных опций и генератор кода, который делает API предсказуемым и позволяет сосредоточиться на разработке, а не на шаблонном коде.


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

#ru

@go_in_action | Другие наши каналы

Go in Action

20 Nov, 14:28


Использование Redis в Go

Redis — хранилище из семейства нереляционных (NoSQL) баз данных. Redis является очень быстрым хранилищем данных благодаря своей архитектуре in-memory. Он идеально подходит для задач, требующих быстрого доступа к данным, таких как кэширование, очереди сообщений, сессионная информация и многое другое. Go также известен своей высокой производительностью за счет компиляции в машинный код и эффективного управления памятью.


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

#ru

@go_in_action | Другие наши каналы

Go in Action

17 Nov, 11:11


Middleware на уровне сетевого стэка в Go

Привет, любители Go! Сегодня мы рассмотрим, как создать middleware на уровне сетевого стэка в Go. Middleware позволяет добавлять полезные функции к HTTP-запросам и ответам: логирование, аутентификация, обработка ошибок и многое другое.


Читать: https://habr.com/ru/companies/otus/articles/857070/

#ru

@go_in_action | Другие наши каналы

Go in Action

15 Nov, 10:36


Создание кастомного балансировщика нагрузки на Go для gRPC с приоритизацией адресов

В процессе разработки микросервисных приложений часто необходимо наладить эффективную и быструю коммуникацию между сервисами. Разработанный Google gRPC предоставляет высокопроизводительный фреймворк для организации такого взаимодействия. Однако стандартные балансировщики нагрузки в gRPC не всегда удовлетворяют специфическим требованиям, особенно когда требуется приоритизация адресов для минимизации сетевых задержек и обеспечения отказоустойчивости.

В этой статье я поделюсь опытом создания кастомного балансировщика нагрузки на Go для gRPC, который использует приоритеты адресов для выбора наилучшего соединения. Это решение позволяет гибко управлять распределением клиентских запросов между серверами с разными уровнями доступности и обеспечивает подключение к оптимальному ЦОД с минимальными задержками.


Читать: https://habr.com/ru/companies/vk/articles/858290/

#ru

@go_in_action | Другие наши каналы

Go in Action

14 Nov, 17:12


Проверка готовности приложения к работе в реальном ненадежном мире. Часть 5

Пятая и заключительная часть статьи, в которой Виталий Лихачёв, SRE в booking.com и спикер курса Слёрма «Golang-разработчик» рассказывает, о чём стоит подумать перед выкаткой сервиса в жестокий прод, где он может не справиться с нагрузкой или деградировать из-за резких всплесков при наплыве пользователей и по вечерам.

Статья состоит из 5 частей, которые выходят по очереди:

1. Надежность.

2. Масштабируемость/отказоустойчивость.

3. Resiliency/отказоустойчивость.

4. Безопасность. Процесс разработки. Процесс выкатки.

5. Наблюдаемость. Архитектура. Антипаттерны.


Читать: https://habr.com/ru/companies/slurm/articles/858702/

#ru

@go_in_action | Другие наши каналы

Go in Action

14 Nov, 08:25


Внутренности планировщика Go

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

Почему данный код всегда будет выводить одинаковый результат?


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

#ru

@go_in_action | Другие наши каналы

Go in Action

13 Nov, 14:59


Запуск узла Hidden Lake на языке Go

Анонимная сеть Hidden Lake является в своей области уникальным и достаточно своеобразным проектом, т.к. базируется на совершенно иных методах и подходах анонимизации трафика, чем большинство ныне нам известных сетей. Из-за того, что сеть является относительно новой - она часто дополняется и совершенствуется. Одним из таковых дополнений стал новый способ запуска узла HL.


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

#ru

@go_in_action | Другие наши каналы

Go in Action

13 Nov, 14:59


Проверка готовности приложения к работе в реальном ненадежном мире. Часть 4

Четвертая часть статьи, в которой Виталий Лихачёв, SRE в booking.com и спикер курса Слёрма «Golang-разработчик» рассказывает, о чём стоит подумать перед выкаткой сервиса в жестокий прод, где он может не справиться с нагрузкой или деградировать из-за резких всплесков при наплыве пользователей и по вечерам.

Статья состоит из 5 частей, которые выходят по очереди:

1. Надежность.

2. Масштабируемость/отказоустойчивость.

3. Resiliency/отказоустойчивость.

4. Безопасность. Процесс разработки. Процесс выкатки.

5. Наблюдаемость. Архитектура. Антипаттерны.


Читать: https://habr.com/ru/companies/slurm/articles/858060/

#ru

@go_in_action | Другие наши каналы

Go in Action

13 Nov, 14:59


Go отмечает 15-летие с обновлениями и планами

Пятнадцатая годовщина Go привнесла в язык значительные обновления, такие как изменения в циклах и поддержка итераторов. За последние пять лет число пользователей утроилось, что делает Go одним из самых быстрорастущих языков. Планируется поддержка современных аппаратных возможностей и улучшение AI-инфраструктуры.

Подробнее: https://go.dev/blog/15years

#en

@go_in_action | Другие наши каналы

Go in Action

13 Nov, 14:59


Проверка готовности приложения к работе в реальном ненадежном мире. Часть 3

Третья часть статьи, в которой Виталий Лихачёв, SRE в booking.com и спикер курса Слёрма «Golang-разработчик» рассказывает, о чём стоит подумать перед выкаткой сервиса в жестокий прод, где он может не справиться с нагрузкой или деградировать из-за резких всплесков при наплыве пользователей и по вечерам.

Статья состоит из 5 частей, которые выходят по очереди:

1. Надежность.

2. Масштабируемость/отказоустойчивость.

3. Resiliency/отказоустойчивость.

4. Безопасность. Процесс разработки. Процесс выкатки.

5. Наблюдаемость. Архитектура. Антипаттерны.


Читать: https://habr.com/ru/companies/slurm/articles/857682/

#ru

@go_in_action | Другие наши каналы

Go in Action

12 Nov, 14:49


200 проектов для практики программистам любого уровня

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

Тут автор проделал огромную работу и сделал аж 200 идей для ваших проектов. И что круто — этот список подходит не только новичкам и не ограничивается какими-то определёнными технологиями. Все проекты удобно разделены по уровню сложности и стеку: блокчейн, веб, редактор изображений — да буквально что угодно! Остаётся только выбрать и начать.

#хобби #карьера

Go in Action

11 Nov, 11:07


Паттерн Наблюдатель в Golang на котиках

Привет, Хабр! Сегодня будем разбирать паттерн Наблюдатель на примере наших любимых пушистиков — котиков. Ведь кто, как не коты, могут быть идеальными субъектами и наблюдателями в нашем коде?


Читать: https://habr.com/ru/companies/otus/articles/857330/

#ru

@go_in_action | Другие наши каналы

Go in Action

10 Nov, 17:01


ТОП-25 курсов Golang-разработчиков: бесплатное и платное онлайн-обучение программированию на языке GO

Лучшие онлайн-курсы для Golang-разработчиков. Список школ, осуществляющих обучение на бесплатной или платной основе, а так же цены на курсы программистов на языке GO

Читать: «ТОП-25 курсов Golang-разработчиков: бесплатное и платное онлайн-обучение программированию на языке GO»

#ru

@go_in_action | Другие наши каналы

Go in Action

08 Nov, 14:40


Проверка готовности приложения к работе в реальном ненадежном мире. Часть 2

Вторая часть статьи, в которой Виталий Лихачёв, SRE в booking.com и спикер курса Слёрма «Golang-разработчик» рассказывает, о чём стоит подумать перед выкаткой сервиса в жестокий прод, где он может не справиться с нагрузкой или деградировать из-за резких всплесков при наплыве пользователей и по вечерам.

Статья состоит из 5 частей, которые будут выходить по очереди:

1. Надежность.

2. Масштабируемость/отказоустойчивость.

3. Resiliency/отказоустойчивость.

4. Безопасность. Процесс разработки. Процесс выкатки.

5. Наблюдаемость. Архитектура. Антипаттерны.


Читать: https://habr.com/ru/companies/slurm/articles/857144/

#ru

@go_in_action | Другие наши каналы

Go in Action

07 Nov, 11:39


В команду Deckhouse ищут Go-разработчиков и тимлидов.

Под капотом Deckhouse — ванильный Kubernetes и Open Source-инструменты, которые стали индустриальным стандартом.

Предстоит разрабатывать Kubernetes-платформу и других продуктов экосистемы. Например, писать фичи для модулей автомасштабирования, observability, безопасности, а также Storage-компоненты и функциональность для управления образами контейнеров.

Да, задачи не из лёгких и точно не из рутинных. 
Посмотрите вакансии на сайте.

#вакансии

Go in Action

06 Nov, 16:00


Проверка готовности приложения к работе в реальном ненадежном мире. Часть 1

Опытом делится Виталий Лихачёв, SRE в booking.com и спикер курса Слёрма «Golang-разработчик». Он рассказывает, о чём стоит подумать перед выкаткой сервиса в жестокий прод, где он может не справиться с нагрузкой или деградировать из-за резких всплесков при наплыве пользователей и по вечерам.

Считайте это некоторым чек-листом, но не применяйте все пункты as is, потому что каждая система уникальна и иногда вполне допустимо построить менее надежную систему с целью значительного сокращения затрат на разработку, поддержку и эксплуатацию (например, отсутствие резервирования). Однако бэкапы обязательно должны быть 🙂

Некоторые термины не будем переводить не в силу лени автора, а в силу устойчивости терминов в литературе.

Отдельные пункты внимательный читатель может отнести сразу к нескольким разделам верхнего уровня. Поэтому деление на подгруппы довольно условное.

Если возникнет вопрос, а почему не описан некоторый X в чек-листе, то ответ простой: статья и так получилась огромной, и вы вероятно сможете найти что-то полезное для себя.

Статья состоит из 5 частей, которые будут выходить по очереди:

1. Надежность.

2. Масштабируемость/отказоустойчивость.

3. Resiliency/отказоустойчивость.

4. Безопасность. Процесс разработки. Процесс выкатки.

5. Наблюдаемость. Архитектура. Антипаттерны.


Читать: https://habr.com/ru/companies/slurm/articles/856582/

#ru

@go_in_action | Другие наши каналы

Go in Action

05 Nov, 15:52


Погружение в интерфейсы Go

Интерфейсы — одна из самых сложных тем для начинающих в Go. Я решил тщательно разобраться с этой темой и одновременно написать эту статью. После прочтения этой статьи вы сможете ответить на следующие вопросы:
Что такое интерфейс? Что такое значение интерфейса? Что такое пустой интерфейс? Почему nil-интерфейс не равен nil? Где разместить интерфейс? Какая структура интерфейса?


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

#ru

@go_in_action | Другие наши каналы

Go in Action

05 Nov, 13:16


Делаем форму обратного звонка: лендинг, Go и SMS-уведомления

Привет, Хабр! Меня зовут Екатерина Саяпина, я Product Owner личного кабинета платформы МТС Exolve. Сегодня расскажу, как создать простую, но эффективную форму обратного звонка с SMS-уведомлениями. Дам пример для сценария, когда клиент оставляет заявку через форму, а менеджер связывается с ним через Callback API. После успешного разговора система автоматически отправляет SMS через SMS API с подтверждением договоренностей и следующими шагами.

SMS-уведомления здесь играют роль надежного канала для закрепления результатов разговора и напоминания о договоренностях. Они не требуют интернета или установки приложений и работают везде, даже при слабом сигнале связи.

Причем пример будет без громоздких фреймворков — только Go и чистый HTML с щепоткой JavaScript.


Читать: https://habr.com/ru/companies/ru_mts/articles/856232/

#ru

@go_in_action | Другие наши каналы

Go in Action

02 Nov, 04:39


Строим микрокernel на Golang

Привет, Хабр! Сегодня рассмотрим, как построить гибкую и масштабируемую систему с использованием микрокernel архитектуры на Golang.

Перед тем как взяться за код, разберёмся, о чём вообще идёт речь. Микрокernel — это архитектурный стиль, при котором минимальное ядро системы отвечает за основные функции: управление процессами, памятью, коммуникациями и т.д., а всё остальное делегируется в виде отдельных модулей или сервисов.

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


Читать: https://habr.com/ru/companies/otus/articles/854120/

#ru

@go_in_action | Другие наши каналы