Хочу задати питання: чи працював хтось з кубернетісом? (хоча б в плані, що інфра там всередині)
Чи був у вас досвід як розробника в налаштуванні k8s кластерів чи, можливо, встановлення якихось інших сервісів, необхідних для функціонування?
Поділіться досвідом, якщо він у вас був, будь ласка! 🫡
Чи був у вас досвід як розробника в налаштуванні k8s кластерів чи, можливо, встановлення якихось інших сервісів, необхідних для функціонування?
Поділіться досвідом, якщо він у вас був, будь ласка! 🫡
Всім привіт. Сьогодні п'ятниця, а це означає, що настав час поділитись цікавими проектами на Go!
1. Fx - DI фреймворк від Uber. Дозволяє легко організувати додаток на основі модулів та забезпечує автоматичну ініціалізацію залежностей. Не раз стикався з проблемою DI у великих проєктах, і Fx реально вирішує більшість болей. Спочатку може здаватися складним, але розібратись однозначно варто. Використовую в продакшені.
🔗 Репозиторій: https://github.com/uber-go/fx
2. Microservices Framework Go-Micro - фреймворк для створення мікросервісів на Go. Забезпечує реєстрацію сервісів, балансування навантаження, обробку запитів, гнучку аутентифікацію та підтримку плагінів. Коли треба було швидко запустити кілька сервісів, що спілкуються через gRPC, go-micro реально зекономив купу часу. Великий плюс – підтримка плагінів, що дозволяє легко кастомізувати під свої потреби. Використовував в продакшені.
🔗 Репозиторій: https://github.com/go-micro/go-micro
3. CLI Framework Cobra - фреймворк для створення командних інтерфейсів у Go. Використовується в kubectl, hugo, helm та багатьох інших відомих CLI-додатках. Писати CLI без cobra – те ще задоволення. Коли вперше спробував, реально оцінив, наскільки зручно працювати з командами та аргументами. Якщо тобі треба створити CLI-утиліту – рекомендую.
🔗 Репозиторій: https://github.com/spf13/cobra
4. Configuration Management Viper - бібліотека для зчитування конфігурацій у Go. Підтримує YAML, JSON, TOML, env-змінні, прапори CLI та віддалені конфігураційні сховища. Можливість працювати з конфігами в різних форматах та перемикатися між ними без змін коду – те, що треба для будь-якого серйозного проєкту. Використовую всюди, де є складна конфігурація.
🔗 Репозиторій: https://github.com/spf13/viper
5. Lightweight DI: Do - ще одна бібліотека для DI, але набагато легша, ніж Fx. Дозволяє зручно реєструвати та використовувати залежності без зайвої магії. Якщо Fx здається занадто складним або надлишковим, do – чудова альтернатива. Дуже проста у використанні та добре підійде для будь-яких проєктів. Використовую в продакшені.
🔗 Репозиторій: https://github.com/samber/do
Став👍 якщо сподобався матеріал, пропонуй теми для статей чи питання, що потребують освітлення!
Слава Україні🇺🇦 🇺🇦
#підбірки@uagolang
———————
golang українською🇺🇦
1. Fx - DI фреймворк від Uber. Дозволяє легко організувати додаток на основі модулів та забезпечує автоматичну ініціалізацію залежностей. Не раз стикався з проблемою DI у великих проєктах, і Fx реально вирішує більшість болей. Спочатку може здаватися складним, але розібратись однозначно варто. Використовую в продакшені.
🔗 Репозиторій: https://github.com/uber-go/fx
2. Microservices Framework Go-Micro - фреймворк для створення мікросервісів на Go. Забезпечує реєстрацію сервісів, балансування навантаження, обробку запитів, гнучку аутентифікацію та підтримку плагінів. Коли треба було швидко запустити кілька сервісів, що спілкуються через gRPC, go-micro реально зекономив купу часу. Великий плюс – підтримка плагінів, що дозволяє легко кастомізувати під свої потреби. Використовував в продакшені.
🔗 Репозиторій: https://github.com/go-micro/go-micro
3. CLI Framework Cobra - фреймворк для створення командних інтерфейсів у Go. Використовується в kubectl, hugo, helm та багатьох інших відомих CLI-додатках. Писати CLI без cobra – те ще задоволення. Коли вперше спробував, реально оцінив, наскільки зручно працювати з командами та аргументами. Якщо тобі треба створити CLI-утиліту – рекомендую.
🔗 Репозиторій: https://github.com/spf13/cobra
4. Configuration Management Viper - бібліотека для зчитування конфігурацій у Go. Підтримує YAML, JSON, TOML, env-змінні, прапори CLI та віддалені конфігураційні сховища. Можливість працювати з конфігами в різних форматах та перемикатися між ними без змін коду – те, що треба для будь-якого серйозного проєкту. Використовую всюди, де є складна конфігурація.
🔗 Репозиторій: https://github.com/spf13/viper
5. Lightweight DI: Do - ще одна бібліотека для DI, але набагато легша, ніж Fx. Дозволяє зручно реєструвати та використовувати залежності без зайвої магії. Якщо Fx здається занадто складним або надлишковим, do – чудова альтернатива. Дуже проста у використанні та добре підійде для будь-яких проєктів. Використовую в продакшені.
🔗 Репозиторій: https://github.com/samber/do
Став
Слава Україні
#підбірки@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - uber-go/fx: A dependency injection based application framework for Go.
A dependency injection based application framework for Go. - uber-go/fx
👍5
Всім привіт! Нарешті закінчив другу статтю з циклу по операторам k8s! Це зайняло більше часу, ніж я очікував.
Надіюсь, вам сподобається, я дуже старався 🙂
Українською:
https://uagolang.notion.site/k8s-2-1800710a945c8082a56cfa6a9d181008
English:
https://uagolang.notion.site/Manage-k8s-resources-using-operators-Part-2-1800710a945c81ef9d56d4bfafae66f2
Став👍 якщо сподобався матеріал, пропонуй теми для статей чи питання, що потребують освітлення!
Слава Україні🇺🇦 🇺🇦
#авторське@uagolang #platform_engineering@uagolang #k8s@uagolang
———————
golang українською🇺🇦
Надіюсь, вам сподобається, я дуже старався 🙂
Українською:
https://uagolang.notion.site/k8s-2-1800710a945c8082a56cfa6a9d181008
English:
https://uagolang.notion.site/Manage-k8s-resources-using-operators-Part-2-1800710a945c81ef9d56d4bfafae66f2
Став
Слава Україні
#авторське@uagolang #platform_engineering@uagolang #k8s@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1
golang українською pinned «Всім привіт! Нарешті закінчив другу статтю з циклу по операторам k8s! Це зайняло більше часу, ніж я очікував. Надіюсь, вам сподобається, я дуже старався 🙂 Українською: https://uagolang.notion.site/k8s-2-1800710a945c8082a56cfa6a9d181008 English: https://…»
Дні летять, наче навіжені 😱
Сьогодні знову п'ятниця, а це означає, що час поділитись новою підбіркою👍
1️⃣ Logrus - гнучкий логгер з підтримкою рівнів логування та форматування JSON. Також є можливість писати хуки для обробки логів в залежності від їх рівня. Використовую майже в кожному проєкті.
🔗 Репозиторій: https://github.com/sirupsen/logrus
2️⃣ Anteon (в минулому Ddosify) - модерний генератор навантаження та моніторингу k8s кластерів, який дозволяє тестувати API та веб-сайти на продуктивність. Він підтримує HTTP, HTTPS, WebSocket, TCP, UDP і може використовуватися як CLI або бібліотека. Чесно кажучи, поки сам його тільки тестую, можливо, напишу статтю за результатами досліджень.
🔗 Репозиторій: https://github.com/getanteon/anteon
3️⃣ Compress - бібліотека для оптимізованого стиснення даних у форматах lz4, zstd, gzip, snappy. Вона швидша за стандартні бібліотеки Go і споживає менше пам’яті, а також має підтримку багатопотокового стиснення. Рекомендую для продакшена.
🔗 Репозиторій: https://github.com/klauspost/compress
4️⃣ Prometheus go-клієнт - офіційний клієнт для інтеграції Prometheus у Go-додатки. Він дозволяє збирати метрики та моніторити різні характеристики: CPU, RAM, HTTP-запити тощо. Думаю, багато хто тут так чи інакше працював з Prometheus, а якщо ні - спробуйте. Метрики і моніторинг must have для будь-якого проєкту в продакшені.
🔗 Репозиторій: https://github.com/prometheus/client_golang
5️⃣ ChromeDP - потужний інструмент для автоматизації браузера Chrome, який працює напряму через Chrome DevTools Protocol (CDP). Він дозволяє керувати браузером без потреби в Selenium/WebDriver і писати e2e тести на Go! Підтримує headless-режим та вміє робити скріншоти. Якщо хочете перенести автоматизоване тестування з Java чи JS - варто звернути увагу.
🔗 Репозиторій: https://github.com/chromedp/chromedp
Став👍 якщо сподобався матеріал, пропонуй теми для статей чи питання, що потребують освітлення!
Слава Україні🇺🇦 🇺🇦
#підбірки@uagolang
———————
golang українською🇺🇦
Сьогодні знову п'ятниця, а це означає, що час поділитись новою підбіркою
🔗 Репозиторій: https://github.com/sirupsen/logrus
🔗 Репозиторій: https://github.com/getanteon/anteon
🔗 Репозиторій: https://github.com/klauspost/compress
🔗 Репозиторій: https://github.com/prometheus/client_golang
🔗 Репозиторій: https://github.com/chromedp/chromedp
Став
Слава Україні
#підбірки@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - sirupsen/logrus: Structured, pluggable logging for Go.
Structured, pluggable logging for Go. Contribute to sirupsen/logrus development by creating an account on GitHub.
👍3❤1
Media is too big
VIEW IN TELEGRAM
Побачив на просторах іншого Go комʼюніті. Що це? Це - скарб, ахахаха
🤣3
Доброго ранку, шановні колеги! Сьогодні я хотів би поділитись репозиторієм нашого ком'юніті, де будуть зібрані практичні приклади вирішення тих чи інших проблем, або ж розгляд цікавих питань щодо роботи golang всередині, які не тягнуть на окрему статтю (адже їх вже й так багато різних на різний смак, а у мене немає стільки часу на написання великої кількості).
Прошу переглянути. Прикладів поки небагато, але деякі з них доволі цікаві. Хтось просив пояснити alignment в структурах - там це є.
https://github.com/uagolang/practice
В коментарях пишіть, які теми цікавлять ще. Особисто в мене в планах на найближчий час більш детально зупинитись на конкурентності та патернах для вирішення проблем з нею пов'язаних 🙈
Став👍 якщо сподобався матеріал!
Слава Україні🇺🇦 🇺🇦
#practice@uagolang
———————
golang українською🇺🇦
Прошу переглянути. Прикладів поки небагато, але деякі з них доволі цікаві. Хтось просив пояснити alignment в структурах - там це є.
https://github.com/uagolang/practice
В коментарях пишіть, які теми цікавлять ще. Особисто в мене в планах на найближчий час більш детально зупинитись на конкурентності та патернах для вирішення проблем з нею пов'язаних 🙈
Став
Слава Україні
#practice@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - uagolang/practice: This repository contains practical examples of resolving challenge problems
This repository contains practical examples of resolving challenge problems - uagolang/practice
1👍2❤1
Всім доброго ранку! Займаюсь 3 частиною статті по операторам в k8s.
Випустити планую наступного тижня. Це буде заключна стаття, в якій розберемо, як писати тести для реконсайлера ресурсів.
Має бути цікаво! Буде розглянуто декілька видів тестів. Вважаю, що це дасть всім більше розуміння щодо того - що і навіщо покривати тестами. Як мінімум, в першу чергу :)
Stay tuned!
#announce@uagolang
———————
golang українською🇺🇦
Випустити планую наступного тижня. Це буде заключна стаття, в якій розберемо, як писати тести для реконсайлера ресурсів.
Має бути цікаво! Буде розглянуто декілька видів тестів. Вважаю, що це дасть всім більше розуміння щодо того - що і навіщо покривати тестами. Як мінімум, в першу чергу :)
Stay tuned!
#announce@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
golang українською
Telegram автора: @nesymno
Linkedin автора: bit.ly/nesymno-linkedin
Github каналу: bit.ly/uagolang-github
Linkedin автора: bit.ly/nesymno-linkedin
Github каналу: bit.ly/uagolang-github
❤6
Всім привіт! Дуже вибачаюсь, в п'ятницю підбірка не вийшла. Була накладка з часом останні декілька днів, не встиг її закінчити 🙃
Але технічний борг має бути закритим, тож давайте розглянемо сьогоднішню підбірку!
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 українською🇺🇦
Але технічний борг має бути закритим, тож давайте розглянемо сьогоднішню підбірку!
🔗 Репозиторій: github.com/ThreeDotsLabs/watermill
🔗 Репозиторій: https://github.com/gookit/event
🔗 Репозиторій: https://github.com/thomaspoignant/go-feature-flag
🔗 Репозиторій: https://github.com/dromara/carbon
🔗 Репозиторій: https://github.com/fyne-io/fyne
Став
Слава Україні
#підбірки@uagolang #friday5@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - ThreeDotsLabs/watermill: Building event-driven applications the easy way in Go.
Building event-driven applications the easy way in Go. - ThreeDotsLabs/watermill
2👍5
Всім привіт! Планував завтра випускати статтю, але схоже, що не встигну. Тому стаття буде доступна в понеділок, 17 березня.
Вибачаюсь, тестування займає набагато більше часу, ніж просто імплементація :(
#announce@uagolang
———————
golang українською🇺🇦
Вибачаюсь, тестування займає набагато більше часу, ніж просто імплементація :(
#announce@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
golang українською
Telegram автора: @nesymno
Linkedin автора: bit.ly/nesymno-linkedin
Github каналу: bit.ly/uagolang-github
Linkedin автора: bit.ly/nesymno-linkedin
Github каналу: bit.ly/uagolang-github
❤3
Всім привіт та вітаю з п'ятницею! Сьогодні все по плану, і я його притримуюсь. Отже, погнали! 👋
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 українською🇺🇦
🔗 Репозиторій: https://github.com/samber/lo
🔗 Репозиторій: https://github.com/caarlos0/env
🔗 Репозиторій: https://github.com/sourcegraph/conc
🔗 Репозиторій: https://github.com/cloudflare/circl
🔗 Репозиторій: https://github.com/air-verse/air
Став
Слава Україні
#підбірки@uagolang #friday5@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - samber/lo: 💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...)
💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...) - samber/lo
❤1👎1
Всіх вітаю в цей тяжкий день - понеділок!
Бажаю всім вам гарного дня та хочу поділитись заключною частиною циклу статей про управління ресурсами в Kubernetes.
Сьогодні поговоримо про тестування загалом та відносно нашої задачі - покрити тестами наш оператор контролерів.
Занурюємось! Приємного прочитання!
Українською:
https://uagolang.notion.site/k8s-3-1800710a945c80df8193f1cf3c0a347a
English:
https://uagolang.notion.site/Manage-k8s-resources-using-operators-Part-3-1800710a945c818aa9b3f86277ec0632
Став👍 якщо сподобався матеріал! Розказуй знайомим гошникам про канал, це дуже допоможе йому в розвитку.
Слава Україні🇺🇦 🇺🇦
#авторське@uagolang #kubernetes@uagolang #platform_engineering@uagolang
———————
golang українською🇺🇦
Бажаю всім вам гарного дня та хочу поділитись заключною частиною циклу статей про управління ресурсами в Kubernetes.
Сьогодні поговоримо про тестування загалом та відносно нашої задачі - покрити тестами наш оператор контролерів.
Занурюємось! Приємного прочитання!
Українською:
https://uagolang.notion.site/k8s-3-1800710a945c80df8193f1cf3c0a347a
English:
https://uagolang.notion.site/Manage-k8s-resources-using-operators-Part-3-1800710a945c818aa9b3f86277ec0632
Став
Слава Україні
#авторське@uagolang #kubernetes@uagolang #platform_engineering@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
uagolang on Notion
Управління ресурсами k8s за допомогою оператора контролерів. Частина 3 | Notion
Всіх вітаю з початком весни! Я Влад і сьогодні ми розглянемо заключне питання, але надважливе з точки зору грамотної та професійної розробки загалом і операторів та контролерів k8s зокрема. Нагадаю, що в минулій статті ми приступили до практичної частини…
🔥3👍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 – на мій погляд доволі новий, але перспективний пакет для рутинної автоматизації, що зазвичай робиться в
🔗 Репозиторій: 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 українською🇺🇦
Як зазвичай, ловіть підбірку з 5 пакетів на Go, що можуть стати вам в нагоді!
🔗 Репозиторій: https://github.com/DiceDB
🔗 Репозиторій: https://github.com/charmbracelet/bubbletea
Make
. Все доволі просто і на Go. Особисто мені Make
абсолютно підходить і об'єктивно швидше потрібну рутину автоматизувати там. Але якщо необхідне якесь комплексне рішення, що буде потребувати глибоких знань bash, то чому б не реалізувати це добре знайомою тобі мовою?🔗 Репозиторій: https://github.com/goyek/goyek
🔗 Репозиторій: https://github.com/aquasecurity/trivy
🔗 Репозиторій: https://github.com/hybridgroup/gocv
Став
Слава Україні
#підбірки@uagolang #friday5@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
DiceDB
DiceDB has 14 repositories available. Follow their code on GitHub.
👍2❤1
Всім доброго ранку! Надіюсь, виспались і готові вриватись в робочий тиждень!
Я ще думаю над своєю наступною статтею (можете щось пропонувати, але не щось тривіальне), а поки вирішив перекласти цікаву статтю про HTTP/2 та в Go зокрема.
Приємного прочитання!
Українською:
https://uagolang.notion.site/HTTP-2-Golang-1960710a945c8060bba6ca60b8952c49
Оригінал:
https://victoriametrics.com/blog/go-http2/index.html
Став👍 якщо сподобався матеріал! Розказуй знайомим гошникам про канал, це дуже допоможе йому в розвитку.
Слава Україні🇺🇦 🇺🇦
#переклад@uagolang #http2@uagolang
———————
golang українською🇺🇦
Я ще думаю над своєю наступною статтею (можете щось пропонувати, але не щось тривіальне), а поки вирішив перекласти цікаву статтю про HTTP/2 та в Go зокрема.
Приємного прочитання!
Українською:
https://uagolang.notion.site/HTTP-2-Golang-1960710a945c8060bba6ca60b8952c49
Оригінал:
https://victoriametrics.com/blog/go-http2/index.html
Став
Слава Україні
#переклад@uagolang #http2@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
uagolang on Notion
Як працює HTTP/2 та як працювати з ним в Golang | Notion
Після того, як ви освоїли net/rpc з попередньої статті (From net/rpc to gRPC in Go Applications), варто почати вивчення HTTP/2, який є основою протоколу gRPC.
🔥6👍1
Ми ростемо, нас вже 54! Дуже вам дякую за довіру, далі - більше!
От думаю, можливо на 100 підписників зробити якийсь конкурс чи вебінар...
Ще не думав взагалі над деталями, просто прийшла в голову така ідея)
#offtop@uagolang
———————
golang українською🇺🇦
От думаю, можливо на 100 підписників зробити якийсь конкурс чи вебінар...
Ще не думав взагалі над деталями, просто прийшла в голову така ідея)
#offtop@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
golang українською
Telegram автора: @nesymno
Linkedin автора: bit.ly/nesymno-linkedin
Github каналу: bit.ly/uagolang-github
Linkedin автора: bit.ly/nesymno-linkedin
Github каналу: bit.ly/uagolang-github
❤4
Знаєте, погрузився я трохи в це все гошне ком'юніті українське, і таке враження, що його ведуть студенти)
Це непогано, але має мало спільного з професійною діяльністю, як на мене...
Писати ігри на Go звичайно непогана навичка, але хорошого розробника від початківця відрізняє якраз досвід виконання певних типових (а іноді і зовсім нетипових) бізнес-задач. Я не претендую на істину останньої інстанції, а просто ділюсь думками виключно зі свого довіду.
Можеш написати Doom на Go? Це звичайно прекрасно, але у нас тут навантаження на сервера зросло і нам необхідно провести певне performance review потенційно ресурсо-затратних операцій в нашій системі... А можливо якийсь інструмент не виправдовує себе, або задачі, які наш бізнес вирішує, можна більш оптимально виконати за допомогою іншого, більш підходящого інструменту?
І яким би обізнаним гофером ти не був - важливі не максимально різнобічні знання (хоча і таке існує, але конкуренція, самі розумієте), а саме розуміння бізнес процесів та вплив написаного тобою коду на систему. З позитивного - мені дуже сподобалась ідея коротко розказувати про якісь нюанси в Go. Я був здивований, але Telegram вміє підсвічувати різні мови в code блоці.
Також планував зробити анонс наступної статті, але хай це буде сюрпризом 😈
#thoughts@uagolang
———————
golang українською🇺🇦
Це непогано, але має мало спільного з професійною діяльністю, як на мене...
Писати ігри на Go звичайно непогана навичка, але хорошого розробника від початківця відрізняє якраз досвід виконання певних типових (а іноді і зовсім нетипових) бізнес-задач. Я не претендую на істину останньої інстанції, а просто ділюсь думками виключно зі свого довіду.
Можеш написати Doom на Go? Це звичайно прекрасно, але у нас тут навантаження на сервера зросло і нам необхідно провести певне performance review потенційно ресурсо-затратних операцій в нашій системі... А можливо якийсь інструмент не виправдовує себе, або задачі, які наш бізнес вирішує, можна більш оптимально виконати за допомогою іншого, більш підходящого інструменту?
І яким би обізнаним гофером ти не був - важливі не максимально різнобічні знання (хоча і таке існує, але конкуренція, самі розумієте), а саме розуміння бізнес процесів та вплив написаного тобою коду на систему. З позитивного - мені дуже сподобалась ідея коротко розказувати про якісь нюанси в Go. Я був здивований, але Telegram вміє підсвічувати різні мови в code блоці.
Також планував зробити анонс наступної статті, але хай це буде сюрпризом 😈
#thoughts@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
golang українською
Telegram автора: @nesymno
Linkedin автора: bit.ly/nesymno-linkedin
Github каналу: bit.ly/uagolang-github
Linkedin автора: bit.ly/nesymno-linkedin
Github каналу: bit.ly/uagolang-github
🥴2
Всім привіт! Буду іноді закидати вам задачки. Якісь складні, якісь легкі - різні.
Почнемо з легкого, отже, що виведе даний код?
Чи бачите ви тут якісь помилки? Які? Як виправити і чому вони виникають?
Які потенційні проблеми в коді (в цьому, неправильному варіанті) ви бачите?
Playground: https://goplay.tools/snippet/VWtsgqD0_a6
Відповіді пишіть в коментарях та прикріплюйте також посилання на playground, як у мене.
#practice@uagolang #trytosolve@uagolang
———————
golang українською🇺🇦
Почнемо з легкого, отже, що виведе даний код?
Чи бачите ви тут якісь помилки? Які? Як виправити і чому вони виникають?
Які потенційні проблеми в коді (в цьому, неправильному варіанті) ви бачите?
Playground: https://goplay.tools/snippet/VWtsgqD0_a6
Відповіді пишіть в коментарях та прикріплюйте також посилання на playground, як у мене.
package main
import (
"fmt"
"math/rand"
"sync"
"time"
)
func worker(id int, tasks <-chan int, results chan<- int, wg *sync.WaitGroup) {
defer wg.Done()
for task := range tasks {
delay := time.Duration(rand.Intn(300)) * time.Millisecond
time.Sleep(delay)
select {
case results <- task * 2:
fmt.Printf("Worker %d processed task %d\n", id, task)
case <-time.After(100 * time.Millisecond):
fmt.Printf("Worker %d timeout on task %d\n", id, task)
}
}
}
func main() {
rand.Seed(time.Now().UnixNano())
taskCount := 10
workerCount := 3
tasks := make(chan int, taskCount)
results := make(chan int, taskCount)
var wg sync.WaitGroup
for i := 1; i <= workerCount; i++ {
wg.Add(1)
go worker(i, tasks, results, &wg)
}
for i := 1; i <= taskCount; i++ {
tasks <- i
}
close(tasks)
close(results)
wg.Wait()
for res := range results {
fmt.Println("Result:", res)
}
}
#practice@uagolang #trytosolve@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
goplay.tools
Better Go Playground
Better Go Playground with autocomplete and syntax highlight support
Всім доброго ранку! Всі ми не безгрішні - я також. Зрозумів свою помилку щодо завдання.
Необхідно враховувати конкретні задачі і умови виконання цих задач чітко, бо вийшло, що і не зрозуміло, а що код має робити, а що - ні.
Вибачте, для мене це було вперше. Але нічого, далі я буду давати чітку задачу разом з кодом.
Очікувана відповідь з моїми коментарями:
https://goplay.tools/snippet/NUxjHFKc-Q4
Дякую @andrsj та @intelimed, що витратили свій час, ви молодці! Надіюсь на участь багатьох в наступній задачі!
#offtop@uagolang
———————
golang українською🇺🇦
Необхідно враховувати конкретні задачі і умови виконання цих задач чітко, бо вийшло, що і не зрозуміло, а що код має робити, а що - ні.
Вибачте, для мене це було вперше. Але нічого, далі я буду давати чітку задачу разом з кодом.
Очікувана відповідь з моїми коментарями:
https://goplay.tools/snippet/NUxjHFKc-Q4
Дякую @andrsj та @intelimed, що витратили свій час, ви молодці! Надіюсь на участь багатьох в наступній задачі!
#offtop@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
golang українською
Telegram автора: @nesymno
Linkedin автора: bit.ly/nesymno-linkedin
Github каналу: bit.ly/uagolang-github
Linkedin автора: bit.ly/nesymno-linkedin
Github каналу: bit.ly/uagolang-github
🥴1