SlideShare a Scribd company logo
Introduction to Node.js
Perspectives from a Drupal dev
Mike Cantelon, Vancouver Drupal Users Group, Nov. 25, 2010
Thursday, November 25, 2010
I am:
A longtime PHP dev
Devop for The Georgia Straight
Experimenting with JS/SSJS and HTML5
http://mikecantelon.com
http://github.com/mcantelon
Thursday, November 25, 2010
WHY NODE.JS?
Thursday, November 25, 2010
wordsquared.com: Real-time
HTML/JS Scrabble MMO
Thursday, November 25, 2010
The real-time web
Real-time applications are an interesting web subset
Examples: Twitter, Etherpad, games, monitoring
Real-time paradigm will spawn new types of apps
Thursday, November 25, 2010
Three barriers to real-time
Conventional languages can be slow
Conventional web servers can be slow
Conventional databases are slow
Thursday, November 25, 2010
Node.js eliminates two
Conventional languages can be slow
Conventional web servers can be slow
Conventional databases are slow
Thursday, November 25, 2010
http://www.slideshare.net/Vodafonedeveloper/nodejs-vs-phpapache
Node.js vs PHP/Apache
Thursday, November 25, 2010
So what exactly is Node.js?
Server-side Javascript (SSJS) implementation
“Asynchronous” (more on that later)
Built using V8 (JS engine used in Chrome Browser)
Thursday, November 25, 2010
Advantages over PHP
Javascript is a cleaner language
Asynchronous execution increases performance
Node.js is suitable for writing TCP/IP apps
Thursday, November 25, 2010
“Asynchronous”?
Also known as “event-based”
Think of it as defining actions triggered by events
CPU spends less time waiting around
Thursday, November 25, 2010
More benefits of SSJS
Requires less mental context switching for devs
Allows sharing of logic between client and server side
Server-side JQuery for screen scraping? Yes!
Thursday, November 25, 2010
What about that last barrier?
Conventional languages are slow
Conventional servers are slow
Conventional databases are slow
Thursday, November 25, 2010
MongoDB is one solution
MongoDB is generally faster than SQL databases
MongoDB queries are written in Javascript, not SQL
MongoDB works well with node.js
Thursday, November 25, 2010
And Drupal?
Drupal is great for managing content
Node.js has no killer CMS
Node.js can pull data from Drupal (details later)
Thursday, November 25, 2010
This looks conceptually like...
Thursday, November 25, 2010
SSJS HELLO WORLD
Thursday, November 25, 2010
Node.js isn’t hard to learn
Knowing Javascript is the hard part
Node.js is accessible
Express is a framework that makes Node.js easier
Thursday, November 25, 2010
Hello World in Node.js shell
var sys = require('sys');
sys.puts('Hello world');
Thursday, November 25, 2010
Node.js server Hello World
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Worldn');
}).listen(8124, "127.0.0.1");
Thursday, November 25, 2010
Hello World in Express
var express = require('express');
var app = express.createServer();
app.get('/', function(req, res){
res.send('Hello World');
});
app.listen(8124);
Thursday, November 25, 2010
Why use Express?
Handles routing and redirection
Nice templating support
Provides sessions
Thursday, November 25, 2010
Express Templating Support
Supports EJS, HAML, SASS, Jade (HAML variant)
Extend with app-specific helper functions
Provides “partials” (subtemplates)
Thursday, November 25, 2010
app.get('/', function(req, res){
res.render('index.haml', {
locals: { title: 'My Site' }
});
});
Templating Example
Thursday, November 25, 2010
SETTING UP NODE.JS
Thursday, November 25, 2010
Installing Node.js
OS X: build from source or brew install node
Linux: build from source
Build instructions at http://nodejs.org/#download
Thursday, November 25, 2010
Installing NPM
NPM lets you easily install node.js modules
OS X: brew install npm
Instructions for manual install:
http://mikecantelon.com/npm
Thursday, November 25, 2010
Installing Express
npm install express
Now the command express will set up an example
Express app for you
Thursday, November 25, 2010
Installing MongoDB
OS X: build from source or brew install mongodb
Linux: http://www.mongodb.org/display/DOCS/
Quickstart+Unix
npm install mongodb
Thursday, November 25, 2010
DRUPAL -> NODE.JS
Thursday, November 25, 2010
Drupal as a datastore
One way Node.js and Drupal can work together is
having Drupal be the storehouse for important content
requiring long-term management
Thursday, November 25, 2010
Something like...
Thursday, November 25, 2010
Serve data, not just pages
For realtime apps you’re going to want to serve chunks
of data to the browser rather than whole pages
Whole pages take longer to render and use more
bandwidth to transmit
Leverage the browser as much as possible
Thursday, November 25, 2010
Serving a page...
1. Browser requests a URL
2. Server grabs some data from a database and
dresses it up as a page using a template.
3. Whole page gets sent back to browser
Thursday, November 25, 2010
...vs Serving Data
1. Browser requests some data
2. Server sends back data
3. Browser templates data and outputs HTML
into the existing page
Thursday, November 25, 2010
Where to serve data from
Pulling Drupal data directly to the browser is quick to
implement, but puts more stress on your Drupal stack
The alternative is to pull Drupal data to node.js and
cache using a datastore like MongoDB
Data can then be relayed via AJAX or Socket.io
Thursday, November 25, 2010
DRUPAL DATA SHARING
Thursday, November 25, 2010
Javascript For Data Sharing
JSON is the duct tape of the web
drupal_to_js turns any chunk of data into JSON
Drupal Views can output JSON via Views Datasource
Thursday, November 25, 2010
What JSON looks like
{
'drupal': {
'language': 'PHP',
'license': 'GPL',
'developed_by': {
'individuals',
'organizations',
'companies'
}
}
}
Thursday, November 25, 2010
Drupal pumping out JSON
Thursday, November 25, 2010
Example: RSS to JSON via Views
Thursday, November 25, 2010
What our example will do
Use the Aggregator module to pull data from an RSS
feed (specifically “Drupal Planet”)
Use Views, via the Views JSON module, to publish the
aggregator items as JSON data
Thursday, November 25, 2010
Install Views Datasource
Thursday, November 25, 2010
Add View
Thursday, November 25, 2010
Add Page Display and Path
Thursday, November 25, 2010
Add Paging
Thursday, November 25, 2010
Add Fields
Thursday, November 25, 2010
Set Style to JSON
Thursday, November 25, 2010
Set Feed/Category ID
Thursday, November 25, 2010
Save View and Check Path
Thursday, November 25, 2010
Demo use of Drupal/JSON...
[demo]
http://github.com/mcantelon/Drupalurk
Thursday, November 25, 2010
Hack for Paging (v6 beta2)
function mytheme_preprocess_views_views_json_style_simple(&$vars) {
global $pager_total, $pager_page_array;
$element = $vars['view']->pager['element'];
$vars['rows']['pager'] = array(
'total' => $pager_total[$element],
'current' => $pager_page_array[$element]
);
}
http://gist.github.com/581974
Views Datasource needs theme tweak to make paging work
Stick the snippet below into your theme’s template.php
Thursday, November 25, 2010
Hack for Paging (v6 beta2)
This enables you to add &page=<page number
starting at 0> to JSON calls
You can then implement your own JS paging
Thursday, November 25, 2010
Possible JSON View Uses
Pull front-page content
Pull content by taxonomy
Pull recent comments
Whatever else you can do with a view
Thursday, November 25, 2010
Pulling JSON into Node.js
var sys = require('sys'),
rest = require('restler-aaronblohowiak'),
item,
node
rest.get('http://mikecantelon.com/jsontest/News')
.addListener('complete', function(data) {
for(item in data.nodes) {
node = data.nodes[item].node
sys.puts(node.Title)
sys.puts(node.Body)
}
})
http://gist.github.com/608741
restler module allows easy HTTP JSON requests
Thursday, November 25, 2010
TALKING TO MONGODB
Thursday, November 25, 2010
Things to remember
Can create databases and schema on-the-fly
Queries are Javascript
A “collection” is similar to an SQL DB’s “table”
MongoDB has a shell so easy to experiment
Thursday, November 25, 2010
Doing something to data
1. Open server DB connection
2. Open database
3. Open collection
4. Do something to the collection
Thursday, November 25, 2010
Opening server DB connection
var mongo = require('mongodb');
var port = mongo.Connection.DEFAULT_PORT;
var db = new mongo.Db(
'classroom',
new mongo.Server('localhost', port, {}),
{}
);
Thursday, November 25, 2010
Opening database
db.open(function(err, db) {
// stuff gets done in here
});
Thursday, November 25, 2010
Opening a collection
db.collection(
'students',
function(err, collection) {
// collection operations here
}
);
Thursday, November 25, 2010
Removing from a collection
collection.remove(
function(err, collection) {
// records are now gone!
}
);
Thursday, November 25, 2010
Adding some records
// make four students with random ages
var names
= ['Rick', 'Jane', 'Bob', 'Lisa'];
var index;
for (index in names) {
collection.insert({
'name': (names[index]),
'age':
Math.round(Math.random(4)*10)+18
});
}
Thursday, November 25, 2010
Displaying data from records
// display names
collection.find({}, {},
function(err, cursor) {
cursor.toArray(
function(err, students) {
var index;
for(index in students) {
sys.puts(students[index].name);
};
}
);
}
);
Thursday, November 25, 2010
DEPLOYING NODE.JS
Thursday, November 25, 2010
Node.js isn’t a daemon
Like PHP, node.js doesn’t run as a daemon
This means that naive deployment would require
keeping a terminal open
There are a number of ways to deal with this...
Thursday, November 25, 2010
Upstart (Ubuntu/some other distros)
Make a config file for each app in /etc/init
Name config file my_app.conf and set as executable
Start app using: sudo start my_app
Thursday, November 25, 2010
Installing Upstart
Ubuntu: apt-get install upstart
Linux: http://upstart.ubuntu.com/download.html
Thursday, November 25, 2010
System V init script (the right way)
rc.local/custom script (quick and dirty)
Gnu screen (for temporary deployment)
No Upstart? (Centos/some other distros)
Thursday, November 25, 2010
Requires adding a line to /etc/rc.local and a script
Example line in rc.local triggers script at startup:
su - mike -c "/home/mike/drupalchat/RUN.sh" &
Script should set NODE_PATH if you’re using npm
rc.local/custom script
Thursday, November 25, 2010
Example script
#!/bin/bash
cd /home/mike/drupalchat
export NODE_PATH=/home/mike/root
/usr/local/bin/node server.js
Thursday, November 25, 2010
Hotnode will restart node.js when you change a file
Start app with hotloading: hotnode my_app.js
Installation: npm install hotnode
Hotnode
Thursday, November 25, 2010
BONUS! WEBSOCKETS
Thursday, November 25, 2010
What are WebSockets?
WebSockets are an “HTML5” technology for two-way
TCP/IP textual communication
Modern browsers, like Chrome and Firefox 4, offer a
Javascript WebSockets interface
Thursday, November 25, 2010
Why not just use AJAX?
AJAX is a hack that uses HTTP for communication
HTTP request/response cycle has a lot of overhead
WebSockets increase speed, lessen bandwidth use
Thursday, November 25, 2010
Implementing with Socket.io
Socket.io is a client/server websocket solution, using
Node.js for the server side
The client library tries WebSockets, but falls back to
other mechanisms when talking to old browsers
Thursday, November 25, 2010
Questions? Ideas?
Thursday, November 25, 2010
Flickr Credits
http://www.flickr.com/photos/sidehike/459483568/
http://www.flickr.com/photos/wysz/86758900/
http://www.flickr.com/photos/generated/291537716/
http://www.flickr.com/photos/gsfc/3720663082/
http://www.flickr.com/photos/skreuzer/354316778/
http://www.flickr.com/photos/ubookworm/455760111/
http://www.flickr.com/photos/batega/1596898776/
http://www.flickr.com/photos/batigolix/3778363253/
http://www.flickr.com/photos/wwworks/4472384764/
http://www.flickr.com/photos/19779889@N00/4398186065/
http://www.flickr.com/photos/theplanetdotcom/4878809615/
http://www.flickr.com/photos/estherase/177188677/
Thursday, November 25, 2010
Resources
Node.js, Express.js and MongoDB
http://nodejs.org/
http://expressjs.com/
http://www.mongodb.org/
Socket.io
http://socket.io/
This presentation
http://mikecantelon.com/drupal-nodejs
Thursday, November 25, 2010
Ad

