SlideShare une entreprise Scribd logo
1  sur  182
Télécharger pour lire hors ligne
(node.js )
web development
prościej
plan wycieczki
• Intro: Jestem przytłoczony. Pomocy!
• 1 - Architektura UI w stylu ROCA
• 2 - Node.js jako Backend for Frontend
• 3 - Dependency Injection w node.js
• 4 - Stabilny klient HTTP do produkcyjnych zastosowań
• 5 - Asynchroniczność: tresura asynchronicznej bestii
• 6 - Styl kodowania: dlaczego jestem gruby od tego JS
• 7 - Infrastruktura Heroku jako kod JS
wersja prelekcji: 4.4.2
o Was
2013 2014 2015 2016
{
node
JAVA
2016
efekt Lindy
MAM nowy framework
mój kontekst
publicznie dostępne
serwisy informacyjne
Devs
HTML/JS
500kB of JS
HTML+CSS
curl
wget
bot
HTML
1. ARCHITEKTURA APLIKACJI
Resource-Oriented Client Architecture
Resource-Oriented
Client Architecture
• A collection of simple recommendations for decent
Web application frontends
http://roca-style.org/
ROCA
=
REST (backend)
+
Progressive Enhancement (frontend)
REST
2000
article front page
zasoby
(Resources)
baza danych
stan zasobów
(State)
article front page
zasoby
(Resources)
reprezentacja
(REpresentation)JSON XML
HTML
(hypermedia)
baza danych
stan zasobów
(State)
article front page
zasoby
(Resources)
reprezentacja
(REpresentation)JSON XML HTML
przeglądarka bot wget/curl
baza danych
stan zasobów
(State)
Transfer
stan
aplikacji/interakcji
Progressive Enhancement
2003
Unobtrusive JS
2002
HTML CSS JS
http://roca-airways.herokuapp.com/
czynnik ludzki
wow!
ale
data
binding
wow
uniflow
ale
vdom
flux reflux redux
nie ma
thisa!
ale
FRP
mercury ? ?
Efekt IKEA
stawka w grze
(ang. skin in the game)
2. NODE.js w naszym
ekosystemie
Wzorzec: Backends For Frontends
Web
Web
Native
Web
Web
Native
strona
główna
artykuł WebTV quizy
strona
główna
artykuł WebTV quizy
monolit
HTML
strona
główna
artykuł WebTV quizy
HTML
bounded
context
strona
główna
artykuł WebTV quizy
bounded
context
strona
główna
artykuł WebTV quizy
bounded
context
co z UI?
strona
główna
artykuł WebTV quizy
bounded
context
Single Page App
BFF
JSON
strona
główna
artykuł WebTV quizy
bounded
context
SPA
JSON
BFF BFF BFF
monolith
HTML HTML HTML
strona
główna
artykuł WebTV quizy
bounded
context
SPA
JSON
BFF BFF BFF
monolith
HTML HTML HTML
strona
główna
artykuł WebTV quizy
bounded
context
SPA
JSON
BFF BFF BFF
monolith
HTML HTML HTML
moja pierwsza aplikacja w node.js
3. dependency injection
struktura, testowalność i zastępowalność komponentów w
nietrywialnych aplikacjach
require('third-party-module')
require('./mymodule')
Q: jak nadpisać require w testach?
A: użyj modułu rewire/proxyquire
ja: proszę nie
Q: jak nadpisać require w testach?
A: użyj modułu rewire/proxyquire
ja: proszę nie
Q: jak nadpisać require w testach?
A: użyj modułu rewire/proxyquire
ja: proszę nie
Q: jak robić DI w node.js?
A: ktoś pracuje nad klonem Springa
ja: oby nie!
Q: jak robić DI w node.js?
A: ktoś pracuje nad klonem Springa
ja: oby nie!
Q: jak robić DI w node.js?
A: ktoś pracuje nad klonem Springa
ja: oby nie!
new A(new B(), new C());
a(b(), c());
ale…
expect(this.style.of.assertions).to.not.be.ok;
4. w poszukiwaniu idealnego
klienta HTTP
gdy request to za mało
mikroserwisy
APIklient
much starrrs
such popular
maaany forks
ponawianie
nieudanych
zapytań
APIklient
APIklient
APIklient
APIklient
odpowiedź API
“śpieszmy się kochać odpowiedzi z API,
tak szybko odchodzą”
APIklient
5. AsynCHORNICZNOŚĆ
tresura aynchronicznej bestii
Java —> JS
sync —> async
var article = articleRepository.getById(“ap1234”);
articleRepository.getById('ap1234', function(err, data) {

if(err)

handleError(err);

else

processData(data);

});
articleRepository.getById('ap1234', function(err, data) {
if(err)
handleError(err);
else
processData(data);
});
callbacks async.js
promises
generators
async functions
streams
observables
event emitter
CALLBACKs
bardziej subtelne problemy
Co jeżeli
doA i doD
są synchroniczne?
łatwo wymieszać
kod synchroniczny i
asynchroniczny
inversion of control
trust issues
Hey I just met you
And this is crazy
but here’s my handler
Promisy na ratunek
jQuery Deferred
native
bluebird
Q
same ol’ callback hell
not ES7 enough?
http://mcfunley.com/choose-boring-technology-slides
6. STYL PROGRAMOWANIA
this Javascript makes me fat
spójny styl
konwencje nazewnicze
i
formatowanie?
idomy
DI?
bez
frameworków
Asynchroniczność?
Promisy
trucizna
The Annoying Parts
Confusion
var self = this;
fn.bind(this);
new i
funkcje
konstruktora
przeciętne książki
przyzwoite książki
świetne książki
Functional programming
academic
absurdity
practical
stuff
functions
as first class
citizens
closures
pure functions
map/filter/reduce
y-combinators
currying
partial application
fn composition
immutability
pointfree
functors
monads
comonads
f-algebras
recursion
look ma no this, new and
prototype
Siła woli i aktywność umysłowa
korzystają z tej samej puli zasobów
this-full JS makes me fat
7. NODE.JS i AUTOMATYZACJA
gdy wszystko nas zawodzi
if [ "$a" -eq 273 ]
WHAAAT!!??
klik klik
“klikanie nie skaluje się,
klikanie nie jest audytowalne”
“klikanie nie skaluje się,
klikanie nie jest audytowalne”
uncle bob
“klikanie nie skaluje się,
klikanie nie jest audytowalne”
Douglas Crockford
high level infrastructure as code
nie działa
Heroku infrastructure as
code
Podsumowanie
•efekt Lindy i czarne łabędzie
•styl ROCA alternatywą dla SPA
•node.js do pisania Backend For Frontend
•DI - można bez frameworków
•Klient HTTP - nie tylko “happy path”
•Właściwa abstrakcja do async
•JS bez this
•JS jako język do automatyzacji
Podsumowanie
•efekt Lindy i czarne łabędzie
•styl ROCA alternatywą dla SPA
•node.js do pisania Backend For Frontend
•DI - można bez frameworków
•Klient HTTP - nie tylko “happy path”
•Właściwa abstrakcja do async
•JS bez this
•JS jako język do automatyzacji
Podsumowanie
•efekt Lindy i czarne łabędzie
•styl ROCA alternatywą dla SPA
•node.js do pisania Backend For Frontend
•DI - można bez frameworków
•Klient HTTP - nie tylko “happy path”
•Właściwa abstrakcja do async
•JS bez this
•JS jako język do automatyzacji
Podsumowanie
•efekt Lindy i czarne łabędzie
•styl ROCA alternatywą dla SPA
•node.js do pisania Backend For Frontend
•DI - można bez frameworków
•Klient HTTP - nie tylko “happy path”
•Właściwa abstrakcja do async
•JS bez this
•JS jako język do automatyzacji
Podsumowanie
•efekt Lindy i czarne łabędzie
•styl ROCA alternatywą dla SPA
•node.js do pisania Backend For Frontend
•DI - można bez frameworków
•Klient HTTP - nie tylko “happy path”
•Właściwa abstrakcja do async
•JS bez this
•JS jako język do automatyzacji
Podsumowanie
•efekt Lindy i czarne łabędzie
•styl ROCA alternatywą dla SPA
•node.js do pisania Backend For Frontend
•DI - można bez frameworków
•Klient HTTP - nie tylko “happy path”
•Właściwa abstrakcja do async
•JS bez this
•JS jako język do automatyzacji
Podsumowanie
•efekt Lindy i czarne łabędzie
•styl ROCA alternatywą dla SPA
•node.js do pisania Backend For Frontend
•DI - można bez frameworków
•Klient HTTP - nie tylko “happy path”
•Właściwa abstrakcja do async
•JS bez this
•JS jako język do automatyzacji
Podsumowanie
•efekt Lindy i czarne łabędzie
•styl ROCA alternatywą dla SPA
•node.js do pisania Backend For Frontend
•DI - można bez frameworków
•Klient HTTP - nie tylko “happy path”
•Właściwa abstrakcja do async
•JS bez this
•JS jako język do automatyzacji
JS node.js
https://github.com/kwasniew
https://twitter.com/kwasniew
http://www.slideshare.net/kwasniew
https://www.linkedin.com/pub/mateusz-kwasniewski/6/a97/583
Mateusz Kwaśniewski
(node.js) Web Development - prościej

Contenu connexe

Tendances

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 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
 
Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015Tomasz Dziuda
 
Wprowadzenie do WP-API
Wprowadzenie do WP-APIWprowadzenie do WP-API
Wprowadzenie do WP-APITomasz Dziuda
 
Sandman - makes things REST
Sandman - makes things RESTSandman - makes things REST
Sandman - makes things RESTWojciech Lichota
 
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
 
Dokąd zmierza WordPress?
Dokąd zmierza WordPress?Dokąd zmierza WordPress?
Dokąd zmierza WordPress?Tomasz Dziuda
 
Wordpress - czyli ponad 17% wszystkich istniejących serwisów www
Wordpress - czyli ponad 17% wszystkich istniejących serwisów wwwWordpress - czyli ponad 17% wszystkich istniejących serwisów www
Wordpress - czyli ponad 17% wszystkich istniejących serwisów wwwB-MIND Software House
 
Czy Gutenberg wygryzie page buildery?
Czy Gutenberg wygryzie page buildery?Czy Gutenberg wygryzie page buildery?
Czy Gutenberg wygryzie page buildery?Agnieszka Bury
 
Wtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinWtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinTomasz Dziuda
 
Word up łódź kwiecień 2015
Word up łódź   kwiecień 2015Word up łódź   kwiecień 2015
Word up łódź kwiecień 2015Tomasz Dziuda
 
4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...
4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...
4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...PROIDEA
 
Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Tomasz Dziuda
 
Java Web Start – jak żyć z tą dziwną technologią
Java Web Start – jak żyć z tą dziwną technologiąJava Web Start – jak żyć z tą dziwną technologią
Java Web Start – jak żyć z tą dziwną technologiąMarcinStachniuk
 

Tendances (16)

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
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
 
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
 
Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Wprowadzenie do WP-API
Wprowadzenie do WP-APIWprowadzenie do WP-API
Wprowadzenie do WP-API
 
Sandman - makes things REST
Sandman - makes things RESTSandman - makes things REST
Sandman - makes things REST
 
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
 
Dokąd zmierza WordPress?
Dokąd zmierza WordPress?Dokąd zmierza WordPress?
Dokąd zmierza WordPress?
 
Wordpress - czyli ponad 17% wszystkich istniejących serwisów www
Wordpress - czyli ponad 17% wszystkich istniejących serwisów wwwWordpress - czyli ponad 17% wszystkich istniejących serwisów www
Wordpress - czyli ponad 17% wszystkich istniejących serwisów www
 
Czy Gutenberg wygryzie page buildery?
Czy Gutenberg wygryzie page buildery?Czy Gutenberg wygryzie page buildery?
Czy Gutenberg wygryzie page buildery?
 
Wtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinWtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp Lublin
 
Word up łódź kwiecień 2015
Word up łódź   kwiecień 2015Word up łódź   kwiecień 2015
Word up łódź kwiecień 2015
 
4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...
4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...
4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...
 
Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0
 
Java Web Start – jak żyć z tą dziwną technologią
Java Web Start – jak żyć z tą dziwną technologiąJava Web Start – jak żyć z tą dziwną technologią
Java Web Start – jak żyć z tą dziwną technologią
 

En vedette

Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...Mateusz Kwasniewski
 
Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]
Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]
Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]Udit Gangwani
 
