golang українською
79 subscribers
10 photos
1 video
60 links
Telegram автора: @nesymno
Linkedin автора: bit.ly/nesymno-linkedin
Github каналу: bit.ly/uagolang-github
Download Telegram
Хелоу синім трудягам 👋🤣

Сьогодні у нас по плану підбірка з черговими 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
Всім привіт! А може ви не маєте стікерів гофера?
Нате: https://t.me/addstickers/Free_Gophers_Pack
Якщо маєте інші - діліться!)

#stickers@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
Трохи розбився на мопеді, постараюсь закінчити статтю на днях, але побачимо по стану :(
😱9👍1
Вітаю всіх, колеги! Як і обіцяв (не зважаючи на незначні травми після аварії) - стаття дописана. Тема, про яку я хотів би сьогодні поговорити не нова, впевнений, ви також стикались з подібними проблемами. Що ж це за тема?

Це скарб управління доступами в застосунках. Важлива тема з точки зору безпеки, і в сьогоднішній, першій (з двох) статтей циклу ми поговоримо про Casbin - open-source бібліотеку контролю доступу, яка підтримує різні типи: ACL, RBAC, ABAC.

Українською:
https://uagolang.notion.site/Casbin-Go-1c20710a945c80dcafaad6e70d02dd4f

English:
https://uagolang.notion.site/Casbin-access-control-in-Go-1c80710a945c801f8028e8b5fd412866

Став 👍 якщо сподобався матеріал! Якщо ви вже працювали з Casbin - пишіть про свій досвід в коментарях!
Слава Україні 🇺🇦🇺🇦

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

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
Всім доброго ранку!
На днях буде пост, статтю доведеться трохи почекати, дуже зараз багато роботи на найближчий місяць.
Але все буде) Просто не цього тижня.

Мені цікаво, тут у когось є досвід стартаперства? Можливо навіть раундів інвестицій?

#offtop@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
Доброго ранку, колеги 🫡👋

Екватор тижня починаємо із задачки на слайси в Go. Я би не сказав, що вона дуже складна, але чітко демонcтрує розуміння їх роботи.
Якщо ще й прокоментуєте рішення (код) - буду подвійно вдячний 🎶

Playground: https://goplay.tools/snippet/dK00TwKkib2
Рішення: ти бач які розумецькі! Вирішуй задачу, а не морозся 😄

package main

import (
"fmt"
)

/*
🏆 Задача: імплементуйте функцію CloneAndModify(original []int) ([]int, []int), яка:
- Робить повну копію слайсу original
- Змінює лише копію — кожен елемент множиться на 2

↪️ Повертає два слайси:
1. Незмінений оригінал
2. Модифікована копія

⚠️ Умова:
- Якщо після змін копії змінюється і оригінал — значить копію зроблено неправильно
*/

func main() {
original := []int{1, 2, 3, 4, 5}
o, c := CloneAndModify(original)

fmt.Println("original:", o)
fmt.Println("copy:", c)
}

func CloneAndModify(original []int) ([]int, []int) {
// напиши код тут

return original, nil
}


Чекаю на відповіді в коментарях!

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

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
Колеги, вітаю! Завтра буде стаття.
Але не про контроль доступу, там дуже багато практичної роботи, я все ще в процесі + планую заопенсорсити тулзу для роботи з Casbin.
Тема, що буде розглянута завтра теж цікава і важлива! 😏

Ставте 👍, якщо чекаєте)

#announce@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Всім доброго ранку! Не знаю як у вас, а у мене йде ливень, цілий день! В такий час хочеться вмоститись зручніше і зайнятись чимось корисним. То ж, у мене для вас гарні новини! 📞

Сьогодні ми поговоримо про профілювання в Go, для чого воно, чому важливе і які є методи візуалізації профілів. Всі приклади коду ви зможете знайти в нашому репозиторії, він вказаний в статті.

ПОЇХАЛИ 😋

Українською:
https://uagolang.notion.site/Go-1d60710a945c8037a267ebb6d7c694e6

English:
https://uagolang.notion.site/Profiling-in-Go-1d60710a945c80bbbee8cb2a8a059b90

Став 👍 якщо сподобався матеріал! В кінці статті є завдання, якщо маєте бажання - чекаю на відповіді в коментарях!
Слава Україні 🇺🇦🇺🇦

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

