SlideShare une entreprise Scribd logo
1  sur  26
@smitka Lynt services s.r.o.
Infrastruktura
Webová řešení
Marketing
WP – výkon a jeho
profilování
Vláďa Smitka
https://lynt.cz
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Co dnes uslyšíte?
• Kde a jak hledat výkonnostní problémy
• Server vs zdroje
• Pár slov o serverech a síťové infrastruktuře
• Ladění DB
• Ladění PHP skriptů pomocí Blackfire.io
• Budeme používat testovací virtuálek ve VirtualBoxu
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Virtuálek
Na flashce:
• Virtualbox
• Appliance (Centos-WPweekend.ova)
• Datové a konfigurační soubory
• Užitečné odkazy
• 1x předinstalovaný WP
• Počítá s IP 192.168.33.10
• Lze využít doménu *.10.lynt.eu
• = wp1.10.lynt.eu
Apache 2.4
PHP 5.6 FPM
127.0.0.1:9056
PHP 7.0 FPM
127.0.0.1:9070
Port 80 Port 7080
MariaDB 5.5
MailCatcher
Shell in a Box
WP-CLI
WPscan
Datové soubory Konfigurace
DB Logy
Síť s hostemNAT
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Nastavení VBoxu
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
První kontakt
• https://gtmetrix.com/
• http://www.webpagetest.org/
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Waterfall
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Co na serveru trvá?
• Databázové dotazy
• HTTP požadavky na vzdálené služby
• Špatně napsaný kód, který se mnohokrát zbytečně spouští
• Maily
• Práce s daty na přetíženém serveru
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Hosting, VPS, vlastní
server?
2x CPU, 4GB RAM
1x CPU, 2GB RAM
1x CPU, 2GB RAM
define( 'WP_MEMORY_LIMIT', '512M' );
Pro admin: WP_MAX_MEMORY_LIMIT
1 zobrazení běžné stránky = 20-40MB
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Jak si otestovat, kolik
server snese?
• https://loader.io/
• https://loadimpact.com/
• https://www.blazemeter.com/
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Databázové dotazy
Q: Kolik?
A: Query Monitor
Q: Jaké jsou dlouhodobě pomalé?
A: Slowlog
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Ladění MySQL serveru
• http://mysqltuner.com/
• Query Cache, Buffery, DB Enginy
• Alternativa https://launchpad.net/mysql-tuning-primer
• Další nástroje (mysqlreport) https://github.com/daniel-
nichter/hackmysql.com
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
mysqltuner.pl
slow-query-log = 1
slow-query-log-file = /var/log/mysql/slow.log
long_query_time = 1
log-queries-not-using-indexes
max_connections=50
query_cache_type = 1
query_cache_size = 64M
query_cache_limit = 2M
Při velké konkurenčnosti na
multiprocesorovém systému
však zdržuje!
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Transient API
$data = tohle_trva_fakt_dlouho();
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Transient API
$data = get_transient( 'unikatni_klic' );
if( WP_DEBUG || $data === false ) {
$data = tohle_trva_fakt_dlouho();
set_transient( 'unikatni_klic', $data, DAY_IN_SECONDS );
}
https://codex.wordpress.org/Transients_API
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
get_transient()
wp-includes/options.php
function get_transient( $transient ) {
...
if ( wp_using_ext_object_cache() ) {
$value = wp_cache_get( $transient, 'transient' );
} else {
$transient_option = '_transient_' . $transient;
if ( ! defined( 'WP_INSTALLING' ) ) {
// If option is not in alloptions, it is not autoloaded and thus has a timeout
$alloptions = wp_load_alloptions();
if ( !isset( $alloptions[$transient_option] ) ) {
$transient_timeout = '_transient_timeout_' . $transient;
if ( get_option( $transient_timeout ) < time() ) {
delete_option( $transient_option );
delete_option( $transient_timeout );
$value = false;
}
}
}
if ( ! isset( $value ) )
$value = get_option( $transient_option );
}
...
}
Umí využívat Object-Cache
Xcache, APC, Redis,
Memcached,…
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Profilování PHP
$start = microtime(true);
// jedeme!
$stop = microtime(true);
error_log($stop - start);
/*
memory_get_peak_usage();
memory_get_usage();
*/
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Blackfire.io
https://blackfire.io/
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
3 hlavní komponenty
• Probe – rozšíření pro PHP
• Agent – posílač dat do služby + CLI
• Companion – rozšíření do Chrome pro spouštění testů
• https://blackfire.io/docs/up-and-running/installation
• Server ID + Token
• Client ID + Token
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Blackfire.io – Premium
na měsíc zdarma
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Dimenze
• Wall Time
• I/O Wait
• CPU Time
• Memory
• Network
• HTTP požadavky
• SQL dotazy
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Když se to moc opakuje
public function ziskat()
{
$velka_instance_neceho = new Neco();
$vystup = $velka_instance_neceho->tezko_získat();
return $vystup;
}
public function ziskat()
{
static $vystup;
if (!isset($vystup)) {
$velka_instance_neceho = new Neco();
$vystup = $velka_instance_neceho->tezko_ziskat();
}
return $vystup;
}
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Jak zprofilovat POST a
jiné podivnosti?
Blackfire lze spouštět i z příkazové řádky:
blackfire curl 'data'
blackfire --samples=10 run php -r 'echo "WPweekend!";
blackfire upload CPU-20160526T202602.cpuprofile (výkon js v prohlížeči)
blackfire upload homepage-xdebug.out (výstup z xdebug)
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Testy - .blackfire.yml
tests:
"Homepage":
path: "/"
assertions:
- "metrics.sql.queries.count < 30"
- "main.peak_memory < 30mb"
- "metrics.http.requests.count < 5"
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Pochlubte se svým
profilem na blogu ;-)
WP Oembed provider:
wp_oembed_add_provider('https://blackfire.io/profiles/*',
'https://blackfire.io/oembed' );
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Děkuji za pozornost!
Dále si přečtěte:
https://lynt.cz/blog/10-nejcastejsich-problemu-modernich-webu
https://lynt.cz/blog/optimalizace-vykonu-webovych-aplikaci-na-co-se-zamerit

