SlideShare a Scribd company logo
1 of 81
Download to read offline
real time
Fernando Daciuk
FullStack Engineer
npm install fdaciuk
zimp.me
github.com/wpbrasil/odin
da2k.com.br
JAVASCRIPT
NINJA
eventick.com.br/curso-javascript-ninja
What is
real time?real time?
What is
Process that automates
updating data
Give me
examples!
Data needs to be
updated...
interaction!
without user
interaction!
without user
1. fast
2. self-updating
How to
do that?
How to
do that?
pooling
Are we
there yet?
function update() {
$.get('/api/product/123')
.done(function(data) {
$('#price').text(data.price);
setTimeout(update, 15000);
});
}
pooling
function update() {
$.get('/api/product/123')
.done(function(data) {
$('#price').text(data.price);
setTimeout(update, 15000);
});
}
function
create update
function update() {
$.get('/api/product/123')
.done(function(data) {
$('#price').text(data.price);
setTimeout(update, 15000);
});
}
make an
ajax request
function update() {
$.get('/api/product/123')
.done(function(data) {
$('#price').text(data.price);
setTimeout(update, 15000);
});
}
update price and
run again after 15s
1. fast
2. self-updating
so fast!
It is not
so fast!
It is not
Client requests
server
00:00 - GET /api/product/123
Server responds
to client
00:02 - RESPONSE {
price: 100
}
Server changes data
after 3s
00:05 - {
price: 120
}
Client waits 15s
before request again
00:17 - GET /api/product/123
What is the
better way?
What is the
sockets
web
the data...
Server sends
like
The information
magic!
appears...
Are you
ready?
Are you
ready?
But, how does
it work?
That sounds good!
CLIENT
SIDE
.emit()
stream
tweet
socket.io-playground
github.com/fdaciuk
npmjs.org/package/node-tweet-stream
var config = require('./config.json');
var app = require('express')();
var serveStatic = require('serve-static');
var server = require('http').Server(app);
var io = require('socket.io')(server);
var tw = require('node-tweet-stream')(config);
app.js
add
dependencies
var config = require('./config.json');
var app = require('express')();
var serveStatic = require('serve-static');
var server = require('http').Server(app);
var io = require('socket.io')(server);
var tw = require('node-tweet-stream')(config);
app.js
add
dependencies
{
"consumer_key": "CONSUMER_KEY",
"consumer_secret": "CONSUMER_SECRET",
"token": "TOKEN",
"token_secret": "TOKEN_SECRET"
}
config.json
var config = require('./config.json');
var app = require('express')();
var serveStatic = require('serve-static');
var server = require('http').Server(app);
var io = require('socket.io')(server);
var tw = require('node-tweet-stream')(config);
app.js
add
dependencies
var config = require('./config.json');
var app = require('express')();
var serveStatic = require('serve-static');
var server = require('http').Server(app);
var io = require('socket.io')(server);
var tw = require('node-tweet-stream')(config);
app.js
add
dependencies
app.use(serveStatic(__dirname + '/public'));
app.get('/', function(req, res) {
res.sendFile(__dirname + '/public/index.html');
});
server.listen(3000);
app.js
Create
local server
io.on('connection', function(socket) {
console.log('socket.io connected!');
tw.track('wordcampsp');
tw.on('tweet', function(tweet) {
socket.emit('tweet', tweet);
});
});
app.js
socket.io
configuration
io.on('connection', function(socket) {
console.log('socket.io connected!');
tw.track('wordcampsp');
tw.on('tweet', function(tweet) {
socket.emit('tweet', tweet);
});
});
app.js
socket.io
configuration
io.on('connection', function(socket) {
console.log('socket.io connected!');
tw.track('wordcampsp');
tw.on('tweet', function(tweet) {
socket.emit('tweet', tweet);
});
});
app.js
socket.io
configuration
io.on('connection', function(socket) {
console.log('socket.io connected!');
tw.track('wordcampsp');
tw.on('tweet', function(tweet) {
socket.emit('tweet', tweet);
});
});
app.js
socket.io
configuration
io.on('connection', function(socket) {
console.log('socket.io connected!');
tw.track('wordcampsp');
tw.on('tweet', function(tweet) {
socket.emit('tweet', tweet);
});
});
app.js
socket.io
configuration
io.on('connection', function(socket) {
console.log('socket.io connected!');
tw.track('wordcampsp');
tw.on('tweet', function(tweet) {
socket.emit('tweet', tweet);
});
});
app.js
socket.io
configuration
<!DOCTYPE html>
<html>
...
<body>
<ul data-js="tweets"></ul>
<script src="/socket.io/socket.io.js"></script>
<script src="js/main.js"></script>
</body>
</html>
public/index.html
<!DOCTYPE html>
<html>
...
<body>
<ul data-js="tweets"></ul>
<script src="/socket.io/socket.io.js"></script>
<script src="js/main.js"></script>
</body>
</html>
public/index.html
<!DOCTYPE html>
<html>
...
<body>
<ul data-js="tweets"></ul>
<script src="/socket.io/socket.io.js"></script>
<script src="js/main.js"></script>
</body>
</html>
public/index.html
var socket = io('http://localhost:3000');
var $tweets = document.querySelector('[data-js="tweets"]');
socket.on('tweet', function(data) {
$tweets.innerHTML += '<li>' + data.text + '<li>';
});
public/js/main.js
var socket = io('http://localhost:3000');
var $tweets = document.querySelector('[data-js="tweets"]');
socket.on('tweet', function(data) {
$tweets.innerHTML += '<li>' + data.text + '<li>';
});
public/js/main.js
var socket = io('http://localhost:3000');
var $tweets = document.querySelector('[data-js="tweets"]');
socket.on('tweet', function(data) {
$tweets.innerHTML += '<li>' + data.text + '<li>';
});
public/js/main.js
var socket = io('http://localhost:3000');
var $tweets = document.querySelector('[data-js="tweets"]');
socket.on('tweet', function(data) {
$tweets.innerHTML += '<li>' + data.text + '<li>';
});
public/js/main.js
var socket = io('http://localhost:3000');
var $tweets = document.querySelector('[data-js="tweets"]');
socket.on('tweet', function(data) {
$tweets.innerHTML += '<li>' + data.text + '<li>';
});
public/js/main.js
?
!
socket.io-emitter
socket.io-redis
CLIENT
SIDE
emit()
+ socket.io-emitter
socket.io-redis
Installing
dependencies
{
"require": {
"rase/socket.io-emitter": "^0.7.0"
}
}
composer.json
composer require rase/socket.io-emitter
terminal
Install “redis-server”
on your operating system
Now, we need a simple
NodeJS Application
var io = require('socket.io')(3000);
io.adapter(require('socket.io-redis')());
io.on('connection', function() {
console.log('Connected!');
});
app.js
PHP can’t emit
events to client
var io = require('socket.io')(3000);
io.adapter(require('socket.io-redis')());
io.on('connection', function() {
console.log('Connected!');
});
app.js
require_once './vendor/autoload.php';
$id = get_the_ID();
$views = (int) get_post_meta( $id, 'views', true );
$views++;
update_post_meta( $id, 'views', $views );
$emitter = new SocketIOEmitter();
$emitter->emit( 'post views', $id, $views );
echo $views;
single.php
require_once './vendor/autoload.php';
$id = get_the_ID();
$views = (int) get_post_meta( $id, 'views', true );
$views++;
update_post_meta( $id, 'views', $views );
$emitter = new SocketIOEmitter();
$emitter->emit( 'post views', $id, $views );
echo $views;
single.php
require_once './vendor/autoload.php';
$id = get_the_ID();
$views = (int) get_post_meta( $id, 'views', true );
$views++;
update_post_meta( $id, 'views', $views );
$emitter = new SocketIOEmitter();
$emitter->emit( 'post views', $id, $views );
echo $views;
single.php
require_once './vendor/autoload.php';
$id = get_the_ID();
$views = (int) get_post_meta( $id, 'views', true );
$views++;
update_post_meta( $id, 'views', $views );
$emitter = new SocketIOEmitter();
$emitter->emit( 'post views', $id, $views );
echo $views;
single.php
require_once './vendor/autoload.php';
$id = get_the_ID();
$views = (int) get_post_meta( $id, 'views', true );
$views++;
update_post_meta( $id, 'views', $views );
$emitter = new SocketIOEmitter();
$emitter->emit( 'post views', $id, $views );
echo $views;
single.php
require_once './vendor/autoload.php';
$id = get_the_ID();
$views = (int) get_post_meta( $id, 'views', true );
$views++;
update_post_meta( $id, 'views', $views );
$emitter = new SocketIOEmitter();
$emitter->emit( 'post views', $id, $views );
echo $views;
single.php
var socket = io('http://localhost:3000');
socket.on('post views', function(id, views) {
$('#post-' + id).text(views);
});
main.js
var socket = io('http://localhost:3000');
socket.on('post views', function(id, views) {
$('#post-' + id).text(views);
});
main.js
var socket = io('http://localhost:3000');
socket.on('post views', function(id, views) {
$('#post-' + id).text(views);
});
main.js
var socket = io('http://localhost:3000');
socket.on('post views', function(id, views) {
$('#post-' + id).text(views);
});
main.js
var socket = io('http://localhost:3000');
socket.on('post views', function(id, views) {
$('#post-' + id).text(views);
});
main.js
the box!
Think outside
the box!
Think outside
Fernando Daciuk
FullStack Engineer
Thanks!
/fdaciuk/talks npm install fdaciuk

