GoSearch
Мощный OSINT-инструмент для поиска цифровых следов и утечек паролей людей в различных социальных сетях, написанный на языке Go.
GitHub
@golangprofi
Мощный OSINT-инструмент для поиска цифровых следов и утечек паролей людей в различных социальных сетях, написанный на языке Go.
GitHub
@golangprofi
🔥4👍2
HellPot – это крутая ловушка для ботов на вашем сервере, которая заманивает автономных HTTP-ботов в цифровой ад.
Боты, игнорирующие файл robots.txt, попадают в ловушку HellPot, где им подается непрерывный поток данных, настолько похожих на реальный сайт, что они продолжают работать до тех пор, пока окончательно не исчерпают свои ресурсы или не прекратят своё существование.
Под капотом этого "вечного страдания" находится движок, который передает клиенту, использующему fasthttp, фрагменты "Зарождения трагедии" ("Эллинизм и пессимизм") Фридриха Ницше.
Github
@golangprofi
Боты, игнорирующие файл robots.txt, попадают в ловушку HellPot, где им подается непрерывный поток данных, настолько похожих на реальный сайт, что они продолжают работать до тех пор, пока окончательно не исчерпают свои ресурсы или не прекратят своё существование.
Под капотом этого "вечного страдания" находится движок, который передает клиенту, использующему fasthttp, фрагменты "Зарождения трагедии" ("Эллинизм и пессимизм") Фридриха Ницше.
Github
@golangprofi
👍20🔥2❤1👏1
Swag — инструмент для автоматического создания документации RESTful API в формате Swagger 2.0 для приложений на языке Go!
Он преобразует аннотации в коде Go в документацию, упрощая интеграцию Swagger UI с существующими проектами.
Swag поддерживает популярные веб-фреймворки Go, такие как Gin, Echo и другие. Разработчики могут использовать декларативные комментарии для описания API, включая информацию о маршрутах, параметрах, телах запросов и ответах, а также настройку авторизации. Это делает процесс создания и обновления документации более простым и удобным.
🔐 Лицензия: MIT
Github
@golangprofi
Он преобразует аннотации в коде 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👍3❤1🔥1🥴1
This media is not supported in your browser
VIEW IN TELEGRAM
Dive
Инструмент для анализа Docker-образов, предназначенный для поиска возможностей оптимизации их размера.
Он предоставляет возможность просмотра содержимого слоёв и отслеживания изменений файлов, а также оценивает эффективность образов, вычисляя «потерянное» пространство.
Инструмент может быть интегрирован в процессы CI/CD и поддерживает работу с разными источниками образов, такими как
GitHub
@golangprofi
Инструмент для анализа Docker-образов, предназначенный для поиска возможностей оптимизации их размера.
Он предоставляет возможность просмотра содержимого слоёв и отслеживания изменений файлов, а также оценивает эффективность образов, вычисляя «потерянное» пространство.
Инструмент может быть интегрирован в процессы CI/CD и поддерживает работу с разными источниками образов, такими как
Docker и Podman.
dive <your-image-tag>
GitHub
@golangprofi
❤3👍2
Друзья, какого контента не хватает, а какой нравится?
Нужны ли задачки с кодом по Go? Книги? Инструменты наподобие этого.
Дайте обратную связь, планирую активнее заняться каналом и дать больше инфы.
Нужны ли задачки с кодом по Go? Книги? Инструменты наподобие этого.
Дайте обратную связь, планирую активнее заняться каналом и дать больше инфы.
👍4
Для начала самое простое: сделал чат, где можно искать вакансии. Спарсил многие группы по Go и обьединил.
Например вот нашел вакансию для Junior: https://t.me/golangjoboffer/. Подпишитесь.
Как только будет 100 человек в группе - отпишем всем HR менеджерам , чтобы они присылали каждый день вакансии.
Например вот нашел вакансию для Junior: https://t.me/golangjoboffer/. Подпишитесь.
Как только будет 100 человек в группе - отпишем всем HR менеджерам , чтобы они присылали каждый день вакансии.
Telegram
Golang вакансии
Вакансии по Go с телеграм контактами HR менеджеров или тех, кто нанимает людей в компании.
❤4👍4👎1😱1👌1
SimplySocket — лёгкая библиотека на языке Go для работы с WebSocket!
Она упрощает управление соединениями, обработку событий и управление комнатами в реальном времени, что особенно полезно для разработки приложений, требующих обмена сообщениями или взаимодействия в реальном времени, таких как игры или чаты.
SimplySocket может быть полезной альтернативой более сложным решениям, таким как Centrifugo или Watermill, если вы ищете минималистичный подход к реализации WebSocket в реальном времени.
🔐 Лицензия: MIT
Github
Чат с Go вакансиями
Она упрощает управление соединениями, обработку событий и управление комнатами в реальном времени, что особенно полезно для разработки приложений, требующих обмена сообщениями или взаимодействия в реальном времени, таких как игры или чаты.
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 вакансиями
🛠 Инструменты
⚡️ Производительность
🧹 Среда выполнения
📚 Библиотеки
🔍 Инструменты анализа
#ужененовость
Чат с Go вакансиями
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤1
📕 Новинка компьютерной литературы про Go
Книга «Go: идиомы и паттерны проектирования» Джона Боднера — практическое руководство для разработчиков, желающих писать чистый и идиоматический код на Go.
Она поможет углубить знания и освоить эффективные практики проектирования, особенно полезные для тех, кто уже знаком с основами языка.
Основные темы книги:
➖ Паттерны проектирования в 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
Github
Чат с Go вакансиями
Реализация gRPC на основе Go с Gin, PostgreSQL, Docker и NGINX
#golang
go install github.com/golang/mock/mockgen@v1.6.0
Github
Чат с Go вакансиями
👍5❤2👎1
Telegram
Книги это свет.📚
💩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 тут
Основная цель huh — упростить создание форм с различными полями ввода, обработкой ошибок и возможностями навигации между группами полей.
Инструмент предоставляет готовую структуру для построения форм, поддерживает настройку тем, горячих клавиш и адаптацию для экранных читалок (режим доступности). Также он содержит возможности для обработки данных форм и их интеграции в текстовые интерфейсы, что может быть полезно для CLI-приложений или других текстовых интерфейсов.
🔐 Лицензия: MIT
Github
Junior Вакансии Go тут
🌐 Как ускорить API
#инфографика про основные методы улучшения производительности API
💬 Какой из методов вы уже используете? Делитесь в комментариях! 👇
Junior Вакансии Go тут
#инфографика про основные методы улучшения производительности API
💬 Какой из методов вы уже используете? Делитесь в комментариях! 👇
Junior Вакансии Go тут
Dynamic Notification System — это проект на Go, разработанный для создания масштабируемого и гибкого планировщика уведомлений!
Он поддерживает отправку уведомлений через различные каналы, такие как Slack, Email, SMS, Webhook и другие. Система позволяет легко добавлять новые платформы с помощью динамической архитектуры плагинов, не требуя перезапуска приложения.
🔐 Лицензия: MIT
Github
Junior Вакансии Go тут
Он поддерживает отправку уведомлений через различные каналы, такие как Slack, Email, SMS, Webhook и другие. Система позволяет легко добавлять новые платформы с помощью динамической архитектуры плагинов, не требуя перезапуска приложения.
🔐 Лицензия: MIT
Github
Junior Вакансии Go тут
❤1
Linux: эффективная многопроцессорность
Используем Go
Автор: Олег Цилюрик
Год издания: 2024
#go #linux #ru
Скачать книгу
Используем 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
Она разработана на языке Go для обеспечения высокой параллельности и эффективности использования ресурсов. Zasper отличается низким потреблением памяти и процессора, позволяя работать с большими объемами данных на локальных машинах. Она доступен как в виде приложения Electron, так и как веб-приложение.
🔐 Лицензия: AGPL-3.0
Github
@golangprofi
😱2
Техника проверки if got != want { t.Errorf(...) } в тестах Go — это простой и эффективный способ проверки значений, который полностью соответствует философии языка. Она не требует сторонних библиотек, остаётся прозрачной и легко читаемой, что особенно важно для минималистичного и понятного кода.
Благодаря своей простоте, этот подход легко масштабируется: от проверки одного значения до сложных сценариев с таблицами тестирования. Кроме того, стандартный вывод ошибок в Go обычно достаточно информативен, чтобы быстро понять, что пошло не так.
Согласны?
Junior Вакансии Go тут
Please open Telegram to view this post
VIEW IN TELEGRAM
mtlynch.io
if got, want: A Simple Way to Write Better Go Tests
There’s an excellent Go testing pattern that too few people know. I can teach it to you in 30 seconds.
Instead of writing Go tests like this:
// The common, unrefined way.
username := GetUser()
if username != "dummyUser" {
t.Errorf("unexpected username:…
Instead of writing Go tests like this:
// The common, unrefined way.
username := GetUser()
if username != "dummyUser" {
t.Errorf("unexpected username:…
👍6
📦 Пакет embed в Go
Если вы когда-либо работали с Go, то знаете, как важно уметь управлять статическими ресурсами. Пакет embed (представленный в Go 1.16) решает эту задачу элегантно: он позволяет встраивать файлы прямо в исполняемый бинарный файл, что делает приложение автономным и упрощает его развертывание.
💡 Зачем использовать embed?
С помощью директивы //go:embed вы можете встроить файлы (например, HTML, CSS, конфигурационные файлы или изображения) прямо в бинарный файл. Это исключает необходимость поставлять эти файлы отдельно, и ваши приложения становятся более компактными и безопасными.
🛠 Как это работает?
Вы указываете директиву //go:embed перед переменной.
Используете типы данных string для текстовых файлов, []byte для бинарных данных или embed.FS для работы с целыми директориями.
🚀 Пример использования:
В этом примере файл hello.txt встроен в приложение, и его содержимое доступно как строка.
Почему стоит использовать embed?
✅ Удобство развертывания: всё в одном файле — не нужно беспокоиться о поставке отдельных файлов.
✅ Безопасность: встроенные файлы не могут быть изменены после компиляции.
✅ Автономность: ваши приложения не зависят от внешних файлов и легко переносятся между окружениями.
Когда не стоит использовать embed?
❌ Когда нужно работать с динамически изменяющимися файлами (например, конфигурациями, которые могут меняться в процессе работы приложения).
❌ Для очень больших файлов, так как это увеличивает размер бинарника.
Чат с Go вакансиями
Если вы когда-либо работали с Go, то знаете, как важно уметь управлять статическими ресурсами. Пакет embed (представленный в Go 1.16) решает эту задачу элегантно: он позволяет встраивать файлы прямо в исполняемый бинарный файл, что делает приложение автономным и упрощает его развертывание.
С помощью директивы //go:embed вы можете встроить файлы (например, HTML, CSS, конфигурационные файлы или изображения) прямо в бинарный файл. Это исключает необходимость поставлять эти файлы отдельно, и ваши приложения становятся более компактными и безопасными.
🛠 Как это работает?
Вы указываете директиву //go:embed перед переменной.
Используете типы данных string для текстовых файлов, []byte для бинарных данных или embed.FS для работы с целыми директориями.
🚀 Пример использования:
package main
import (
"embed"
"fmt"
)
//go:embed hello.txt
var hello string
func main() {
fmt.Println(hello)
}
В этом примере файл hello.txt встроен в приложение, и его содержимое доступно как строка.
Почему стоит использовать embed?
Когда не стоит использовать embed?
Чат с Go вакансиями
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4❤🔥1
Go + HTMX-шаблон, содержащий все Необходимые Инструменты для создания веб-приложений.
▪️ Github
#golang #htmx #javascript #programming #webdev
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5