SlideShare a Scribd company logo
1 of 84
Download to read offline
REST API 

teoria i praktyka
Tomasz Dziuda
WordUp Warszawa 27.09.2017
Tak miało być...
{JSON}{JSO
N
}
{JSON}
{JSO
N
}
{JSO
N
}
{JSO
N
}
{JSO
N
}
{JSO
N
}
{JSO
N
}
{JSON}
{JSON}
{JSON}
{JSON}
{JSON}
{JSON}
{JSON}
{JSON}
{JSON}
a z reguły jest...
Co poszło nie tak?
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');
Security Checklist
Jeżeli projektujesz rozwiązanie
dla mas... nie licz na REST API
Jeżeli projektujesz rozwiązanie
dla mas... nie licz na REST API
Jednak wciąż możesz wykorzystać
REST API na wiele ciekawych
sposobów...
Zanim użyjesz REST API...
Włącz HTTPS
Źródło: https://blog.chromium.org/2017/04/next-steps-toward-more-connection.html
Źródło: https://jwt.io/
Uzyskiwanie tokena
Wysyłamy zapytaniem POST do endpointa /wp-json/jwt-auth/v1/token 

login i hasło użytkownika, którego chcemy autoryzować:
{
username: 'admin',
password: 'password'
}
Uzyskiwanie tokena
Wysyłamy zapytaniem POST do endpointa /wp-json/jwt-auth/v1/token 

login i hasło użytkownika, którego chcemy autoryzować:
{
username: 'admin',
password: 'password'
}
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ...",
"user_display_name": "admin",
"user_email": "admin@localhost.dev",
"user_nicename": "admin"
}
Gdy dane są poprawne otrzymujemy token i dane użytkownika:
Uzyskiwanie tokena
Do każdego zapytania wymagającego 

autoryzacji dodajemy nagłówek:
Authorization: Bearer WARTOŚĆ_TOKENA
Wymuś autoryzację
klientów
Publiczne API to...
Brak kontroli nad dostępem
do danych
Ryzyko wycieku danych
Możliwość określenia wersji
WordPressa
Karmienie botów
informacjami
Zwiększone zużycie
zasobów serwera
Jak ograniczyć dostęp?
Jak ograniczyć dostęp?
1) https://developer.wordpress.org/rest-api/using-the-rest-api/frequently-asked-
questions/#can-i-disable-the-rest-api
2) https://gist.github.com/ccurtin/8982d51b6cafa5864fe25884b1fe5a25
3) https://wordpress.stackexchange.com/questions/150207/wordpress-json-api-
restrict-to-specific-domain
Jak ograniczyć dostęp?
Całkowite wyłączenie REST API może
w przyszłości skutkować problemy z
działaniem niektórych funkcji kokpitu
Niektóre wtyczki nie będą
działać po wyłączeniu REST API
Pamiętaj o CORS
Pamiętaj o CORS
Cross-Origin Resource Sharing
Pamiętaj o CORS
Cross-Origin Resource Sharing
function dziudek_rest_api_allow_all_cors() {
remove_filter('rest_pre_serve_request', 'rest_send_cors_headers');
add_filter('rest_pre_serve_request', function($value) {
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, PUT, DELETE');
header('Access-Control-Allow-Credentials: true');
return $value;
});
}
add_action('rest_api_init', 'dziudek_rest_api_allow_all_cors', 20);
Pamiętaj o CORS
Użyj JSONP
http://dziudek.pl/wp-json/wp/v2/posts?_jsonp=parseData

/**/receiveData(
{
code: "rest_not_logged_in",
message: "You are not currently logged in.",
data: 

{
status: 401
}
}
)
Użyj JSONP
http://dziudek.pl/wp-json/wp/v2/posts?_jsonp=parseData

/**/receiveData(
{
code: "rest_not_logged_in",
message: "You are not currently logged in.",
data: 

{
status: 401
}
}
)
Użyj JSONP
http://dziudek.pl/wp-json/wp/v2/posts?_jsonp=parseData

/**/parseData(
{
code: "rest_not_logged_in",
message: "You are not currently logged in.",
data: 

{
status: 401
}
}
)
Nie psuj REST API
Nie psuj REST API
1. Unikaj modyfikowania domyślnych pól endpointów