4Developers: The web is getting pushy- Phil Nash
4Developers: The web is getting pushy- Phil Nash4Developers: The web is getting pushy- Phil Nash
4Developers: The web is getting pushy- Phil NashPROIDEA
 
4Developers: Sebastian Malaca- Doing more… but not too much
4Developers: Sebastian Malaca- Doing more… but not too much4Developers: Sebastian Malaca- Doing more… but not too much
4Developers: Sebastian Malaca- Doing more… but not too muchPROIDEA
 
InterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.jsInterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.jsChris Bailey
 
How NOT to write in Node.js
How NOT to write in Node.jsHow NOT to write in Node.js
How NOT to write in Node.jsPiotr Pelczar
 
4Developers: Dominik Przybysz- Message Brokers
4Developers: Dominik Przybysz- Message Brokers4Developers: Dominik Przybysz- Message Brokers
4Developers: Dominik Przybysz- Message BrokersPROIDEA
 
4Developers2016: Piotr Miazga - Typescript - an OO approach in Javascript
4Developers2016: Piotr Miazga - Typescript - an OO approach in Javascript4Developers2016: Piotr Miazga - Typescript - an OO approach in Javascript
4Developers2016: Piotr Miazga - Typescript - an OO approach in JavascriptPROIDEA
 