Recommended

PDF
Not Only Drupal
mcantelon
 
KEY
node.js: Javascript's in your backend
David Padbury
 
PDF
Node.js and Ruby
Michael Bleigh
 
PDF
Node.js
Jan Dillmann
 
PPTX
Introduction to Node.js
Vikash Singh
 
PPTX
Introduction Node.js
Erik van Appeldoorn
 
PDF
Original slides from Ryan Dahl's NodeJs intro talk
Aarti Parikh
 
PDF
Node.js and How JavaScript is Changing Server Programming
Tom Croucher
 
PDF
Philly Tech Week Introduction to NodeJS
Ross Kukulinski
 
PDF
Nodejs presentation
Arvind Devaraj
 
PDF
Introduction to Node.js
Rob O'Doherty
 
PDF
Nodejs vatsal shah
Vatsal N Shah
 
PPTX
Java script at backend nodejs
Amit Thakkar
 
PPTX
Introduction to Node js
Akshay Mathur
 
PPTX
Node js introduction
Joseph de Castelnau
 
PPT
Nodejs Event Driven Concurrency for Web Applications
Ganesh Iyer
 
PPTX
Intro to node and non blocking io
Amy Hua
 
KEY
A million connections and beyond - Node.js at scale
Tom Croucher
 
PPTX
introduction to node.js
orkaplan
 