1⃣ gota - бібліотека для роботи з DataFrames, подібно до pandas у Python. Корисна для попередньої обробки та аналізу даних перед застосуванням ML-алгоритмів.

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

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

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

3⃣ bild – пакет, що імплементує набір алгоритмів паралельної обробки зображень на чистому Go. Мінімум залежностей.

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

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

#підбірки@uagolang #friday3@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Вітаю, шановні колеги 🫡

В минулій статті ми познайомились з профілюванням. Цього разу я вирішив розказати про області пам'яті в Go та що таке Escape Analysis.
Все з прикладами, як завжди. Приємного прочитання!

Українською:
https://uagolang.notion.site/Escape-Analysis-Go-1de0710a945c800f9961c0ee888bfebe

English:
https://uagolang.notion.site/Escape-Analysis-in-Go-allocate-memory-correctly-1de0710a945c80ab840cc5f737e2edce

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

#авторське@uagolang #escape_analysis@uagolang #stack@uagolang #heap@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥1
Алоха, колеги 😎

Ще одна п'ятниця - ще одна підбірка.

1️⃣ gotgbot - бібліотека, для розробки Telegram ботів на Go. Із всього, що пробував - найзручніша і покриває абсолютно увесь BotAPI від Telegram.

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

2️⃣ Physix-go - відносно нова бібліотека, написана на чистому Go, для створення 2D фізичних симуляцій. Вона надає базові примітиви для моделювання тіл, зіткнень та інших фізичних явищ. Хоча проєкт ще молодий, він демонструє цікавий напрямок розвитку Go для нестандартних завдань.

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

3️⃣ task - елегантний та інтуїтивно зрозумілий task runner / build tool, написаний на Go. Дозволяє легко визначати та виконувати різноманітні завдання, від збірки проєкту до запуску тестів, за допомогою простого файлу Taskfile.yml. Позиціонується як альтернатива Makefile на Go.

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

Сподіваюся, ця добірка надихне вас на нові проєкти! 👍
Буду вдячний за ваші лайки та поширення серед колег-розробників.
Слава Україні! 🇺🇦

#підбірки@uagolang #friday3@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Колеги, всіх вітаю 👋

Наткнувся на дуже цікаве та інформативне дослідження від JetBrains. Вони зробили аналіз ринку за 2024 рік та прийшли до загалом відомих, але іноді досить цікавих висновків.
Це не дослівний переклад - просто моя вижимка.

Трошки філософії: дослідження задають напрями, АІ планують забрати наші робочі місця, а ми - просто продовжуємо рухати цей світ вперед.

Оригінал дослідження: https://blog.jetbrains.com/research/2025/04/is-golang-still-growing-go-language-popularity-trends-in-2024/


📈 Популярність зростає

Go входить до топ-5 мов програмування, які розробники хочуть вивчити у 2025 році. Його обирають за простоту, ефективність і високу продуктивність у хмарно-орієнтованій розробці. Зарплати в США зростають і навіть розробник Junior рівня з декількома роками досвіду може отримувати від 50 000$/рік.

🧑‍💻 Хто використовує Go?

Go особливо популярний серед:
- DevOps-інженерів (25%)
- Backend-розробників (24%)
- Розробників інфраструктурних інструментів (20%)

🔧 За що розробники люблять Go?

- Мінімалістичний синтаксис
- Вбудована підтримка конкурентності
- Висока продуктивність без складності C++
- Ідеально підходить для мікросервісів, CLI та хмарних платформ

🌍 Ком’юніті стрімко розвивається

Go має одну з найактивніших і найпідтримуючих спільнот. Мова еволюціонує відповідно до реальних інженерних потреб.

🤖 Що далі? Go у сфері ШІ

Хоча Python досі домінує у сфері штучного інтелекту, Go поступово займає свою нішу - особливо там, де критично важливі продуктивність, конкурентність і масштабованість. Завдяки проєктам на кшталт gorgonia, go-audio та сильній підтримці API й дата-пайплайнів, стає серйозною альтернативою для ШІ-інфраструктури та прагне захопити територію не лише хмарних сервісів, а й стати рушієм майбутнього ШІ.

📊 Цікавий факт: 90% розробників на Go використовують його як основну мову в роботі!

