Библиотека Go (Golang) разработчика
2.63K subscribers
282 photos
95 videos
29 files
350 links
Полезные материалы по всему, что может быть полезно Golang разработчику. По всем вопросам @evgenycarter
Download Telegram
Forwarded from Хакер Free
HackBrowserData

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

Поддерживает работу с Chrome, Edge, Firefox, Opera и многими другими браузерами на Windows, macOS и Linux. Результаты можно экспортировать в JSON или CSV, что удобно для последующего анализа.

https://github.com/moonD4rk/HackBrowserData

🔐 @xakep_2
❤‍🔥2🌚1
Vendoring, или go mod vendor: что это такое?

Когда вы работаете с модулями в Go, компилятор обычно загружает все необходимые модули из их онлайн-источников или репозиториев и складывает их в локальный кэш. Чаще всего этот кэш находится по пути $GOPATH/pkg/mod.

Но если вы хотите убедиться, вы можете выполнить команду go env GOMODCACHE, чтобы увидеть точное расположение.


$ go env GOMODCACHE
/Users/phuong/go/pkg/mod


👉 Читать

👉 @golang_lib
👍1
💻 Пишете на Go, но всё еще не уверены в интерфейсах?

📅 3 сентября в 20:00 на открытом вебинаре OTUS эксперт по Go разложит интерфейсы на атомы. Вы узнаете, как устроен тип interface изнутри и почему этот инструмент незаменим в современном Go-коде. Разберём самые распространённые ошибки и расскажем, как избегать panic при использовании интерфейсов.

Получите навыки и уверенность, чтобы писать чистый и безопасный код, избегая типичных ловушек языка. Вебинар проходит в преддверие курса «Golang Developer. Professional».

🔴 Регистрируйтесь прямо сейчас и прокачайте свой код на Go: https://vk.cc/cP1UVS

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
«Бобер выдыхай»: Go, WinAPI и ассемблер

Что вам приходит в голову при слове «Golang»? Google и микросервисы? Я тоже так думал, но реальность оказалась значительно интересней.

👉 Читать

👉 @golang_lib
👍2
Освоение оптимизации памяти в Go: 20 экспертных техник для эффективных приложений

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

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

Сборщик мусора Go использует конкурентный алгоритм «mark-and-sweep» с трёхцветной маркировкой. Он работает параллельно с приложением, что означает отсутствие полной приостановки программы во время сборки мусора. Такой подход обеспечивает низкую задержку работы GC, но также накладывает свои ограничения.

Для оптимизации использования памяти необходимо минимизировать количество выделений. Один из эффективных способов — использовать более подходящие структуры данных. Например, заранее выделенный срез вместо постоянного добавления элементов через append может значительно сократить количество аллокаций.

👉 Читать

👉 @golang_lib
👍2
🫵 Хотите освоить новый язык программирования и увидеть результат уже на первом занятии?

Приглашаем на открытый урок «Hello, Go! С нуля до первого кода за 1,5 часа». За 90 минут вместе с практикующим экспертом вы установите Go, разберётесь с базовым синтаксисом и напишете свою первую программу.

❗️ Этот урок — идеальный старт для тех, кто давно хотел попробовать Golang: никаких сложных терминов, только полезные приёмы и понятные примеры. Узнаете, как устроены пакеты, функции, переменные и запустите своё приложение. А в конце получите пошаговый план дальнейшего изучения Go.

Встречаемся 4 сентября в 20:00 МСК. Участие бесплатно. Регистрация открыта: https://vk.cc/cPaRhR

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Примеры использования client-go — официальной Go-библиотеки для взаимодействия с Kubernetes API. Репозиторий содержит набор минималистичных, но рабочих программ, которые демонстрируют, как использовать client-go для различных задач:

- Получение списка Pod'ов
- Прослушивание событий (watch)
- Использование контроллеров
- Работа с workqueue
- Создание кастомных клиентов
- Реализация информеров
- Примеры c RBAC и настройкой доступа

Каждый пример максимально изолирован и понятен, что делает репозиторий отличной стартовой точкой для тех, кто хочет разобраться, как изнутри работает Kubernetes-клиент на Go. Особенно полезно для разработчиков операторов и контроллеров.

https://github.com/iximiuz/client-go-examples

👉 @golang_lib
👍21
SURF – продвинутый HTTP-клиент для Go с имитацией браузеров Chrome/Firefox, поддержкой HTTP/3 и QUIC-фингерпринтинга, эмуляцией TLS-отпечатков JA3/JA4 и обходом антибот-защит для веб-автоматизации и парсинга.

https://github.com/enetx/surf

👉 @golang_lib
👍6
Чувствуете, что ваш Go-код тормозит под нагрузкой?

Приглашаем на открытый урок «Golang: когда многопоточность работает против вас». Узнайте, почему горутины и каналы иногда оборачиваются узкими местами и как это исправить.

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

📅 Встречаемся 16 сентября в 20:00 МСК. Открытый урок проходит в преддверие старта курса «Golang Developer. Professional».

👉 Запишитесь на открытый урок → https://vk.cc/cPrevx

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Imagor - это быстрый и лёгкий сервер для обработки изображений на Go. Он умеет делать ресайз, кадрирование, фильтры и трансформации «на лету». Всё строится вокруг URL-запросов, что удобно для интеграции с CDN и микросервисами.