KEY
OSCON 2011 - Node.js Tutorial
Tom Croucher
 
PPTX
Introduction to node.js
Dinesh U
 
KEY
Writing robust Node.js applications
Tom Croucher
 
PPTX
Node.js Patterns for Discerning Developers
cacois
 
PDF
Non-blocking I/O, Event loops and node.js
Marcus Frödin
 
PPTX
Introduction to NodeJS
Cere Labs Pvt. Ltd
 
PDF
Understanding the Node.js Platform
Domenic Denicola
 
PDF
Understanding the Single Thread Event Loop
TorontoNodeJS
 
PPTX
Introduction to node.js GDD
Sudar Muthu
 
PDF
Introduction to Nodejs
Gabriele Lana
 
PDF
Node.js vs Play Framework
Yevgeniy Brikman
 

More Related Content

What's hot (20)

PDF
Philly Tech Week Introduction to NodeJS
Ross Kukulinski
 
PDF
Nodejs presentation
Arvind Devaraj
 
PDF
Introduction to Node.js
Rob O'Doherty
 
PDF
Nodejs vatsal shah
Vatsal N Shah
 
PPTX
Java script at backend nodejs
Amit Thakkar
 
PPTX
Introduction to Node js
Akshay Mathur
 
PPTX
Node js introduction
Joseph de Castelnau
 