2. W razie potrzeby dodawaj brakujące dane jako nowe pola...

3. ... lub twórz własne endpointy

4. Staraj się nie modyfikować domyślnych parametrów REST
API (np. maksymalny rozmiar odpowiedzi)
Nie psuj REST API
1. Unikaj modyfikowania domyślnych pól endpointów

2. W razie potrzeby dodawaj brakujące dane jako nowe pola...

3. ... lub twórz własne endpointy

4. Staraj się nie modyfikować domyślnych parametrów REST
API (np. maksymalny rozmiar odpowiedzi)
Nie psuj REST API
1. Unikaj modyfikowania domyślnych pól endpointów

2. W razie potrzeby dodawaj brakujące dane jako nowe pola...

3. ... lub twórz własne endpointy

4. Staraj się nie modyfikować domyślnych parametrów REST
API (np. maksymalny rozmiar odpowiedzi)
Nie psuj REST API
1. Unikaj modyfikowania domyślnych pól endpointów

2. W razie potrzeby dodawaj brakujące dane jako nowe pola...

3. ... lub twórz własne endpointy

4. Staraj się nie modyfikować domyślnych parametrów REST
API (np. maksymalny rozmiar odpowiedzi)
Wyposaż się w narzędzia
Postman
Źródło: https://www.getpostman.com/
4 przepisy na wykorzystanie
REST API
1. Wymiana treści między
stronami
XML jest passé
XML jest passé
• JSON można łatwiej obsłużyć z poziomu klienta

• Nie zawsze musimy się martwić o CORS (JSONP)

• Nie musimy angażować kodu PHP
XML jest passé
• JSON można łatwiej obsłużyć z poziomu klienta

• Nie zawsze musimy się martwić o CORS (JSONP)

• Nie musimy angażować kodu PHP
XML jest passé
• JSON można łatwiej obsłużyć z poziomu klienta

• Nie zawsze musimy się martwić o CORS (JSONP)

• Szybsze ładowanie się strony (swoisty lazy load danych)
JSON Feed
Źródło: https://jsonfeed.org/
2. Eksport/import danych
Choć nie zawsze
Źródło: https://getpublii.com
Choć nie zawsze
• REST API może być wyłączone

• By mieć pełny dostęp do danych trzeba się
autoryzować, a Publii jest aplikacją desktopową, zatem
użytkownik musiałby zainstalować dodatkowy plugin
autoryzujący (np. poprzez JWT)
Choć nie zawsze
• REST API może być wyłączone

• By mieć pełny dostęp do danych trzeba się
autoryzować, a Publii jest aplikacją desktopową, zatem
użytkownik musiałby zainstalować dodatkowy plugin
autoryzujący (np. poprzez JWT)
3. WordPress jako headless CMS
Źródło: https://www.contentful.com/
{JSON}{JSO
N
}
{JSON}
{JSO
N
}
{JSO
N
}
{JSO
N
}
{JSO
N
}
{JSO
N
}
{JSO
N
}
{JSON}
{JSON}
{JSON}
{JSON}
{JSON}
{JSON}
{JSON}
{JSON}
{JSON}
Źródło: https://www.slideshare.net/dziudek/electron-wordpress
Źródło: https://ma.tt/2017/09/on-react-and-wordpress/
Źródło: https://code.facebook.com/posts/300798627056246/relicensing-react-jest-flow-and-immutable-js/
Autoryzacja
Cookies we wszystkich wypadkach poza motywem SPA nie
zadziałają. Rozważ inne formy autoryzacji np. JWT
4. Sprawdzenie wiedzy
publiki o WordPressie ;-)
Podsumujmy
Pamiętaj o:
Pamiętaj o:
Pamiętaj o:
Stosować REST API czy nie?
Realizujesz projekt dla konkretnego klienta
Stosować REST API czy nie?
Realizujesz projekt dla konkretnego klienta
Tworzysz ogólnodostępną
wtyczkę bazującą na REST API
Stosować REST API czy nie?
Stosować REST API czy nie?
Szukasz gotowego, łatwo rozszerzalnego
back-endu dla swojej aplikacji
Stosować REST API czy nie?
Szukasz gotowego, łatwo rozszerzalnego
back-endu dla swojej aplikacji
Wyłącz publiczny dostęp do REST API
jeśli go nie używasz
Stosować REST API czy nie?
Stosować REST API czy nie?
Nie potrzebujesz dostępu do REST API na
stronach na które nie masz wpływu
Stosować REST API czy nie?
Nie potrzebujesz dostępu do REST API na
stronach na które nie masz wpływu
Chcesz stworzyć usługę bazującą
na tym, że REST API jest włączone
Stosować REST API czy nie?
Pytania?
tomasz@dziuda.com
@dziudek
http://dziudek.pl
http://www.slideshare.net/dziudek
Tomasz Dziuda

