golang українською
79 subscribers
10 photos
1 video
60 links
Telegram автора: @nesymno
Linkedin автора: bit.ly/nesymno-linkedin
Github каналу: bit.ly/uagolang-github
Download Telegram
Всім привіт! Дуже вибачаюсь, в п'ятницю підбірка не вийшла. Була накладка з часом останні декілька днів, не встиг її закінчити 🙃
Але технічний борг має бути закритим, тож давайте розглянемо сьогоднішню підбірку!

1⃣ Watermill – бібліотека для побудови event-driven систем. Дозволяє легко реалізувати pub/sub-архітектуру, підтримує Kafka, NATS, Google Pub/Sub та інші брокери повідомлень. В продакшені не використовував.

🔗 Репозиторій: github.com/ThreeDotsLabs/watermill

2⃣ Gookit Event – простий та ефективний інструмент для роботи з подіями у Go. Дозволяє легко додавати event-driven логіку до застосунків, підтримує синхронне та асинхронне виконання обробників.

🔗 Репозиторій: https://github.com/gookit/event

3⃣ GoFeatureFlag – lightweight система фіча-флагів для Go-додатків. Дозволяє керувати функціоналом без зміни коду, підтримує JSON, файли, REST API та віддалені конфігурації. Дає можливість проводити A/B-тестування. Використовував в продакшені.

🔗 Репозиторій: https://github.com/thomaspoignant/go-feature-flag

4⃣ Carbon – зручна бібліотека для роботи з датами та часом у Go. Вона робить форматування, парсинг та маніпуляції з датами простішими та інтуїтивнішими. Має можливість підключення i18n та має багато підтримуваних мов, в тому числі і українську 👍

🔗 Репозиторій: https://github.com/dromara/carbon

5⃣ Fyne – кросплатформовий UI-фреймворк для створення нативних десктоп-додатків на Go. Підтримує Windows, macOS, Linux, Android та iOS! Призначений для створення програм, які запускаються на десктопних і мобільних пристроях з єдиною кодовою базою.

🔗 Репозиторій: https://github.com/fyne-io/fyne

Став 👍 якщо сподобався матеріал, пропонуй теми для статей чи питання, що потребують освітлення!
Слава Україні 🇺🇦🇺🇦

#підбірки@uagolang #friday5@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍5
Всім привіт та вітаю з п'ятницею! Сьогодні все по плану, і я його притримуюсь. Отже, погнали! 👋

1⃣ Lo – чули про lodash в js? Це те ж саме, тільки на Go. Потужний пакет, що дозволяє значно скоротити кількість коду шляхом використання готових функцій для роботи зі слайсами та мапами. Все на дженериках. Використовую в продакшені.

🔗 Репозиторій: https://github.com/samber/lo

2⃣ Env – простий та зрозумілий парсер змінних середовища в структуру. Під капотом рефлексія. Використовую в продакшені.

🔗 Репозиторій: https://github.com/caarlos0/env

3⃣ Conc – бібліотека, що реалізує всі основні способи синхронізації горутин, даючи приємний синтаксичний цукор та зменшення кількості коду. Особисто я не використовую в продакшені. І вам не раджу, якщо ви не розумієте принципів та інструментів синхронізації в Go. Це просто такий собі lodash для конкурентності.

🔗 Репозиторій: https://github.com/sourcegraph/conc

4⃣ CIRCL – бібліотека від Cloudflare, що дозволяє розгортати криптографічні алгоритми, що націлені на роботу з пост-квантовою та еліптичною криптографією. Звучить складно. Особисто я в цьому нічого не розумію поки, але так як розвиток квантових комп'ютерів продовжується - можна взяти для експериментів. Самі автори зазначають, що це не prod-ready версія. Та і де б ми її використовували?)

🔗 Репозиторій: https://github.com/cloudflare/circl

5⃣ Air – бібліотека, що забезпечує hot-reload для Go додатків. Проста в налаштуванні і працює добре, дуже корисно для локальної розробки. Я мав і негативний досвід - дебагер. Власне, так і не зміг його налаштувати для проєктів, що стартують (локально) на docker-compose чи просто в докері. В продакшені, звичайно, такого використовувати не варто. Лише для локальної розробки.

🔗 Репозиторій: https://github.com/air-verse/air

