SlideShare a Scribd company logo
An Introduction to React
JAMES PEARCE

@jamespearce
An Introduction to ReactJS
toddler

imperative programming

describe computation in terms
of statements that change a
program state
teenager

declarative programming

express the logic of a
computation without
describing control flow
A JavaScript Library For

Building User Interfaces
http://todomvc.com/
An Introduction to ReactJS
An Introduction to ReactJS
☕(n)
Simple
!
Declarative
http://reactjs.org
state describe
state describe
for every
change of
the whole
user interface
state describe
for every
change of
the whole
user interface
state 1 state 2
state 1 state 2
DOM mutations
MVD #1
* Minimum Viable Demo
<!DOCTYPE html>
<html>
<head>
<script src="react/build/react.js"></script>
<script src="react/build/JSXTransformer.js"></script>
<script src="labelapp.js" type="text/jsx"></script>
</head>
<body/>
</html>
var LabelApp = React.createClass({
render: function () {
return <div>Hello World!</div>;
}
});
!
React.render(
<LabelApp />,
document.body
);
var LabelApp = React.createClass({
render: function () {
return <div>{this.props.message}</div>;
}
});
!
React.render(
<LabelApp message="Hello Raleigh!" />,
document.body
);
An Introduction to ReactJS
State & component lifecycle
props
!
passed in from parent
!
<MyComp foo="bar" />



this.props read-only within
!
can be defaulted & validated
state
!
created within component
!
getInitialState


this.state to read



this.setState() to update
var MyComponent = React.createClass({
!
propTypes: {},

getDefaultProps: function () {},
getInitialState: function () {},
!
componentWillMount: function () {},
componentWillUnmount: function () {},
...

render: function () {
// only read props & state -> return UI
},
});
var MyComponent = React.createClass({
!
iGotClicked: function () {...},
!
render: function () {
return <div onClick={this.iGotClicked}>Click</div>;
},
});
Or a parent’s method passed in via props
MVD #2
var LabelApp = React.createClass({
getDefaultProps: function () {
return {message: 'Hello World!'};
},
!
getInitialState: function () {
return {message: this.props.message};
},
!
render: function() {
return <div>{this.state.message}</div>;
}
});
onClick: function () {
this.setState({message: 'Hello Raleigh!'});
},
!
render: function () {
return (
<div onClick={this.onClick}>
{this.state.message}
</div>
);
}
An Introduction to ReactJS
How does data flow?
Component
Component
Component
Component
Component Component
props
props
setState
Component
Component
Component
Component
Component Component
props
props
setState
event

callback
state

stored as high up as it needs to be 

to pass down to affected children
Table
Row Cell Cell Cell Cell
Row Cell Cell Cell Cell
Row Cell Cell Cell Cell
state is

on cells
Table
Row Cell Cell Cell Cell
Row Cell Cell Cell Cell
Row Cell Cell Cell Cell
Total
Total
Total
state is

on rows
Table
Row Cell Cell Cell Cell
Row Cell Cell Cell Cell
Row Cell Cell Cell Cell
Total
Total
Total
Row Total Total Total Total Total
state is