More Related Content

What's hot

Word up łódź kwiecień 2015
Word up łódź   kwiecień 2015Word up łódź   kwiecień 2015
Word up łódź kwiecień 2015Tomasz Dziuda
 
Dokąd zmierza WordPress?
Dokąd zmierza WordPress?Dokąd zmierza WordPress?
Dokąd zmierza WordPress?Tomasz Dziuda
 
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp Silesia
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp SilesiaJak tworzyć motywy przyjazne użytkownikom i programistom - WordUp Silesia
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp SilesiaTomasz Dziuda
 
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp KatowiceMotywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp KatowiceTomasz Dziuda
 
Zabezpiecz swoją stronę w Joomla!
Zabezpiecz swoją stronę w Joomla!Zabezpiecz swoją stronę w Joomla!
Zabezpiecz swoją stronę w Joomla!Wojciech Klocek
 
Jak nadążyć za światem front endu
Jak nadążyć za światem front enduJak nadążyć za światem front endu
Jak nadążyć za światem front enduTomasz Dziuda
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayTomasz Dziuda
 
20 Joomlasztuczek, które mogą CI się przydać
20 Joomlasztuczek, które mogą CI się przydać20 Joomlasztuczek, które mogą CI się przydać
20 Joomlasztuczek, które mogą CI się przydaćWojciech Klocek
 
Statycznie czy dynamicznie?
Statycznie czy dynamicznie?Statycznie czy dynamicznie?
Statycznie czy dynamicznie?Tomasz Dziuda
 
Jak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane kosztaJak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane kosztaTomasz Dziuda
 
Asynchroniczny PHP i komunikacja czasu rzeczywistego z wykorzystaniem websocketw
Asynchroniczny PHP i komunikacja czasu rzeczywistego z wykorzystaniem websocketwAsynchroniczny PHP i komunikacja czasu rzeczywistego z wykorzystaniem websocketw
Asynchroniczny PHP i komunikacja czasu rzeczywistego z wykorzystaniem websocketwLuke Adamczewski
 
Statycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławStatycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławTomasz Dziuda
 
WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2Tomasz Dziuda
 
WordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyceWordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyceDawid Urbański
 
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016
Wielomilonowy ruch na wordpressie   wordpress wordcamp gdynia 2016Wielomilonowy ruch na wordpressie   wordpress wordcamp gdynia 2016
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016Lukasz Wilczak
 
Empathy optymalizacja postgre_sql
Empathy optymalizacja postgre_sqlEmpathy optymalizacja postgre_sql
Empathy optymalizacja postgre_sqlSpodek 2.0
 
Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Tomasz Dziuda
 
Serwer internetowy w systemie Linux
Serwer internetowy w systemie LinuxSerwer internetowy w systemie Linux
Serwer internetowy w systemie Linuxbm9ib2r5
 

What's hot (20)

Word up łódź kwiecień 2015
Word up łódź   kwiecień 2015Word up łódź   kwiecień 2015
Word up łódź kwiecień 2015
 
Dokąd zmierza WordPress?
Dokąd zmierza WordPress?Dokąd zmierza WordPress?
Dokąd zmierza WordPress?
 
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp Silesia
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp SilesiaJak tworzyć motywy przyjazne użytkownikom i programistom - WordUp Silesia
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp Silesia
 
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp KatowiceMotywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
 