PPT
Nodejs Event Driven Concurrency for Web Applications
Ganesh Iyer
 
PPTX
Intro to node and non blocking io
Amy Hua
 
KEY
A million connections and beyond - Node.js at scale
Tom Croucher
 
PPTX
introduction to node.js
orkaplan
 
KEY
OSCON 2011 - Node.js Tutorial
Tom Croucher
 
PPTX
Introduction to node.js
Dinesh U
 
KEY
Writing robust Node.js applications
Tom Croucher
 
PPTX
Node.js Patterns for Discerning Developers
cacois
 
PDF
Non-blocking I/O, Event loops and node.js
Marcus Frödin
 
PPTX
Introduction to NodeJS
Cere Labs Pvt. Ltd
 
PDF
Understanding the Node.js Platform
Domenic Denicola
 
PDF
Understanding the Single Thread Event Loop
TorontoNodeJS
 
PPTX
Introduction to node.js GDD
Sudar Muthu
 
Philly Tech Week Introduction to NodeJS
Ross Kukulinski
 
Nodejs presentation
Arvind Devaraj
 
Introduction to Node.js
Rob O'Doherty
 
Nodejs vatsal shah
Vatsal N Shah
 
Java script at backend nodejs
Amit Thakkar
 
Introduction to Node js
Akshay Mathur
 
