<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Личный блог dadyarri</title><description>Опыт разработки, наблюдения и хобби</description><link>https://dadyarri.ru/</link><language>ru-ru</language><item><title>Переезд домашней лаборатории с VDS на мини-пк</title><link>https://dadyarri.ru/posts/moving-self-hosting-to-home/</link><guid isPermaLink="true">https://dadyarri.ru/posts/moving-self-hosting-to-home/</guid><description>Раньше я экспериментировал с разворачиванием домашней лаборатории на VDS у стороннего провайдера. Хотя оно работало достаточно неплохо, но я решил перенести всё на мини-компьютер у себя дома. Расскажу о том, почему я пришёл к этой мысли, как происходил перенос и что из этого вышло.</description><pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate><category>Self-hosting</category><author>dadyarri</author></item><item><title>Эволюция генератора Open Graph изображений на C#</title><link>https://dadyarri.ru/posts/evolved-ogimages-dotnet/</link><guid isPermaLink="true">https://dadyarri.ru/posts/evolved-ogimages-dotnet/</guid><description>Мигрировав сайт обратно на Astro, я рассчитывал использовать механику интеграций для генерации Open Graph изображений. И хотя локально это работало, на продакшн сервере интеграция просто молча игнорировалась. Так что пришлось возвращаться к хранению изображений в репозитории. Для этого я написал новую утилиту, но уже на C#.</description><pubDate>Fri, 19 Sep 2025 00:00:00 GMT</pubDate><category>C#</category><category>Блог</category><author>dadyarri</author></item><item><title>Переезд блога на другой фреймворк (да, опять)</title><link>https://dadyarri.ru/posts/yet-another-migration/</link><guid isPermaLink="true">https://dadyarri.ru/posts/yet-another-migration/</guid><description>Прошло куча времени, как я начал писать свой генератор статических сайтов. Но спустя пару месяцев я пришёл к выводу, что в одиночку проект такого масштаба не потяну. Поэтому пришло время мигрировать на технологию, которой я изначально хотел избежать.</description><pubDate>Fri, 23 May 2025 00:00:00 GMT</pubDate><category>Болтология</category><category>Блог</category><author>dadyarri</author></item><item><title>Как моя кампания закончилась, не успев начаться и что я понял про D&amp;D</title><link>https://dadyarri.ru/posts/campaign-finale/</link><guid isPermaLink="true">https://dadyarri.ru/posts/campaign-finale/</guid><description>Некоторое время назад я побывал по другую сторону ширмы и начал вести модуль по официальной книге приключений “Фандервер и ниже” по системе D&amp;#x26;D. Провели мы 4 игры в онлайне через FoundryVTT. У меня давно было желание помастерить, ещё когда мы той же компанией играли в реале, но как-то не сложилось. Теперь же я, немного порефлексировав, могу сказать, где я накосячил, почему считаю D&amp;#x26;D плохой системой и что с этим собираюсь делать.</description><pubDate>Sat, 26 Apr 2025 00:00:00 GMT</pubDate><category>D&amp;D</category><category>Болтология</category><author>dadyarri</author></item><item><title>Использование SSH-ключей с хоста на удалённом сервере</title><link>https://dadyarri.ru/minis/ssh-forwarding-agent/</link><guid isPermaLink="true">https://dadyarri.ru/minis/ssh-forwarding-agent/</guid><description>Недавно я узнал, что оказывается можно безопасно шерить SSH-ключи со своей машины на сервер, к которому мы подключаемся.</description><pubDate>Mon, 07 Apr 2025 00:00:00 GMT</pubDate><author>dadyarri</author></item><item><title>Разбор RPM-манифестов с помощью регулярных выражений</title><link>https://dadyarri.ru/minis/parse-rpm-regex/</link><guid isPermaLink="true">https://dadyarri.ru/minis/parse-rpm-regex/</guid><description>На работе сейчас занимаюсь написанием инструмента сборки линуксовых пакетов, который должен заменить огромное количество однотипных Bash-скриптов и манифестов пакетов. Инструмент готов, теперь нужно как-то переписать исходные скрипты и манифесты в новый конфиг, вручную это делать я конечно же не собираюсь.</description><pubDate>Wed, 26 Feb 2025 00:00:00 GMT</pubDate><author>dadyarri</author></item><item><title>Как я настроил свой домашний сервер вне дома</title><link>https://dadyarri.ru/posts/self-hosted/</link><guid isPermaLink="true">https://dadyarri.ru/posts/self-hosted/</guid><description>Некоторое время назад я начал интересоваться темой self-hosted, домашними лабораториями и всем таким. Вообще, обычно для этого используется железка прямо в доме, но я прикинул и понял, что мне не слишком хочется настраивать свою сеть так, чтобы в неё можно было попасть снаружи. В общем, несколько пожертвовав безопасностью, я развернул виртуальный сервер у одного хостера и расскажу, что и как там поднял.</description><pubDate>Sun, 23 Feb 2025 00:00:00 GMT</pubDate><category>Болтология</category><category>Self-hosting</category><author>dadyarri</author></item><item><title>Высшее образование: пустая трата времени или…</title><link>https://dadyarri.ru/posts/uni-summary/</link><guid isPermaLink="true">https://dadyarri.ru/posts/uni-summary/</guid><description>В прошлом году я закончил бакалавриат по направлению «Информационные системы и технологии» наконец дошли руки рассказать о том, как это было и что я из этого вынес.</description><pubDate>Sat, 25 Jan 2025 00:00:00 GMT</pubDate><category>Болтология</category><author>dadyarri</author></item><item><title>Генератор сайтов с блэкджеком и плагинами</title><link>https://dadyarri.ru/posts/ssg-with-blackjack-and-plugins/</link><guid isPermaLink="true">https://dadyarri.ru/posts/ssg-with-blackjack-and-plugins/</guid><description>Доведя свой генератор Open Graph изображений до логичного финала, я пришёл к выводу, что Rust - это не мой язык. Мне неприятно на нём писать и я больше времени трачу на попытки победить злой компилятор, чем на добавление нового функционала. Поэтому я стартую новый цикл статей о разработке своего генератора статических сайтов (да, грядёт очередная миграция сайта 😂).</description><pubDate>Sat, 28 Dec 2024 00:00:00 GMT</pubDate><category>Болтология</category><category>Блог</category><author>dadyarri</author></item><item><title>Пути для бэкапа приложений</title><link>https://dadyarri.ru/minis/backup-paths/</link><guid isPermaLink="true">https://dadyarri.ru/minis/backup-paths/</guid><description>Собрал свой список приложений и пути, где они хранят свои конфиги, чтобы ничего не потерять при бэкапе</description><pubDate>Sun, 22 Dec 2024 00:00:00 GMT</pubDate><author>dadyarri</author></item><item><title>Настраиваемые Open Graph изображения на Rust</title><link>https://dadyarri.ru/posts/configurable-ogimages-rust/</link><guid isPermaLink="true">https://dadyarri.ru/posts/configurable-ogimages-rust/</guid><description>В предыдущей статье я описал, как можно быстро генерировать Open Graph изображения. Однако, тот подход был не гибким: дизайн изображений был зафиксирован в коде, и любое изменение требовало его правки и пересборки приложения. Кроме того, существовала проблема с дозаписью в файл: добавление каждого тега в SVG-файл открывала файл на диске, записывал туда новое содержимое и закрывал файл.В этой статье я расскажу, как вынес конфигурацию изображений в отдельный TOML-файл и автоматизировал процесс генерации с помощью Github Actions.</description><pubDate>Sat, 30 Nov 2024 00:00:00 GMT</pubDate><category>Rust</category><category>Блог</category><author>dadyarri</author></item><item><title>Связывание конфигурации из JSON с моделью в ASP.NET</title><link>https://dadyarri.ru/minis/bind-configuration/</link><guid isPermaLink="true">https://dadyarri.ru/minis/bind-configuration/</guid><description>Как удобнее использовать конфигурацию из appsettings.json в ASP.NET</description><pubDate>Sat, 26 Oct 2024 00:00:00 GMT</pubDate><author>dadyarri</author></item><item><title>Ускоряем генерацию Open Graph изображений на Rust</title><link>https://dadyarri.ru/posts/better-ogimages-rust/</link><guid isPermaLink="true">https://dadyarri.ru/posts/better-ogimages-rust/</guid><description>Я уже говорил, что решение по генерации изображений для соцсетей из прошлой статьи неидеально — оно требует установленного Google Chrome, запускает его, ждёт пока страница загрузится и потом делает скриншот.Во второй части этого цикла статей я покажу, как у меня получилось улучшить производительность и удобство своего приложения для генерации OG Image.</description><pubDate>Fri, 25 Oct 2024 00:00:00 GMT</pubDate><category>Rust</category><category>Блог</category><author>dadyarri</author></item><item><title>Генерация Open Graph изображений на Rust</title><link>https://dadyarri.ru/posts/ogimages-rust/</link><guid isPermaLink="true">https://dadyarri.ru/posts/ogimages-rust/</guid><description>Иногда случается так, что меня резко переклинивает и я начинаю заниматься тем, чего вообще не делал или к чему давно не прикасался.Например, я давно ничего не писал сюда (да и в маленький блог тоже). В какой-то момент я решил (снова) переписать сайт с нуля на новом фреймворке, на этот раз поставив себе задачу избежать использования Javascript-экосистемы всеми силами.</description><pubDate>Thu, 17 Oct 2024 00:00:00 GMT</pubDate><category>Rust</category><category>Блог</category><author>dadyarri</author></item><item><title>Бэкап GnuPG ключей</title><link>https://dadyarri.ru/minis/backup-gpg/</link><guid isPermaLink="true">https://dadyarri.ru/minis/backup-gpg/</guid><description>О том, как сохранить GnuPG ключи для удобства переноса между машинами</description><pubDate>Mon, 07 Oct 2024 00:00:00 GMT</pubDate><author>dadyarri</author></item><item><title>Полиморфная сериализация в Kotlin и C#</title><link>https://dadyarri.ru/posts/polymorphic-serialization/</link><guid isPermaLink="true">https://dadyarri.ru/posts/polymorphic-serialization/</guid><description>В процессе работы над своим дипломом я столкнулся с интересной задачей: сформировать контент нескольких типов в один JSON-массив. Поскольку бэкенд написан на C#, то и пример будет для него. Например есть контент-ссылка (есть идентификатор и URL), контент-текст (есть идентификатор и содержимое) и контент-файл (есть идентификатор и название). Нужно как-то эти очевидно разные типы данных засунуть в одну кучу, чтобы приложение могло удобно это обрабатывать.</description><pubDate>Tue, 26 Mar 2024 00:00:00 GMT</pubDate><category>C#</category><category>Kotlin</category><author>dadyarri</author></item><item><title>Использование дашборда из Aspire в бэкенде на .NET</title><link>https://dadyarri.ru/posts/aspire-dashboard/</link><guid isPermaLink="true">https://dadyarri.ru/posts/aspire-dashboard/</guid><description>.NET Aspire — это новый продукт Microsoft, который призван упростить оркестрацию контейнеров с приложениями на локальных машинах разработчиков. Кроме инструментов запуска сервисов туда ещё входит дашборд, отображающий логи и метрики приложения в реальном времени. Он использует протокол OpenTelemetry.В недавно вышедшем Preview 4 в числе прочего добавили возможность запустить дашборд отдельно от Aspire. В этой статье я добавлю дашборд к своему .NET-бэкенду не мигрируя весь проект на Aspire.</description><pubDate>Tue, 19 Mar 2024 00:00:00 GMT</pubDate><category>C#</category><author>dadyarri</author></item><item><title>Ktor для сетевых запросов в мобильном приложении</title><link>https://dadyarri.ru/posts/better-ktor-networking/</link><guid isPermaLink="true">https://dadyarri.ru/posts/better-ktor-networking/</guid><description>Работая над сетевым взаимодействием в мобильных приложениях, я долго искал инструмент, который бы сочетал в себе простоту и мощь. И нашёл его в Ktor. В этой статье я поделюсь своим опытом использования Ktor и объясню, почему он стал моим фаворитом для создания надежных и эффективных сетевых решений в Kotlin-приложениях.</description><pubDate>Fri, 08 Mar 2024 00:00:00 GMT</pubDate><category>Android</category><category>Kotlin</category><author>dadyarri</author></item></channel></rss>