on table
MVD #3
var Table = React.createClass({
getInitialState: function () {
var data = [];
for (var r = 0; r < this.props.rows; r++) {
data[r] = [];
for (var c = 0; c < this.props.columns; c++) {
data[r][c] = 0;
}
}
return {data: data};
},
render: function () {return <table>...</table>;}
});
!
React.render(<Table columns={4} rows={3} />, ...
var Row = React.createClass({
render: function () {
return <tr>{this.props.children}</tr>;
}
});
!
var Total = React.createClass({
render: function () {
return <th>{this.props.value}</th>;
}
});
var Cell = React.createClass({
onChange: function (e) {
this.props.onChange(
this.props.row,
this.props.column,
parseInt(e.target.value) || 0
);
},
render: function () {
return (<td>
<input type="number" value={this.props.value}

onChange={this.onChange} />
</td>);
},
});
var Table = React.createClass({
onCellChange: function(row, column, value) {
this.state.data[row][column] = value;
this.setState({data: this.state.data});
},
!
render: function() {
// for rows & columns, append <Row>s containing

// <Cell row={r} column={c} 

// value={this.state.data[r][c]}

// onChange={this.onCellChange} />
//
// also append to each row and in a final row:

// <Total value={total} />

},
...
An Introduction to ReactJS
Component-based UI

Virtual DOM
Uni-directional data flow
“Give it 5 minutes”
http://reactjs.org
JAMES PEARCE

@jamespearce
https://www.flickr.com/photos/matthewpaulson/6773801511
https://www.flickr.com/photos/johnath/5358512977
Ad

Recommended

ReactJS presentation
ReactJS presentation
Thanh Tuong
 
React js programming concept
React js programming concept
Tariqul islam
 
Intro to React
Intro to React
Justin Reock
 
Introduction to react_js
Introduction to react_js
MicroPyramid .
 
React workshop
React workshop
Imran Sayed
 
Introduction to React JS for beginners
Introduction to React JS for beginners
Varun Raj
 
An introduction to React.js
An introduction to React.js
Emanuele DelBono
 
Introduction to ReactJS
Introduction to ReactJS
Knoldus Inc.
 
Reactjs
Reactjs
Neha Sharma
 
Introduction to Redux
Introduction to Redux
Ignacio Martín
 
React js
React js
Oswald Campesato
 
react redux.pdf
react redux.pdf
Knoldus Inc.
 
Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace IT
namespaceit
 
React state
React state
Ducat
 
React js - The Core Concepts
React js - The Core Concepts
Divyang Bhambhani
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorial
Mohammed Fazuluddin
 
Workshop 21: React Router
Workshop 21: React Router
Visual Engineering
 
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Edureka!
 
WEB DEVELOPMENT USING REACT JS
WEB DEVELOPMENT USING REACT JS
MuthuKumaran Singaravelu
 
React
React
중운 박
 
Spring Boot and REST API
Spring Boot and REST API
07.pallav
 
React JS - Introduction
React JS - Introduction
Sergey Romaneko
 
Its time to React.js
Its time to React.js
Ritesh Mehrotra
 
[Final] ReactJS presentation
[Final] ReactJS presentation
洪 鹏发
 
Lets make a better react form
Lets make a better react form
Yao Nien Chung
 
Reactjs
Reactjs
Mallikarjuna G D
 
React js
React js
Jai Santhosh
 
React js
React js
Rajesh Kolla
 
Full Stack Toronto - the 3R Stack
Full Stack Toronto - the 3R Stack
Scott Persinger
 
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JSFestUA
 

More Related Content

What's hot (20)

Reactjs
Reactjs
Neha Sharma
 
Introduction to Redux
Introduction to Redux
Ignacio Martín
 
React js
React js
Oswald Campesato
 
react redux.pdf
react redux.pdf
Knoldus Inc.
 
Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace IT
namespaceit
 
React state
React state
Ducat
 
React js - The Core Concepts
React js - The Core Concepts
Divyang Bhambhani
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorial
Mohammed Fazuluddin
 
Workshop 21: React Router
Workshop 21: React Router
Visual Engineering
 
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Edureka!
 
WEB DEVELOPMENT USING REACT JS
WEB DEVELOPMENT USING REACT JS
MuthuKumaran Singaravelu
 
React
React
중운 박
 
Spring Boot and REST API
Spring Boot and REST API
07.pallav
 
React JS - Introduction
React JS - Introduction
Sergey Romaneko
 
Its time to React.js
Its time to React.js
Ritesh Mehrotra
 
[Final] ReactJS presentation
[Final] ReactJS presentation
洪 鹏发
 
Lets make a better react form
Lets make a better react form
Yao Nien Chung
 
Reactjs
Reactjs
Mallikarjuna G D
 
React js
React js
Jai Santhosh
 
React js
React js
Rajesh Kolla
 
Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace IT
namespaceit
 
React state
React state
Ducat
 
React js - The Core Concepts
React js - The Core Concepts
Divyang Bhambhani
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorial
Mohammed Fazuluddin
 
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Edureka!
 
Spring Boot and REST API
Spring Boot and REST API
07.pallav
 
[Final] ReactJS presentation
[Final] ReactJS presentation
洪 鹏发
 
Lets make a better react form
Lets make a better react form
Yao Nien Chung
 

Similar to An Introduction to ReactJS (20)

Full Stack Toronto - the 3R Stack
Full Stack Toronto - the 3R Stack
Scott Persinger
 
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JSFestUA
 
JDBC – Java Database Connectivity
JDBC – Java Database Connectivity
Information Technology
 
React state managmenet with Redux
React state managmenet with Redux
Vedran Blaženka
 
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom Tags
IMC Institute
 
Executing Sql Commands
Executing Sql Commands
leminhvuong
 
Executing Sql Commands
Executing Sql Commands
phanleson
 
React/Redux
React/Redux
Durgesh Vaishnav
 
Sqlapi0.1
Sqlapi0.1
jitendral
 
Connect.js - Exploring React.Native
Connect.js - Exploring React.Native
joshcjensen
 
ReactJS
ReactJS
Ram Murat Sharma
 
The Exciting Future Of React
The Exciting Future Of React
kristijanmkd
 
React, Redux and es6/7
React, Redux and es6/7
Dongho Cho
 
Lec7Handout.ppt
Lec7Handout.ppt
MOMEKEMKUEFOUETDUREL
 
Dive into React Performance
Dive into React Performance
Ching Ting Wu
 
Advanced redux
Advanced redux
Boris Dinkevich
 
Advance Java Programs skeleton
Advance Java Programs skeleton
Iram Ramrajkar
 
Rails vs Web2py
Rails vs Web2py
jonromero
 
JDBC Tutorial
JDBC Tutorial
Information Technology
 
React lecture
React lecture
Christoffer Noring
 
Full Stack Toronto - the 3R Stack
Full Stack Toronto - the 3R Stack
Scott Persinger
 
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JSFestUA
 
React state managmenet with Redux
React state managmenet with Redux
Vedran Blaženka
 
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom Tags
IMC Institute
 
Executing Sql Commands
Executing Sql Commands
leminhvuong
 
Executing Sql Commands
Executing Sql Commands
phanleson
 
Connect.js - Exploring React.Native
Connect.js - Exploring React.Native
joshcjensen
 
The Exciting Future Of React
The Exciting Future Of React
kristijanmkd
 
React, Redux and es6/7
React, Redux and es6/7
Dongho Cho
 
Dive into React Performance
Dive into React Performance
Ching Ting Wu
 
Advance Java Programs skeleton
Advance Java Programs skeleton
Iram Ramrajkar
 
Rails vs Web2py
Rails vs Web2py
jonromero
 
Ad

More from All Things Open (20)

Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
All Things Open
 
Big Data on a Small Budget: Scalable Data Visualization for the Rest of Us - ...
Big Data on a Small Budget: Scalable Data Visualization for the Rest of Us - ...
All Things Open
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
Let's Create a GitHub Copilot Extension! - Nick Taylor, Pomerium
Let's Create a GitHub Copilot Extension! - Nick Taylor, Pomerium
All Things Open
 
Leveraging Pre-Trained Transformer Models for Protein Function Prediction - T...
Leveraging Pre-Trained Transformer Models for Protein Function Prediction - T...
All Things Open
 
Gen AI: AI Agents - Making LLMs work together in an organized way - Brent Las...
Gen AI: AI Agents - Making LLMs work together in an organized way - Brent Las...
All Things Open
 
You Don't Need an AI Strategy, But You Do Need to Be Strategic About AI - Jes...
You Don't Need an AI Strategy, But You Do Need to Be Strategic About AI - Jes...
All Things Open
 
DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...
DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...
All Things Open
 
Fine-Tuning Large Language Models with Declarative ML Orchestration - Shivay ...
Fine-Tuning Large Language Models with Declarative ML Orchestration - Shivay ...
All Things Open
 
Leveraging Knowledge Graphs for RAG: A Smarter Approach to Contextual AI Appl...
Leveraging Knowledge Graphs for RAG: A Smarter Approach to Contextual AI Appl...
All Things Open
 
Artificial Intelligence Needs Community Intelligence - Sriram Raghavan, IBM R...
Artificial Intelligence Needs Community Intelligence - Sriram Raghavan, IBM R...
All Things Open
 
Don't just talk to AI, do more with AI: how to improve productivity with AI a...
Don't just talk to AI, do more with AI: how to improve productivity with AI a...
All Things Open
 
Open-Source GenAI vs. Enterprise GenAI: Navigating the Future of AI Innovatio...
Open-Source GenAI vs. Enterprise GenAI: Navigating the Future of AI Innovatio...
All Things Open
 
The Death of the Browser - Rachel-Lee Nabors, AgentQL
The Death of the Browser - Rachel-Lee Nabors, AgentQL
All Things Open
 
Making Operating System updates fast, easy, and safe
Making Operating System updates fast, easy, and safe
All Things Open
 
Reshaping the landscape of belonging to transform community
Reshaping the landscape of belonging to transform community
All Things Open
 
The Unseen, Underappreciated Security Work Your Maintainers May (or may not) ...
The Unseen, Underappreciated Security Work Your Maintainers May (or may not) ...
All Things Open
 
Integrating Diversity, Equity, and Inclusion into Product Design
Integrating Diversity, Equity, and Inclusion into Product Design
All Things Open
 
The Open Source Ecosystem for eBPF in Kubernetes
The Open Source Ecosystem for eBPF in Kubernetes
All Things Open
 
Open Source Privacy-Preserving Metrics - Sarah Gran & Brandon Pitman
Open Source Privacy-Preserving Metrics - Sarah Gran & Brandon Pitman
All Things Open
 
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
All Things Open
 
Big Data on a Small Budget: Scalable Data Visualization for the Rest of Us - ...
Big Data on a Small Budget: Scalable Data Visualization for the Rest of Us - ...
All Things Open
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
Let's Create a GitHub Copilot Extension! - Nick Taylor, Pomerium
Let's Create a GitHub Copilot Extension! - Nick Taylor, Pomerium
All Things Open
 
Leveraging Pre-Trained Transformer Models for Protein Function Prediction - T...
Leveraging Pre-Trained Transformer Models for Protein Function Prediction - T...
All Things Open
 
Gen AI: AI Agents - Making LLMs work together in an organized way - Brent Las...
Gen AI: AI Agents - Making LLMs work together in an organized way - Brent Las...
All Things Open
 
You Don't Need an AI Strategy, But You Do Need to Be Strategic About AI - Jes...
You Don't Need an AI Strategy, But You Do Need to Be Strategic About AI - Jes...
All Things Open
 
DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...
DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...
All Things Open
 
Fine-Tuning Large Language Models with Declarative ML Orchestration - Shivay ...
Fine-Tuning Large Language Models with Declarative ML Orchestration - Shivay ...
All Things Open
 
Leveraging Knowledge Graphs for RAG: A Smarter Approach to Contextual AI Appl...
Leveraging Knowledge Graphs for RAG: A Smarter Approach to Contextual AI Appl...
All Things Open
 
Artificial Intelligence Needs Community Intelligence - Sriram Raghavan, IBM R...
Artificial Intelligence Needs Community Intelligence - Sriram Raghavan, IBM R...
All Things Open
 
Don't just talk to AI, do more with AI: how to improve productivity with AI a...
Don't just talk to AI, do more with AI: how to improve productivity with AI a...
All Things Open
 
Open-Source GenAI vs. Enterprise GenAI: Navigating the Future of AI Innovatio...
Open-Source GenAI vs. Enterprise GenAI: Navigating the Future of AI Innovatio...
All Things Open
 
The Death of the Browser - Rachel-Lee Nabors, AgentQL
The Death of the Browser - Rachel-Lee Nabors, AgentQL
All Things Open
 
Making Operating System updates fast, easy, and safe
Making Operating System updates fast, easy, and safe
All Things Open
 
Reshaping the landscape of belonging to transform community
Reshaping the landscape of belonging to transform community
All Things Open
 
The Unseen, Underappreciated Security Work Your Maintainers May (or may not) ...
The Unseen, Underappreciated Security Work Your Maintainers May (or may not) ...
All Things Open
 
Integrating Diversity, Equity, and Inclusion into Product Design
Integrating Diversity, Equity, and Inclusion into Product Design
All Things Open
 
The Open Source Ecosystem for eBPF in Kubernetes
The Open Source Ecosystem for eBPF in Kubernetes
All Things Open
 
Open Source Privacy-Preserving Metrics - Sarah Gran & Brandon Pitman
Open Source Privacy-Preserving Metrics - Sarah Gran & Brandon Pitman
All Things Open
 
Ad

Recently uploaded (20)

Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
The Future of Product Management in AI ERA.pdf
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
Daily Lesson Log MATATAG ICT TEchnology 8
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
The Future of Product Management in AI ERA.pdf
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
Daily Lesson Log MATATAG ICT TEchnology 8
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 

An Introduction to ReactJS