Библиотека Go (Golang) разработчика @golang_lib Channel on Telegram

Библиотека Go (Golang) разработчика

@golang_lib


Полезные материалы по всему, что может быть полезно Golang разработчику. По всем вопросам @evgenycarter

Библиотека Go (Golang) разработчика (Russian)

Добро пожаловать в Telegram-канал "Библиотека Go (Golang) разработчика"! Если вы занимаетесь разработкой на языке программирования Go (или Golang), то этот канал станет для вас настоящим кладовищем полезной информации. Здесь собраны материалы, которые пригодятся каждому, кто хочет стать успешным разработчиком на Go. В канале @golang_lib вы найдете обзоры новых библиотек и инструментов, полезные статьи о передовых методах программирования на Go, а также советы опытных разработчиков. Все материалы тщательно подбираются и публикуются для того, чтобы у вас всегда был доступ к актуальной информации. Задавайте свои вопросы и делитесь своим опытом в общении с другими участниками канала. Администратор @evgenycarter всегда готов помочь и поделиться своими знаниями в области разработки на Go. Присоединяйтесь к каналу "Библиотека Go (Golang) разработчика" прямо сейчас и станьте частью сообщества профессионалов, готовых поддержать вас на пути к успеху в области разработки на Go!

Библиотека Go (Golang) разработчика

05 Dec, 07:01


Успейте принять участие в заключительном в этом году мероприятии для Go-разработчиков от YADRO.

🗓 12 декабря в 18:00
📍 онлайн и офлайн в Нижнем Новгороде
🤝 бесплатное участие

Вы сможете познакомиться с экспертами сферы, а также активистами Go-сообщества и участниками программного комитета GolangConf Виталием Левченко и Даниилом Подольским.

В программе:

•‎ Альтернативы Make и преимущества Mise для сборки проектов.
•‎ Генерация стабов для gRPC.
•‎ Новые подходы к решению задач.
•‎ Создание плагина для Redpanda/Connect.
•‎ И многое другое!

Офлайн: демозона с «железом» для ЦОД и телеком-операторов, которое создают инженеры YADRO, технические интерактивы и подарки от компании.

Скорее ставьте событие в свой календарь и обязательно регистрируйтесь!

Библиотека Go (Golang) разработчика

04 Dec, 05:38


Секреты внутреннего устройства аллокатора Go

00:00 - Введение
01:49 - Концепция аллокатора
06:09 - Линейный аллокатор
11:22 - Блочный аллокатор
16:21 - Стековый аллокатор
20:18 - Устройство malloc
25:01 - Недостатки malloc
26:55 - Устройство tcmalloc
28:28 - Устройство аллокатора Go
32:55 - Предсказуемая фрагментация памяти
40:33 - Где аллоцируются объекты в Go
51:11 - Почему аллокация на стеке работает быстрее, чем в куче
52:35 - Расширение и уменьшение стека в Go
58:12 - Зачем это все нужно знать (практические примеры)
01:03:37 - Пулы объектов (sync.Pool)
01:06:57 - Арены (memory arenas)
01:14:30 - Аллокатор ОС
01:18:28 - Курс по глубокому Go

источник

👉 @golang_lib

Библиотека Go (Golang) разработчика

03 Dec, 09:46


Save the date: 21 декабря проводим Я.Субботник по Golang

Будем слушать доклады ведущих разработчиков Яндекса из Игр, Екома и Райдтеха и Поиска. Готовьте вопросы на Q&A-сессию!

Обсудим внедрение Golang, перформанс-бенчмаркинг и реализацию сервисов через стейтмашины. А ещё посмотрим на текущие проекты Яндекса в опенсорсе. После займёмся нетворкингом: будем общаться, отдыхать и пробовать разное вкусное.

Приходите в Москве или подключайтесь онлайн!
Зарегистрироваться

Библиотека Go (Golang) разработчика

02 Dec, 17:35


Оптимизируем код на Go в 10 раз | Как избежать false sharing в Go

00:00 - Введение
00:17 - Подход с RWMutex
01:40 - Подход с Mutex
02:10 - Подход с Atomic
03:39 - Подход с шардированием
04:36 - Подход с выравниванием при шардировании
05:42 - False sharing
08:13 - Заключение

