SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Module Pattern, Prototype chainModule Pattern, Prototype chain
and Inheritance in JavaScriptand Inheritance in JavaScript
By - Narendra Sisodiya -
https://twitter.com/nsisodiya
narendra@narendrasisodiya.com
Module Pattern, Prototype chainModule Pattern, Prototype chain
and Inheritance in JavaScriptand Inheritance in JavaScript
By - Narendra Sisodiya -
https://twitter.com/nsisodiya
narendra@narendrasisodiya.com
Object.create & prototype chain
//var a = Object.create(Object.prototype); is Same as
//var a = {};
var person = {
name : "Child of earth",
age : 0,
nature: "cool",
eat: function (){
alert(this.name +" is eating");
}
}
var narendra = Object.create(person);
narendra.name = "Narendra Sisodiya";
narendra.age = 29;
narendra.eat(); //"Narendra Sisodiya is eating";
narendra.hasOwnProperty("eat") //false
narendra.hasOwnProperty("name") //true
narendra.hasOwnProperty("nature") //false
Object.create & prototype chain
person
nature
eat
name
age
__proto__
constructor
Object.prototype
toString
__proto__
hasOwnProperty
null
:
:function Object() {
[native code]
}
narendra
name
age
__proto__
constructor
a property, it will look into object,
if unable to find, it will look into object.__proto__ ,
if unable to find, it will look into object.__proto__.proto__ and so
on, until it find null. This is call Prototype Chaining
Longer the prototype chain,
more the access time
Function at prototype chain & context
eat: function (){
alert(this.name +" is eating");
}
function eat is not part of object “narendra”, this.name
When you run, narendra.eat(), eat() function of prototype chain will
be executed with Execution Context == narendra,
Every function executed with a context, narendra.eat() will be
executed with context as “narendra” so inside eat function, value
of this will be narendra
narendra === this //true
person.eat(); // Child of earth is eating
person.eat.call(narendra); // Narendra Sisodiya is eating
Constructors Without Prototypes
var Car = function(data) {
this.data = data;
   this.drive =  function() {
alert("Car is running");
return this;
};
this.giveName = function(){
alert("The car name is " + this.data);
return this;
}
};
(new Car("SUMO")).giveName().drive();
var a = new Car("TATA") ;
a.drive();
alert( a.data ) ; //
Problem -
Every Object contains same
Functions, They are not shared,
Sharing is possible using
Prototypes
a.drive & b.drive give same
result,but they are different
Useful Only for Singleton
Constructors Without Prototypes
var Car = function(data) {
this.data = data;
   this.drive =  function() {
alert("Car is running");
return this;
};
this.giveName = function(){
alert("The car name is " + this.data);
return this;
}
};
(new Car("SUMO")).giveName().drive();
var a = new Car("TATA") ;
a.drive();
alert( a.data ) ; //
Problem -
Every Object contains same
Functions, They are not shared,
Sharing is possible using
Prototypes
a.drive & b.drive give same
result,but they are different
Useful Only for Singleton
Constructors Without Prototypes
function - Car
constructor
data
object - a
__proto__
Car.prototype
constructor
__proto__
Object.prototype
toString
__proto__
hasOwnProperty
null
:
:
constructor
function Function() {
[native code] 
}
drive
givenName
data
object - b
__proto__
constructor
drive
givenName
function Object() {
[native code] 
}
constructor
function Car() { }
var a = new Car("TATA")
var b = new Car("SUMO")
Constructors With Prototypes
function - Car
constructor
data
object - a
__proto__
Car.prototype
constructor
__proto__
Object.prototype
toString
__proto__
hasOwnProperty
null
:
:
constructor
function Function() {
[native code] 
}
data
object - b
__proto__
constructor
function Object() {
[native code] 
}
constructor
function Car() { }
Car.prototype = { ... }
var a = new Car("TATA")
var b = new Car("SUMO")
drive
giveName
Constructors With Prototypes
function - Car
constructor
data
object - a
__proto__
Car.prototype
constructor
__proto__
Object.prototype
toString
__proto__
hasOwnProperty
null
:
:
constructor
function Function() {
[native code] 
}
data
object - b
__proto__
constructor
function Object() {
[native code] 
}
constructor
function Car() { }
Car.prototype = { ... }
var a = new Car("TATA")
var b = new Car("SUMO")
drive
giveName
Constructors Without Prototypes Simple
function - Car
constructor
data
object - a
__proto__
Car.prototype
constructor
__proto__
Object.prototype
toString
__proto__
hasOwnProperty
null
:
:
constructor
drive
givenName
data
object - b
__proto__
constructor
drive
givenName
constructor
function Car() { }
var a = new Car("TATA")
var b = new Car("SUMO")
Constructors With Prototypes Simple
function - Car
constructor
data
object - a
__proto__
Car.prototype
constructor
__proto__
Object.prototype
toString
__proto__
hasOwnProperty
null
:
:
constructor
data
object - b
__proto__
constructor
constructor
function Car() { }
Car.prototype = { ... }
var a = new Car("TATA")
var b = new Car("SUMO")
drive
giveName
Constructors With Prototypes
var Car = function(data) {
this.data = data;
}
Car.prototype = {
drive: function() {
alert("Car is running");
return this;
},
giveName: function(){
alert("The car name is " + this.data);
return this;
}
};
(new Car("SUMO")).giveName().drive();
var a = new Car("TATA") ;
a.drive();
alert( a.data ) ; //
JS Variables
JS Variables
function - Car
prototype
constructor
data
object - a
__proto__
Car.prototype
a.__proto__ === b.__proto__ ===
Car.prototype // true
givenName
data
object - b
__proto__
constructor
constructor
__proto__
drive
Object.prototype
toString
__proto__
hasOwnProperty
null
:
:constructor
Every Object Share Common Prototype Object
What happen If I do not use “new” ?
var Car = function(data){
console.dir(this);
this.data = data;
}
var a = new Car();
var b = Car();
WITH NEW
var Car = function(data){
//var this = new Object.create(Car.prototype);
console.dir(this);
this.data = data;
// return this
}
Without new – value of this
will be
Window
object
What happen If I do not use “new” ?
var a = new Car();
var b = Car();
When you invoke constructor with new operator, function will be
passed with a THIS variable which inherit from function.prototype
Module Pattern without new Operator
(1st
way)
var Car = function(data) {
this.data = data;
}
Car.prototype = {
drive: function() {
alert("Car is running");
return this;
},
giveName: function(){
alert("The car name is " + this.data);
return this;
}
};
var CarFactory = function(data){
return new Car(data);
}
Module Pattern without new Operator
(2nd
way)
var Car = function(data) {
return new Car.prototype.init(data);
}
Car.prototype = {
init : function(data){
this.data = data;
},
drive: function() {
alert("Car is running");
return this;
},
giveName: function(){
alert("The car name is " + this.data);
return this;
}
};
Car.prototype.init.prototype = Car.prototype;
Advantage
Both syntax will work !
Car("TATA").giveName().drive();
(new Car("SUMO")).giveName().drive();
Inheritance in JavaScript
var Person = function(full_name, age) {
this.full_name = full_name;
this.age = age;
}
Person.prototype = {
drive: function() {
if(this.age >= 18){
console.log(this.full_name + " is driving");
}else{
console.log(this.full_name + " is not eligible for driving");
}
return this;
},
eat: function(){
console.log(this.full_name + " is eating");
return this;
}
};
var chotu = new Person("Chotu", 7, "Student");
chotu.eat().drive();
Inheritance in JavaScript
Object.prototype
toString
__proto__
hasOwnProperty
null
:
:
Person
prototype
__proto__
constructor
Function.prototype
toString
__proto__
hasOwnProperty
:
:
chotu
full_name
__proto__
constructor
Person.prototype
eat
__proto__
drive
:
:
age
function Function()
{
[native code] }prototype
Inheritance in JavaScript
var Employee = function(full_name, age, job_title){
//Employee.parent.call(this,full_name, age);
this.job_title = job_title;
};
Employee.prototype = {
office: function(){
console.log(this.full_name + " is a "+ this.job_title + " and he is going to Office");
return this;
}
};
var narendra = new Employee("Narendra", 30, "Engineer");
narendra.eat().drive().office();
// Note – eat() & drive() will not work at this time.. we need inheritance for this
Inheritance in JavaScript
Object.prototype
toString
__proto__
hasOwnProperty
nu
:
:
Person
prototype
__proto__
constructor
Function.prototype
toString
__proto__
constructor
null
:
:
chotu
full_name
__proto__
constructor
Person.prototype
eat
__proto__
drive
age
function Function()
{
[native code] }prototype
Employee
prototype
__proto__
constructor
narendra
job_title
__proto__
constructor
Employee.prototype
__proto__
office
Goal is to understand this function
Function.prototype.inheritFrom = function (Base){
var F = function(){};
F.prototype = Base.prototype;
var old_prototype = this.prototype;
this.prototype = new F();
this.prototype.constructor = this;
for (i in old_prototype) {
this.prototype[i] = old_prototype[i];
}
this. parent = Base;
} &
Employee.parent.call(this,full_name, age);
&
Employee.inheritFrom(Person);
Function.prototype
inheritFrom
__proto__
constructor
null
:
:
Step by Step (Employee.inheritFrom(Person))
Object.prototype
toString
__proto__
hasOwnProperty
nu
:
:
Person
prototype
__proto__
constructor
Function.prototype
toString
__proto__
constructor
null
:
:
Person.prototype
eat
__proto__
drive
Employee
prototype
__proto__
constructor
Employee.prototype
__proto__
office
var F = function(){};
F.prototype = Base.prototype;
var old_prototype = this.prototype;
F
prototype
__proto__
constructor
old_prototype
Step by Step (Employee.inheritFrom(Person))
Object.prototype
toString
__proto__
hasOwnProperty
nu
:
:
Person
prototype
__proto__
constructor
Function.prototype
toString
__proto__
constructor
null
:
:
Person.prototype
eat
__proto__
drive
Employee
prototype
__proto__
constructor
Employee.prototype
__proto__
office
this.prototype = new F();
this.prototype.constructor = this;
F
prototype
__proto__
constructor
old_prototype
Employee.prototype
__proto__
constructor
Step by Step (Employee.inheritFrom(Person))
Object.prototype
toString
__proto__
hasOwnProperty
nu
:
:
Person
prototype
__proto__
constructor
Function.prototype
toString
__proto__
constructor
null
:
:
Person.prototype
eat
__proto__
drive
Employee
prototype
__proto__
constructor
Employee.prototype
__proto__
office
for (i in old_prototype) {
this.prototype[i] = old_prototype[i];
}
this. parent = Base;
F
prototype
__proto__
constructor
old_prototype
Employee.prototype
__proto__
constructor
parent
office
Step by Step (Employee.inheritFrom(Person)) Final
Object.prototype
toString
__proto__
hasOwnProperty
nu
:
:
Person
prototype
__proto__
constructor
Function.prototype
toString
__proto__
constructor
null
:
:
Person.prototype
eat
__proto__
drive
Employee
prototype
__proto__
constructor Employee.prototype
__proto__
constructorparent
office
chotu
full_name
__proto__
constructor
age
narendra
job_title
__proto__
constructor
full_name
age

