<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
    <title>Uptime.school — блог</title>
    <subtitle>Практичні матеріали Uptime.school про архітектуру програмного забезпечення, System Design, cloud, security та розвиток IT-інженерів.</subtitle>
    <link href="https://uptime.school/feed.xml" rel="self" type="application/atom+xml" />
    <link href="https://uptime.school/blog/" rel="alternate" type="text/html" />
    <id>https://uptime.school/blog/</id>
    <updated>2026-10-11T00:00:00+03:00</updated>
    <icon>https://uptime.school/img/favicon-32.png</icon>
    <entry>
        <title>Зв’язки один-до-багатьох і багато-до-багатьох прості в SQL, але складні в NoSQL</title>
        <link href="https://uptime.school/blog/sql-vs-nosql-relationships/" rel="alternate" type="text/html" />
        <id>https://uptime.school/blog/sql-vs-nosql-relationships/</id>
        <published>2026-10-11T00:00:00+03:00</published>
        <updated>2026-10-11T00:00:00+03:00</updated>
        <author>
            <name>Oleksandr Marfut</name>
            <uri>https://uptime.school/about/</uri>
        </author>
        <summary>Як моделювати зв’язки один-до-багатьох і багато-до-багатьох у SQL і документоорієнтованих NoSQL-базах — патерни посилань, вбудовування, часткового вбудовування та проміжної колекції і коли який обирати.</summary>
    </entry>
    <entry>
        <title>Команди та події в мікросервісах: ключові відмінності</title>
        <link href="https://uptime.school/blog/commands-vs-events/" rel="alternate" type="text/html" />
        <id>https://uptime.school/blog/commands-vs-events/</id>
        <published>2026-10-11T00:00:00+03:00</published>
        <updated>2026-10-11T00:00:00+03:00</updated>
        <author>
            <name>Oleksandr Marfut</name>
            <uri>https://uptime.school/about/</uri>
        </author>
        <summary>Чим команди відрізняються від подій у мікросервісній архітектурі — хто їх надсилає й отримує, кому належить контракт, які дані вони несуть і як їх називати.</summary>
    </entry>
    <entry>
        <title>Нефункціональні вимоги: чому про них має думати кожен інженер</title>
        <link href="https://uptime.school/blog/functional-vs-non-functional-requirements/" rel="alternate" type="text/html" />
        <id>https://uptime.school/blog/functional-vs-non-functional-requirements/</id>
        <published>2026-10-10T00:00:00+03:00</published>
        <updated>2026-10-10T00:00:00+03:00</updated>
        <author>
            <name>Oleksandr Marfut</name>
            <uri>https://uptime.school/about/</uri>
        </author>
        <summary>Чим функціональні вимоги відрізняються від нефункціональних, чому саме нефункціональні вимоги визначають архітектуру і чому розробникам варто уточнювати їх ще до реалізації story.</summary>
    </entry>
    <entry>
        <title>Патерн Expand and Contract для безпечних змін схеми бази даних</title>
        <link href="https://uptime.school/blog/expand-and-contract/" rel="alternate" type="text/html" />
        <id>https://uptime.school/blog/expand-and-contract/</id>
        <published>2026-10-08T00:00:00+03:00</published>
        <updated>2026-10-08T00:00:00+03:00</updated>
        <author>
            <name>Oleksandr Marfut</name>
            <uri>https://uptime.school/about/</uri>
        </author>
        <summary>Як вносити несумісні зміни в схему бази даних без простою та одночасного розгортання — покроковий розбір патерну Expand and Contract на прикладі заміни булевої колонки рядковою.</summary>
    </entry>
    <entry>
        <title>20 порад із проєктування коду для щоденної роботи</title>
        <link href="https://uptime.school/blog/code-design-tips/" rel="alternate" type="text/html" />
        <id>https://uptime.school/blog/code-design-tips/</id>
        <published>2026-10-08T00:00:00+03:00</published>
        <updated>2026-10-08T00:00:00+03:00</updated>
        <author>
            <name>Oleksandr Marfut</name>
            <uri>https://uptime.school/about/</uri>
        </author>
        <summary>Двадцять практичних порад із проєктування коду, зібраних із сотень code review — SRP, впровадження залежностей, value objects, незмінність, чисті функції, captive dependency. З прикладами на C#.</summary>
    </entry>
    <entry>
        <title>Claude Certified Architect – Foundations: чому досвіду виявилось замало і як я підготувався за два тижні</title>
        <link href="https://uptime.school/blog/claude-certified-architect-foundations/" rel="alternate" type="text/html" />
        <id>https://uptime.school/blog/claude-certified-architect-foundations/</id>
        <published>2026-09-23T00:00:00+03:00</published>
        <updated>2026-09-23T00:00:00+03:00</updated>
        <author>
            <name>Oleksandr Marfut</name>
            <uri>https://uptime.school/about/</uri>
        </author>
        <summary>Досвід складання сертифікації Claude Certified Architect – Foundations (CCA-F) з другої спроби — чому провалив першу, як будував підготовку і що варто знати перед екзаменом.</summary>
    </entry>
    <entry>
        <title>Чому AI не замінить сильного інженера</title>
        <link href="https://uptime.school/blog/%D1%87%D0%BE%D0%BC%D1%83-ai-%D0%BD%D0%B5-%D0%B7%D0%B0%D0%BC%D1%96%D0%BD%D0%B8%D1%82%D1%8C-%D1%81%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE-%D1%96%D0%BD%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D0%B0/" rel="alternate" type="text/html" />
        <id>https://uptime.school/blog/%D1%87%D0%BE%D0%BC%D1%83-ai-%D0%BD%D0%B5-%D0%B7%D0%B0%D0%BC%D1%96%D0%BD%D0%B8%D1%82%D1%8C-%D1%81%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE-%D1%96%D0%BD%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D0%B0/</id>
        <published>2026-06-20T00:00:00+03:00</published>
        <updated>2026-06-20T00:00:00+03:00</updated>
        <author>
            <name>Oleksandr Marfut</name>
            <uri>https://uptime.school/about/</uri>
        </author>
        <summary>AI прискорює написання коду, але не замінює інженерне мислення, архітектурні знання та відповідальність за довгострокову якість продукту.</summary>
    </entry>
</feed>