источник

👉 @golang_lib

Библиотека Go (Golang) разработчика

27 Nov, 13:15


Именованием ok считается вредным?

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

Давайте поговорим о названии булевых переменных в Go.

https://www.dolthub.com/blog/2024-05-10-ok-considered-harmful/

👉 @golang_lib

Библиотека Go (Golang) разработчика

26 Nov, 10:01


⁉️ Ваши микросервисы тормозят? База данных перегружена? Решение есть — кэширование!

На открытом уроке «Кэширование в микросервисной архитектуре» мы разберём, как ускорить системы, сократить время отклика и снизить нагрузку. Вы узнаете про паттерны кэширования, типы кэшей и популярные инструменты вроде Redis и Memcached.

Представьте микросервисы, которые работают молниеносно, а база данных больше не задыхается от запросов. Ваша архитектура станет не только производительной, но и устойчивой.

🔥 Спикер Сергей Прощаев — ведущий инженер-Java-разработчик в одной из крупнейших нефтяных компаний России.

🔴 Регистрируйтесь на вебинар 11 декабря в 20:00 мск! Урок пройдёт перед стартом курса «Microservice Architecture». Только участники получат скидку на обучение: https://vk.cc/cFjPSB

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Библиотека Go (Golang) разработчика

26 Nov, 08:07


Создаем DNS-резолвер с помощью Golang

В статье Доменико Лучиани описывает, как создать резолвер DNS с использованием Golang. Она охватывает основные аспекты DNS-резолвера, такие как обработка запросов, подключение к серверам DNS и интерпретация ответов. Это руководство предназначено для разработчиков, которые хотят понять и реализовать основные функции DNS в среде Golang.

https://domenicoluciani.com/2024/05/07/create-dns-resolver.html

👉 @golang_lib

Библиотека Go (Golang) разработчика

19 Nov, 09:00


Обработка ошибок в Golang. errors.Is(), errors.As(), errors.Unwrap(), пользовательские ошибки и многое другое

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

https://adrianlarion.com/golang-error-handling-demystified-errors-is-errors-as-errors-unwrap-custom-errors-and-more/

👉 @golang_lib

Библиотека Go (Golang) разработчика

19 Nov, 07:01


🚀 Ваша CMS под контролем: легко, гибко, масштабируемо!

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

Что вы узнаете на вебинаре:
- как грамотно проектировать структуру CMS для высокой производительности;
- какие модули и плагины помогут настроить систему под любые задачи;
- лучшие подходы к масштабированию и обеспечению стабильности на высоких нагрузках.

🔥 Спикер Евгений Тюменцев — директор компании по разработке ПО. 20 лет преподает компьютерные дисциплины в ВУЗе: C++, Kotlin, C#, ООП.

Урок проходит в преддверии курса «Microservice Architecture». Участники получат скидку на обучение!

26 ноября в 20:00 МСК. Регистрация открыта: https://vk.cc/cEWoKJ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Библиотека Go (Golang) разработчика

18 Nov, 19:43


Использование пакетов crypto/aes и crypto/cipher в Golang

В предстоящем побочном проекте мне понадобилось шифровать и дешифровать данные, хранящиеся в базе данных SQLite. Эта статья предлагает вводный обзор практик шифрования и дешифрования, но не предназначена для глубокого изучения темы. Шифрование — это сложная область, требующая внимательной реализации для обеспечения безопасности данных. Ища материалы по этой теме, я столкнулся с несоответствиями и проблемами в примерах, что побудило меня задокументировать свои выводы для дальнейшего использования.

https://aran.dev/posts/using-golang-crypto-aes-and-crypto-cipher-packages/

👉 @golang_lib

Библиотека Go (Golang) разработчика

13 Nov, 12:37


database/sql: плохой, хороший, злой

Многие Golang-разработчики пробовали работать с БД в Go, и у каждого — свои боли. В этой статье поисследуем библиотеку database/sql для работы с абстрактной СУБД и нашу имплементацию database/sql драйвера под СУБД YDB. Рассмотрим трудности эксплуатации при использовании драйвера database/sql на проде. А также расскажем, что мы делали для решения проблем.