Contenu connexe

Tendances

jQuery from the very beginning
jQuery from the very beginningjQuery from the very beginning
jQuery from the very beginningAnis Ahmad
 
Drupal Development (Part 2)
Drupal Development (Part 2)Drupal Development (Part 2)
Drupal Development (Part 2)Jeff Eaton
 
Recent Changes to jQuery's Internals
Recent Changes to jQuery's InternalsRecent Changes to jQuery's Internals
Recent Changes to jQuery's Internalsjeresig
 
PyCon APAC - Django Test Driven Development
PyCon APAC - Django Test Driven DevelopmentPyCon APAC - Django Test Driven Development
PyCon APAC - Django Test Driven DevelopmentTudor Munteanu
 
50 Laravel Tricks in 50 Minutes
50 Laravel Tricks in 50 Minutes50 Laravel Tricks in 50 Minutes
50 Laravel Tricks in 50 MinutesAzim Kurt
 
JavaScript Objects and OOP Programming with JavaScript
JavaScript Objects and OOP Programming with JavaScriptJavaScript Objects and OOP Programming with JavaScript
JavaScript Objects and OOP Programming with JavaScriptLaurence Svekis ✔
 
Automatically Spotting Cross-language Relations
Automatically Spotting Cross-language RelationsAutomatically Spotting Cross-language Relations
Automatically Spotting Cross-language RelationsFederico Tomassetti
 
