SlideShare a Scribd company logo
1 of 81
Download to read offline
Building Large Scale
Javascript Application
It's a little different than traditional JS
Who are the target audience?
What is Javascript?
I use JS to do form validation
Javascript is the interactive tool that I use for user intraction
I write the full app in JS
What do we actually mean by Large Scale Javascript
Application?
Large in size?
Large in complexity?
Large in developer count?
Why do we care?
The ability of browsers have increased
The load on the client, rather than on the server
High level of interaction
What is the secret of building BIG things?
Aircrafts are amazing architecture!
How they made this crazy huge thing?
The secret to building large apps is never build large
apps. Break up your applications into small pieces.
Then, assemble those testable, bite-sized pieces into
your big
– Justin Meyer
Okay, Let's start
As we generally start
We have a good main.js
function somethingGood() {
    // Good code
}
// few other functions ...
$( document ).ready(function() {
    $('#aButton').onClick(function(e) {
        // Do something
    });
    // few event bindings ...
});
        
But at the end, it become bad!
function somethingGood() {
    // ## Bad code, full of mess ##
}
// 39 strange functions with 40% repetation
$( document ).ready(function() {
    $('#aButton').onClick(function(e) {
        // Do something ## became 60 lines! ##
    });
    // ## 33 bindings ## , some event may bound multiple times
});
        
Let's break them down
Files++
Filesize--
Lots of files...
Let’s Organise them
By feature By Layer
By feature By Layer
Lets call them Modules
Okay, but...
What is a Module?
My Yahoo!
Modules made it!
Modules are (preferably) small, focused, purposeful
portion of code that -
Modules ... portion of code that -
Provides a specific feature
Modules ... portion of code that -
Contains business logic
Modules ... portion of code that -
Is decoupled (from other modules)
Modules ... portion of code that -
Is reusable (context matters)
Modules ... portion of code that -
Is testable
A simple module looks like -
var MyModule = ( function( window, $ ) {
  function aPrivateMethod() {
    $('catchSomething').load('http://...');
  }
  function myPublicMethod() {
    privateMethod();
    alert( 'my other method' );
  }
  // explicitly return public methods when this object is instantiated
  return {
    someMethod : myPublicMethod
  };
} )( window, jQuery );
        
Module rules
Module Rule #1
Never access the DOM outside the module
Module Rule #2
Don't Create Global variables
Module Rule #3
Don’t Access Non-Native, Global objects
Module Rule #4
Inject Dependencies
Module Communation
with other modules
Mediator Pattern
Mediators are used when the communication between modules may be complex, but is still
well defined.
Mediators and Modules
Mediator publish/subscribe example
// example subscriber function
var Subscriber = function ExampleSubscriber( myVariable ) {
  console.log( myVariable );
};
// example usages
var myMediator = new Mediator();
myMediator.subscribe( 'some event', Subscriber );
myMediator.publish( 'some event', 'foo bar' ); // console logs "foo bar"
        
Well defined Interfacing
Dependencies
Dependency on other code/Globals
Dependency on other files
Dependency on third party libraries
$('#my‐button').click(function() {
    $.get('https://api.github.com', function(data) {
        $('#res').html(data.emojis_url);
    });
});
        
Closure cannot be reused
Closure cannot be tested
$.get and $('#res') using global object
var downloadEmojis = function() {
    $.get('https://api.github.com', function(data) {
        $('#res').html(data.emojis_url);
    });
};
$('#my‐button').click(downloadEmojis);
        
Difficult to test
$.get and $('#res') using global object
var downloadEmojis = function(ajax, $el) {
    ajax.get('https://api.github.com', function(data) {
        $el.html(data.emojis_url);
    });
};
$('#my‐button').click(function() {
    downloadEmojis($, $('#res'));
});
        