Меня зовут Алексей Мясников, я — руководитель Application Team в команде разработки YDB. Я очень люблю git blame за то, что с его помощью можно проследить, как развивалась инженерная мысль с течением времени и немножко побыть в шкуре разработчика той или иной классной штуки. В статье я расскажу, как реализовать драйвер database/sql для распределённой базы данных, такой как YDB, какие проблемы при этом придётся преодолеть и как менялся подход с выходом новых версий Go.

https://habr.com/ru/companies/oleg-bunin/articles/808097/

👉 @golang_lib

Библиотека Go (Golang) разработчика

13 Nov, 09:01


Хотите создавать масштабируемую и отказоустойчивую микросервисную архитектуру?

19 ноября в 20:00 мск приглашаем на открытый вебинар, где вы узнаете, как применять ключевые стратегии Circuit Breaker, Retry и Load Balancing для повышения стабильности систем.

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

👨‍💻🛠👨🏻‍💻 Вебинар будет полезен разработчикам, архитекторам и DevOps-инженерам, которые хотят повысить производительность своих микросервисов, внедрив современные решения для автоматического масштабирования и балансировки.

🔴 Регистрируйтесь прямо сейчас и получите скидку на курс «Software Architect»: https://vk.cc/cEBkI1

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Библиотека Go (Golang) разработчика

12 Nov, 18:00


Ntcharts

Это инструмент на Go для построения диаграмм в терминале, таких как гистограммы, линии и временные ряды, с использованием библиотеки Bubble Tea.

https://github.com/NimbleMarkets/ntcharts

👉 @golang_lib

Библиотека Go (Golang) разработчика

12 Nov, 14:01


Бесплатное IT-образование в 2024

Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления

Выбирайте нужное и подписывайтесь:

👩‍💻 С/С++: @Cpportal
📱 GitHub: @git_developer
🤓 Книги айти: @portalToIT
👩‍💻 Golang: @juniorGolang
👩‍💻 PHP: @PHPortal
👩‍💻 Моб. разработка: @MobDev
👩‍💻 Java: @Java_Iibrary
👩‍💻 Frontend: @FrontendPortal
⚙️ Backend: @BackendPortal
👩‍💻 Python: @PythonPortal
👩‍💻 C#: @KodBlog
🖥 Базы Данных & SQL: @SQL
👩‍💻 Разработка игр: @GameDevgx
👩‍💻 DevOps: @loose_code
🖥 Data Science: @DataSciencegx
🤔 Хакинг & ИБ: @cybersecinform
🐞 Тестирование: @QAPortal
📱 Маркетинг: @MarketingPortal
🖥 Дизайн: @PortalToDesign

➡️ Сохраняйте себе, чтобы не потерять

Библиотека Go (Golang) разработчика

12 Nov, 08:33


Прикладное введение в eBPF с Go

Большую часть времени, когда мы разрабатываем программное обеспечение или даже используем его, мы играем в безопасных границах операционной системы. Мы даже не знаем, как этот IP-пакет был принят сетевым интерфейсом, или как эти inodes были обработаны файловой системой, когда мы сохраняли файл.

Практический гайд с акцентом на практику использования eBPF командой Edge Delta.

https://edgedelta.com/company/blog/applied-introduction-ebpf-go

👉 @golang_lib

Библиотека Go (Golang) разработчика

09 Nov, 08:39


Разработка фуллстек веб-приложения на Go + React: туториал от Jetbrains


Part 1
https://www.jetbrains.com/guide/go/tutorials/webapp_go_react_part_one/

Part 2
https://www.jetbrains.com/guide/go/tutorials/webapp_go_react_part_two/

Part 3
https://www.jetbrains.com/guide/go/tutorials/webapp_go_react_part_three/

👉 @golang_lib

Библиотека Go (Golang) разработчика

05 Nov, 10:01


Какой самый больной вопрос для IT-команд? Тестирование микросервисов!

Откройте все секреты! Как повысить отказоустойчивость и управлять взаимодействиями между сервисами?

👨‍💻🛠👨🏻‍💻 На открытом уроке мы разберем всё: от юнит-тестов до тестов производительности.