Backbone.js Simple Tutorial
Backbone.js Simple TutorialBackbone.js Simple Tutorial
Backbone.js Simple Tutorial추근 문
 
前端MVC之BackboneJS
前端MVC之BackboneJS前端MVC之BackboneJS
前端MVC之BackboneJSZhang Xiaoxue
 
Kick start with j query
Kick start with j queryKick start with j query
Kick start with j queryMd. Ziaul Haq
 
Active Record Inheritance in Rails
Active Record Inheritance in RailsActive Record Inheritance in Rails
Active Record Inheritance in RailsSandip Ransing
 
Introduction to jQuery
Introduction to jQueryIntroduction to jQuery
Introduction to jQuerymanugoel2003
 
Modern Application Foundations: Underscore and Twitter Bootstrap
Modern Application Foundations: Underscore and Twitter BootstrapModern Application Foundations: Underscore and Twitter Bootstrap
Modern Application Foundations: Underscore and Twitter BootstrapHoward Lewis Ship
 
Crowdsourcing with Django
Crowdsourcing with DjangoCrowdsourcing with Django
Crowdsourcing with DjangoSimon Willison
 
Why (I think) CoffeeScript Is Awesome
Why (I think) CoffeeScript Is AwesomeWhy (I think) CoffeeScript Is Awesome
Why (I think) CoffeeScript Is AwesomeJo Cranford
 
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHPKonf
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHPKonf“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHPKonf
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHPKonfRafael Dohms
 

