Golang Юниор
4.85K subscribers
199 photos
6 videos
235 links
Канал для начинающих изучать язык программирования Go. Юниоры или Junior - Вперед.

Контент нашего канала состоит из:
- туториалы
- вопросы с собесов
- тесты на знания Go


@viktorreh
@anothertechrock

Чат: https://t.me/+UA9kQbQdpFxmZGY6
Download Telegram
gjson — библиотека для работы с JSON-данными в Go!

Она позволяет легко и эффективно извлекать значения из JSON-структур с использованием простого и быстрого синтаксиса.

🔍 Основные особенности gjson:

🌟 Быстрое извлечение данных: Gjson использует оптимизированные алгоритмы для поиска данных в JSON, что делает её значительно быстрее по сравнению с другими библиотеками, особенно при работе с большими JSON-файлами.

🌟 Простота использования: API библиотеки очень простое, и для извлечения значения из JSON-строки достаточно одного вызова функции.
Поддержка сложных структур: Gjson позволяет работать с вложенными объектами и массивами в JSON-данных.

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

🔐 Лицензия: MIT

Github

@golangprofi
👍4
Carbon - A Lightweight In-Memory Cache for High Throughput

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

#golang

go get github.com/scott-mescudi/carbon

Github

@golangprofi
Go Collections
Это пакет Go, который предоставляет реализации распространённых структур данных, включая двустороннюю очередь (Deque), связанный список, очередь, стек и trie. Пакет предлагает простой и эффективный способ использования этих структур в Go с поддержкой обобщённых типов.

Github

@golangprofi
👏5
GoSearch

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

GitHub

@golangprofi
🔥4👍2
HellPot – это крутая ловушка для ботов на вашем сервере, которая заманивает автономных HTTP-ботов в цифровой ад.

Боты, игнорирующие файл robots.txt, попадают в ловушку HellPot, где им подается непрерывный поток данных, настолько похожих на реальный сайт, что они продолжают работать до тех пор, пока окончательно не исчерпают свои ресурсы или не прекратят своё существование.

Под капотом этого "вечного страдания" находится движок, который передает клиенту, использующему fasthttp, фрагменты "Зарождения трагедии" ("Эллинизм и пессимизм") Фридриха Ницше.

Github

@golangprofi
👍20🔥21👏1
Swag — инструмент для автоматического создания документации RESTful API в формате Swagger 2.0 для приложений на языке Go!

Он преобразует аннотации в коде Go в документацию, упрощая интеграцию Swagger UI с существующими проектами.

Swag поддерживает популярные веб-фреймворки Go, такие как Gin, Echo и другие. Разработчики могут использовать декларативные комментарии для описания API, включая информацию о маршрутах, параметрах, телах запросов и ответах, а также настройку авторизации. Это делает процесс создания и обновления документации более простым и удобным.

🔐 Лицензия: MIT

Github

@golangprofi
1👍1👌1
Что выведет код ?

package main

import (
"fmt"
)

func printChannel(ch chan int) {
for {
select {
case num := <-ch:
fmt.Printf("%d ", num)

}
}
}

func main() {
ch := make(chan int)
go printChannel(ch)
for i := 0; i < 5; i++ {
ch <- i
}

}


Ответ
😁6👍31🔥1🥴1
This media is not supported in your browser
VIEW IN TELEGRAM
Dive

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

Он предоставляет возможность просмотра содержимого слоёв и отслеживания изменений файлов, а также оценивает эффективность образов, вычисляя «потерянное» пространство.

Инструмент может быть интегрирован в процессы CI/CD и поддерживает работу с разными источниками образов, такими как Docker и Podman.

dive <your-image-tag>

GitHub

@golangprofi
3👍2
Друзья, какого контента не хватает, а какой нравится?

Нужны ли задачки с кодом по Go? Книги? Инструменты наподобие этого.

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

Например вот нашел вакансию для Junior: https://t.me/golangjoboffer/. Подпишитесь.