Присоединяйтесь к бесплатному вебинару 7 ноября в 20:00 мск и получите практические инструменты для работы с микросервисами. А еще скидку на обучение на курсе «Software Architect»!

🔴 Регистрируйтесь прямо сейчас и получите доступ к лучшим практикам тестирования в распределённых системах: https://vk.cc/cE5ylC

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Библиотека Go (Golang) разработчика

05 Nov, 09:01


PNGify

PNGify — это инструмент командной строки, написанный на Go, который позволяет кодировать текст и файлы в PNG-изображения и декодировать их обратно в исходную форму. Этот подход сочетает обработку текста и изображений, предлагая забавный способ хранения и извлечения данных. Цель этого экспериментального проекта — исследовать креативные возможности.

https://github.com/tofl/PNGify

👉 @golang_lib

Библиотека Go (Golang) разработчика

05 Nov, 06:51


Остаться в живых (keepalive) feat. HTTP/2, Go & gRPC-Go

В этой статье мы разберём известную идею — keepalive в межсервисном взаимодействии, которая спасла уже не одну компанию в трудное время :). Но чтобы добавить интереса, мы разберём, какие проблемы в keepalive принесли современные технологии (ведь что может пойти не так с этой простой идеей?). Поэтому в статье мы рассмотрим механизмы, которые позволяют проверять стабильность соединения между клиентом и сервером в случае, когда обычные TCP keepalive из-за сложности архитектуры не могут определить состояние сервера.

https://habr.com/ru/companies/ozontech/articles/810427/

👉 @golang_lib

Библиотека Go (Golang) разработчика

30 Oct, 09:00


📢Что делать, когда процессы «пытаются» одновременно получить доступ к данным без правильной синхронизации?

Это называется «состоянием гонки». О том, как выйти из такого состояния, мы поговорим на открытом онлайн-уроке «Race condition, и как с ним бороться»

📅 Дата и время: 1 ноября, 20:00 МСК
🔗Записаться на урок: https://vk.cc/cDCn10

Вы узнаете:
- О типовых сценариях возникновения состояния гонки
- Как и для чего использовать пакет Symfony Lock
- Как восстанавливать работу с БД после исключений

Будет интересно php-разработчикам

💡Встречаемся в преддверии старта курса «Symfony Framework». Все участники вебинара получат специальную цену на обучение!

➡️Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://vk.cc/cDCn10

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Библиотека Go (Golang) разработчика

28 Oct, 05:44


Сервер push-уведомлений, написанный на языке Go (Golang).

https://github.com/appleboy/gorush

👉 @golang_lib

Библиотека Go (Golang) разработчика

26 Oct, 10:48


В чем разница между методами Time.Sub() и Time.Add() пакета time?

В пакете time языка Go методы Time.Sub() и Time.Add() служат для работы с временными значениями, но выполняют разные задачи:

1. Time.Sub():
- Используется для вычисления разницы между двумя временными значениями.
- Принимает другой объект типа Time и возвращает Duration, представляющую время, прошедшее между этими двумя временными значениями.
- Пример использования:

t1 := time.Now()
t2 := t1.Add(2 * time.Hour)
duration := t2.Sub(t1) // возвращает 2 часа