Contenu connexe

Tendances

Jak si (ne)nechat hacknout Wordpress stránky
Jak si (ne)nechat hacknout Wordpress stránkyJak si (ne)nechat hacknout Wordpress stránky
Jak si (ne)nechat hacknout Wordpress stránkyVladimír Smitka
 
WordPress - základy bezpečnosti
WordPress - základy bezpečnostiWordPress - základy bezpečnosti
WordPress - základy bezpečnostiVladimír Smitka
 
Nejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webůNejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webůVladimír Smitka
 
Základní pluginy pro WordPress
Základní pluginy pro WordPressZákladní pluginy pro WordPress
Základní pluginy pro WordPressRadek Kucera
 
Sysops tipy pro lepší WP
Sysops tipy pro lepší WPSysops tipy pro lepší WP
Sysops tipy pro lepší WPVladimír Smitka
 
Wordpress_DOD
Wordpress_DODWordpress_DOD
Wordpress_DODDoubry99
 
Najčastejšie problémy WordPress webov
Najčastejšie problémy WordPress webovNajčastejšie problémy WordPress webov
Najčastejšie problémy WordPress webovVladimír Smitka
 
Google Tag Manager a analytika ve WordPress
Google Tag Manager a analytika ve WordPressGoogle Tag Manager a analytika ve WordPress
Google Tag Manager a analytika ve WordPressVladimír Smitka
 