Now we can controle dependencies :)
Dependency on other files/Modules
Scripts behind this presentation
<script src="bower_components/bespoke.js/dist/bespoke.min.js"></script>
<script src="bower_components/bespoke‐keys/dist/bespoke‐keys.min.js"></script>
<script src="bower_components/bespoke‐touch/dist/bespoke‐touch.min.js"></script>
<script src="bower_components/bespoke‐bullets/dist/bespoke‐bullets.min.js"></script>
<script src="bower_components/bespoke‐scale/dist/bespoke‐scale.min.js"></script>
<script src="bower_components/bespoke‐hash/dist/bespoke‐hash.min.js"></script>
<script src="bower_components/bespoke‐progress/dist/bespoke‐progress.min.js"></script>
<script src="bower_components/bespoke‐state/dist/bespoke‐state.min.js"></script>
<script src="bower_components/prism/prism.js"></script>
<script src="bower_components/prism/components/prism‐php.min.js"></script>
<script src="scripts/main.js"></script>
    
How can we make it better?
AMD
COMMON.JS
Let's see a little bit more about AMD
Using require.js
Using require.js
Include Require JS
<script data‐main="scripts/main" src="scripts/require.js"></script>
Using require.js
Configure Paths
require.config({
    baseUrl: 'js/lib',
    paths: {
        jquery: 'jquery‐1.9.0'
        parse : 'parse‐1.2.18.min',
        underscore: 'underscore',
        backbone: 'backbone',
        marionette: 'backbone.marionette'
    }
});
Using require.js
Define modules
define([
    'app',
    'marionette'
], function(app, Marionette){
    return ExampleModule = app.module("Example", function(Example) {
        this.startWithParent = false;
        this.addInitializer(function(){
            console.log('Module:Example => initialized');
            this.router = new Router({ controller: Controller });
        });
    });
});
Asynchronous loading
On demand script loading
 if(teamProfile) {
    // Load and show team profile
    require(['views/TeamProfileView'], function(TeamProfileView) {
        var teamInfo = { model : app.reqres.request('core:team', shortName) }
        app.main.show(new TeamProfileView(teamInfo));
    });
}
            