2. Time.Add():
- Используется для добавления определенного временного интервала (типа Duration`) к объекту типа `Time.
- Принимает значение Duration и возвращает новый объект Time, который представляет момент времени, полученный после добавления указанного интервала.
- Пример использования:

t := time.Now()
newTime := t.Add(2 * time.Hour) // возвращает t плюс 2 часа


Таким образом, Time.Sub() используется для нахождения разницы между временными метками, а Time.Add() — для добавления интервала времени к конкретной временной метке.

👉 @golang_lib

Библиотека Go (Golang) разработчика

20 Oct, 21:10


Awesome Ebitengine

Список удивительных фреймворков, библиотек и программного обеспечения для Ebitengine

https://github.com/sedyh/awesome-ebitengine

👉 @golang_lib

Библиотека Go (Golang) разработчика

15 Oct, 21:27


Эволюция стандартной библиотеки Go с пакетом math/rand/v2

С момента выхода Go 1 в марте 2012 года изменения в стандартной библиотеке были ограничены обещанием совместимости Go. В целом, совместимость оказалась благом для пользователей Go, предоставив стабильную базу для производственных систем, документации, учебных пособий, книг и многого другого. Однако со временем мы осознали ошибки в оригинальных API, которые нельзя исправить без нарушения совместимости; в других случаях изменились лучшие практики и соглашения. Нам нужен план для внесения важных, но несовместимых изменений.

Этот пост в блоге посвящён новому пакету math/rand/v2 в Go 1.22 — первому пакету «v2» в стандартной библиотеке. Он вносит необходимые улучшения в API math/rand, но что ещё важнее, он служит примером того, как мы можем пересматривать другие пакеты стандартной библиотеки по мере возникновения необходимости.

(В Go math/rand и math/rand/v2 — это два разных пакета с разными путями для импорта. Go 1 и все последующие версии включают math/rand; Go 1.22 добавил math/rand/v2. Программа на Go может импортировать либо один из пакетов, либо оба.)

В этом посте обсуждаются конкретные причины изменений в math/rand/v2, а также общие принципы, которые будут руководить созданием новых версий других пакетов.

https://go.dev/blog/randv2

👉 @golang_lib

Библиотека Go (Golang) разработчика

15 Oct, 08:02


Podlodka Go Crew – это онлайн-конференции для Go-разработчиков с упором на практическое применение знаний.

Программа строится так, чтобы сессии проходили в удобное время – утром и вечером.

Новый сезон Podlodka Go Crew при поддержке Deckhouse пройдет с 28 октября по 1 ноября и будет полностью посвящен архитектуре на Go.

В программе:

— Никита Русин расскажет, как GoWrap заменяет однообразный код на сгенерированные декораторы с логированием и метриками.
— Максим Данильченко поделится опытом разработки SDK для работы с платформой A/B-тестирования.
— Денис Ларионов покажет, как применять подход BDD в Go для создания бизнес-тестов, которые послужат живой документацией.
— А так же архитектурная рулетка кейсов и публичное собеседование.

Не упусти шанс принять участие в конференции, которая изменит твое понимание архитектуры на Go!

Early-bird билеты доступны по ссылке: https://podlodka.io/gocrew

Библиотека Go (Golang) разработчика

14 Oct, 21:46


Обработка ошибок в web apps не должна быть такой сложной

Зачем?
В процессе работы с Go я столкнулся с ещё одной проблемой — обработкой ошибок в хендлерах. Как можно сделать этот процесс удобным и эффективным для 150+ обработчиков? Как обеспечить консистентность и поддержку при обработке ошибок?

Разумеется, мои поиски палочки-выручалочки закончились ничем. Есть протокол RFS7807, есть библиотека, есть масса противоречивых статей - выбирай, но как будто чего-то не хватает... По существу статья ниже полностью не отвечает на мои вопросы, но в ней достаточно много примеров, и я думаю, она будет полезной. Это лишь повод/предложение поделиться вашими примерами успешных кейсов.

https://habr.com/ru/articles/811361/

👉 @golang_lib

Библиотека Go (Golang) разработчика

14 Oct, 07:28


Анонс исcледования рынка Go-разработчиков, 2024

Второй год подряд ребята из DevCrowd проводят большое исследование Go-разработчиков:

⚫️Что входит в обязанности и каких навыков не хватает
⚫️ Сколько в среднем зарабатывают в профессии в зависимости от грейда
⚫️Какие инструменты, сервисы наиболее популярны
⚫️Что читают, слушают и смотрят для профессионального развития.

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

Результаты опроса помогут вам сравнить свои ожидания с рыночными, построить план своего развития, и просто понять, что происходит с индустрией!

👉 Пройти опрос

Посмотреть результаты прошлого года

Библиотека Go (Golang) разработчика

13 Oct, 20:53


Две причины, по которым я предпочитаю передавать указатели на структуры в Go

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

Я здесь, чтобы немного оспорить эту точку зрения. Слишком многие дискуссии о том, использовать ли определённую конструкцию Go, становятся слишком техническими слишком быстро. Это может быть оправдано при разработке низкоуровневых системных компонентов с нулевым трением или массово масштабируемых веб-сервисов.

https://preslav.me/2024/04/23/two-reasons-to-prefer-struct-pointers-in-golang/

👉 @golang_lib

Библиотека Go (Golang) разработчика

10 Oct, 21:54


Анонимная сеть в 100 строк кода на Go

Прошло уже более года с тех пор как я написал статью - Анонимная сеть в 200 строк кода на Go. Пересмотрев её однажды осенним вечером я понял насколько всё в ней было ужасно - начиная с самого поведения логики кода и заканчивая его избыточностью. Сев за ноутбук и потратив от силы 20 минут у меня получилось написать сеть всего в 100 строк кода, используя лишь и только стандартную библиотеку языка.

https://habr.com/ru/articles/849552/

👉 @golang_lib

Библиотека Go (Golang) разработчика

06 Oct, 20:12


С нуля до продакшена: Путешествие Go в Google

Недавно Джереми Мейсон и Самир Аджмани написали о том, как Go стал одним из внутренних языков Google. В настоящее время Go занимает 8-е место в списке самых популярных языков программирования в мире и продолжает развиваться, поэтому людям интересно узнать о первых днях и о том, как мы к этому пришли.

Я решил написать об этом с точки зрения SRE, разработчика фреймворка и раннего последователя. Вся информация, которой я делюсь, относится к системам, которые Google уже задокументировал публично, поэтому я не думаю, что раскрываю какие-либо секреты. Есть некоторые важные части этой истории (например, envelope), о которых я не видел упоминаний в других местах, поэтому я не буду их обсуждать.

https://i-admin.cetico.org/posts/early-days-golang-google/

👉 @golang_lib

Библиотека Go (Golang) разработчика

01 Oct, 19:22


Как ускорить программу, не переписав ни строчки кода: PGO для Go-разработчиков

Привет, я Кирилл Кузин — старший разработчик в компании Ви.Tech,являющейся IT-дочкой маркетплейса ВсеИнструменты.ру. Интернет-магазин стремительно растет и развивается. И сейчас мы имеем 4 кластера Kubernetes, в каждом из которых живут от 200 до 215 нод, а 1 млн пайплайнов в месяц выполняют свою работу. Ежедневно на наш сайт приходит почти 2 млн уникальных пользователей.

https://habr.com/ru/articles/846818/

👉 @golang_lib

Библиотека Go (Golang) разработчика

01 Oct, 12:54


Используйте умные ссылки – создавайте и настраивайте сервисы для динамического управления редиректами
Как именно, спросите вы?

А очень просто: приходите на открытый урок OTUS «Проектирование сервиса умных ссылок»

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

Вебинар проведёт действующий директор компании по разработке ПО, в прошлом – профессиональный разработчик на C++

👨‍💻🛠👨🏻‍💻 Будет интересно: бэкенд-разработчикам, фулстек-разработчикам, техническим архитекторам

📅 8 октября, 20:00
🆓 Бесплатно. Урок в рамках старта курса «Microservice Architecture»

🔴 Записаться на открытый урок: https://vk.cc/cBIT7s

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Библиотека Go (Golang) разработчика

01 Oct, 12:31


Fuzzing-тестирование. Практическое применение

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

https://habr.com/ru/companies/wildberries/articles/808911/

👉 @golang_lib

Библиотека Go (Golang) разработчика

01 Oct, 12:03


Функция Join пакета errors конкатенирует список ошибок и возвращает ошибку, если хотя бы одна из переданных ошибок не nil.

Join возвращает nil, если все переданные ошибки равны nil.

https://pkg.go.dev/errors#Join

👉 @golang_lib

Библиотека Go (Golang) разработчика

25 Sep, 12:01


🤖 Создайте своего чат-бота для генерации мемов, а заодно прокачайте навыки разработки на Go?

Приглашаем вас на открытый вебинар 26 сентября в 20:00 МСК, где мы подробно разберем:

- этапы создания чат-бота для генерации мемов с использованием Go;
- возможности Go в реальных проектах;
- ответы на все возникающие вопросы.

Встречаемся в преддверии старта курса «Go (Golang) Developer Basic». Все участники вебинара получат специальную цену на обучение!

➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/Kucko/?erid=2VtzqvzpPCU

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Библиотека Go (Golang) разработчика

25 Sep, 11:01


Ошибки в языке Go — это большая ошибка

Я пишу на Go несколько лет, в Каруне многие вещи сделаны на нём; язык мне нравится своей простотой, незамысловатой прямолинейностью и приличной эффективностью. На других языках я писать не хочу.


Но сорян, к бесконечным if err != nil я до конца привыкнуть так и не смог.


Да-да, я знаю все аргументы: явное лучше неявного, язык Go многословен, зато понятен, и всё такое. Но, блин, на мой взгляд Го-вэй Го-вэю рознь.

https://habr.com/ru/companies/karuna/articles/830346/

👉 @golang_lib

Библиотека Go (Golang) разработчика

25 Sep, 10:01


Пишем поиск семантически похожих текстов (или товаров) за полчаса на Go и Postgres (pgVector)

Казалось бы, в посгресе и так есть неплохой полнотекстовый поиск (tsvector/tsquery), и вы из коробки можете проиндексировать ваши тексты, а потом поискать по ним. Но на самом деле это не совсем то, что нужно — такой поиск работает лишь по чётким совпадениям слов. Т.е. postgres не догадается, что "кошка гонится за мышью" — это довольно близко к "котёнок охотится на грызуна". Как же победить такую проблему?

https://habr.com/ru/companies/karuna/articles/809305/

👉 @golang_lib

Библиотека Go (Golang) разработчика

25 Sep, 07:58


Используйте умные ссылки – создавайте и настраивайте сервисы для динамического управления редиректами
Как именно, спросите вы?

А очень просто: приходите на открытый урок OTUS «Проектирование сервиса умных ссылок»

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

Вебинар проведёт действующий директор компании по разработке ПО, в прошлом – профессиональный разработчик на C++

👨‍💻🛠👨🏻‍💻 Будет интересно: бэкенд-разработчикам, фулстек-разработчикам, техническим архитекторам

📅 8 октября, 20:00
🆓 Бесплатно. Урок в рамках старта курса «Microservice Architecture»

🔴 Записаться на открытый урок: https://vk.cc/cBloll

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Библиотека Go (Golang) разработчика

24 Sep, 19:40


В чем разница между var x int = 2 и x := 2 в Go?

Результат тот же — переменная со значением 2. С помощью var x int = 2 мы устанавливаем тип переменной как целое число, а с помощью x := 2 мы позволяем Go самому определить тип.

👉 @golang_lib

Библиотека Go (Golang) разработчика

21 Sep, 07:49


gRPC Microservices in Go
Автор: Huseyin Babal (2023)

Книга научит вас создавать готовые к производству микросервисы с помощью Go и gRPC. В нем вы научитесь создавать эффективные API на Go, использовать gRPC для сетевого взаимодействия, а также развертываться в облаке и Kubernetes. Полезные примеры, в том числе полное веб-приложение для электронной коммерции, облегчают понимание каждой концепции. Вы также получите представление о тестировании, развертывании и эффективных практиках DevOps для микросервисов.

👉 @golang_lib

Библиотека Go (Golang) разработчика

20 Sep, 16:15


Когда Kubernetes и Go не очень хорошо работают вместе

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

https://lalatron.hashnode.dev/when-kubernetes-and-go-dont-work-well-together

👉 @golang_lib

Библиотека Go (Golang) разработчика

13 Sep, 07:57


Как построить полноценное распределенное файловое хранилище на Golang

https://www.youtube.com/watch?v=bymQakvTY40

#golang

👉 @golang_lib

Библиотека Go (Golang) разработчика

12 Sep, 07:35


📣Как сделать верификацию пользователя в системе с помощью телеграмм-бота?

Узнайте на открытом вебинаре 18 сентября в 20:00 мск, где мы разберем:

- как реализовать потоко-независимый тип map;
- как создать и настроить телеграмм-бота для постоянного ожидания пользователей;
- как использовать web-socket и каналы для верификации пользователя.

Встречаемся в преддверии старта курса «Go (Golang) Developer Basic». Все участники вебинара получат специальную цену на обучение!

Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/MBoA/?erid=2VtzqwqiuZ1

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

2,164

subscribers

195

photos

77

videos