More Related Content

What's hot

Developers, Be a Bada$$ with WP-CLI
Developers, Be a Bada$$ with WP-CLIDevelopers, Be a Bada$$ with WP-CLI
Developers, Be a Bada$$ with WP-CLIWP Engine
 
Vagrant WordCamp Hamilton
Vagrant  WordCamp HamiltonVagrant  WordCamp Hamilton
Vagrant WordCamp HamiltonPaul Bearne
 
Beginning WordPress Plugin Development
Beginning WordPress Plugin DevelopmentBeginning WordPress Plugin Development
Beginning WordPress Plugin DevelopmentAizat Faiz
 
Wordpress development: A Modern Approach
Wordpress development:  A Modern ApproachWordpress development:  A Modern Approach
Wordpress development: A Modern ApproachAlessandro Fiore
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsDylan Jay
 
Writing your Third Plugin
Writing your Third PluginWriting your Third Plugin
Writing your Third PluginJustin Ryan
 
WordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, LondonWordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, LondonBastian Grimm
 
WPtech: L'API Customizer pour les plugins
WPtech: L'API Customizer pour les pluginsWPtech: L'API Customizer pour les plugins
WPtech: L'API Customizer pour les pluginscorsonr
 
WordPress Structure and Best Practices
WordPress Structure and Best PracticesWordPress Structure and Best Practices
WordPress Structure and Best Practicesmarkparolisi
 