Dependency on third party libraries
http://bower.io/
list dependencies in bower.json
// bower.json
{
    "dependencies": {
        "angular": "~1.0.7",
        "angular‐resource": "~1.0.7",
        "jquery": "1.9.1"
} }
MV* Frameworks
Seperation between Data and DOM
M → Data | V → DOM | * → has many variations
MVC
Controller → Mediates inputs and manipulates the model
MVP
Presenter → all presentation logic is pushed to the presenter
MVVM
ViewModel → exposes model so it can be easily managed and consumed
How to select the right one?
Why they are this huge in nymbers? :(
Same todo app built around 70 times with different frameworks and approaches
Let's see how BackboneJS did it
Todo Model
(function () {
    app.Todo = Backbone.Model.extend({
        // and ensure that each todo created has `title` and `completed` keys.
        defaults: {
            title: '',
            completed: false
        },
        toggle: function () {
            this.save({
                completed: !this.get('completed')
            });
        }
    });
})();
Create a Todo
var todo = new app.Todo({
  title: "Do something good!"
});
What about list of Todos?
var Todos = Backbone.Collection.extend({
        model: app.Todo,
        // Filter down the list of all todo items that are finished.
        completed: function () {
            return this.filter(function (todo) {
                return todo.get('completed');
            });
        },
        // Many other functions related to list ...
    });
Collections
Create a Todo list
var todoList = new Todos(
    {title: 'Do something good'},
    {title: 'Another Task'},
    {title: 'This task is Done', completed: true},
);
            
Who will create them actually?
collection.fetch(); // Pulls list of items from server
collection.create(); // Create new item in list
// Sync a model
model.fetch(); // Fetch an item from server
model.save(); // Save changes to model
model.destroy(); // Delete a model
            
Template
<script type="text/template" id="item‐template">
    <div class="view">
        <input class="toggle" type="checkbox" <%= completed ? 'checked' : '' %>>
        <label><%= title %></label>
        <button class="destroy"></button>
    </div>
    <input class="edit" value="<%‐ title %>">
</script>
            
The DOM to render models or collection
Views
app.TodoView = Backbone.View.extend({
    tagName:  'li',
    template: _.template($('#item‐template').html()),
    initialize: function () {
        this.listenTo(this.model, 'change', this.render);
        this.listenTo(this.model, 'visible', this.toggleVisible);
    },
    render: function () {
        this.$el.html(this.template(this.model.toJSON()));
        return this;
    }
});
            
Takes models, Render them, listning to events
Views cont.
events: {
    'click .toggle': 'toggleCompleted',
    'dblclick label': 'edit'
},
toggleCompleted: function () {
    this.model.toggle();
},
edit: function () {
    this.$el.addClass('editing');
    this.$input.focus();
},
        
Handling to DOM events and manipulate model
Routers
var TodoRouter = Backbone.Router.extend({
        routes: {
            '*filter': 'setFilter',
            'url/pattern': 'handlerFunction'
            'url/pattern/:param': 'handlerFunction'
        },
        setFilter: function (param) {
            // Trigger a collection filter event
            app.todos.trigger('filter');
        }
    });
        
Handles the routing with url changes
Start listning to url changes
app.TodoRouter = new TodoRouter();
Backbone.history.start();
    
Url change? reload?... NO
http://the/app/url.com#a‐route
http://the/app/url.com#another‐route
http://the/app/url.com#a‐route/withParam/23
    
No more today
It was a lot of things... ain't it?
Wait... Do I really need aaall of these?
Well, depends on your apps requirement
Resource
http://superherojs.com/
About us
[
    {
        "name": "Mohammad Emran Hasan",
        "mail": "phpfour@gmail.com",
        "blog": "http://emranhasan.com"
    },
    {
        "name": "Anis Uddin Ahmad",
        "mail": "anisniit@gmail.com",
        "blog": "http://ajaxray.com"
    }
]
          
Questions?

More Related Content

What's hot

Федієнко В., Волкова Ю. Математика та логіка
Федієнко В., Волкова Ю. Математика та логікаФедієнко В., Волкова Ю. Математика та логіка
Федієнко В., Волкова Ю. Математика та логікаКовпитська ЗОШ
 
SACO! DE BRINQUEDO
SACO! DE BRINQUEDOSACO! DE BRINQUEDO
SACO! DE BRINQUEDOMarisa Seara
 
Quando nasce um Monstro
Quando nasce um MonstroQuando nasce um Monstro
Quando nasce um Monstrocessmar
 
Charles reid portrait painting watercolor
Charles reid   portrait painting watercolorCharles reid   portrait painting watercolor
Charles reid portrait painting watercolorjoaoubaldo
 
Nunca conte com os ratinhos
Nunca conte com os ratinhosNunca conte com os ratinhos
Nunca conte com os ratinhosNaysa Taboada
 
Програми факультативних курсів із зарубіжної літ.для 5-7 кл. (НУШ)
Програми факультативних курсів із зарубіжної літ.для 5-7 кл. (НУШ)Програми факультативних курсів із зарубіжної літ.для 5-7 кл. (НУШ)
Програми факультативних курсів із зарубіжної літ.для 5-7 кл. (НУШ)Adriana Himinets
 
Sequência didática natureza
Sequência didática naturezaSequência didática natureza
Sequência didática naturezaLedson Aldrovandi
 
Painting the artists guide to mixing colours - jenny rodwell - watercolour ...
Painting   the artists guide to mixing colours - jenny rodwell - watercolour ...Painting   the artists guide to mixing colours - jenny rodwell - watercolour ...
Painting the artists guide to mixing colours - jenny rodwell - watercolour ...joaoubaldo
 
Sartre Para Principiantes - Donald D. Palmet
Sartre Para Principiantes  - Donald D. PalmetSartre Para Principiantes  - Donald D. Palmet
Sartre Para Principiantes - Donald D. PalmetNoelia Cuadrelli
 
Brain function – the evidence from brain damage
Brain function – the evidence from brain damageBrain function – the evidence from brain damage
Brain function – the evidence from brain damagecoburgpsych
 
O monstro das cores pdf
O monstro das cores pdfO monstro das cores pdf
O monstro das cores pdfKatia Soares
 
Um amor de família!
Um amor de família!Um amor de família!
Um amor de família!marinhas
 
A laranja colorida
A laranja coloridaA laranja colorida
A laranja coloridaBruno Célio
 
AGORA NÃO, BERNARDO
AGORA NÃO, BERNARDOAGORA NÃO, BERNARDO
AGORA NÃO, BERNARDOMarisa Seara
 
Quer brincar de pique esconde.pptx
Quer brincar de pique esconde.pptxQuer brincar de pique esconde.pptx
Quer brincar de pique esconde.pptxNaysa Taboada
 

What's hot (20)

1000 vprav ta_zavdzn_ukr_mova_3kl
1000 vprav ta_zavdzn_ukr_mova_3kl1000 vprav ta_zavdzn_ukr_mova_3kl
1000 vprav ta_zavdzn_ukr_mova_3kl
 
Федієнко В., Волкова Ю. Математика та логіка
Федієнко В., Волкова Ю. Математика та логікаФедієнко В., Волкова Ю. Математика та логіка
Федієнко В., Волкова Ю. Математика та логіка
 
SACO! DE BRINQUEDO
SACO! DE BRINQUEDOSACO! DE BRINQUEDO
SACO! DE BRINQUEDO
 
Quando nasce um Monstro
Quando nasce um MonstroQuando nasce um Monstro
Quando nasce um Monstro
 
Charles reid portrait painting watercolor
Charles reid   portrait painting watercolorCharles reid   portrait painting watercolor
Charles reid portrait painting watercolor
 
Nunca conte com os ratinhos
Nunca conte com os ratinhosNunca conte com os ratinhos
Nunca conte com os ratinhos
 
Програми факультативних курсів із зарубіжної літ.для 5-7 кл. (НУШ)
Програми факультативних курсів із зарубіжної літ.для 5-7 кл. (НУШ)Програми факультативних курсів із зарубіжної літ.для 5-7 кл. (НУШ)
Програми факультативних курсів із зарубіжної літ.для 5-7 кл. (НУШ)
 
Sequência didática natureza
Sequência didática naturezaSequência didática natureza
Sequência didática natureza
 
Painting the artists guide to mixing colours - jenny rodwell - watercolour ...
Painting   the artists guide to mixing colours - jenny rodwell - watercolour ...Painting   the artists guide to mixing colours - jenny rodwell - watercolour ...
Painting the artists guide to mixing colours - jenny rodwell - watercolour ...
 
Textos para leitura
Textos para leituraTextos para leitura
Textos para leitura
 
Sartre Para Principiantes - Donald D. Palmet
Sartre Para Principiantes  - Donald D. PalmetSartre Para Principiantes  - Donald D. Palmet
Sartre Para Principiantes - Donald D. Palmet
 
Proyecto bebés
Proyecto bebésProyecto bebés
Proyecto bebés
 
Brain function – the evidence from brain damage
Brain function – the evidence from brain damageBrain function – the evidence from brain damage
Brain function – the evidence from brain damage
 
O monstro das cores pdf
O monstro das cores pdfO monstro das cores pdf
O monstro das cores pdf
 
Os dez amigos
Os dez amigosOs dez amigos
Os dez amigos
 
Um amor de família!
Um amor de família!Um amor de família!
Um amor de família!
 
A laranja colorida
A laranja coloridaA laranja colorida
A laranja colorida
 
Livro misturichos
Livro misturichosLivro misturichos
Livro misturichos
 
AGORA NÃO, BERNARDO
AGORA NÃO, BERNARDOAGORA NÃO, BERNARDO
AGORA NÃO, BERNARDO
 
Quer brincar de pique esconde.pptx
Quer brincar de pique esconde.pptxQuer brincar de pique esconde.pptx
Quer brincar de pique esconde.pptx
 

Similar to Building Large Scale Javascript Application

MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009Jonas Follesø
 
Built to last javascript for enterprise
Built to last   javascript for enterpriseBuilt to last   javascript for enterprise
Built to last javascript for enterpriseMarjan Nikolovski
 
React js - The Core Concepts
React js - The Core ConceptsReact js - The Core Concepts
React js - The Core ConceptsDivyang Bhambhani
 
jquery summit presentation for large scale javascript applications
jquery summit  presentation for large scale javascript applicationsjquery summit  presentation for large scale javascript applications
jquery summit presentation for large scale javascript applicationsDivyanshGupta922023
 
Testing Big in JavaScript
Testing Big in JavaScriptTesting Big in JavaScript
Testing Big in JavaScriptRobert DeLuca
 
Builiding Modular monoliths that can scale to microservices. JBCNConf 2021
Builiding Modular monoliths that can scale to microservices. JBCNConf 2021Builiding Modular monoliths that can scale to microservices. JBCNConf 2021
Builiding Modular monoliths that can scale to microservices. JBCNConf 2021David Gómez García
 
A gently introduction to AngularJS
A gently introduction to AngularJSA gently introduction to AngularJS
A gently introduction to AngularJSGregor Woiwode
 
A report on mvc using the information
A report on mvc using the informationA report on mvc using the information
A report on mvc using the informationToushik Paul
 
Building Rich User Experiences Without JavaScript Spaghetti
Building Rich User Experiences Without JavaScript SpaghettiBuilding Rich User Experiences Without JavaScript Spaghetti
Building Rich User Experiences Without JavaScript SpaghettiJared Faris
 
Will your code blend? : Toronto Code Camp 2010 : Barry Gervin
Will your code blend? : Toronto Code Camp 2010 : Barry GervinWill your code blend? : Toronto Code Camp 2010 : Barry Gervin
Will your code blend? : Toronto Code Camp 2010 : Barry GervinBarry Gervin
 
Designing and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformDesigning and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformApigee | Google Cloud
 
MVC pattern for widgets
MVC pattern for widgetsMVC pattern for widgets
MVC pattern for widgetsBehnam Taraghi
 
Developing large scale JavaScript applications
Developing large scale JavaScript applicationsDeveloping large scale JavaScript applications
Developing large scale JavaScript applicationsMilan Korsos
 
Marionette - TorontoJS
Marionette - TorontoJSMarionette - TorontoJS
Marionette - TorontoJSmatt-briggs
 
Александр Белецкий "Архитектура Javascript приложений"
 Александр Белецкий "Архитектура Javascript приложений" Александр Белецкий "Архитектура Javascript приложений"
Александр Белецкий "Архитектура Javascript приложений"Agile Base Camp
 

Similar to Building Large Scale Javascript Application (20)

MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009
 
Mean stack Magics
Mean stack MagicsMean stack Magics
Mean stack Magics
 
Mobile optimization
Mobile optimizationMobile optimization
Mobile optimization
 
Built to last javascript for enterprise
Built to last   javascript for enterpriseBuilt to last   javascript for enterprise
Built to last javascript for enterprise
 
React js - The Core Concepts
React js - The Core ConceptsReact js - The Core Concepts
React js - The Core Concepts
 
jquery summit presentation for large scale javascript applications
jquery summit  presentation for large scale javascript applicationsjquery summit  presentation for large scale javascript applications
jquery summit presentation for large scale javascript applications
 
Testing Big in JavaScript
Testing Big in JavaScriptTesting Big in JavaScript
Testing Big in JavaScript
 
Builiding Modular monoliths that can scale to microservices. JBCNConf 2021
Builiding Modular monoliths that can scale to microservices. JBCNConf 2021Builiding Modular monoliths that can scale to microservices. JBCNConf 2021
Builiding Modular monoliths that can scale to microservices. JBCNConf 2021
 
A gently introduction to AngularJS
A gently introduction to AngularJSA gently introduction to AngularJS
A gently introduction to AngularJS
 
Fundaments of Knockout js
Fundaments of Knockout jsFundaments of Knockout js
Fundaments of Knockout js
 
A report on mvc using the information
A report on mvc using the informationA report on mvc using the information
A report on mvc using the information
 
Building Rich User Experiences Without JavaScript Spaghetti
Building Rich User Experiences Without JavaScript SpaghettiBuilding Rich User Experiences Without JavaScript Spaghetti
Building Rich User Experiences Without JavaScript Spaghetti
 
Will your code blend? : Toronto Code Camp 2010 : Barry Gervin
Will your code blend? : Toronto Code Camp 2010 : Barry GervinWill your code blend? : Toronto Code Camp 2010 : Barry Gervin
Will your code blend? : Toronto Code Camp 2010 : Barry Gervin
 
Fewd week4 slides
Fewd week4 slidesFewd week4 slides
Fewd week4 slides
 
Designing and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformDesigning and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps Platform
 
MVC pattern for widgets
MVC pattern for widgetsMVC pattern for widgets
MVC pattern for widgets
 
Developing large scale JavaScript applications
Developing large scale JavaScript applicationsDeveloping large scale JavaScript applications
Developing large scale JavaScript applications
 
Marionette - TorontoJS
Marionette - TorontoJSMarionette - TorontoJS
Marionette - TorontoJS
 
Александр Белецкий "Архитектура Javascript приложений"
 Александр Белецкий "Архитектура Javascript приложений" Александр Белецкий "Архитектура Javascript приложений"
Александр Белецкий "Архитектура Javascript приложений"
 
Xam expertday
Xam expertdayXam expertday
Xam expertday
 

More from Anis Ahmad

Testing in Laravel Framework
Testing in Laravel FrameworkTesting in Laravel Framework
Testing in Laravel FrameworkAnis Ahmad
 
Writing Sensible Code
Writing Sensible CodeWriting Sensible Code
Writing Sensible CodeAnis Ahmad
 
Revisiting SOLID Principles
Revisiting  SOLID Principles Revisiting  SOLID Principles
Revisiting SOLID Principles Anis Ahmad
 
VCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT WorkshopVCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT WorkshopAnis Ahmad
 
Developing cross platform desktop application with Ruby
Developing cross platform desktop application with RubyDeveloping cross platform desktop application with Ruby
Developing cross platform desktop application with RubyAnis Ahmad
 
Caching basics in PHP
Caching basics in PHPCaching basics in PHP
Caching basics in PHPAnis Ahmad
 
Freelancing; an alternate career
Freelancing; an alternate careerFreelancing; an alternate career
Freelancing; an alternate careerAnis Ahmad
 
jQuery from the very beginning
jQuery from the very beginningjQuery from the very beginning
jQuery from the very beginningAnis Ahmad
 

More from Anis Ahmad (8)

Testing in Laravel Framework
Testing in Laravel FrameworkTesting in Laravel Framework
Testing in Laravel Framework
 
Writing Sensible Code
Writing Sensible CodeWriting Sensible Code
Writing Sensible Code
 
Revisiting SOLID Principles
Revisiting  SOLID Principles Revisiting  SOLID Principles
Revisiting SOLID Principles
 
VCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT WorkshopVCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT Workshop
 
Developing cross platform desktop application with Ruby
Developing cross platform desktop application with RubyDeveloping cross platform desktop application with Ruby
Developing cross platform desktop application with Ruby
 
Caching basics in PHP
Caching basics in PHPCaching basics in PHP
Caching basics in PHP
 
Freelancing; an alternate career
Freelancing; an alternate careerFreelancing; an alternate career
Freelancing; an alternate career
 
jQuery from the very beginning
jQuery from the very beginningjQuery from the very beginning
jQuery from the very beginning
 

Recently uploaded

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 

Recently uploaded (20)

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 

Building Large Scale Javascript Application