Zabezpiecz swoją stronę w Joomla!
Zabezpiecz swoją stronę w Joomla!Zabezpiecz swoją stronę w Joomla!
Zabezpiecz swoją stronę w Joomla!
 
Jak nadążyć za światem front endu
Jak nadążyć za światem front enduJak nadążyć za światem front endu
Jak nadążyć za światem front endu
 
Potęga pliku .htaccess
Potęga pliku .htaccessPotęga pliku .htaccess
Potęga pliku .htaccess
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training Day
 
20 Joomlasztuczek, które mogą CI się przydać
20 Joomlasztuczek, które mogą CI się przydać20 Joomlasztuczek, które mogą CI się przydać
20 Joomlasztuczek, które mogą CI się przydać
 
Statycznie czy dynamicznie?
Statycznie czy dynamicznie?Statycznie czy dynamicznie?
Statycznie czy dynamicznie?
 
Jak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane kosztaJak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane koszta
 
Asynchroniczny PHP i komunikacja czasu rzeczywistego z wykorzystaniem websocketw
Asynchroniczny PHP i komunikacja czasu rzeczywistego z wykorzystaniem websocketwAsynchroniczny PHP i komunikacja czasu rzeczywistego z wykorzystaniem websocketw
Asynchroniczny PHP i komunikacja czasu rzeczywistego z wykorzystaniem websocketw
 
Statycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławStatycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET Wrocław
 
Android i REST
Android i RESTAndroid i REST
Android i REST
 
WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2
 
WordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyceWordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyce
 
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016
Wielomilonowy ruch na wordpressie   wordpress wordcamp gdynia 2016Wielomilonowy ruch na wordpressie   wordpress wordcamp gdynia 2016
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016
 
Empathy optymalizacja postgre_sql
Empathy optymalizacja postgre_sqlEmpathy optymalizacja postgre_sql
Empathy optymalizacja postgre_sql
 
Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0
 
Serwer internetowy w systemie Linux
Serwer internetowy w systemie LinuxSerwer internetowy w systemie Linux
Serwer internetowy w systemie Linux
 

Similar to REST API - teoria i praktyka - WordUp Warszawa

JSON, REST API
JSON, REST APIJSON, REST API
JSON, REST API3camp
 
Budowa RESTowego api w oparciu o HATEOAS
Budowa RESTowego api w oparciu o HATEOASBudowa RESTowego api w oparciu o HATEOAS
Budowa RESTowego api w oparciu o HATEOASMateusz Stępniak
 
Budowa poprawnego i intuicyjnego api REST HATEOAS devfest@2013
Budowa poprawnego i intuicyjnego api REST HATEOAS devfest@2013Budowa poprawnego i intuicyjnego api REST HATEOAS devfest@2013
Budowa poprawnego i intuicyjnego api REST HATEOAS devfest@2013Mateusz Stępniak
 
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...Tomasz Kopacz
 
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr BuckiPROIDEA
 
Architektura to nie bzdura
Architektura to nie bzduraArchitektura to nie bzdura
Architektura to nie bzduraPawel Szulc
 
Metaprogramowanie w JS
Metaprogramowanie w JSMetaprogramowanie w JS
Metaprogramowanie w JSDawid Rusnak
 
Testowanie bezpieczenstwa aplikacji mobilnych
Testowanie bezpieczenstwa aplikacji mobilnychTestowanie bezpieczenstwa aplikacji mobilnych
Testowanie bezpieczenstwa aplikacji mobilnychSecuRing
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Natalia Stanko
 
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PROIDEA
 
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future ProcessingPROIDEA
 
Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Bartlomiej Zass
 
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]Droptica
 
Agregacja i analiza logów
Agregacja i analiza logówAgregacja i analiza logów
Agregacja i analiza logówDivante
 

Similar to REST API - teoria i praktyka - WordUp Warszawa (19)

JSON, REST API
JSON, REST APIJSON, REST API
JSON, REST API
 
Budowa RESTowego api w oparciu o HATEOAS
Budowa RESTowego api w oparciu o HATEOASBudowa RESTowego api w oparciu o HATEOAS
Budowa RESTowego api w oparciu o HATEOAS
 