Odoo development workflow with pip and virtualenv
Odoo development workflow with pip and virtualenvOdoo development workflow with pip and virtualenv
Odoo development workflow with pip and virtualenvacsone
 
Take Command of WordPress With WP-CLI
Take Command of WordPress With WP-CLITake Command of WordPress With WP-CLI
Take Command of WordPress With WP-CLIDiana Thompson
 
Mehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp KölnMehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp KölnWalter Ebert
 
Using composer with WordPress
Using composer with WordPressUsing composer with WordPress
Using composer with WordPressMicah Wood
 
PHP SA 2014 - Releasing Your Open Source Project
PHP SA 2014 - Releasing Your Open Source ProjectPHP SA 2014 - Releasing Your Open Source Project
PHP SA 2014 - Releasing Your Open Source Projectxsist10
 
Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatGrand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatRyan Weaver
 
Building a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared ToBuilding a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared ToRaymond Camden
 
Jenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And GroovyJenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And GroovyDaniel Spilker
 

What's hot (20)

Developers, Be a Bada$$ with WP-CLI
Developers, Be a Bada$$ with WP-CLIDevelopers, Be a Bada$$ with WP-CLI
Developers, Be a Bada$$ with WP-CLI
 
Vagrant WordCamp Hamilton
Vagrant  WordCamp HamiltonVagrant  WordCamp Hamilton
Vagrant WordCamp Hamilton
 