Node js introduction
Joseph de Castelnau
 
Nodejs Event Driven Concurrency for Web Applications
Ganesh Iyer
 
Intro to node and non blocking io
Amy Hua
 
A million connections and beyond - Node.js at scale
Tom Croucher
 
introduction to node.js
orkaplan
 
OSCON 2011 - Node.js Tutorial
Tom Croucher
 
Introduction to node.js
Dinesh U
 
Writing robust Node.js applications
Tom Croucher
 
Node.js Patterns for Discerning Developers
cacois
 
Non-blocking I/O, Event loops and node.js
Marcus Frödin
 
Introduction to NodeJS
Cere Labs Pvt. Ltd
 
Understanding the Node.js Platform
Domenic Denicola
 
Understanding the Single Thread Event Loop
TorontoNodeJS
 
Introduction to node.js GDD
Sudar Muthu
 

Viewers also liked (19)

PDF
Introduction to Nodejs
Gabriele Lana
 
PDF
Node.js vs Play Framework
Yevgeniy Brikman
 
PDF
Grunt JS - Getting Started With Grunt
Douglas Reynolds
 
PPTX
Angular 2.0: Getting ready
Axilis
 
PPTX
Grunt - The JavaScript Task Runner
Mohammed Arif
 
PDF
Building servers with Node.js
ConFoo
 
KEY
Node.js ― Hello, world! の1歩先へ。
Tatsuya Tobioka
 
ODP
Scaling and securing node.js apps
Maciej Lasyk
 
PDF
Building web apps with node.js, socket.io, knockout.js and zombie.js - Codemo...
Ivan Loire
 
ODP
Node.js security
Maciej Lasyk
 
PPTX
Intro To Node.js
Chris Cowan
 
PDF
Fullstack End-to-end test automation with Node.js, one year later
Mek Srunyu Stittri
 
PDF
Node.js and Selenium Webdriver, a journey from the Java side
Mek Srunyu Stittri
 
PPT
Node js presentation
martincabrera
 
PDF
Modern UI Development With Node.js
Ryan Anklam
 
PPTX
Nodejs intro
Ndjido Ardo BAR
 
PDF
Getting Started With Grunt for WordPress Development
David Bisset
 
PDF
Introduction to Node.js
Aaron Rosenberg
 
KEY
Node.js - Best practices
Felix Geisendörfer
 
Introduction to Nodejs
Gabriele Lana
 
Node.js vs Play Framework
Yevgeniy Brikman
 
Grunt JS - Getting Started With Grunt
Douglas Reynolds
 
Angular 2.0: Getting ready
Axilis
 
Grunt - The JavaScript Task Runner
Mohammed Arif
 
Building servers with Node.js
ConFoo
 
Node.js ― Hello, world! の1歩先へ。
Tatsuya Tobioka
 