Став 👍 якщо сподобався матеріал! Розказуй знайомим гошникам про канал, це дуже допоможе йому в розвитку.
Слава Україні 🇺🇦🇺🇦

#підбірки@uagolang #friday5@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
1👎1
Всім гошникам фізкульт-привіт 👋 в цю п'ятницю! РАСТовчанам - за кораблем 😂🙊
Як зазвичай, ловіть підбірку з 5 пакетів на Go, що можуть стати вам в нагоді!

1⃣ DiceDB - доволі нова, але дуже непогана (а іноді навіть краща) альтернатива Redis (який тепер ще й платним став). Особливістю цієї in-memory db є те, що підписавшись на ресурс, DiceDB сама буде сповіщати всіх підписників, а не навпаки як у випадку polling data.

🔗
Репозиторій: https://github.com/DiceDB

2⃣ bubbletea – фреймворк для створення консольних додатків на Go, що дозволяє розробляти багатофункціональні інтерактивні інтерфейси в терміналі. Не використовував, але хочу вивчити його.

🔗 Репозиторій: https://github.com/charmbracelet/bubbletea

3⃣ goyek – на мій погляд доволі новий, але перспективний пакет для рутинної автоматизації, що зазвичай робиться в Make. Все доволі просто і на Go. Особисто мені Make абсолютно підходить і об'єктивно швидше потрібну рутину автоматизувати там. Але якщо необхідне якесь комплексне рішення, що буде потребувати глибоких знань bash, то чому б не реалізувати це добре знайомою тобі мовою?

🔗 Репозиторій: https://github.com/goyek/goyek

4⃣ trivy - інструмент для виявлення вразливостей, неправильних конфігурацій та секретів у контейнерах, Kubernetes, кодових репозиторіях та хмарах.

🔗 Репозиторій: https://github.com/aquasecurity/trivy

5⃣ gocv – пакет на Go для computer vision, що дозволяє використовувати бібліотеку OpenCV 4 та деякі інші бібліотеки. Поки що не клацав, але цей пакет мене так зацікавив, що планую в ньому підрозібратись та написати статтю щодо його використання. Він може робити обробку відео, знаходити предмети в real-time і всяке таке, що пов'язано з Computer Vision. До речі, дуже перспективний напрямок в наш час, наприклад, знаходження цілі при втраті контролю під час дії РЕБ для дронів камікадзе.

🔗 Репозиторій: https://github.com/hybridgroup/gocv

Став 👍 якщо сподобався матеріал! Розказуй знайомим гошникам про канал, це дуже допоможе йому в розвитку.
Слава Україні 🇺🇦🇺🇦

#підбірки@uagolang #friday5@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Хелоу синім трудягам 👋🤣

Сьогодні у нас по плану підбірка з черговими 5-ма пакетами Go. Варто зазначити, що пакети, з якими я працював досить тісно починають закінчуватись, то ж майте на увазі, що не всіма пакетами, якими я тут ділюсь я користувався. Але так чи інакше вони мені здались цікавими, тому тримайте!

1⃣ imaging - потужна та універсальна бібліотека Go для обробки зображень. Вона надає широкий спектр функцій обробки зображень. Працював з нею на одному з минулий проєктів, що був тісно пов'язаний із зображеннями та відео, їх редагуванням, зміною форматів і всяке таке. Має обмежений список підтримуваних типів.

🔗
Репозиторій: https://github.com/disintegration/imaging

2⃣ go-exif – бібліотека для роботи з EXIF даними в зображеннях та відео. Дозволяє додавати, видаляти та оновлювати EXIF-метадані. Корисно, якщо необхідно прибрати копірайти чи якісь девайсні деталі в метаданих.

🔗 Репозиторій: https://github.com/dsoprea/go-exif

3⃣ pulumi – інструмент IaC (Infrastructure as Code), що дозволяє описувати інфраструктуру прямо Go кодом (і не тільки Go!). Поки що не працював з ним, але в планах є, адже зараз я працюю над проєктом якраз в ніші управління інфраструктурою.

🔗 Репозиторій: https://github.com/pulumi/pulumi

4⃣ nats.go - go-клієнт для NATS, високопродуктивної системи обміну повідомленнями з відкритим вихідним кодом. NATS використовується для створення мікросервісних архітектур, IoT додатків та розподілених систем, де потрібна швидка та надійна передача повідомлень. Production ready.