Beginning WordPress Plugin Development
Beginning WordPress Plugin DevelopmentBeginning WordPress Plugin Development
Beginning WordPress Plugin Development
 
Wordpress development: A Modern Approach
Wordpress development:  A Modern ApproachWordpress development:  A Modern Approach
Wordpress development: A Modern Approach
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web apps
 
Writing your Third Plugin
Writing your Third PluginWriting your Third Plugin
Writing your Third Plugin
 
Yeoman
YeomanYeoman
Yeoman
 
WordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, LondonWordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, London
 
WPtech: L'API Customizer pour les plugins
WPtech: L'API Customizer pour les pluginsWPtech: L'API Customizer pour les plugins
WPtech: L'API Customizer pour les plugins
 
Mastering Grunt
Mastering GruntMastering Grunt
Mastering Grunt
 
WordPress Structure and Best Practices
WordPress Structure and Best PracticesWordPress Structure and Best Practices
WordPress Structure and Best Practices
 
Odoo development workflow with pip and virtualenv
Odoo development workflow with pip and virtualenvOdoo development workflow with pip and virtualenv
Odoo development workflow with pip and virtualenv
 
Take Command of WordPress With WP-CLI
Take Command of WordPress With WP-CLITake Command of WordPress With WP-CLI
Take Command of WordPress With WP-CLI
 
Bower power
Bower powerBower power
Bower power
 
Mehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp KölnMehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp Köln
 
Using composer with WordPress
Using composer with WordPressUsing composer with WordPress
Using composer with WordPress
 
PHP SA 2014 - Releasing Your Open Source Project
PHP SA 2014 - Releasing Your Open Source ProjectPHP SA 2014 - Releasing Your Open Source Project
PHP SA 2014 - Releasing Your Open Source Project
 
Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatGrand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
 
Building a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared ToBuilding a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared To
 
Jenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And GroovyJenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And Groovy
 

Viewers also liked

Guiatutores1213
Guiatutores1213Guiatutores1213
Guiatutores1213jjaviering
 
Intercambio francés 2015
Intercambio francés 2015Intercambio francés 2015
Intercambio francés 2015jjaviering
 
Ospecadosdeomissoedeopresso 140912144139-phpapp02
Ospecadosdeomissoedeopresso 140912144139-phpapp02Ospecadosdeomissoedeopresso 140912144139-phpapp02
Ospecadosdeomissoedeopresso 140912144139-phpapp02Thiago Oliveira Gomes
 
Biplanar 600s catálogo
Biplanar 600s catálogoBiplanar 600s catálogo
Biplanar 600s catálogoCORR MEDICAL
 
Minhas fotos do site 2
Minhas fotos do site 2Minhas fotos do site 2
Minhas fotos do site 2Canil FormaCao
 
Apresentação para blog
Apresentação para blogApresentação para blog
Apresentação para blog32028212
 
приходите к нам в музей презент
приходите к нам в музей презентприходите к нам в музей презент
приходите к нам в музей презентlenayasova
 
Postgraduate diploma Certificate
Postgraduate diploma CertificatePostgraduate diploma Certificate
Postgraduate diploma CertificateIslam Khalil
 
Perfil de universidad innovadora gestion y politicas educativas
Perfil de universidad innovadora gestion y politicas educativasPerfil de universidad innovadora gestion y politicas educativas
Perfil de universidad innovadora gestion y politicas educativasUNIVERSIDAD CESAR VALLEJO
 
Red on line at Safety & Health Expo (SHE) Conference in London
Red on line at Safety & Health Expo (SHE) Conference in LondonRed on line at Safety & Health Expo (SHE) Conference in London
Red on line at Safety & Health Expo (SHE) Conference in LondonRed-on-line
 