Tendances (20)

jQuery from the very beginning
jQuery from the very beginningjQuery from the very beginning
jQuery from the very beginning
 
Jquery introduction
Jquery introductionJquery introduction
Jquery introduction
 
Drupal Development (Part 2)
Drupal Development (Part 2)Drupal Development (Part 2)
Drupal Development (Part 2)
 
Recent Changes to jQuery's Internals
Recent Changes to jQuery's InternalsRecent Changes to jQuery's Internals
Recent Changes to jQuery's Internals
 
jQuery Essentials
jQuery EssentialsjQuery Essentials
jQuery Essentials
 
PyCon APAC - Django Test Driven Development
PyCon APAC - Django Test Driven DevelopmentPyCon APAC - Django Test Driven Development
PyCon APAC - Django Test Driven Development
 
50 Laravel Tricks in 50 Minutes
50 Laravel Tricks in 50 Minutes50 Laravel Tricks in 50 Minutes
50 Laravel Tricks in 50 Minutes
 
Your Entity, Your Code
Your Entity, Your CodeYour Entity, Your Code
Your Entity, Your Code
 
JavaScript Objects and OOP Programming with JavaScript
JavaScript Objects and OOP Programming with JavaScriptJavaScript Objects and OOP Programming with JavaScript
JavaScript Objects and OOP Programming with JavaScript
 
ES2015 workflows
ES2015 workflowsES2015 workflows
ES2015 workflows
 
Automatically Spotting Cross-language Relations
Automatically Spotting Cross-language RelationsAutomatically Spotting Cross-language Relations
Automatically Spotting Cross-language Relations
 
Backbone.js Simple Tutorial
Backbone.js Simple TutorialBackbone.js Simple Tutorial
Backbone.js Simple Tutorial
 
前端MVC之BackboneJS
前端MVC之BackboneJS前端MVC之BackboneJS
前端MVC之BackboneJS
 
Kick start with j query
Kick start with j queryKick start with j query
Kick start with j query
 
Active Record Inheritance in Rails
Active Record Inheritance in RailsActive Record Inheritance in Rails
Active Record Inheritance in Rails
 
Introduction to jQuery
Introduction to jQueryIntroduction to jQuery
Introduction to jQuery
 
Modern Application Foundations: Underscore and Twitter Bootstrap
Modern Application Foundations: Underscore and Twitter BootstrapModern Application Foundations: Underscore and Twitter Bootstrap
Modern Application Foundations: Underscore and Twitter Bootstrap
 
Crowdsourcing with Django
Crowdsourcing with DjangoCrowdsourcing with Django
Crowdsourcing with Django
 
Why (I think) CoffeeScript Is Awesome
Why (I think) CoffeeScript Is AwesomeWhy (I think) CoffeeScript Is Awesome
Why (I think) CoffeeScript Is Awesome
 
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHPKonf
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHPKonf“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHPKonf
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHPKonf
 

En vedette