Scaling and securing node.js apps
Maciej Lasyk
 
Building web apps with node.js, socket.io, knockout.js and zombie.js - Codemo...
Ivan Loire
 
Node.js security
Maciej Lasyk
 
Intro To Node.js
Chris Cowan
 
Fullstack End-to-end test automation with Node.js, one year later
Mek Srunyu Stittri
 
Node.js and Selenium Webdriver, a journey from the Java side
Mek Srunyu Stittri
 
Node js presentation
martincabrera
 
Modern UI Development With Node.js
Ryan Anklam
 
Nodejs intro
Ndjido Ardo BAR
 
Getting Started With Grunt for WordPress Development
David Bisset
 
Introduction to Node.js
Aaron Rosenberg
 
Node.js - Best practices
Felix Geisendörfer
 
Ad

Similar to Introduction to Node.js: perspectives from a Drupal dev (20)

PPTX
Introduction to Node.js
Winston Hsieh
 
PPTX
Node.js and MongoDB from scratch, fully explained and tested
John Culviner
 
PDF
Mongodb
ichangbai
 
PPTX
An overview of node.js
valuebound
 
PPTX
Kalp Corporate Node JS Perfect Guide
Kalp Corporate
 
PDF
Mongodb
Paulo Fagundes
 
PPTX
After the LAMP, it's time to get MEAN
Jeff Fox
 
PDF
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
lubnayasminsebl
 
PPTX
What is Mean Stack Development ?
Balajihope
 
PDF
The Little MongoDB Book - Karl Seguin
Paulo Fagundes
 
PDF
New paradigms
Borja A. Espejo García
 
PDF
Node Js, AngularJs and Express Js Tutorial
PHP Support
 
PDF
GDG-USAR Tech winter break 2024 USAR.pdf
raiaryan174
 
PPTX
Introduction to node.js by jiban
Jibanananda Sana
 
KEY
Practical Use of MongoDB for Node.js
async_io
 
PPTX
NodeJS - Server Side JS
Ganesh Kondal
 
PDF
An introduction to Node.js
Kasey McCurdy
 
PDF
Download full ebook of Learning Node Shelley Powers instant download pdf
zeitsloyerqy
 
PPTX
Intro to node and mongodb 1
Mohammad Qureshi
 
Introduction to Node.js
Winston Hsieh
 
Node.js and MongoDB from scratch, fully explained and tested
John Culviner
 
Mongodb
ichangbai
 
An overview of node.js
valuebound
 
Kalp Corporate Node JS Perfect Guide
Kalp Corporate
 
After the LAMP, it's time to get MEAN
Jeff Fox
 
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
lubnayasminsebl
 
What is Mean Stack Development ?
Balajihope
 
The Little MongoDB Book - Karl Seguin
Paulo Fagundes
 
Node Js, AngularJs and Express Js Tutorial
PHP Support
 
GDG-USAR Tech winter break 2024 USAR.pdf
raiaryan174
 
Introduction to node.js by jiban
Jibanananda Sana
 
Practical Use of MongoDB for Node.js
async_io
 
NodeJS - Server Side JS
Ganesh Kondal
 
An introduction to Node.js
Kasey McCurdy
 
Download full ebook of Learning Node Shelley Powers instant download pdf
zeitsloyerqy
 
Intro to node and mongodb 1
Mohammad Qureshi
 
Ad

Recently uploaded (20)

PDF
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
PDF
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
PDF
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
PDF
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
PDF
The Growing Value and Application of FME & GenAI
Safe Software
 
DOCX
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
PDF
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
 
PDF
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
PDF
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
PPTX
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
PDF
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
PDF
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
PDF
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
 
PDF
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
PPTX
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
PDF
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
PDF
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
PDF
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
PDF
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
PPTX
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
The Growing Value and Application of FME & GenAI
Safe Software
 
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
 
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 

Introduction to Node.js: perspectives from a Drupal dev