Managing and Versioning Machine Learning Models in Python
Managing and Versioning Machine Learning Models in PythonManaging and Versioning Machine Learning Models in Python
Managing and Versioning Machine Learning Models in PythonSimon Frid
 
How to Write a Popular Python Library by Accident
How to Write a Popular Python Library by AccidentHow to Write a Popular Python Library by Accident
How to Write a Popular Python Library by AccidentDaniel Greenfeld
 
Web backends development using Python
Web backends development using PythonWeb backends development using Python
Web backends development using PythonAyun Park
 
The Django Web Application Framework
The Django Web Application FrameworkThe Django Web Application Framework
The Django Web Application FrameworkSimon Willison
 
Web Development with Python and Django
Web Development with Python and DjangoWeb Development with Python and Django
Web Development with Python and DjangoMichael Pirnat
 
Connecting With the Disconnected
Connecting With the DisconnectedConnecting With the Disconnected
Connecting With the DisconnectedChris Wejr
 
Can We Assess Creativity?
Can We Assess Creativity?Can We Assess Creativity?
Can We Assess Creativity?John Spencer
 

En vedette (16)

Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...
 
Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]
Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]
Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]
 
4Developers: The web is getting pushy- Phil Nash
4Developers: The web is getting pushy- Phil Nash4Developers: The web is getting pushy- Phil Nash
4Developers: The web is getting pushy- Phil Nash
 
