⚒ Counterfeiter — инyструмент для генерации автономных, типобезопасных тестовых заглушек на Go
При написании модульных тестов для объекта часто бывает полезно иметь фейковые реализации его зависимостей. В Go такие фейковые реализации не могут быть сгенерированы автоматически во время выполнения программы, и написание их вручную может быть достаточно трудоемким процессом. Counterfeiter позволяет просто генерировать тестовые заглушки для заданного интерфейса.
👉 GitHub
При написании модульных тестов для объекта часто бывает полезно иметь фейковые реализации его зависимостей. В Go такие фейковые реализации не могут быть сгенерированы автоматически во время выполнения программы, и написание их вручную может быть достаточно трудоемким процессом. Counterfeiter позволяет просто генерировать тестовые заглушки для заданного интерфейса.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤔3
Forwarded from Proglib.academy | IT-курсы
🥜🔨 Динамическое программирование: как щелкать задачки, как орешки
В этой статье раскрываем тайну происхождения термина «динамическое программирование» и показываем основные подходы к решению задач, которые часто встречаются на собеседованиях и соревнованиях.
Также у нас есть курс как для начинающих программистов, так и для тех, кто уже шарит:
🔵 Алгоритмы и структуры данных
🔗 Ссылка на статью
Готов узнать, как решать задачки, от которых плавятся мозги?
В этой статье раскрываем тайну происхождения термина «динамическое программирование» и показываем основные подходы к решению задач, которые часто встречаются на собеседованиях и соревнованиях.
Также у нас есть курс как для начинающих программистов, так и для тех, кто уже шарит:
🔗 Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⚒ caddy-exec — модуль Caddy для выполнения однократных команд
Caddy — HTTP(S) сервер с поддержкой Go. Расширение caddy-exec позволяет настроить команды для глобального выполнения при старте/остановке, либо по определенному маршруту.
👉 GitHub
Caddy — HTTP(S) сервер с поддержкой Go. Расширение caddy-exec позволяет настроить команды для глобального выполнения при старте/остановке, либо по определенному маршруту.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱5👍4😁3
Вы наверняка не раз слышали об этом паттерне. Почему бы не повторить еще раз?
Опытом работы с паттерном делится руководитель команды разработки ядра цифровой медицины в Республике Узбекистан.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👏16🥱7👍3❤2
Forwarded from Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
💻🔍💼 Кризис IT-рынка: как джуны и кадровый голод меняют правила игры
В условиях нехватки опытных специалистов и наплыва джунов, IT-компании вынуждены искать нестандартные подходы к найму. Рассмотрим основные тренды и стратегии адаптации рынка.
Читать статью
#почитать
В условиях нехватки опытных специалистов и наплыва джунов, IT-компании вынуждены искать нестандартные подходы к найму. Рассмотрим основные тренды и стратегии адаптации рынка.
Читать статью
#почитать
1😁6🎉2👍1
Знания, полученные из книг, — это здорово, но нет ничего лучше реального опыта, полученного на практике. Читайте заметки Julia Evans, если ваша работа как-то связана с вебом и Go.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Julia Evans
Some Go web dev notes
I spent a lot of time in the past couple of weeks working on a website in Go that may or may not ever see the light of day, but I learned a couple of things along the way I wanted to write down. Here they are:
🥰7👍1👾1
📉👩💻 Руководство по сборщику мусора Go
Одна из тех самых страниц документации, которая должна быть под рукой у Go-разраба. В ней есть все о том, как работает система сборки мусора Go, с дополненным полезными интерактивными диаграммами.
👉 Читать
Одна из тех самых страниц документации, которая должна быть под рукой у Go-разраба. В ней есть все о том, как работает система сборки мусора Go, с дополненным полезными интерактивными диаграммами.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥19👍6🙏1
Испытываете ли вы тревогу из-за распространения ИИ-ассистентов для написания кода/решения рабочих задач?
Anonymous Poll
19%
Да 😔
78%
Нет 😎
3%
Свой вариант (напишу в комментарии)
😁15👍1👾1
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.
В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования
👉Подписаться👈
В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования
👉Подписаться👈
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Простой способ визуализации зависимостей в проектах Go чистым графическим способом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥1🎉1
🍇 Подборка лучших статей «Библиотеки программиста» за сентябрь: сохраняй в заметки, чтобы не пропустить #самыйсок
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста
🏗 3 основных шаблона событийно-ориентированной архитектуры
🛠 Сага: эффективный шаблон микросервисной архитектуры
🏃 Самоучитель по Go для начинающих. Часть 16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
⚡️🔫 Секретное оружие бэкендера: 6 инструментов, о которых вы не знали
🥜🔨 Динамическое программирование: как щелкать задачки, как орешки
⚖️💻 5 признаков зависимости от программирования: как вернуть баланс в жизнь
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста
🏗 3 основных шаблона событийно-ориентированной архитектуры
🛠 Сага: эффективный шаблон микросервисной архитектуры
🏃 Самоучитель по Go для начинающих. Часть 16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
⚡️🔫 Секретное оружие бэкендера: 6 инструментов, о которых вы не знали
🥜🔨 Динамическое программирование: как щелкать задачки, как орешки
⚖️💻 5 признаков зависимости от программирования: как вернуть баланс в жизнь
🔥2👾2❤🔥1👍1
🔥 Распределенные транзакции в Go: прочтите, прежде чем попробовать
В микросервисной архитектуре иногда возникает необходимость в транзакциях, которые должны охватывать несколько сервисов. Это приводит к проблемам, когда проблема на одном из этапов оставляет систему в несогласованном состоянии.
Miłosz Smółka утверждает, что попытка внедрить распределенные транзакции — это часто «избыточное решение», и рекомендует использовать альтернативы.
Одна из них — модель eventual consistency, при которой система не становится сразу согласованной, но в конечном итоге достигает согласованного состояния.
Также он упоминает паттерн Outbox, который используется для гарантии, что данные и события, записанные в базе данных, всегда будут доставлены и обработаны корректно.
👉 Читать
👉 Предыдущая статья
👉 Перевод на русский
В микросервисной архитектуре иногда возникает необходимость в транзакциях, которые должны охватывать несколько сервисов. Это приводит к проблемам, когда проблема на одном из этапов оставляет систему в несогласованном состоянии.
Miłosz Smółka утверждает, что попытка внедрить распределенные транзакции — это часто «избыточное решение», и рекомендует использовать альтернативы.
Одна из них — модель eventual consistency, при которой система не становится сразу согласованной, но в конечном итоге достигает согласованного состояния.
Также он упоминает паттерн Outbox, который используется для гарантии, что данные и события, записанные в базе данных, всегда будут доставлены и обработаны корректно.
👉 Читать
👉 Предыдущая статья
👉 Перевод на русский
👍17🔥1
⚒️ Prep — небольшой инструмент для Go, который позволяет выполнять функции на этапе компиляции
Нельзя отрицать, что идея интересная, хотя у неё есть ограничения, и
By using prep.Comptime, you can evaluate functions at build time, replacing them with their computed results. Just like comptime from Zig. Except it’s not.
Нельзя отрицать, что идея интересная, хотя у неё есть ограничения, и
toolexec
не был предназначен для поддержки произвольной перезаписи исходного кода.🔥23
🛠️ Управление конкурентностью в Go: внутри кастомных примитивов синхронизации rqlite
Написание распределенной базы данных подразумевает интенсивное использование конкурентности. Philip O'Toole, создатель rqlite, распределенной базы данных на основе SQLite, столкнулся с некоторыми ограничениями встроенного в Go инструментария конкурентности и создал несколько кастомных примитивов. Под катом автор делится наработками — кто знает, может какие-то из них пригодятся и вам.
👉 Читать
Написание распределенной базы данных подразумевает интенсивное использование конкурентности. Philip O'Toole, создатель rqlite, распределенной базы данных на основе SQLite, столкнулся с некоторыми ограничениями встроенного в Go инструментария конкурентности и создал несколько кастомных примитивов. Под катом автор делится наработками — кто знает, может какие-то из них пригодятся и вам.
👉 Читать
GitHub
GitHub - rqlite/rqlite: The lightweight, user-friendly, distributed relational database built on SQLite.
The lightweight, user-friendly, distributed relational database built on SQLite. - rqlite/rqlite
🤔5❤3👍1
Кстати, на Хабре опубликован перевод гайда про транзакции в БД на Go с использованием многослойной архитектуры 👉 https://t.iss.one/goproglib/5276
Читайте, если хотите узнать об организации кода таким образом, чтобы избежать путаницы между слоями.
Читайте, если хотите узнать об организации кода таким образом, чтобы избежать путаницы между слоями.
Telegram
Библиотека Go разработчика | Golang
🔥 Распределенные транзакции в Go: прочтите, прежде чем попробовать
В микросервисной архитектуре иногда возникает необходимость в транзакциях, которые должны охватывать несколько сервисов. Это приводит к проблемам, когда проблема на одном из этапов оставляет…
В микросервисной архитектуре иногда возникает необходимость в транзакциях, которые должны охватывать несколько сервисов. Это приводит к проблемам, когда проблема на одном из этапов оставляет…
👍13👏3