High Performance JavaScript - jQuery Conference SF Bay Area 2010
High Performance JavaScript - jQuery Conference SF Bay Area 2010High Performance JavaScript - jQuery Conference SF Bay Area 2010
High Performance JavaScript - jQuery Conference SF Bay Area 2010Nicholas Zakas
 
Fundamental JavaScript [In Control 2009]
Fundamental JavaScript [In Control 2009]Fundamental JavaScript [In Control 2009]
Fundamental JavaScript [In Control 2009]Aaron Gustafson
 
High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010Nicholas Zakas
 
JavaScript Functions
JavaScript Functions JavaScript Functions
JavaScript Functions Reem Alattas
 
She Looks Just Like Me 2017
She Looks Just Like Me 2017She Looks Just Like Me 2017
She Looks Just Like Me 2017Reem Alattas
 
Evolutionary Algorithms
Evolutionary AlgorithmsEvolutionary Algorithms
Evolutionary AlgorithmsReem Alattas
 
JavaScript Conditional Statements
JavaScript Conditional StatementsJavaScript Conditional Statements
JavaScript Conditional StatementsMarlon Jamera
 
JavaScript Programming
JavaScript ProgrammingJavaScript Programming
JavaScript ProgrammingSehwan Noh
 

En vedette (8)

High Performance JavaScript - jQuery Conference SF Bay Area 2010
High Performance JavaScript - jQuery Conference SF Bay Area 2010High Performance JavaScript - jQuery Conference SF Bay Area 2010
High Performance JavaScript - jQuery Conference SF Bay Area 2010
 
Fundamental JavaScript [In Control 2009]
Fundamental JavaScript [In Control 2009]Fundamental JavaScript [In Control 2009]
Fundamental JavaScript [In Control 2009]
 
High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010
 
JavaScript Functions
JavaScript Functions JavaScript Functions
JavaScript Functions
 
She Looks Just Like Me 2017
She Looks Just Like Me 2017She Looks Just Like Me 2017
She Looks Just Like Me 2017
 
Evolutionary Algorithms
Evolutionary AlgorithmsEvolutionary Algorithms
Evolutionary Algorithms
 
JavaScript Conditional Statements
JavaScript Conditional StatementsJavaScript Conditional Statements
JavaScript Conditional Statements
 
JavaScript Programming
JavaScript ProgrammingJavaScript Programming
JavaScript Programming
 

Similaire à JavaScript Prototype Chains, Inheritance and Module Pattern

Polymer - pleasant client-side programming with web components
Polymer - pleasant client-side programming with web componentsPolymer - pleasant client-side programming with web components
Polymer - pleasant client-side programming with web componentspsstoev
 
SE2016 Android Mikle Anokhin "Speed up application development with data bind...
SE2016 Android Mikle Anokhin "Speed up application development with data bind...SE2016 Android Mikle Anokhin "Speed up application development with data bind...
SE2016 Android Mikle Anokhin "Speed up application development with data bind...Inhacking
 
Janos Rusiczki - Backbone.js - Models & views in JavaScript
Janos Rusiczki - Backbone.js - Models & views in JavaScriptJanos Rusiczki - Backbone.js - Models & views in JavaScript
Janos Rusiczki - Backbone.js - Models & views in JavaScriptkitsched
 
MongoDB + Java - Everything you need to know
MongoDB + Java - Everything you need to know MongoDB + Java - Everything you need to know
MongoDB + Java - Everything you need to know Norberto Leite
 
Mongo+java (1)
Mongo+java (1)Mongo+java (1)
Mongo+java (1)MongoDB
 
Drupal 8. Search API. Facets. Customize / combine facets
Drupal 8. Search API. Facets. Customize / combine facetsDrupal 8. Search API. Facets. Customize / combine facets
Drupal 8. Search API. Facets. Customize / combine facetsAnyforSoft
 
Backbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVCBackbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVCpootsbook
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to DjangoJoaquim Rocha
 
Aplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com BackboneAplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com BackboneRafael Felix da Silva
 
Experience Manager 6 Developer Features - Highlights
Experience Manager 6 Developer Features - HighlightsExperience Manager 6 Developer Features - Highlights
Experience Manager 6 Developer Features - HighlightsCédric Hüsler
 