Budowa poprawnego i intuicyjnego api REST HATEOAS devfest@2013
Budowa poprawnego i intuicyjnego api REST HATEOAS devfest@2013Budowa poprawnego i intuicyjnego api REST HATEOAS devfest@2013
Budowa poprawnego i intuicyjnego api REST HATEOAS devfest@2013
 
Zajecia4 progbiz
Zajecia4 progbizZajecia4 progbiz
Zajecia4 progbiz
 
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...
 
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
 
Architektura to nie bzdura
Architektura to nie bzduraArchitektura to nie bzdura
Architektura to nie bzdura
 
Metaprogramowanie w JS
Metaprogramowanie w JSMetaprogramowanie w JS
Metaprogramowanie w JS
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
 
Jruby on Rails
Jruby on RailsJruby on Rails
Jruby on Rails
 
JRuby on Rails
JRuby on RailsJRuby on Rails
JRuby on Rails
 
Testowanie bezpieczenstwa aplikacji mobilnych
Testowanie bezpieczenstwa aplikacji mobilnychTestowanie bezpieczenstwa aplikacji mobilnych
Testowanie bezpieczenstwa aplikacji mobilnych
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010
 
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
 
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing
 
Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?
 
XML w SQL Server w praktyce
XML w SQL Server w praktyceXML w SQL Server w praktyce
XML w SQL Server w praktyce
 
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
 
Agregacja i analiza logów
Agregacja i analiza logówAgregacja i analiza logów
Agregacja i analiza logów
 

More from Tomasz Dziuda

Wtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaWtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaTomasz Dziuda
 
Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Tomasz Dziuda
 
Wtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinWtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinTomasz Dziuda
 
Wtyczkowe kompendium
Wtyczkowe kompendiumWtyczkowe kompendium
Wtyczkowe kompendiumTomasz Dziuda
 
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp KrakówJak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp KrakówTomasz Dziuda
 
Webinar: 5 Tricks for WordPress web administrators
Webinar: 5 Tricks for WordPress web administratorsWebinar: 5 Tricks for WordPress web administrators
Webinar: 5 Tricks for WordPress web administratorsTomasz Dziuda
 
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomWordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomTomasz Dziuda
 
Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?Tomasz Dziuda
 
WordUp Wrocław #3 2015
WordUp Wrocław #3 2015WordUp Wrocław #3 2015
WordUp Wrocław #3 2015Tomasz Dziuda
 
Jak tworzyć motywy przyjazne użytkownikom i programistom?
Jak tworzyć motywy przyjazne użytkownikom i programistom?Jak tworzyć motywy przyjazne użytkownikom i programistom?
Jak tworzyć motywy przyjazne użytkownikom i programistom?Tomasz Dziuda
 
Introduction to ECMAScript 2015
Introduction to ECMAScript 2015Introduction to ECMAScript 2015
Introduction to ECMAScript 2015Tomasz Dziuda
 

More from Tomasz Dziuda (13)

Wtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaWtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp Warszawa
 
Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12
 
Trello w praktyce
Trello w praktyceTrello w praktyce
Trello w praktyce
 
Wtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinWtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp Lublin
 
Wtyczkowe kompendium
Wtyczkowe kompendiumWtyczkowe kompendium
Wtyczkowe kompendium
 
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp KrakówJak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
 
Webinar: 5 Tricks for WordPress web administrators
Webinar: 5 Tricks for WordPress web administratorsWebinar: 5 Tricks for WordPress web administrators
Webinar: 5 Tricks for WordPress web administrators
 
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomWordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
 
Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?
 
WordUp Wrocław #3 2015
WordUp Wrocław #3 2015WordUp Wrocław #3 2015
WordUp Wrocław #3 2015
 
Jak tworzyć motywy przyjazne użytkownikom i programistom?
Jak tworzyć motywy przyjazne użytkownikom i programistom?Jak tworzyć motywy przyjazne użytkownikom i programistom?
Jak tworzyć motywy przyjazne użytkownikom i programistom?
 
JSztuczki
JSztuczkiJSztuczki
JSztuczki
 
Introduction to ECMAScript 2015
Introduction to ECMAScript 2015Introduction to ECMAScript 2015
Introduction to ECMAScript 2015
 

REST API - teoria i praktyka - WordUp Warszawa