Komentáře k článku

Jak snížit chybovost při vývoji aplikací

Přiblížím vám několik oblastí, na které byste se měli zaměřit, pokud nejste spokojeni s počtem chyb, které se vám dostávají na produkční server. Mým záměrem není vydat další článek typu „vyhněte se duplikaci“ nebo „pište testy“, protože takových je hromada, ale vyzdvihnout postupy, které tak hluboce zakořeněné ještě nejsou. Nejspíše i proto, že chybám můžete zabránit nejen technickými, ale i komunikačními dovednostmi.

Zpět na článek

6 komentářů k článku Jak snížit chybovost při vývoji aplikací:

  1. milan.matejcek

    Body automatizace
    Ahoj moc se mi to líbí, a je to pěkně popsané i pro pochopení BUF. Uvítal bych kdyby jsi v bodech uvedl ze zkušenosti co všechno máš ve skriptu na sestavení aplikace v takovém pořadí jakém by to mělo být. Jednoslovně, Aktualizace zdrojáků z repozitáře počínaje promazáním temporary adresářů konče. Asi se bude lišit build na testovací prostředí a na produkci…

    1. Ondřej MirtesAutor příspěvku

      Re: Body automatizace
      Ahoj, to záleží na použitých technologiích, velikosti projektu a potřebách vývojářů a adminů. Také bude rozdíl mezi kroky pro zprovoznění aplikace na vývojářském stroji a na produkčním serveru (je dobré mít zautomatizované oboje). Pokud bych měl popsat nároky na nasazení na serveru, tak by nemělo chybět:

      • Zajištění atomicity deploymentu. Živá aplikace by se nikdy neměla z pohledu uživatelů ocitnout v přechodovém stavu mezi dvěma verzemi. Stávající requesty uživatelů by měly doběhnout pod verzí, pod kterou začaly. Pokud proces nasazení selže v půlce, měla by zůstat živá původní verze. Typicky se to zařizuje nasměrováním webserveru na symlink, připravení nové verze do nového adresáře a přehození symlinku v momentě, kdy je nová verze připravená.
      • Promazání vygenerovaných souborů – DI kontejner, zkompilované šablony, proxy třídy… Pro zoptimalizování tohoto kroku by nutně nebylo potřeba mazat vše, ale jen ty věci, jejichž závislosti se od posledního nasazení měnily.
      • Promazání keše. Ideálně by se nemělo mazat vše (proč zahazovat něco, co není zastaralé), ale jen ty věci, jejichž formát není kompatibilní s novou verzí.
      • Vygenerování souborů, cache warmup. Vygenerovat vše, co architektura aplikace umožňuje, aby to nezdrželo první uživatelské requesty (+ hrozí konkurenční generování, tedy by se mohlo vícekrát generovat to samé), co do nové verze dorazí. Tzn. šablony, generované třídy, CSS, JavaScripty… Také je dobré naplnit cache tím, u čeho to dává smysl (co je často čtené a globální pro většinu uživatelů) – např. RobotLoader, nakešovaná homepage…
      • Puštění databázových a jiných migrací. Pokud nejsou zpětně kompatibilní, mělo by dojít k odstávce aplikace (zobrazení maintenance stránky).
  2. Petr

    Nechybí něco?
    Není ten článek nějak zmršený CMSkem? Mám dojem, jakoby končil v půlce a zničehonic vidím body, které nevím, kam se vážou a co znamenají. Např. s čím souvisí crawling webu??

    1. Martin Hassman

      Re: Nechybí něco?

      Článek je celý. To na konci jsou poznámky, jsou k textu vázány číslem a odkazem.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=13226