ИТ развој

Дизајн на бази на податоци: Престанете да реагирате, почнете да ги предвидувате проблемите со перформансите

Дизајн на бази на податоци: Престанете да реагирате, почнете да ги предвидувате проблемите со перформансите

Повеќето проблеми со перформансите на базите на податоци не започнуваат како драматични прекини. Тие започнуваат како разумни кратенки: барање што работи на мала табела, флексибилна колона додадена „засега“, ...

Надвор од стекот: Архитектирање отпорни системи за потреби што се развиваат

Надвор од стекот: Архитектирање отпорни системи за потреби што се развиваат

Повеќето системи не пропаѓаат затоа што тимот избрал погрешен програмски јазик, база на податоци или облачен провајдер. Тие пропаѓаат затоа што разумните претпоставки од вчера тивко стануваат денешни ограни...

Прагматичен PHP: Изградете API-ја што се скалираат без шаблонскиот код

Прагматичен PHP: Изградете API-ја што се скалираат без шаблонскиот код

Скалирањето на API ретко е ограничено од самиот PHP. Почесто е ограничено од апликација што секое барање го претворила во долг синџир на скриена работа: вчитување премногу податоци, pe...

Тесни грла на базата на податоци: Престанете да ловите грешки, почнете да дизајнирате за брзина

Тесни грла на базата на податоци: Престанете да ловите грешки, почнете да дизајнирате за брзина

Повеќето проблеми со перформансите на базите на податоци не се мистериозни. Тие се одлуки во дизајнот што останале невидливи додека системот бил мал: крајна точка што вчитува многу повеќе податоци отколку што нејзините ...

Системска архитектура: Планирајте за променливите потреби, не само за денешните барања

Системска архитектура: Планирајте за променливите потреби, не само за денешните барања

Повеќето системи не пропаѓаат затоа што првата верзија била премногу едноставна. Пропаѓаат затоа што првата верзија тивко станала трајна обврска. Функционалноста пристигнува со рок, ...

Разјаснете го Docker: Испорачувајте сигурни апликации со прагматична контејнеризација

Разјаснете го Docker: Испорачувајте сигурни апликации со прагматична контејнеризација

Docker често се претставува како начин да „се спакува апликација“. Тоа е точно, но ја потценува вистинската придобивка: контејнерите ги прават видливи претпоставките околу една апликација....

Испорачувајте робусни API-ја: Надминете ги рамките за трајна архитектура

Испорачувајте робусни API-ја: Надминете ги рамките за трајна архитектура

Рамките се одлични за брзо поставување API во функција. Тие обезбедуваат рутирање, помошни алатки за валидација, инјектирање зависности, миграции, редици и позната структура за нова услуга. Но...

Надвор од редицата: Зошто дизајнот на базата на податоци ја одредува брзината на вашата апликација

Надвор од редицата: Зошто дизајнот на базата на податоци ја одредува брзината на вашата апликација

Кога една апликација делува бавно, редицата е лесен осомничен. Задачите се натрупуваат, работниците изгледаат зафатени, а контролните табли го прават заостатокот видлив. Но редицата често открива проблем со базата на податоци...

Надвор од рамката: Градење одржливи API-ја што траат

Надвор од рамката: Градење одржливи API-ја што траат

Рамката може да направи API-то да изгледа завршено многу пред навистина да биде издржливо. Рутите се чисти, контролерите се тенки, миграциите се извршуваат и неколку крајни точки враќаат JSON. Потоа се појавуваат барањата...

Надвор од рамката: Архитектура на отпорни PHP апликации

Надвор од рамката: Архитектура на отпорни PHP апликации

Рамката може да направи PHP апликацијата да изгледа целосна многу пред да стане отпорна. Рутите се уредни, зависностите се инјектираат, миграциите се извршуваат и првото распоредување успева. ...

Преосмислување на рефакторирањето: Зошто на вашата кодна база ѝ е потребно редовно освежување

Преосмислување на рефакторирањето: Зошто на вашата кодна база ѝ е потребно редовно освежување

Рефакторирањето често се претставува како задача за расчистување: нешто што треба да се закаже откако ќе заврши „вистинската“ работа. Таквото претставување е скапо. Во бекенд систем, кодот што испорачува...

Системска архитектура: Дизајнирање API-ја за потреби што се развиваат

Системска архитектура: Дизајнирање API-ја за потреби што се развиваат

Повеќето API-ја не пропаѓаат затоа што нивната прва верзија била лошо дизајнирана. Тие пропаѓаат затоа што првата верзија тивко станува договор за потреби што никој не ги предвидел: мобилен клие...

Поткаст - Градење сигурни PHP позадински задачи

Поткаст - Градење сигурни PHP позадински задачи

Практична соло епизода за дизајнирање PHP систем за позадински задачи подготвен за продукција: како редиците ја одвојуваат бавната работа од веб-барањата, како повторните обиди и идемпотентноста спречуваат дупликат...

Подкаст - Symfony во реално време: WebSockets со јасна автентикација и справување со грешки

Подкаст - Symfony во реално време: WebSockets со јасна автентикација и справување со грешки

Петминутна соло епизода за додавање ажурирања во живо управувани од WebSocket во Symfony апликација без претворање на автентикацијата, неуспесите во поврзувањето и оперативните компромиси во...

Надвор од API-ја: Архитектура за непречена еволуција на системите

Надвор од API-ја: Архитектура за непречена еволуција на системите

API може да им овозможи на два система да комуницираат. Таа, сама по себе, не може да направи безбедно да се развиваат. Таа разлика е поважна како што PHP-апликацијата расте надвор од една единствена кодна база и единствена д...

Надвор од Dockerfile-ови: Архитектирање за еволуција на контејнери подготвени за продукција

Надвор од Dockerfile-ови: Архитектирање за еволуција на контејнери подготвени за продукција

Dockerfile може да направи една апликација извршлива. Тоа е корисно, но не е исто што и да се направи апликацијата подготвена за продукција. Јазот се појавува штом една услуга мора да биде распо...

Надвор од микросервисите: Архитектура за стабилност на дистрибуираните системи

Надвор од микросервисите: Архитектура за стабилност на дистрибуираните системи

Микросервисите често се претставуваат како неизбежен следен чекор по монолитот: поделете ја апликацијата, распоредувајте ги услугите независно и дозволете им на тимовите да се движат побрзо. Привлечноста е...

Надвор од CRUD: Архитектирање PHP услуги за истрајност

Надвор од CRUD: Архитектирање PHP услуги за истрајност

CRUD е местото каде што започнуваат повеќето бекенд-услуги, а не местото каде што се докажуваат. Создавањето, читањето, ажурирањето и бришењето записи можат да демонстрираат рамка, но продукциските системи...

Надвор од базата на податоци: Архитектура за интегритет на податоците во голем обем

Надвор од базата на податоци: Архитектура за интегритет на податоците во голем обем

Повеќето неуспеси со податоците не започнуваат со расипана база на податоци. Тие започнуваат порано, кога апликацијата прифаќа двосмислено барање, повторува страничен ефект без контекст или дозволува две ...