Rosane Lowenthal - 31mai14 1º Congresso A&R SUS
Rosane Lowenthal - 31mai14 1º Congresso A&R SUSRosane Lowenthal - 31mai14 1º Congresso A&R SUS
Rosane Lowenthal - 31mai14 1º Congresso A&R SUSAutismo & Realidade
 
Selligent Target 2014
Selligent Target 2014Selligent Target 2014
Selligent Target 2014Selligent
 

Viewers also liked (20)

Guiatutores1213
Guiatutores1213Guiatutores1213
Guiatutores1213
 
Intercambio francés 2015
Intercambio francés 2015Intercambio francés 2015
Intercambio francés 2015
 
Ospecadosdeomissoedeopresso 140912144139-phpapp02
Ospecadosdeomissoedeopresso 140912144139-phpapp02Ospecadosdeomissoedeopresso 140912144139-phpapp02
Ospecadosdeomissoedeopresso 140912144139-phpapp02
 
Sin escape
Sin escapeSin escape
Sin escape
 
Biplanar 600s catálogo
Biplanar 600s catálogoBiplanar 600s catálogo
Biplanar 600s catálogo
 
Minhas fotos do site 2
Minhas fotos do site 2Minhas fotos do site 2
Minhas fotos do site 2
 
Edición de perfil
Edición de perfilEdición de perfil
Edición de perfil
 
Apresentação para blog
Apresentação para blogApresentação para blog
Apresentação para blog
 
Reflexión Grupo 1
Reflexión Grupo 1Reflexión Grupo 1
Reflexión Grupo 1
 
8regalos
8regalos8regalos
8regalos
 
приходите к нам в музей презент
приходите к нам в музей презентприходите к нам в музей презент
приходите к нам в музей презент
 
Librode Vida
Librode VidaLibrode Vida
Librode Vida
 
Juan Rongokea
Juan RongokeaJuan Rongokea
Juan Rongokea
 
Postgraduate diploma Certificate
Postgraduate diploma CertificatePostgraduate diploma Certificate
Postgraduate diploma Certificate
 
Perfil de universidad innovadora gestion y politicas educativas
Perfil de universidad innovadora gestion y politicas educativasPerfil de universidad innovadora gestion y politicas educativas
Perfil de universidad innovadora gestion y politicas educativas
 
Red on line at Safety & Health Expo (SHE) Conference in London
Red on line at Safety & Health Expo (SHE) Conference in LondonRed on line at Safety & Health Expo (SHE) Conference in London
Red on line at Safety & Health Expo (SHE) Conference in London
 
Rosane Lowenthal - 31mai14 1º Congresso A&R SUS
Rosane Lowenthal - 31mai14 1º Congresso A&R SUSRosane Lowenthal - 31mai14 1º Congresso A&R SUS
Rosane Lowenthal - 31mai14 1º Congresso A&R SUS
 
NGC Unit Certificates
NGC Unit CertificatesNGC Unit Certificates
NGC Unit Certificates
 
Selligent Target 2014
Selligent Target 2014Selligent Target 2014
Selligent Target 2014
 
Project linking
Project linkingProject linking
Project linking
 

Similar to WordPress Realtime - WordCamp São Paulo 2015

Make WordPress realtime.
Make WordPress realtime.Make WordPress realtime.
Make WordPress realtime.Josh Hillier
 
Doctrine For Beginners
Doctrine For BeginnersDoctrine For Beginners
Doctrine For BeginnersJonathan Wage
 
Server side data sync for mobile apps with silex
Server side data sync for mobile apps with silexServer side data sync for mobile apps with silex
Server side data sync for mobile apps with silexMichele Orselli
 
Silex meets SOAP & REST
Silex meets SOAP & RESTSilex meets SOAP & REST
Silex meets SOAP & RESTHugo Hamon
 
international PHP2011_Bastian Feder_jQuery's Secrets
international PHP2011_Bastian Feder_jQuery's Secretsinternational PHP2011_Bastian Feder_jQuery's Secrets
international PHP2011_Bastian Feder_jQuery's Secretssmueller_sandsmedia
 
