На текущем моем месте работы мы широко используем декораторы. Декораторы содержат достаточно много логики и удобны в переиспользовании. Однако, чем больше логики содержится в них, тем больше зависимостей они имеют. Некоторые декораторы имеют чисто вспомогательную функцию, например, автоматическую отмену предыдущего obserable, возвращенного этой функцией, deboune, добавление метаданных для последующего получения их в рантайме и т.д. Обычно проблем с такими декораторами не возникает. Но как только в декораторе начинает присутствовать какая-то бизнес-логика, тут же возникают проблемы.
Читать далее ...- 17 дек. 2022 г.
Построение графиков на основе данных билда в Jenkins
28 янв. 2022 г.Иногда в процессе работы с Jenkins возникает необходимость анализировать данные о проходящих билдах. Зачастую это стандартная статистика которую и так предоставляет Jenkins, иногда предоставляют дополнительные плагины, например global-build-stats. Но так же возникает необходимость сборки данных специфичных для проекта. Но кроме сбора данных так же хочется их визуализировать, например с помощью графиков. К счастью у Jenkins есть отличный плагин plot. Плагин позволяет строить графики на основе, как единичных, так и множественных значений.
Читать далее ...Создаем отдельную страницу архивов на Hugo
20 дек. 2020 г.Hugo — один из самых популярных генераторов статических сайтов. Он написан на языке Go, что дает ему удивительную скорость и гибкость. Тем не менее сейчас Hugo имеет версию v0.79.1, а значит это не финальная его версия и API еще будет меняться. Соответственно, на данный момент, имеются некоторые недоработки. Одна их них - это отсутствие страницы архивов из коробки. Тем не менее, благодаря очень гибкой системе шаблонов и таксономий, эту функциональность очень легко реализовать в теме.
Читать далее ...Unmarshalling yaml/json конфигурации с динамической структурой в GO
20 нояб. 2020 г.Довольно часто в приложениях мы используем для конфигурации json или yaml файлы. Это довольно удобный и простой способ задать огромное количество параметров при запуске, не передавая их через аргументы или не вводя вручную. Пока параметров немного, файлы выглядят очень понятно и аккуратно. Но как показывает практика, со временем они обрастают огромным количеством дублирующегося кода или сложных структур, вй которых заполнено только одно поле. В этой статье мы рассмотрим пример, как это исправить и дать пользователю возможность более гибко и просто использовать конфигурацию.
Читать далее ...EntityFrameworkCore игнорирует Include в запросах после обновления c 2.1
6 нояб. 2020 г.Однажды на одном их моих проектов было принято решение обновиться с версии dotnet core 2.1 на последнюю LTS версию (3.1 на момент написания статьи). До этого у меня уже был неоднократный опыт обновления небольших проектов, как и c классического .NET, так и с более старых версий dotnet core. Но большинство из этих проектов вместо полноценных ORM использовали Dapper. Обновлять же непосредственно EntityFrameworkCore, мне приходилось всего раза 2. И стоит отметить, что никаких особых проблем я при обновлении не встретил. До этого момента.
Читать далее ...Работа с .Net App.config без боли
22 мая 2019 г.Думаю многим, кто работал с .Net framework знакома ситуация, когда надо читать конфигурационный файл App.config, и то, что это не особо приятное занятие. Всегда приходится городить кучу статических классов, содержащих по сути обращение к ConfigurationManager.AppSettings. Либо писать сложные и непонятные кастомные секции файлов конфигурации, вписывать каждую секцию в раздел configSection со ссылкой на класс секции и его ассембли, что тоже не очень хорошо. Если сравнивать с dotnet core, который умеет десериализовать json и мапить его на объект, то ситуация с обычным .
Читать далее ...Автоматическое получение access token в postman
6 нояб. 2018 г.Postman отличный инструмент для работы с REST API, обладающий широким спектром возможностей, начиная от простой проверки эндпоинта и заканчивая написанием полноценных тестов для API. С его помощью можно замокать сервер на основе запросов или создать коллекцию и легко поделиться ею со всей командой. В современных приложениях часто используется авторизация пользователей по токенам, что может вызывать определенные неудобства при работе. Как правило, пользователю предоставляются два токена: access_token и refresh_token, причем access_token быстро устаревает, требуя обновления.
Читать далее ...Автоматическое добавление git hooks в nodejs проекте
30 окт. 2018 г.Многим пользователям git, я думаю, знакома ситуация, когда после коммита обнаруживается, что в коммит попало что-то лишнее, или закоммиченый код непроходящий тесты. А иногда этот код, ко всему прочему, отправляется напрямую в
Читать далее ...origin
.