Библиотека Go-разработчика | Golang
23.3K subscribers
2.08K photos
42 videos
87 files
4.45K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
🧰 Gofakeit — Go-библиотека для генерации случайных данных

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

Недавно выпущенная версия 7.0 интегрирована с math/rand/v2 из Go 1.22, что может упростить использование в некоторых кейсах.

#перечитываястарое
Please open Telegram to view this post
VIEW IN TELEGRAM
👍44🔥5
🖼️ Многим гоферам нравится использовать команду go run для запуска Go-кода как скриптов. Это хорошо работало до версии Go 1.22.

🤯 Начиная с Go 1.22, вам нужно либо указать опцию командной строки "-gcflags=-lang=go1.xx", либо поместить "//go:build go1.xx" в некоторые исходники, чтобы избежать непреднамеренное поведение.

🔗 Источник
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚23🥰5🥱5🤔32
🏃 Самоучитель по Go для начинающих. Часть 9. Структуры и методы. Интерфейсы. Указатели. Основы ООП

В этом уроке самоучителя подробно рассмотрим структуры, методы и интерфейсы в Go, уделим особое внимание их особенностям и применению. В заключение познакомимся с конструкциями type assertion и type switch.

👉 Читать гайд

📌 Остальные части в серии:

1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
👍11
🖼️ «Go под капотом» — доклад Антона Сергеева на Kolesa Go Meetup

📌 Что вы узнаете из доклада?

☑️ Как работает Go изнутри?
☑️ Чем его принципы отличаются от других популярных языков?
☑️ Что нужно знать о работе компилятора, операционной системы и компьютера, чтобы пользоваться Go эффективно?
☑️ Как устроены горутины, и почему в языке есть несколько способов сделать одно и то же, когда речь идет о конкурентности?

🤷‍♂️ Да, докладу уже 4 года. Но это, как говорится, база.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🥱82🤔1
🧰 ObjectBox Go — встроенная база данных, которую можно использовать как альтернативу SQLite, gorm и т. д. На прошлой неделе была представлена 1.8.0.

☑️ ObjectBox проста в использовании благодаря интуитивно понятному встроенному API:


id, err := box.Put(&Person{ FirstName: "Joe", LastName: "Green" })


👉 Документация
👉 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍181🤩1
💬 Представьте ситуацию, что вы можете стабильно получать одинаковые деньги как в стартапе, так и в большой компании. Что бы вы выбрали?

🤩 — стартап, горящие глаза и вот это всё
👍 — большую компанию! Там можно быстрее набраться коммерческого опыта
🤔 — свой вариант (напишу в комментариях)

#холивар
👍149🤩74🥱8
🤔 Go enums — отстой

Хотя заголовок кажется кликбейтным, в Go действительно технически нет перечислений (enums), что автор статьи считает недостатком. Однако в Go есть ключевое слово iota, которое представляет собой самоинкрементируемое целое число, позволяя создавать некую форму перечислений.

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

👉 Читать
👍131🔥1
🧰 routegroup — легковесная Go-библиотека для группировки роутов и интеграции middleware с http.ServeMux от соавтора подкаста «Радио-Т» Umputun.

🎧 Слушать про анонс инструмента (01:18:30-01:34:40)
👉 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍32😁1
🧠 Знания — сила! Что должен изучить каждый программист?

Мы запускаем опрос среди наших читателей, чтобы выяснить, какие ключевые компетенции необходимо развивать программисту на текущий момент. Какие направления стоит изучать в первую очередь? Уровень каких знаний влияет на зарплату в отрасли?

Мы проведем анализ ответов и составим ТОП-лист навыков, которые не помешают освоить каждому программисту и разработчику для успешного карьерного роста!

👉 Пройти опрос
👍5
🧰 Как Uber обслуживает более 40 млн rps с помощью встроенного кэша

Docstore — распределенная база данных Uber, построенная на основе MySQL. Храня десятки ПБ данных и обслуживая десятки миллионов запросов в секунду, это один из крупнейших механизмов базы данных в Uber, используемый микросервисами из всех бизнес-вертикалей.

С момента ее создания в 2020 году количество пользователей и юзкейсов Docstore значительно выросло. Проблема ясна — надо масштабироваться. В качестве решения команда Uber написала систему для кэширования CacheFront. Впечатляющие результаты внедрения и полезные практические наработки — под катом.
🔥22🤔53👾1
🧰 TinyGo 0.31.0: теперь с поддержкой Go 1.22

Go-компилятор для микроконтроллеров и компактных однопроцессорных систем получает поддержку Go 1.22, собственную бинарную сборку macOS Arm64, поддержку Nim Flake и обновление до LLVM 17.

👉 Подробнее
👍18🔥9😁1
👩‍💻 Практический взгляд на разработку REST API в Go 1.22

Быстрый гайд в духе канала TutorialEdge по разработке REST API на Go 1.22.

📺 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱15👍13👏6🔥3😁1
🧰 Podinfo — шаблон Go-микросервиса для Kubernetes. Это небольшое приложение на базе Go, демонстрирующее лучшие практики при запуске микросервисов в Kubernetes, включая проверки работоспособности, graceful shutdown и др.

👉 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
30👍17😁1🤔1🌚1
💡One Billion Rows Challenge на Go

Челлендж «Один миллиард строк» направлен на то, чтобы увидеть, насколько быстро Java может агрегировать 1 000 000 000 значений из текстового файла.

Под катом — подобный эксперимент, но на Go. Shraddha Agrawal добилась производительности порядка 14 секунд, начиная с > 6 минут.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
144