🔗 Репозиторій: https://github.com/nats-io/nats.go

5⃣ gonum – open-source проєкт, спрямований на надання надійних інструментів для наукових обчислень в Go. Він є альтернативою NumPy (Python) чи програми MATLAB. Може працювати з матрицями, лінійною алгеброю, комплексними числами, інтегруванням, диференціюванням, графами та з багато чим іншим.

🔗 Репозиторій: https://github.com/gonum/gonum

Став 👍 якщо сподобався матеріал! Розказуй знайомим гошникам про канал, це дуже допоможе йому в розвитку.
Слава Україні 🇺🇦🇺🇦

#підбірки@uagolang #friday5@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥2
Як летить час, помітили? Вже знову п'ятниця. І нова підбірка 🎶

1⃣ zap - високопродуктивна бібліотека логування з підтримкою структурованих логів, JSON-виводу та малою кількістю алокацій пам'яті, що робить її дуже швидкою! Також, є sugar варіант з більшою кількістю функцій-хелперів.

🔗
Репозиторій: https://github.com/uber-go/zap

2⃣ gorgonia – фреймворк для машинного навчання в Go, схожий на TensorFlow. Дозволяє будувати нейромережі, працювати з автодиференціюванням і виконувати тензорні обчислення.

🔗 Репозиторій: https://github.com/gorgonia/gorgonia

3⃣ ksuid – альтернатива UUID, яка містить часовий префікс, що полегшує сортування. Collision-free, coordination-free, dependency-free.

🔗 Репозиторій: https://github.com/segmentio/ksuid

4⃣ color - бібліотека, що дає простий та зрозумілий API для додання кольорів в консольні команди.

🔗 Репозиторій: https://github.com/fatih/color

5⃣ go-humanize – пакет, що дозволяє легко форматувати різні величини (розмір пам'яті, час, числа тощо) в людино-зрозумілий вигляд.

🔗 Репозиторій: https://github.com/dustin/go-humanize

Став 👍 якщо сподобався матеріал! Розказуй знайомим гошникам про канал, це дуже допоможе йому в розвитку.
Слава Україні 🇺🇦🇺🇦

#підбірки@uagolang #friday5@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Очима кліпнув в понеділок, як відкрив - вже п'ятниця 🎶
А це значить, що у нас чергова підбірка!

1⃣ connectrpc/connect-go - сучасний фреймворк для побудови API за допомогою gRPC, gRPC-Web та власного протоколу Connect. Простіший у використанні, ніж стандартний gRPC, та генерує ідіоматичний Go код.

🔗 Репозиторій: https://github.com/connectrpc/connect-go

2⃣ goccy/go-json - високопродуктивна бібліотека для роботи з JSON, яка в багатьох випадках швидша за стандартну encoding/json завдяки оптимізаціям та використанню unsafe 💨

🔗 Репозиторій: https://github.com/goccy/go-json

3⃣ uber-go/automaxprocs - маленька утиліта, яка автоматично встановлює значення GOMAXPROCS відповідно до лімітів cgroup (актуально для контейнерів). Допомагає оптимізувати використання ресурсів CPU 📈

🔗 Репозиторій: https://github.com/uber-go/automaxprocs

4⃣ jackc/pgx - популярний драйвер та інструментарій для роботи з PostgreSQL в Go. Відомий своєю продуктивністю, підтримкою багатьох функцій PostgreSQL та гнучким API, що відрізняється від стандартного database/sql 🐘. Я вже давно перейшов на нього, для цього драйвера є різні адаптери, типу трейсів від otel тощо.

🔗 Репозиторій: https://github.com/jackc/pgx

5⃣ go-resty/resty - багатофункціональний HTTP та REST клієнт для Go. Має багато зручних можливостей: автоматичні ретраї, мідлвери, легка робота з JSON/XML, підтримка проксі та багато іншого. Цікаво, я щось подібне пишу для тестових HTTP клієнтів зазвичай. Можна буде якось спробувати, виглядає годно.

🔗 Репозиторій: https://github.com/go-resty/resty

Став 👍 якщо сподобався матеріал! Розказуй знайомим гошникам про канал, це дуже допоможе йому в розвитку.
Слава Україні 🇺🇦🇺🇦

#підбірки@uagolang #friday5@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51