Масштабне оновлення: Запуск кастомного рушія DSG.studio Web
Із радістю повідомляю про довгоочікуваний запуск абсолютно нової платформи для сайту-портфоліо та блогу. Те, що ви зараз бачите перед собою — це не просто косметичний редизайн. Це результат глибокого переосмислення того, як має працювати сучасний, швидкий та зручний вебсайт для розробників. Викинуто всі старі залежності і написано власну систему з чистого аркуша.
Відмова від милиць та готових рішень
Довгий час тривали експерименти з різними платформами. Спершу в хід пішли готові системи управління контентом, які швидко обростали сумнівними плагінами, ставали надзвичайно неповороткими та вимагали постійної уваги до оновлень безпеки. Згодом спробувано генератори статичних сайтів: вони працювали чудово для простих текстових сторінок, але перетворювалися на справжній біль, щойно виникала потреба додати живий повнотекстовий пошук, побудувати динамічні зв'язки між статтями та додатками або впровадити складну багатомовність.
Зрештою, стало очевидно, що боротьба з обмеженнями чужих інструментів забирає набагато більше зусиль, ніж написання самого контенту. Конче необхідним був ідеальний баланс, який би поєднував легкість створення текстів, як у статичних сайтах, із динамічною потужністю та гнучкістю повноцінного бекенд-фреймворку. Так народився проєкт DSG.studio Web.
Архітектура, створена для швидкості
Замість того, щоб йти шляхом популярних нині масивних фронтенд-фреймворків, обрано стек, орієнтований на серверну продуктивність та класичну веб-розробку. Серцем усього проєкту виступає FastAPI — один із найшвидших та найсучасніших Python-фреймворків. Його асинхронна природа дозволяє серверу легко витримувати серйозні навантаження, обробляючи запити паралельно з мінімальним споживанням оперативної пам'яті.
Але найцікавіше — це те, як тут ведеться робота з текстами. DSG.studio повністю відмовився від візуальних редакторів і не тримає оригінали статей у базі даних. Уся текстова база — це звичайні Markdown файли з метаданими у форматі YAML, які зберігаються безпосередньо в репозиторії разом із кодом. Щоб додати або змінити статтю, достатньо зробити новий Git-коміт. Такий підхід дарує ідеальну історію змін і дозволяє писати контент в улюбленому редакторі коду.
Водночас збережено всі переваги реляційних баз даних. Спеціальний фоновий механізм постійно відстежує зміни у файлах, миттєво парсить оновлений Markdown, перетворює його на безпечний HTML і завантажує необхідні дані у PostgreSQL. Саме Postgres бере на себе всю важку роботу: швидку фільтрацію, створення зв'язків між сутностями та глибокий повнотекстовий пошук за допомогою ефективних GIN-індексів.
Що ж до візуальної частини, то DSG.studio свідомо відмовився від підходу Single Page Application (SPA). Сторінки не будуються на пристрої користувача шляхом виконання мегабайтів JavaScript-коду. Натомість тут використовується перевірений часом серверний рендеринг за допомогою шаблонізатора Jinja2. Сервер за лічені мілісекунди збирає готову HTML-сторінку, а її дизайн та бездоганна темна тема забезпечуються утилітарними класами Tailwind CSS.
Новий користувацький досвід
Головна мета всіх цих архітектурних рішень — створити ідеальний простір для читачів. Насамперед, ви відчуєте кардинальну різницю у швидкості роботи: завдяки відсутності важких клієнтських скриптів сторінки завантажуються майже миттєво, незалежно від якості інтернет-з'єднання чи потужності смартфона.
Окрім швидкості, суттєво перероблено структуру каталогу продуктів. Тепер орієнтуватися у ньому стало набагато простіше, адже всі мобільні застосунки, десктопні утиліти та боти акуратно розподілені за відповідними категоріями. Також приділено величезну увагу деталям: сайт отримав глибоку і продуману темну тему, яка автоматично підлаштовується під системні налаштування вашого пристрою та не втомлює очі під час тривалого читання. А завдяки вбудованій підтримці кількох мов, платформа стала повністю безшовною для глобальної аудиторії.
Я щиро пишаюся тим, що вийшло у підсумку. Цей сайт — ще один повноцінний продукт студії, в який вкладено багато інженерного натхнення. Залишайтеся на зв'язку, досліджуйте розробки, і нехай ваш користувацький досвід буде виключно приємним!