Do you want a SDK with that API? (Nordic APIS April 2014)
Do you want a SDK with that API? (Nordic APIS April 2014)Do you want a SDK with that API? (Nordic APIS April 2014)
Do you want a SDK with that API? (Nordic APIS April 2014)Nordic APIs
 
The Beauty Of Java Script V5a
The Beauty Of Java Script V5aThe Beauty Of Java Script V5a
The Beauty Of Java Script V5arajivmordani
 
前端MVC 豆瓣说
前端MVC 豆瓣说前端MVC 豆瓣说
前端MVC 豆瓣说Ting Lv
 
Mashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web AppsMashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web AppsBastian Hofmann
 
Getting the Most Out of jQuery Widgets
Getting the Most Out of jQuery WidgetsGetting the Most Out of jQuery Widgets
Getting the Most Out of jQuery Widgetsvelveeta_512
 
PHPSpec - the only Design Tool you need - 4Developers
PHPSpec - the only Design Tool you need - 4DevelopersPHPSpec - the only Design Tool you need - 4Developers
PHPSpec - the only Design Tool you need - 4DevelopersKacper Gunia
 

Similar to WordPress Realtime - WordCamp São Paulo 2015 (20)

Make WordPress realtime.
Make WordPress realtime.Make WordPress realtime.
Make WordPress realtime.
 
Doctrine For Beginners
Doctrine For BeginnersDoctrine For Beginners
Doctrine For Beginners
 
Server side data sync for mobile apps with silex
Server side data sync for mobile apps with silexServer side data sync for mobile apps with silex
Server side data sync for mobile apps with silex
 
YAP / Open Mail Overview
YAP / Open Mail OverviewYAP / Open Mail Overview
YAP / Open Mail Overview
 
Silex meets SOAP & REST
Silex meets SOAP & RESTSilex meets SOAP & REST
Silex meets SOAP & REST
 
international PHP2011_Bastian Feder_jQuery's Secrets
international PHP2011_Bastian Feder_jQuery's Secretsinternational PHP2011_Bastian Feder_jQuery's Secrets
international PHP2011_Bastian Feder_jQuery's Secrets
 
Do you want a SDK with that API? (Nordic APIS April 2014)
Do you want a SDK with that API? (Nordic APIS April 2014)Do you want a SDK with that API? (Nordic APIS April 2014)
Do you want a SDK with that API? (Nordic APIS April 2014)
 
jQuery secrets
jQuery secretsjQuery secrets
jQuery secrets
 
Rails is not just Ruby
Rails is not just RubyRails is not just Ruby
Rails is not just Ruby
 
Hooks WCSD12
Hooks WCSD12Hooks WCSD12
Hooks WCSD12
 
The Beauty of Java Script
The Beauty of Java ScriptThe Beauty of Java Script
The Beauty of Java Script
 
mobl
moblmobl
mobl
 
The Beauty Of Java Script V5a
The Beauty Of Java Script V5aThe Beauty Of Java Script V5a
The Beauty Of Java Script V5a
 
Reduxing like a pro
Reduxing like a proReduxing like a pro
Reduxing like a pro
 
Clean Javascript
Clean JavascriptClean Javascript
Clean Javascript
 
jQuery secrets
jQuery secretsjQuery secrets
jQuery secrets
 
前端MVC 豆瓣说
前端MVC 豆瓣说前端MVC 豆瓣说
前端MVC 豆瓣说
 
Mashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web AppsMashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web Apps
 
Getting the Most Out of jQuery Widgets
Getting the Most Out of jQuery WidgetsGetting the Most Out of jQuery Widgets
Getting the Most Out of jQuery Widgets
 
PHPSpec - the only Design Tool you need - 4Developers
PHPSpec - the only Design Tool you need - 4DevelopersPHPSpec - the only Design Tool you need - 4Developers
PHPSpec - the only Design Tool you need - 4Developers
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

WordPress Realtime - WordCamp São Paulo 2015