4Developers: Sebastian Malaca- Doing more… but not too much
4Developers: Sebastian Malaca- Doing more… but not too much4Developers: Sebastian Malaca- Doing more… but not too much
4Developers: Sebastian Malaca- Doing more… but not too much
 
InterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.jsInterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.js
 
How NOT to write in Node.js
How NOT to write in Node.jsHow NOT to write in Node.js
How NOT to write in Node.js
 
4Developers: Dominik Przybysz- Message Brokers
4Developers: Dominik Przybysz- Message Brokers4Developers: Dominik Przybysz- Message Brokers
4Developers: Dominik Przybysz- Message Brokers
 
4Developers2016: Piotr Miazga - Typescript - an OO approach in Javascript
4Developers2016: Piotr Miazga - Typescript - an OO approach in Javascript4Developers2016: Piotr Miazga - Typescript - an OO approach in Javascript
4Developers2016: Piotr Miazga - Typescript - an OO approach in Javascript
 
Managing and Versioning Machine Learning Models in Python
Managing and Versioning Machine Learning Models in PythonManaging and Versioning Machine Learning Models in Python
Managing and Versioning Machine Learning Models in Python
 
How to Write a Popular Python Library by Accident
How to Write a Popular Python Library by AccidentHow to Write a Popular Python Library by Accident
How to Write a Popular Python Library by Accident
 
