37.1K subscribers
1.46K photos
33 videos
5 files
1.62K links
加入频道
🖥 pgroll — это инструмент командной строки на Go с открытым исходным кодом, предназначенный для безопасной и обратимой миграции схем в PostgreSQL!

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

🌟 pgroll использует подход «расширить/сузить» (expand/contract), создавая виртуальные схемы на основе представлений поверх физических таблиц. Этот метод позволяет миграциям быть безопасными и минимизирует риски, такие как блокировки базы данных или прерывание работы приложений.

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

🔐 Лицензия: Apache-2.0

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Zen: Your Comprehensive Ad-Blocker and Privacy Guard

Zen - это общесистемный блокировщик рекламы и защита конфиденциальности с открытым исходным кодом для Windows, macOS и Linux.

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

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

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

#golang

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 SeaweedFS — это высокопроизводительная распределённая файловая система с поддержкой хранения огромного количества файлов и их быстрой обработки!

💡 Её основное назначение — управление смешанными нагрузками, включая blob-хранилища, объекты, файловые системы и аналитику данных.

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

🌟 Масштабируемость: система легко расширяется путём добавления серверов, обеспечивая хранение больших объёмов данных.

🌟 Поддержка множества форматов: Blob Storage, S3-совместимое объектное хранилище, файловая система с FUSE-монтажом и интеграцией с Big Data-фреймворками (Hadoop, Spark).

🌟 Производительность: постоянное время поиска данных (O(1)) и эффективное управление метаданными!

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

🔐 Лицензия: Apache-2.0

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Больше языков - больше информации!

Несколько интересных выводов:

* Java и Kotlin работают быстро! Возможное объяснение: Google вкладывает значительные средства в повышение производительности.
* Js действительно быстр в том, что касается интерпретируемых языков / jit.
* Python работает довольно медленно без PyPy.

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👣 huh — инструмент для создания интерактивных форм с использованием библиотеки Bubble Tea, которая применяется для построения текстовых пользовательских интерфейсов (TUI) на языке Go!

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

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

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
😈 Domain-Checker-Tool

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

git clone https://github.com/murat-exp/Domain-Checker-Tool.git
cd domain-checker


🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 SimplySocket — лёгкая библиотека на языке Go для работы с WebSocket!

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

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

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 goshot — это CLI-приложение, написанное на Go, предназначенное для создания красивых скриншотов терминала!

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

🔍 Ключевые возможности:

Генерация изображений терминала с помощью библиотеки imaging.

🌟 Использование charmbracelet/bubbletea и других инструментов для обработки терминального ввода и вывода.

🌟 Поддержка копирования результата в буфер обмена с помощью atotto/clipboard.

🌟 Наличие настроек стилей, шрифтов и других параметров через charmbracelet/lipgloss и связанные библиотеки.

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Golang Books
👣 Pogo Compiler

Компилятор для языка программирования Pogo, реализованный в Go.

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

📌 Github

@golang_books
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Standards-based packaging and versioning system for AI/ML projects.

Инструмент DevOps с открытым исходным кодом для упаковки и управления версиями моделей AI/ML, датасетами, кодом и конфигурацями, на базе golang.

Github
Docs

@golang_google
This media is not supported in your browser
VIEW IN TELEGRAM
👣 partdec — утилита командной строки для загрузки данных по частям и разбиения файлов!

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

🔍 Особенности Partdec: поддержка многопоточной загрузки с отдельным соединением для каждой части файла и функция безопасного восстановления загрузки после прерывания! Основной язык разработки — Go. Это может быть полезным инструментом для разработчиков, работающих с большими файлами или данными, которые нужно распределить между несколькими системами.

🔐 Лицензия: Apache-2.0

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:

МАШИННОЕ ОБУЧЕНИЕ: t.me/ai_machinelearning_big_data
C++ t.me/cpluspluc
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
АНАЛИЗ Данных: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/javatg
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Docker: t.me/DevopsDocker
Golang: t.me/golang_interview
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
Собеседования МЛ: t.me/machinelearning_interview
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://yangx.top/gamedev

💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://yangx.top/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://yangx.top/addlist/mzMMG3RPZhY2M2Iy

😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://yangx.top/addlist/BkskQciUW_FhNjEy
👣 goverter — библиотека на Go для работы с конвертацией единиц измерения!

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

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

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Elastop - панель мониторинга терминала Elasticsearch

Laptop - это панель мониторинга кластеров Elasticsearch на базе терминала для мониторинга кластеров Elasticsearch в режиме реального времени.

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

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

# Clone the repository
git clone https://github.com/acidvegas/elastop.git
cd elastop
go build


🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Дурак восхищается сложностью, гений - простотой)

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 helm-cel — плагин для валидации значений в Helm-чартах с помощью CEL

💡 helm-cel помогает валидировать значения(values.yaml) helm чартов через CEL(Common Expression Language) - язык для написания простых логических выражений), что дает более выразительную валидацию, возможность переиспользования правил, разные уровни строгости и четкие сообщения об ошибках, в отличие от стандартной JSON Schema валидации (values.schema.json), которая более ограничена в возможностях написания сложных правил и переиспользования кода.

Пример правил:

expressions:
portRange: 'values.service.port >= 1 && values.service.port <= 65535'
nodePortRange: 'values.service.nodePort >= 30000 && values.service.nodePort <= 32767'

rules:
- expr: "${portRange}"
desc: "Service port must be valid"

- expr: 'values.service.type == "NodePort" ? ${nodePortRange} : true'
desc: "NodePort must be valid when type is NodePort"


❤️ Проект от подписчика, если хотите поделиться своим проектом - пишите сюда.

Github

@Golang_google

🔐 Лицензия: MIT
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Создание клиента BitTorrent с нуля на Go

BitTorrent – это пиринговый (одноранговый) сетевой протокол для обмена файлами через интернет. В отличие от традиционных методов загрузки файлов, где данные передаются между клиентом и сервером, BitTorrent использует децентрализованную модель, при которой пользователи делятся частями файла друг с другом. Это позволяет значительно снизить нагрузку на центральный сервер и ускорить процесс передачи данных.

### Как устроен протокол BitTorrent

Протокол BitTorrent работает следующим образом:

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

2. Peers (пиры): Участники сети, которые загружают и раздают части файла одновременно. Пиры могут быть как загрузчиками (лечерами), так и раздающими (сидами).

3. Swarm: Группа пиров, участвующих в одном процессе скачивания/раздачи одного и того же файла.

4. Pieces (части): Файл делится на небольшие фрагменты одинакового размера (обычно около 256 КБ). Каждый фрагмент может быть передан независимо от других.

5. Chunks (куски): Внутри каждого фрагмента файл делится еще на куски размером 16 КБ. Эти куски передаются по одному, чтобы минимизировать задержки и увеличить скорость передачи.

6. Hashes: Каждая часть имеет свой уникальный хеш-код, который используется для проверки целостности данных после их получения.

7. Seeding (раздача): После завершения загрузки файла пользователь продолжает оставаться в сети и делиться своими копиями частей файла с другими участниками.

8. Leeching (загрузка): Процесс скачивания файла, когда пользователь получает части файла от других участников сети.

В этом посте вы узнаете как использовать протокол BitTorrent для загрузки Debian.

⚡️ Читать

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Dive

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

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

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

dive <your-image-tag>

GitHub

@Golang_google
👣 Neffos

Кроссплатформенный real-time фреймворк с элегантным API, написанный на Go

#golang

Github
Документация

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 prisma-client-go — клиент для интеграции Prisma ORM с языком программирования Go!

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

🔐 Лицензия: Apache-2.0

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣😚 Выпущены версии Go 1.23.4 и 1.22.10🎉🎉🎉

🗣 Анонс: https://groups.google.com/g/golang-announce/c/3DyiMkYx4Fo

⬇️ Скачать: https://go.dev/dl/#go1.23.4

#golang

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM