Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Nette: jak rozbít atom?

5.405 Aufrufe

Veröffentlicht am

Veröffentlicht in: Software
  • Sex in your area is here: ♥♥♥ http://bit.ly/39pMlLF ♥♥♥
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/39pMlLF ❤❤❤
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Nette: jak rozbít atom?

  1. 1. Už dlouho to viselo ve vzduchu…
  2. 2. 11. 5. 2014 A pak se to stalo. Nette Framework byl rozdělen na malé části.
  3. 3. Nette Framework byla vždy rodina spolupracujících členů.
  4. 4. Laděnka Asi nejstarší je Nette Debugger, nebo-li Laděnka. Protože cizinci neumí říkat ď, přejmenovali jsme jí na Tracy. Tracy
  5. 5. Tracy má dva klíčové úkoly: 1) POHODLÍ: zpřehlednit málo čitelné chybové hlášky PHP…
  6. 6. …do této podoby (kdo dnes tuhle obrazovku neznal?)
  7. 7. 2) BEZPEČNOST: zabránit probublání chybových hlášek v produkčním režimu, protože mohou obsahovat citlivé údaje, včetně hesel.
  8. 8. Jakmile totiž vaše aplikace vypíše něco podobného, bude v bezpečnostním auditu ohodnocena nula špačky z pěti.
  9. 9. Latte Toto je pán, co pije Latte. A Latte, stejně jako Tracy, myslí na pohodlí a bezpečnost. Příklad?
  10. 10. Většina programátorů neví, jakou escapovací funkci použít v uvedených případech. A ti co ví, se mohou splést, nebo na escapování zapomenout. XSS
  11. 11. Latte tohle řeší automaticky. Navíc brání vzniku XSS třeba i kontrolou vypisovaných URL. Psát šablony v Latte je velmi pohodlné.
  12. 12. Tracy a Latte (nebo další členy Nette rodiny) lze a dokonce je záhodno použít prakticky na jakémkoliv webu. Jenže to znamenalo připojit celý framework. Což technicky není problém, nepoužívané části nepřekážejí, web nezpomalují a Nette existuje i v jednosouborové verzi.
  13. 13. ZendoviAle je to problém mentální. Pokud chci randit s Tracy, nechci k sobě stěhovat celou její rodinu. Zejména, když už jednu rodinu mám.
  14. 14. Rozhodli jsme se vyjít programátorům vstříc a rozdělit členy Nette rodiny do samostatně použitelných jednotek.
  15. 15. Nette TesterPrvní osamostatněný byl Tester, nástroj pro testování Nette. Což bylo snadné, protože záměrně nikdy neměl s Nette žádnou třídu společnou.
  16. 16. Nette Tester je dnes plnohodnotný testovací nástroj, který mimo jiné spouští testy paralelně, a hlavně má hezké logo :-)
  17. 17. Je integrován taky do poslední verze NetBeans.
  18. 18. Nette Object Další dělení však představovalo obrovský technický problém. Příklad za všechny: třídy v Nette dědí od společného předka, třídy NetteObject.
  19. 19. Primárním posláním NetteObject je zamezit překlepům, které PHP jinak zamlčí a dají se odhalit jen statickou analýzou.
  20. 20. Nebo pomocí NetteObject, které vás za každý překlep zpraží pohledem. Jenže jak mít stejnou třídu v každé samostatné jednotce? Přičemž luxusu, který dopřává, se vzdát nechcete. Co s tím?
  21. 21. Rozdělení Nette bylo proveditelné teprve ve chvíli, kdy se v PHP (konečně) objevil široce respektovaný balíčkovací nástroj.
  22. 22. COMP- OSERStal se jím Composer. Asi nejdůležitější počin posledních let. Seznamte se s ním!
  23. 23. nette/application nette/bootstrap nette/caching nette/component-model nette/database nette/di nette/finder nette/forms nette/http nette/latte nette/mail nette/neon nette/php-generator nette/reflection nette/robot-loader nette/safe-stream nette/security nette/tester nette/tokenizer nette/tracy nette/utils Každá část Nette dostala samostatný repozitář (se zachováním historie), vlastní issue tracker, atd. Jen rozdělení repozitáře trvalo stovky hodin.
  24. 24. nette/application nette/bootstrap nette/caching nette/component-model nette/database nette/di nette/finder nette/forms nette/http nette/latte nette/mail nette/neon nette/php-generator nette/reflection nette/robot-loader nette/safe-stream nette/security nette/tester nette/tokenizer nette/tracy nette/utils Některé části mají závislosti na jiných částech, obvykle na nette/utils, které obsahuje třeba zmíněnou třídu NetteObject.
  25. 25. composer require tracy/tracy Instalace nebo aktualizace Tracy je díky Composeru otázkou jednoho příkazu. (Tracy ale můžete stáhnout i jako PHAR).
  26. 26. A co se mění pro spokojené uživatele celé Nette family, kteří ji chtějí používat v celku jako dosud? Pro ty mám dobrou zprávu: vůbec nic.
  27. 27. Nadále můžete celý balík stáhnout na webu. Jen jsme začali vynechávat z názvu slovo framework.
  28. 28. composer require nette/nette Stejně tak ho můžete instalovat pomocí Composeru.
  29. 29. 11. 5. 2014 Pro tyhle uživatele bylo 11. 5. 2014 normálním dnem v roce :-) Ale pokud udržujete starší projekt v čistém PHP …
  30. 30. <?php TracyDebugger::enable(); …nebo pokud používáte Zend Framework či programuje pro WordPress, můžete teď hned udělat něco pro své pohodlí a bezpečnost, a nasadit třeba Tracy. Je to úplně snadné.
  31. 31. Děkuji za pozornost. @geekovo – @davidgrudl – @netteframework – #nettefw

×