Web backends development using Python
Web backends development using PythonWeb backends development using Python
Web backends development using Python
 
State of Tech in Texas
State of Tech in TexasState of Tech in Texas
State of Tech in Texas
 
The Django Web Application Framework
The Django Web Application FrameworkThe Django Web Application Framework
The Django Web Application Framework
 
Web Development with Python and Django
Web Development with Python and DjangoWeb Development with Python and Django
Web Development with Python and Django
 
Connecting With the Disconnected
Connecting With the DisconnectedConnecting With the Disconnected
Connecting With the Disconnected
 
Can We Assess Creativity?
Can We Assess Creativity?Can We Assess Creativity?
Can We Assess Creativity?
 

Similaire à (node.js) Web Development - prościej

Alternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDbAlternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDbWojciech Soczyński
 
JSON, REST API
JSON, REST APIJSON, REST API
JSON, REST API3camp
 
ITAD BB 2014 - ASP.NET 5 - What's new?
ITAD BB 2014 - ASP.NET 5 - What's new?ITAD BB 2014 - ASP.NET 5 - What's new?
ITAD BB 2014 - ASP.NET 5 - What's new?Michał Dudak
 
Single Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu RESTSingle Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu REST3camp
 
​Wprowadzenie do Universal JavaScript
​Wprowadzenie do Universal JavaScript​Wprowadzenie do Universal JavaScript
​Wprowadzenie do Universal JavaScriptThe Software House
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Natalia Stanko
 
Rails tobak2005
Rails tobak2005Rails tobak2005
Rails tobak2005Tomasz Bak
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackThe Software House
 
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
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymDariusz Jagieło
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...The Software House
 
[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...
[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...
[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...PROIDEA
 
Spa i .net core
Spa i .net coreSpa i .net core
Spa i .net coreVimanet
 

Similaire à (node.js) Web Development - prościej (20)

Alternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDbAlternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDb
 
JSON, REST API
JSON, REST APIJSON, REST API
JSON, REST API
 
ITAD BB 2014 - ASP.NET 5 - What's new?
ITAD BB 2014 - ASP.NET 5 - What's new?ITAD BB 2014 - ASP.NET 5 - What's new?
ITAD BB 2014 - ASP.NET 5 - What's new?
 
Single Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu RESTSingle Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu REST
 
Optymalizacja serwisow internetowych - Filestube
Optymalizacja serwisow internetowych - FilestubeOptymalizacja serwisow internetowych - Filestube
Optymalizacja serwisow internetowych - Filestube
 
​Wprowadzenie do Universal JavaScript
​Wprowadzenie do Universal JavaScript​Wprowadzenie do Universal JavaScript
​Wprowadzenie do Universal JavaScript
 
Iron Python I Dlr
Iron Python I DlrIron Python I Dlr
Iron Python I Dlr
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010
 
Rails tobak2005
Rails tobak2005Rails tobak2005
Rails tobak2005
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStack
 
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]
 
MongoDB 2011
MongoDB 2011MongoDB 2011
MongoDB 2011
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
 
[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...
[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...
[4Dev][Łódź] Jacek Jagieła - Czy server może mnie usłyszeć i się zreboot...
 
PHP5 i MySQL. Biblia
PHP5 i MySQL. BibliaPHP5 i MySQL. Biblia
PHP5 i MySQL. Biblia
 
Wszystko o Laravel Livewire
Wszystko o Laravel Livewire Wszystko o Laravel Livewire
Wszystko o Laravel Livewire
 
Platforma Kontentowa
Platforma KontentowaPlatforma Kontentowa
Platforma Kontentowa
 
SPA i .Net Core
SPA i .Net CoreSPA i .Net Core
SPA i .Net Core
 
Spa i .net core
Spa i .net coreSpa i .net core
Spa i .net core
 

(node.js) Web Development - prościej