Как только будет 100 человек в группе - отпишем всем HR менеджерам , чтобы они присылали каждый день вакансии.
4👍4👎1😱1👌1
SimplySocket — лёгкая библиотека на языке Go для работы с WebSocket!

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

SimplySocket может быть полезной альтернативой более сложным решениям, таким как Centrifugo или Watermill, если вы ищете минималистичный подход к реализации WebSocket в реальном времени.

🔐 Лицензия: MIT

Github

Чат с Go вакансиями
2
🚀 Go 1.24: Главные обновления!

💡 Новое в языке
Generic'и: go теперь поддерживает обобщенные псевдонимы типов: псевдоним типа может быть параметризован так же, как определенный тип

🛠 Инструменты
Директива tool в go.mod: для учёта инструментов без лишнего кода.
Кэширование go run: ускоряет повторные запуски.
JSON-вывод для go build/install.
Поддержка версий модулей в бинарниках.

⚡️ Производительность
Карты (map) с Swiss Tables: до 3% прироста скорости.

🧹 Среда выполнения
Новая финализация: runtime.AddCleanup заменяет SetFinalizer.

📚 Библиотеки
Слабые ссылки: новый пакет weak.
Постквантовая криптография: пакет crypto/mlkem.
Ограничение файловой системы: тип os.Root.

🔍 Инструменты анализа
vet ловит больше ошибок в тестах и printf.

#ужененовость

Чат с Go вакансиями
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51
📕 Новинка компьютерной литературы про Go

Книга «Go: идиомы и паттерны проектирования» Джона Боднера — практическое руководство для разработчиков, желающих писать чистый и идиоматический код на Go.

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

Основные темы книги:

Паттерны проектирования в Go: подробное рассмотрение шаблонов, которые помогают строить масштабируемые и поддерживаемые приложения.

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

Обработка ошибок и конкурентность: рекомендации по эффективному управлению ошибками и реализации конкурентных процессов с использованием горутин и каналов.

➡️ Рекомендуем к прочтению

Чат с Go вакансиями
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Golang + Gin + Postgres + Docker + gRPC + NGINX

Реализация gRPC на основе Go с Gin, PostgreSQL, Docker и NGINX
#golang

go install github.com/golang/mock/mockgen@v1.6.0

Github

Чат с Go вакансиями
👍52👎1
Golang для профи

Автор: Михалис Цукалос
Год издания: 2020

#go #ru

Скачать книгу
💩2🔥1🤮1🎅1
This media is not supported in your browser
VIEW IN TELEGRAM
huh — инструмент для создания интерактивных форм с использованием библиотеки Bubble Tea, которая применяется для построения текстовых пользовательских интерфейсов (TUI) на языке Go!

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

Инструмент предоставляет готовую структуру для построения форм, поддерживает настройку тем, горячих клавиш и адаптацию для экранных читалок (режим доступности). Также он содержит возможности для обработки данных форм и их интеграции в текстовые интерфейсы, что может быть полезно для CLI-приложений или других текстовых интерфейсов.

🔐 Лицензия: MIT

Github

Junior Вакансии Go тут
🌐 Как ускорить API

#инфографика про основные методы улучшения производительности API

💬 Какой из методов вы уже используете? Делитесь в комментариях! 👇

Junior Вакансии Go тут
Dynamic Notification System — это проект на Go, разработанный для создания масштабируемого и гибкого планировщика уведомлений!

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

🔐 Лицензия: MIT

Github

Junior Вакансии Go тут
1
Linux: эффективная многопроцессорность
Используем Go

Автор:
Олег Цилюрик
Год издания: 2024

#go #linux #ru

Скачать книгу
👎4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Zasper — это IDE, разработанная с нуля для поддержки массового параллелизма!

Она разработана на языке Go для обеспечения высокой параллельности и эффективности использования ресурсов. Zasper отличается низким потреблением памяти и процессора, позволяя работать с большими объемами данных на локальных машинах. Она доступен как в виде приложения Electron, так и как веб-приложение.

🔐 Лицензия: AGPL-3.0

Github

@golangprofi
😱2