CPOSC Talk - The Gatsby, Contentful, Netlify Stack
CPOSC Talk - The Gatsby, Contentful, Netlify StackCPOSC Talk - The Gatsby, Contentful, Netlify Stack
CPOSC Talk - The Gatsby, Contentful, Netlify StackSarah Mogin
 
AngularJS Compile Process
AngularJS Compile ProcessAngularJS Compile Process
AngularJS Compile ProcessEyal Vardi
 
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Tsuyoshi Yamamoto
 
Jython: Python para la plataforma Java (JRSL 09)
Jython: Python para la plataforma Java (JRSL 09)Jython: Python para la plataforma Java (JRSL 09)
Jython: Python para la plataforma Java (JRSL 09)Leonardo Soto
 
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020Rob Ousbey
 

Similaire à JavaScript Prototype Chains, Inheritance and Module Pattern (20)

Polymer - pleasant client-side programming with web components
Polymer - pleasant client-side programming with web componentsPolymer - pleasant client-side programming with web components
Polymer - pleasant client-side programming with web components
 
SE2016 Android Mikle Anokhin "Speed up application development with data bind...
SE2016 Android Mikle Anokhin "Speed up application development with data bind...SE2016 Android Mikle Anokhin "Speed up application development with data bind...
SE2016 Android Mikle Anokhin "Speed up application development with data bind...
 
Clean Javascript
Clean JavascriptClean Javascript
Clean Javascript
 
Janos Rusiczki - Backbone.js - Models & views in JavaScript
Janos Rusiczki - Backbone.js - Models & views in JavaScriptJanos Rusiczki - Backbone.js - Models & views in JavaScript
Janos Rusiczki - Backbone.js - Models & views in JavaScript
 
MongoDB + Java - Everything you need to know
MongoDB + Java - Everything you need to know MongoDB + Java - Everything you need to know
MongoDB + Java - Everything you need to know
 
Mongo+java (1)
Mongo+java (1)Mongo+java (1)
Mongo+java (1)
 
Javascript Design Patterns
Javascript Design PatternsJavascript Design Patterns
Javascript Design Patterns
 
Drupal 8. Search API. Facets. Customize / combine facets
Drupal 8. Search API. Facets. Customize / combine facetsDrupal 8. Search API. Facets. Customize / combine facets
Drupal 8. Search API. Facets. Customize / combine facets
 
Backbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVCBackbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVC
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 
Aplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com BackboneAplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com Backbone
 
F[4]
F[4]F[4]
F[4]
 
Experience Manager 6 Developer Features - Highlights
Experience Manager 6 Developer Features - HighlightsExperience Manager 6 Developer Features - Highlights
Experience Manager 6 Developer Features - Highlights
 
CPOSC Talk - The Gatsby, Contentful, Netlify Stack
CPOSC Talk - The Gatsby, Contentful, Netlify StackCPOSC Talk - The Gatsby, Contentful, Netlify Stack
CPOSC Talk - The Gatsby, Contentful, Netlify Stack
 
AngularJS Compile Process
AngularJS Compile ProcessAngularJS Compile Process
AngularJS Compile Process
 
Java Script Best Practices
Java Script Best PracticesJava Script Best Practices
Java Script Best Practices
 
MongoDB With Style
MongoDB With StyleMongoDB With Style
MongoDB With Style
 
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
 
Jython: Python para la plataforma Java (JRSL 09)
Jython: Python para la plataforma Java (JRSL 09)Jython: Python para la plataforma Java (JRSL 09)
Jython: Python para la plataforma Java (JRSL 09)
 
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
 

Plus de Narendra Sisodiya (9)

Project Eduvid
Project EduvidProject Eduvid
Project Eduvid
 
Develop FOSS project using Google Code Hosting
Develop FOSS project using Google Code HostingDevelop FOSS project using Google Code Hosting
Develop FOSS project using Google Code Hosting
 
Introduction to FOSS world
Introduction to FOSS worldIntroduction to FOSS world
Introduction to FOSS world
 
video tools
video toolsvideo tools
video tools
 
wireless conf
wireless confwireless conf
wireless conf
 
Openoffice
OpenofficeOpenoffice
Openoffice
 
Shellscripting
ShellscriptingShellscripting
Shellscripting
 
Vi
ViVi
Vi
 
Python Presentation
Python PresentationPython Presentation
Python Presentation
 

Dernier

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Dernier (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

JavaScript Prototype Chains, Inheritance and Module Pattern