Особенности:

- Поддержка форматов JPEG, PNG, GIF, WebP, AVIF.
- Возможность работы с удалёнными источниками (S3, GCS и др.).
- Кэширование результатов.
- Расширяемая архитектура с плагинами.
- Совместимость с Thumbor https://github.com/thumbor/thumbor.

https://github.com/cshum/imagor

👉 @golang_lib
👍2
Go команда представила экспериментальный пакет encoding/json/v2.

Он решает давние проблемы стандартного encoding/json:

- Более строгая типобезопасность.
- Улучшенная производительность при маршалинге/анмаршалинге.
- Чёткая работа с null, отсутствием полей и нулевыми значениями.
- Новый API, учитывающий опыт использования старой версии.
- Возможность расширяемости и будущих улучшений без «поломки» совместимости.

Старый пакет encoding/json никуда не исчезает - он остаётся стабильным. Но постепенно рекомендуется тестировать v2 и давать обратную связь.

https://go.dev/blog/jsonv2-exp

👉 @golang_lib
👍3
Хотите попробовать себя в бэкенде, но страшно уйти от фронта?

Это чувство знакомо каждому фронтендеру: сложно оставить родной JS и Webpack и отправиться в неизведанный мир API, баз данных и Docker.

На открытом уроке мы покажем, что переход на Golang — это проще, чем кажется. Вместе разберём, как перенести знакомые фронтендеру навыки в мир Go, создадим работающий API всего за 15 минут и убедимся, что Go — это удобно, логично и выгодно.

📅 Не упускайте шанс открыть для себя новые горизонты в разработке! Встречаемся 17 сентября в 20:00 МСК.

👉 Запишитесь на открытый урок → https://vk.cc/cPxWno

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Создание простой виртуальной машины

Вдохновившись виртуальными машинами (VM), такими как WebAssembly и Ethereum Virtual Machine, я решил бросить себе вызов и создать упрощённую версию. В этой статье я расскажу о процессе реализации виртуальной машины на Go, которая работает с компилированным байткодом и выполняет базовые арифметические операции.

Стековая или регистровая машина?

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

Стековая машина, как, например, WebAssembly, работает по принципу последний вошёл — первый вышел (LIFO). Инструкции в этой модели в основном оперируют данными, находящимися на вершине стека. Такой подход часто используется при реализации виртуальных машин благодаря своей простоте и лёгкости в реализации.

Регистровая машина ближе по архитектуре к современным процессорам. Она использует набор регистров (аппаратно поддерживаемых), с которыми инструкции могут работать напрямую. Этот подход может повысить скорость выполнения за счёт сокращения избыточного перемещения данных и даёт больше возможностей для оптимизации кода на этапе компиляции.

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

https://blog.phakorn.com/posts/2025/building-a-simple-vm/

👉 @golang_lib
👍2
mtlog — Message Template Logging для Go

Это высокопроизводительная библиотека структурированного логирования для Go, вдохновлённая Serilog. Она привносит в экосистему Go message templates и архитектуру на основе конвейеров (pipeline), обеспечивая нулевые аллокации для простых операций логирования и мощные возможности для сложных сценариев.

https://github.com/willibrandon/mtlog

👉 @golang_lib
👍1
Backend-митап в Москве: многопоточность, микросервисы, prompt engineering и System Design

• 20 сентября
• Пространство «Весна»

Если хочешь разобраться глубже в backend-разработке, системном дизайне, алгоритмах и многопоточке — приходи.

Говорим по существу — про то, что важно в работе и на собеседованиях:
– как строить микросервисы, не превращая код в ад;
– что ждёт на System Design-интервью и как его пройти.
– как готовиться к собесам и системно учить алгоритмы;
– как устроена модель памяти Go и где тебя может поджидать баг.

🎓 Программа

15:00 – 15:30 – Общий сбор

15:30 – 15:50 – Нетворкинг - разделимся на группы, пообщаемся и заведем новые знакомства

15:50 – 16:30 – Игорь Панасюк (Senior в Яндекс) «Особенности и ловушки модели памяти в Go: тайны синхронизации»

16:30 – 17:10 – Леонид Ченский (TeamLead в OzonTech) «Пишем микросервисы на Go как в BigTech, с нуля»

17:10 – 17:30 – Перерыв на фуршет

17:30 – 18:10 – Сергей Венецкий (ex-разработчик в EPAM) «LLM под капотом: как правильно писать промпты»

18:10 – 18:50 – Владимир Балун (ex-TeamLead в Яндекс) «Как пройти System Design интервью: взгляд со стороны интервьювера и кандидата»

18:50 – 19:00 – Завершение контентной части, фотосесия

19:00 – 20:00 – Фуршет и нетворкинг на площадке

20:00 - Afterparty - по желанию едем в бар неподалеку и продолжаем общение в неформальной обстановке

🎁 Подарки за лучшие вопросы:

— книги по backend разработке от спикеров
— сертификаты на бесплатное обучение на любом из курсов школы
— бесплатные mock-собеседования от интервьюверов из BigTech
— скидки на обучение в нашей школе

Место: Пространство «Весна»
Спартаковский переулок 2с1, подъезд 7

5 минут от м. Красносельская
7 минут от м. Бауманская

❗️Количество мест ограничено - приобрести билет можно по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1