Go — це не просто "ще одна мова", це потужний інструмент для вирішення складних інженерних задач.

#думка@uagolang #golang@uagolang #developertrends@uagolang #research@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
7
Колеги, вітаю з черговою п'ятницею 👋

Статті під загрозою, дні 4 буду в перельотах по світу, буду старатись, але не обіцяю. Дуже втомлюють мене довгі доріжки 😄
Можливо, замість статті буде якась цікава задачка 😎

А сьогоднішня підбірка орієнтована на інструменти для роботи зі штучним інтелектом та машинним навчанням.

1️⃣ gorse - це open-source рекомендаційна система, написана на Go. Вона дозволяє швидко побудувати рекомендаційні моделі для ваших застосунків, підтримує різні алгоритми та має зручний API.

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

2️⃣ golearn - бібліотека машинного навчання, написана повністю на Go. Реалізує різноманітні алгоритми, включаючи класифікацію (наприклад, дерева рішень, k-NN), регресію, кластеризацію (k-Means) та попередню обробку даних.

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

3️⃣ parquet-go - реалізація формату Apache Parquet на Go. Вона надає засоби для читання та запису файлів Parquet, зосереджуючись на відповідності специфікації формату, продуктивності та зручності використання. Дозволяє ефективно взаємодіяти з колонковими даними, які широко використовуються в аналітиці та ML-пайплайнах для оптимізації зберігання та доступу до великих наборів даних.

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

А з якими інструментами, що пов'язані з AI/DataScience використовували ви? І які задачі вирішували?

Став 👍 якщо сподобався матеріал!
Слава Україні 🇺🇦🇺🇦

#підбірки@uagolang #friday3@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Колеги, всіх вітаю! 🫡

Я в переїздах, дуже тяжко мені даються постійні перельоти, але знаєте що? Я дописав все ж таки статтю.

Отже, це продовження першої частини про контроль доступу за допомогою Casbin. Також, я написав невеличку бібліотеку, яка значно спростить вам життя, якщо ви плануєте використовувати Casbin.

Українською:
https://uagolang.notion.site/Casbin-Go-2-1dc0710a945c80aa98c5cd78fa12c376

English:
https://uagolang.notion.site/Casbin-access-control-in-Go-Part-2-1e80710a945c803da942fd578c73af33

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

#авторське@uagolang #authz@uagolang #casbin@uagolang
———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
Всім привіт, колеги!

Бачу, що до 100 підписників повземо повільно, але все ж повземо)
Пропоную заздалегідь обсудити, на яку тему потім зробити вебінар і я почну вже готуватись по трохи.

Можливо, я вже задавав це запитання, але варто освіжити памʼять. Пишіть, про що хотіли б поговорити. Я памʼятаю, що хтось пропонував гру зробити. Але мені не подобається ця ідея, бо вона не надто прикладна. Хотілось би розібрати якусь дійсно існуючу біль, з якою стикається багато гоферів у своїй повсякденній роботі.

———————
golang українською
🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
Доброго ранку, шановні колеги 👋

Нарешті ми дожили до п'ятниці, а отже, вже дуже скоро нас чекає відпочинок (надіюсь) і вихідні. Саме час для нової підбірки, чи не так? 😎

1⃣ cdipaolo/goml - бібліотека машинного навчання, написана повністю на Go. Містить чисті реалізації популярних алгоритмів (класифікація, регресія, кластеризація, тощо), корисна для простих ML-завдань без зовнішніх залежностей.

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

2⃣ alecthomas/participle - бібліотека для створення парсерів текстових даних. Дозволяє визначати граматику мови або формату даних за допомогою Go-структур та тегів, а Participle автоматично генерує парсер. Чудово підходить для розбору конфігураційних файлів, логів, DSL (Domain-Specific Languages) або інших нестандартних текстових форматів.

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

3⃣ spf13/afero - пакет, що надає абстракцію файлової системи. Надає уніфікований інтерфейс для роботи з файловими системами, дозволяючи легко перемикатися між реальною ФС, in-memory ФС для тестування, або навіть кастомними реалізаціями (наприклад, для роботи з віртуальними ФС). Незамінний інструмент для тестування коду, що взаємодіє з файлами.

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

Ну, якось так :)

Став 👍 якщо сподобався матеріал!
Слава Україні 🇺🇦🇺🇦

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