Verzování WordPress webů (#wpkonference 11/2014)
Verzování WordPress webů (#wpkonference 11/2014)Verzování WordPress webů (#wpkonference 11/2014)
Verzování WordPress webů (#wpkonference 11/2014)Borek Bernard
 
Základní pluginy pro WordPress 25-6-2016
Základní pluginy pro WordPress 25-6-2016Základní pluginy pro WordPress 25-6-2016
Základní pluginy pro WordPress 25-6-2016Radek Kucera
 
WordCamp Bratislava 2019 - Cache!
WordCamp Bratislava 2019 - Cache!WordCamp Bratislava 2019 - Cache!
WordCamp Bratislava 2019 - Cache!Vladimír Smitka
 
Jak zrychlit WP pomocí cachovacích pluginů
Jak zrychlit WP pomocí cachovacích pluginůJak zrychlit WP pomocí cachovacích pluginů
Jak zrychlit WP pomocí cachovacích pluginůJakub Klapka
 
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
WordPress šablony a  rychlost načítání (WordCamp Praha 2017)WordPress šablony a  rychlost načítání (WordCamp Praha 2017)
WordPress šablony a rychlost načítání (WordCamp Praha 2017)Martin Michálek
 
Principy cachování ve WordPressu
Principy cachování ve WordPressuPrincipy cachování ve WordPressu
Principy cachování ve WordPressuDavid Biňovec
 
Jak zlepšit zabezpečení čtvrtiny celého webu
Jak zlepšit zabezpečení čtvrtiny celého webuJak zlepšit zabezpečení čtvrtiny celého webu
Jak zlepšit zabezpečení čtvrtiny celého webuMichal Špaček
 
10 tipů pro lepší zabezpečení WordPressu - 2. Wordpress konference Hluboká 2014
10 tipů pro lepší zabezpečení WordPressu - 2. Wordpress konference Hluboká 201410 tipů pro lepší zabezpečení WordPressu - 2. Wordpress konference Hluboká 2014
10 tipů pro lepší zabezpečení WordPressu - 2. Wordpress konference Hluboká 2014Radek Kucera
 
Optimalizace webových aplikací
Optimalizace webových aplikacíOptimalizace webových aplikací
Optimalizace webových aplikacíVašek Purchart
 
Hesla a vícefaktorová autentizace ve WP
Hesla a vícefaktorová autentizace ve WPHesla a vícefaktorová autentizace ve WP
Hesla a vícefaktorová autentizace ve WPVladimír Smitka
 

Tendances (20)

Jak si (ne)nechat hacknout Wordpress stránky
Jak si (ne)nechat hacknout Wordpress stránkyJak si (ne)nechat hacknout Wordpress stránky
Jak si (ne)nechat hacknout Wordpress stránky
 
WordPress - základy bezpečnosti
WordPress - základy bezpečnostiWordPress - základy bezpečnosti
WordPress - základy bezpečnosti
 
Instalace WordPress
Instalace WordPressInstalace WordPress
Instalace WordPress
 
Nejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webůNejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webů
 
Základní pluginy pro WordPress
Základní pluginy pro WordPressZákladní pluginy pro WordPress
Základní pluginy pro WordPress
 
Sysops tipy pro lepší WP
Sysops tipy pro lepší WPSysops tipy pro lepší WP
Sysops tipy pro lepší WP
 
Wordpress_DOD
Wordpress_DODWordpress_DOD
Wordpress_DOD
 
Najčastejšie problémy WordPress webov
Najčastejšie problémy WordPress webovNajčastejšie problémy WordPress webov
Najčastejšie problémy WordPress webov
 
Google Tag Manager a analytika ve WordPress
Google Tag Manager a analytika ve WordPressGoogle Tag Manager a analytika ve WordPress
Google Tag Manager a analytika ve WordPress
 
Verzování WordPress webů (#wpkonference 11/2014)
Verzování WordPress webů (#wpkonference 11/2014)Verzování WordPress webů (#wpkonference 11/2014)
Verzování WordPress webů (#wpkonference 11/2014)
 
Základní pluginy pro WordPress 25-6-2016
Základní pluginy pro WordPress 25-6-2016Základní pluginy pro WordPress 25-6-2016
Základní pluginy pro WordPress 25-6-2016
 
WordCamp Bratislava 2019 - Cache!
WordCamp Bratislava 2019 - Cache!WordCamp Bratislava 2019 - Cache!
WordCamp Bratislava 2019 - Cache!
 
Jak zrychlit WP pomocí cachovacích pluginů
Jak zrychlit WP pomocí cachovacích pluginůJak zrychlit WP pomocí cachovacích pluginů
Jak zrychlit WP pomocí cachovacích pluginů
 
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
WordPress šablony a  rychlost načítání (WordCamp Praha 2017)WordPress šablony a  rychlost načítání (WordCamp Praha 2017)
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
 
Principy cachování ve WordPressu
Principy cachování ve WordPressuPrincipy cachování ve WordPressu
Principy cachování ve WordPressu
 
Jak zlepšit zabezpečení čtvrtiny celého webu
Jak zlepšit zabezpečení čtvrtiny celého webuJak zlepšit zabezpečení čtvrtiny celého webu
Jak zlepšit zabezpečení čtvrtiny celého webu
 
10 tipů pro lepší zabezpečení WordPressu - 2. Wordpress konference Hluboká 2014
10 tipů pro lepší zabezpečení WordPressu - 2. Wordpress konference Hluboká 201410 tipů pro lepší zabezpečení WordPressu - 2. Wordpress konference Hluboká 2014
10 tipů pro lepší zabezpečení WordPressu - 2. Wordpress konference Hluboká 2014
 
Optimalizace webových aplikací
Optimalizace webových aplikacíOptimalizace webových aplikací
Optimalizace webových aplikací
 
WP Weekend 2018
WP Weekend 2018WP Weekend 2018
WP Weekend 2018
 
Hesla a vícefaktorová autentizace ve WP
Hesla a vícefaktorová autentizace ve WPHesla a vícefaktorová autentizace ve WP
Hesla a vícefaktorová autentizace ve WP
 

En vedette

WordPress Security: Defend yourself against digital invaders
WordPress Security:Defend yourself against digital invadersWordPress Security:Defend yourself against digital invaders
WordPress Security: Defend yourself against digital invadersVladimír Smitka
 
WordCamp Praha 2017 - Tomáš Kocifaj
WordCamp Praha 2017 - Tomáš KocifajWordCamp Praha 2017 - Tomáš Kocifaj
WordCamp Praha 2017 - Tomáš KocifajBrilo Team
 
Jednoduchý firemní web na WordPressu - WordCamp Praha 2014
Jednoduchý firemní web na WordPressu - WordCamp Praha 2014Jednoduchý firemní web na WordPressu - WordCamp Praha 2014
Jednoduchý firemní web na WordPressu - WordCamp Praha 2014Radek Kucera
 
České weby a Wordpress (Q4/2014)
České weby a Wordpress (Q4/2014)České weby a Wordpress (Q4/2014)
České weby a Wordpress (Q4/2014)Vladimír Smitka
 
Licence k šablonám a pluginům - WordCamp 2014 Praha
Licence k šablonám a pluginům - WordCamp 2014 PrahaLicence k šablonám a pluginům - WordCamp 2014 Praha
Licence k šablonám a pluginům - WordCamp 2014 PrahaTomáš Cirkl
 
Základní nastavení wordpressu
Základní nastavení wordpressuZákladní nastavení wordpressu
Základní nastavení wordpressuKamil Kuchta
 
Word press pluginy (pokročilé) - Tomáš Cirkl
Word press pluginy (pokročilé) - Tomáš CirklWord press pluginy (pokročilé) - Tomáš Cirkl
Word press pluginy (pokročilé) - Tomáš CirklTomáš Cirkl
 

En vedette (8)

WordPress Security: Defend yourself against digital invaders
WordPress Security:Defend yourself against digital invadersWordPress Security:Defend yourself against digital invaders
WordPress Security: Defend yourself against digital invaders
 
WordCamp Praha 2017 - Tomáš Kocifaj
WordCamp Praha 2017 - Tomáš KocifajWordCamp Praha 2017 - Tomáš Kocifaj
WordCamp Praha 2017 - Tomáš Kocifaj
 
Jednoduchý firemní web na WordPressu - WordCamp Praha 2014
Jednoduchý firemní web na WordPressu - WordCamp Praha 2014Jednoduchý firemní web na WordPressu - WordCamp Praha 2014
Jednoduchý firemní web na WordPressu - WordCamp Praha 2014
 
České weby a Wordpress (Q4/2014)
České weby a Wordpress (Q4/2014)České weby a Wordpress (Q4/2014)
České weby a Wordpress (Q4/2014)
 
Wordcamp Praha 2014
Wordcamp Praha 2014Wordcamp Praha 2014
Wordcamp Praha 2014
 
Licence k šablonám a pluginům - WordCamp 2014 Praha
Licence k šablonám a pluginům - WordCamp 2014 PrahaLicence k šablonám a pluginům - WordCamp 2014 Praha
Licence k šablonám a pluginům - WordCamp 2014 Praha
 
Základní nastavení wordpressu
Základní nastavení wordpressuZákladní nastavení wordpressu
Základní nastavení wordpressu
 
Word press pluginy (pokročilé) - Tomáš Cirkl
Word press pluginy (pokročilé) - Tomáš CirklWord press pluginy (pokročilé) - Tomáš Cirkl
Word press pluginy (pokročilé) - Tomáš Cirkl
 

Similaire à WP výkon a jeho profilování

WebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHPWebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHPBrnoPHP
 
Website Security & WordPress (Peter Gramantik)
Website Security & WordPress (Peter Gramantik)Website Security & WordPress (Peter Gramantik)
Website Security & WordPress (Peter Gramantik)wcsk
 
WordPress "root" skripty - WP Weekend #3
WordPress "root" skripty - WP Weekend #3 WordPress "root" skripty - WP Weekend #3
WordPress "root" skripty - WP Weekend #3 Brilo Team
 
WordCamp Prague 2014 - Website security cz
WordCamp Prague 2014 - Website security czWordCamp Prague 2014 - Website security cz
WordCamp Prague 2014 - Website security czpeter_sucuri
 
Nette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaNette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaPatrik Votoček
 
Javascript na steroidech
Javascript na steroidechJavascript na steroidech
Javascript na steroidechseznamVyvojari
 
Technologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopůTechnologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopůPeckaDesign.cz
 
Použití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaciPoužití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaciMartin Krištof
 
Zmrakování pružné včely
Zmrakování pružné včelyZmrakování pružné včely
Zmrakování pružné včelyfersman
 
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)Jakub Kulhan
 
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)Martin Hujer
 
Czech Sun Training Day 2008 - Java Enterprise System
Czech Sun Training Day 2008 - Java Enterprise SystemCzech Sun Training Day 2008 - Java Enterprise System
Czech Sun Training Day 2008 - Java Enterprise SystemMartin Cerveny
 
Optimalizace obrázků v (responsivních) šablonách
Optimalizace obrázků v (responsivních) šablonáchOptimalizace obrázků v (responsivních) šablonách
Optimalizace obrázků v (responsivních) šablonáchSUPERKODERS
 
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...Jaroslav Prodelal
 
JavaScript v GTM - Measure Camp Brno 2017
JavaScript v GTM - Measure Camp Brno 2017JavaScript v GTM - Measure Camp Brno 2017
JavaScript v GTM - Measure Camp Brno 2017Michal Blažek
 
Dependency injection v Nette 2.1 prakticky
Dependency injection v Nette 2.1 praktickyDependency injection v Nette 2.1 prakticky
Dependency injection v Nette 2.1 praktickyFilip Procházka
 
Revoluce v cloudu: první autonomně řízená databáze na světě
Revoluce v cloudu: první autonomně řízená databáze na světěRevoluce v cloudu: první autonomně řízená databáze na světě
Revoluce v cloudu: první autonomně řízená databáze na světěMarketingArrowECS_CZ
 

Similaire à WP výkon a jeho profilování (20)

WebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHPWebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHP
 
Website Security & WordPress (Peter Gramantik)
Website Security & WordPress (Peter Gramantik)Website Security & WordPress (Peter Gramantik)
Website Security & WordPress (Peter Gramantik)
 
WordPress "root" skripty - WP Weekend #3
WordPress "root" skripty - WP Weekend #3 WordPress "root" skripty - WP Weekend #3
WordPress "root" skripty - WP Weekend #3
 
WordCamp Prague 2014 - Website security cz
WordCamp Prague 2014 - Website security czWordCamp Prague 2014 - Website security cz
WordCamp Prague 2014 - Website security cz
 
Nette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaNette v cloudu - Poslední Sobota
Nette v cloudu - Poslední Sobota
 
Javascript na steroidech
Javascript na steroidechJavascript na steroidech
Javascript na steroidech
 
Technologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopůTechnologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopů
 
Použití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaciPoužití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaci
 
App Engine Kick Start
App Engine Kick StartApp Engine Kick Start
App Engine Kick Start
 
Drupal Front-end
Drupal Front-endDrupal Front-end
Drupal Front-end
 
Zmrakování pružné včely
Zmrakování pružné včelyZmrakování pružné včely
Zmrakování pružné včely
 
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
 
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
 
Czech Sun Training Day 2008 - Java Enterprise System
Czech Sun Training Day 2008 - Java Enterprise SystemCzech Sun Training Day 2008 - Java Enterprise System
Czech Sun Training Day 2008 - Java Enterprise System
 
Optimalizace obrázků v (responsivních) šablonách
Optimalizace obrázků v (responsivních) šablonáchOptimalizace obrázků v (responsivních) šablonách
Optimalizace obrázků v (responsivních) šablonách
 
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...
 
JavaScript v GTM - Measure Camp Brno 2017
JavaScript v GTM - Measure Camp Brno 2017JavaScript v GTM - Measure Camp Brno 2017
JavaScript v GTM - Measure Camp Brno 2017
 
Dependency injection v Nette 2.1 prakticky
Dependency injection v Nette 2.1 praktickyDependency injection v Nette 2.1 prakticky
Dependency injection v Nette 2.1 prakticky
 
Revoluce v cloudu: první autonomně řízená databáze na světě
Revoluce v cloudu: první autonomně řízená databáze na světěRevoluce v cloudu: první autonomně řízená databáze na světě
Revoluce v cloudu: první autonomně řízená databáze na světě
 
Asynchronně v PHP
Asynchronně v PHPAsynchronně v PHP
Asynchronně v PHP
 

Plus de Vladimír Smitka

Co ukázal globální scan přístupných .git repozitářů?
Co ukázal globální scan přístupných .git repozitářů?Co ukázal globální scan přístupných .git repozitářů?
Co ukázal globální scan přístupných .git repozitářů?Vladimír Smitka
 
Drobné chyby, které vám mohou zlomit vaz
Drobné chyby, které vám mohou zlomit vazDrobné chyby, které vám mohou zlomit vaz
Drobné chyby, které vám mohou zlomit vazVladimír Smitka
 
WordPress performance tuning
WordPress performance tuningWordPress performance tuning
WordPress performance tuningVladimír Smitka
 
WordPress security for everyone
WordPress security for everyoneWordPress security for everyone
WordPress security for everyoneVladimír Smitka
 
Wordcamp Praha 2015 - další útržky z prezentace
Wordcamp Praha 2015 - další útržky z prezentaceWordcamp Praha 2015 - další útržky z prezentace
Wordcamp Praha 2015 - další útržky z prezentaceVladimír Smitka
 
Sítě pro malé a střední podniky 2014
Sítě pro malé a střední podniky 2014Sítě pro malé a střední podniky 2014
Sítě pro malé a střední podniky 2014Vladimír Smitka
 

Plus de Vladimír Smitka (10)

Webmeetup #3
Webmeetup #3Webmeetup #3
Webmeetup #3
 
Co ukázal globální scan přístupných .git repozitářů?
Co ukázal globální scan přístupných .git repozitářů?Co ukázal globální scan přístupných .git repozitářů?
Co ukázal globální scan přístupných .git repozitářů?
 
Drobné chyby, které vám mohou zlomit vaz
Drobné chyby, které vám mohou zlomit vazDrobné chyby, které vám mohou zlomit vaz
Drobné chyby, které vám mohou zlomit vaz
 
Http/2 vs Image Sprites
Http/2 vs Image SpritesHttp/2 vs Image Sprites
Http/2 vs Image Sprites
 
Ansible
AnsibleAnsible
Ansible
 
WordPress performance tuning
WordPress performance tuningWordPress performance tuning
WordPress performance tuning
 
WordPress security for everyone
WordPress security for everyoneWordPress security for everyone
WordPress security for everyone
 
Wordcamp Praha 2015 - další útržky z prezentace
Wordcamp Praha 2015 - další útržky z prezentaceWordcamp Praha 2015 - další útržky z prezentace
Wordcamp Praha 2015 - další útržky z prezentace
 
Dijskrův algoritmus
Dijskrův algoritmusDijskrův algoritmus
Dijskrův algoritmus
 
Sítě pro malé a střední podniky 2014
Sítě pro malé a střední podniky 2014Sítě pro malé a střední podniky 2014
Sítě pro malé a střední podniky 2014
 

WP výkon a jeho profilování