Поєднання помилок в Golang
Існують ситуації, коли просто необхідно мати можливість огортати помилки на різних рівнях сервісу.
Напевно, багато хто з вас знає, що Golang має вбудовані інструменти в пакеті
Але є нюанси в тому, як потім цей стек читати. Почитайте 🤌
Українська:
https://uagolang.notion.site/Golang-1800710a945c8032a859eec2b5ff1a2b
English:
https://uagolang.notion.site/Errors-joining-in-Golang-1800710a945c81279d71e89b4ef3f23f
Став👍 якщо сподобався матеріал, пропонуй теми для статей чи питання, що потребують освітлення!
Слава Україні🇺🇦 🇺🇦
#uagolang #авторське #errors
———————
golang українською🇺🇦
Існують ситуації, коли просто необхідно мати можливість огортати помилки на різних рівнях сервісу.
Напевно, багато хто з вас знає, що Golang має вбудовані інструменти в пакеті
errors
для утворення стеку помилок.Але є нюанси в тому, як потім цей стек читати. Почитайте 🤌
Українська:
https://uagolang.notion.site/Golang-1800710a945c8032a859eec2b5ff1a2b
English:
https://uagolang.notion.site/Errors-joining-in-Golang-1800710a945c81279d71e89b4ef3f23f
Став
Слава Україні
#uagolang #авторське #errors
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
uagolang on Notion
Поєднання помилок в Golang | Notion
Привіт! Сьогодні я хотів би обговорити тему, яка часто трапляється в нашій повсякденній роботі, а саме - повернення та обгортання помилок, що є критично важливим аспектом розробки надійних Go-додатків з кількох причин:
👍3
Всім привіт! Був у відпустці, трохи подорожував і абсолютно випав з робочого процесу.
Але постараюсь виправлятись. Анонсую вихід циклу цікавих статей на не менш цікаву тему, але хай це поки що буде інтрига :)
#uagolang #updates
———————
golang українською🇺🇦
Але постараюсь виправлятись. Анонсую вихід циклу цікавих статей на не менш цікаву тему, але хай це поки що буде інтрига :)
#uagolang #updates
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Управління ресурсами k8s за допомогою оператора контролерів. Частина 1
Ця стаття розпочинає цикл з 3х щодо управління ресурсами в k8s. В першій частині розберемо теоретичну частину цього цікавого процесу.
Українською:
https://uagolang.notion.site/k8s-1-1800710a945c80888ddbf17bc33179b6
English:
https://uagolang.notion.site/Manage-k8s-resources-using-operators-Part-1-1800710a945c811091c8e7cc46a3ee6b
Став👍 якщо сподобався матеріал, пропонуй теми для статей чи питання, що потребують освітлення!
Слава Україні🇺🇦 🇺🇦
#uagolang #авторське #k8s #operators #reconciliation
———————
golang українською🇺🇦
Ця стаття розпочинає цикл з 3х щодо управління ресурсами в k8s. В першій частині розберемо теоретичну частину цього цікавого процесу.
Українською:
https://uagolang.notion.site/k8s-1-1800710a945c80888ddbf17bc33179b6
English:
https://uagolang.notion.site/Manage-k8s-resources-using-operators-Part-1-1800710a945c811091c8e7cc46a3ee6b
Став
Слава Україні
#uagolang #авторське #k8s #operators #reconciliation
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
uagolang on Notion
Управління ресурсами k8s за допомогою оператора контролерів. Частина 1 | Notion
Привіт! З вами, як завжди, Влад і сьогодні я хотів би розглянути тему управління k8s ресурсами за допомогою оператора CRD (Custom Resource Definition) в k8s кластері.
👍4
Я трохи потупив і зрозумів, що немає коментарів, де могли б задаватись запитання та знаходитись відповіді.
На жаль, в наш час існує агресія, а я не хочу агресії на цьому каналі, лише професійні думки та обмін досвідом!
Можемо разом протестити, що все працює: можете накидати питань, відповіді на які вас цікавлять у вигляді статей і всяке таке :)
#uagolang #updates
———————
golang українською🇺🇦
На жаль, в наш час існує агресія, а я не хочу агресії на цьому каналі, лише професійні думки та обмін досвідом!
Можемо разом протестити, що все працює: можете накидати питань, відповіді на які вас цікавлять у вигляді статей і всяке таке :)
#uagolang #updates
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
Всім привіт! Давайте знайомитись ближче)
Я Влад, мені 29 років. На Golang пишу вже 8 років, а загалом в IT з далекого 2015.
Було б цікаво дізнатись про ваш досвід в Golang. Мені часто пишуть рекрутери і просять допомогти з пошуком спеціалістів (здебільшого middle+ рівня), а так ось може буде кого порекомендувати.
Джунам складніше, але якщо вдруг будуть варіанти і для вас - я дам знати!
Гарного дня та чекаю на ваші коментарі 🫡
Я Влад, мені 29 років. На Golang пишу вже 8 років, а загалом в IT з далекого 2015.
Було б цікаво дізнатись про ваш досвід в Golang. Мені часто пишуть рекрутери і просять допомогти з пошуком спеціалістів (здебільшого middle+ рівня), а так ось може буде кого порекомендувати.
Джунам складніше, але якщо вдруг будуть варіанти і для вас - я дам знати!
Гарного дня та чекаю на ваші коментарі 🫡
❤3👍1
Запускати рубрику?
Anonymous Poll
64%
Запускай рубрику
21%
Хочу більше авторських статей
14%
Хочу більше перекладів статей
В понеділок опублікую статтю про конкурентність та примітиви синхронізації в go. Виходить доволі обʼємно, надіюсь на фідбек, тому що міг пропустити щось цікаве, всі ми люди 🙃
Також, є ідея почати рубрику з підбіркою інструментів на golang, що думаєте?
Дякую за увагу, всім гарного дня!
Також, є ідея почати рубрику з підбіркою інструментів на golang, що думаєте?
Дякую за увагу, всім гарного дня!
🔥2🤝2❤1
Всім привіт! Хочу запустити рубрику, про яку говорили вчора.
Це буде підбірка з 5 пакетів, які не пов'язані між собою якоюсь певною категорію.
Чиста суб'єктивщина, але корисна суб'єктивщина 🫡
Вважаю, що п'ятниця - релізний день для цієї ініціативи! 😂
Адже в п'ятницю всі вже на чілі (чи ні... 🙈) і можна спокійно подивитись та вивчити щось цікаве.
1. Web Framework Fuego - стандартний веб-фреймворк, але на дженеріках та автоматичною генерацією OpenAPI3 документації прямо з коду!
Не повірите! Його знайшов джун, коли я ставив йому задачу щодо переходу з gin на щось, де є підтримка OpenAPI3 з коробки. Знайшов)
Тільки коли я про нього дізнався - вийшов лише 1 реліз, зірочок було до сотні ну і був він ще сиренький, звичайно.
Не можу рекомендувати його для продакшена. Але для пет-проектів - саме те, щоб подивитись на щось дійсно нове і цікаве.
Репозиторій: https://github.com/go-fuego/fuego
2. Entity Framework Ent - доволі класна ORM на go, що пропонує автогенерацію коду для моделей в різних базах даних. Цікавою особливістю є також підтримка GraphQL, тому якщо ви використовуєте графову БД, зверніть увагу на цей пакет. Скажу чесно, автогенерація, звичайно, суперська штука та економить дуже багато часу. Але є й мінуси, пов'язані за неможливістю отримання релейшенів через їх назву. Не дуже зручно, якщо вам необхідно отримувати їх динамічно та з кількома рівнями вкладенності.
Але загалом, дуже сильний пакет. Використовую його в продакшені.
Репозиторій: https://github.com/ent/ent
3. Entity Framework Bun - конкурент Ent (тільки для SQL), використовував його на минулому проекті, дуже класна ORM, дозволяє робити буквально все, з чим я стикався. Але писати все треба руцями :)
Репозиторій: https://github.com/uptrace/bun
4. Retries - проста, але функціональна бібліотека для реалізації ретраїв з великою кількістю налаштувань. Можна реагувати на помилки, будь-які умови, задавати кількість спроб та стратегії повторень. Використовую в продакшені.
Репозиторій: https://github.com/avast/retry-go
5. Jobs Scheduler, Executor: GoCron - з його допомогою ви можете запускати задачі за розкладом. Доволі корисний пакет, особливо, коли вам потрібно виконати якусь періодичну роботу в бекграунді. Використовую в продакшені.
Репозиторій: https://github.com/go-co-op/gocron
Став👍 якщо сподобався матеріал, пропонуй теми для статей чи питання, що потребують освітлення!
Слава Україні🇺🇦 🇺🇦
#підбірки@uagolang
———————
golang українською🇺🇦
Це буде підбірка з 5 пакетів, які не пов'язані між собою якоюсь певною категорію.
Чиста суб'єктивщина, але корисна суб'єктивщина 🫡
Вважаю, що п'ятниця - релізний день для цієї ініціативи! 😂
Адже в п'ятницю всі вже на чілі (чи ні... 🙈) і можна спокійно подивитись та вивчити щось цікаве.
1. Web Framework Fuego - стандартний веб-фреймворк, але на дженеріках та автоматичною генерацією OpenAPI3 документації прямо з коду!
Не повірите! Його знайшов джун, коли я ставив йому задачу щодо переходу з gin на щось, де є підтримка OpenAPI3 з коробки. Знайшов)
Тільки коли я про нього дізнався - вийшов лише 1 реліз, зірочок було до сотні ну і був він ще сиренький, звичайно.
Не можу рекомендувати його для продакшена. Але для пет-проектів - саме те, щоб подивитись на щось дійсно нове і цікаве.
Репозиторій: https://github.com/go-fuego/fuego
2. Entity Framework Ent - доволі класна ORM на go, що пропонує автогенерацію коду для моделей в різних базах даних. Цікавою особливістю є також підтримка GraphQL, тому якщо ви використовуєте графову БД, зверніть увагу на цей пакет. Скажу чесно, автогенерація, звичайно, суперська штука та економить дуже багато часу. Але є й мінуси, пов'язані за неможливістю отримання релейшенів через їх назву. Не дуже зручно, якщо вам необхідно отримувати їх динамічно та з кількома рівнями вкладенності.
Але загалом, дуже сильний пакет. Використовую його в продакшені.
Репозиторій: https://github.com/ent/ent
3. Entity Framework Bun - конкурент Ent (тільки для SQL), використовував його на минулому проекті, дуже класна ORM, дозволяє робити буквально все, з чим я стикався. Але писати все треба руцями :)
Репозиторій: https://github.com/uptrace/bun
4. Retries - проста, але функціональна бібліотека для реалізації ретраїв з великою кількістю налаштувань. Можна реагувати на помилки, будь-які умови, задавати кількість спроб та стратегії повторень. Використовую в продакшені.
Репозиторій: https://github.com/avast/retry-go
5. Jobs Scheduler, Executor: GoCron - з його допомогою ви можете запускати задачі за розкладом. Доволі корисний пакет, особливо, коли вам потрібно виконати якусь періодичну роботу в бекграунді. Використовую в продакшені.
Репозиторій: https://github.com/go-co-op/gocron
Став
Слава Україні
#підбірки@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - go-fuego/fuego: Golang Fuego - Web framework generating OpenAPI 3 spec from source code - Pluggable to existing Gin &…
Golang Fuego - Web framework generating OpenAPI 3 spec from source code - Pluggable to existing Gin & Echo APIs - go-fuego/fuego
❤5👍1
Трохи вихідного офтопу: нещодавно відвідав Японію - країну, яку я мріяв відвідати вже дуже давно. Якщо чесно - перевершила очікування!
Метро Токіо чи не єдине в світі приватне та прибуткове! Гугл навіть радить, в який вагон краще зайти, щоб швидше вийти.
Ситуація зараз складна, я розумію. І все ж, а куди б ви хотіли поїхати і що побачити?
#оффтоп@uagolang
———————
golang українською🇺🇦
Метро Токіо чи не єдине в світі приватне та прибуткове! Гугл навіть радить, в який вагон краще зайти, щоб швидше вийти.
Ситуація зараз складна, я розумію. І все ж, а куди б ви хотіли поїхати і що побачити?
#оффтоп@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Дуже хороший ресурс для вивчення дизайн патернів з прикладами і поясненнями:
https://refactoring.guru/uk/design-patterns
Став👍 якщо сподобався матеріал, пропонуй теми для статей чи питання, що потребують освітлення!
Слава Україні🇺🇦 🇺🇦
#design_patterns@uagolang
———————
golang українською🇺🇦
https://refactoring.guru/uk/design-patterns
Став
Слава Україні
#design_patterns@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
refactoring.guru
Патерни/шаблони проектування
Патерни проектування описують типові способи вирішення поширених проблем при проектуванні програм.
👍3❤1
Конкурентність та примітиви синхронізації в Go
Знайшов трохи часу для статті, яку обіцяв.
Розберемо ключові питання та стандартні інструменти Go.
Українською:
https://uagolang.notion.site/Go-1960710a945c8047bf95e4c93aec744c
English:
https://uagolang.notion.site/Concurrency-and-Synchronization-Primitives-in-Go-1980710a945c80d59236dcb741874ec7
Став👍 якщо сподобався матеріал, пропонуй теми для статей чи питання, що потребують освітлення!
Слава Україні🇺🇦 🇺🇦
#авторське@uagolang #concurrency@uagolang #mutex@uagolang #atomic@uagolang
———————
golang українською🇺🇦
Знайшов трохи часу для статті, яку обіцяв.
Розберемо ключові питання та стандартні інструменти Go.
Українською:
https://uagolang.notion.site/Go-1960710a945c8047bf95e4c93aec744c
English:
https://uagolang.notion.site/Concurrency-and-Synchronization-Primitives-in-Go-1980710a945c80d59236dcb741874ec7
Став
Слава Україні
#авторське@uagolang #concurrency@uagolang #mutex@uagolang #atomic@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
uagolang on Notion
Конкурентність та примітиви синхронізації в Go | Notion
Привіт! З вами Влад і сьогодні я хочу розглянути тему конкурентності в Go та спробувати на практиці розібрати різні примітиви синхронізації горутин.
🔥9
Давайте пройдемось трошки по релізу Go 1.24, який був випущений 11 лютого 2025 року:
https://uagolang.notion.site/Go-1-24-19c0710a945c80779913c2abd10127e9
#release@uagolang
———————
golang українською🇺🇦
https://uagolang.notion.site/Go-1-24-19c0710a945c80779913c2abd10127e9
#release@uagolang
———————
golang українською
Please open Telegram to view this post
VIEW IN TELEGRAM
uagolang on Notion
Огляд релізу Go 1.24 | Notion
Go 1.24 було випущено 11 лютого 2025 року. Це черговий реліз, який приніс ряд важливих покращень та оновлень для Go. Цей реліз є результатом чергового циклу розробки, протягом якого команда Go зосередилась на покращенні продуктивності, безпеки та зручності…
🔥1
Навалилось проблем, не хочу вдаватись в деталі, постараюсь закінчити другу частину статті по операторам k8s до наступного тижня.
🫡3👍1