SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
STACK
THE
Simona Clapan
simona@leanometry.com
{ JavaScript all the way }
Full-stack JavaScript
solution that helps you
build fast, robust and
maintainable production
web applications using:
WHAT DOES IT M.E.A.N.?
express
WHY M.E.A.N.?
SAME LANGUAGE, SAME OBJECTS.
{“_id”: ObjectId(“512638a28b799”),
“username” : “symonny” }
{“_id”: “512638a28b799”,
“username” : “symonny” }
{“_id”: “512638a28b799”,
“username” : “symonny” }
WHO USES NODE ?
TYPICAL APP ARCHITECTURE
❖ NoSQL cross-platform document-oriented
database system
❖ JSON-like documents with dynamic schemas
❖ Easier & faster to send data between client
and server (b/c data saved in JSON format)
❖ Local Install:
➡ MongoDB: http://www.mongodb.org/
❖ MongoDB-as-a-Service:
➡ Modulus: https://modulus.io
➡ Mongolab: https://mongolab.com
❖ A lightweight framework used to build single
and multi-page web applications in Node.JS
❖ Wrapper for the core Node.js HTTP module
objects.
❖ Provides functions for everything you may
need to build a modern web server
❖ Learn More: http://expressjs.com
express
❖ Client-side MVC framework: http://angularjs.org
❖ Problem: Updating page without reload
❖ Solution: Angular.js declarative, 2-way data
binding
❖ Server-side JavaScript platform built on V8
engine
❖ Helps building highly scalable and concurrent
applications rapidly
❖ Makes multithreaded server easy
❖ Event based concurrency
❖ Easy to modify and maintains apps, due to
piped modules
❖ Install from http://nodejs.org
APPS SUITED FOR NODE.JS
❖ E-Commerce
❖ Payment Processing
❖ Social Media
❖ Realtime Services
❖ Media Applications
❖ Enterprise Services
THE TOOLBOX
❖ https://www.npmjs.org/
❖ Over 80,000 packages
❖ To install a module:
➡ npm install [module-name]
➡ - g - flag for global
A NodeJS Module Package Manager
❖ Grunt - used to build, preview and test a project,
employing tasks curated by Yeoman and grunt-contrib.
http://gruntjs.com
➡ npm install -g grunt-cli
❖ Bower - used for dependency management, allowing
the download and management of front-end package.
http://bower.io
➡ npm install -g bower
MORE TOOLS
❖ Yeoman - used to build, preview and test a project.
http://yeoman.io
➡ npm install -g yo
❖ Yeoman Generator - plugin used to scaffold complete
projects or useful parts
➡ install generator: npm install -g [gener-name]
➡ run generator: yo [gener-name] [params]
MORE TOOLS
YEOMAN GENERATORS
❖ generator-angular-fullstack: AngularJS generator, integrated
with support for Express with optional MongoDB integration
❖ generator-meanstack: MEAN stack generator, compatible
with grunt-express
❖ generator-mean-seed: MEAN stack generator with batteries
like Mongo, Express, Angular, Yeoman, Karma, and Protractor
for automated testing.
YEOMAN GENERATORS
❖ generator-klei - MEAN stack generator uses Mongoose and
Stylus
❖ ultimate-seed-generator - MEAN stack generator with
batteries like Passport and Browserify
!
❖ https://github.com/leanometry/codecamp
DEMO
Contacts
Angular Components: 1 of 3
❖ Directives: allows you to extend HTML to answer the needs of web
applications. Directives let you specify how your page should be
structured for the data available in a given scope.
❖ Data Binding: allow defining the binding between the data in the
scope and the content of the views.
❖ Filters: allow modifying the way data is displayed.
❖ Partial Views: used specially in single page applications.
Angular Components: 2 of 3
❖ Modules: Apps are structured in modules that can depend on other
modules and can contain controllers, services, directives and filters
❖ Controllers contain the application behavior. Controllers populate
the scope with all the necessary data for the view. Using proper
separation of concerns, controllers should never contain anything
related to the DOM.
❖ Scope is used to link the controllers and the views to which they
are binded
Angular Components: 3 of 3
❖ Services: allow reusing code that should be abstracted from
controller. Services can be injected in controllers or in other
services.
❖ Dependency Injection: retrieves some elements of the application
that should be configured when the module will be loaded
❖ Events: $broadcast and $emit
Simona Clapan
simona@leanometry.com
THANK
YOU!
Resources
❖ https://mongolab.com
❖ https://github.com/angular-app/angular-app
❖ http://www.packtpub.com/angularjs-web-application-development/book
❖ https://www.nodejitsu.com/
❖ Node.js - http://nodejs.org
❖ MongoDB - http://mongodb.org
❖ MongoDB Training - http://education.10gen.com
❖ Mongoose - http://http://mongoosejs.com/
❖ Express - http://expressjs.com
❖ AngularJS - http://angularjs.org
❖ Bower - http://bower.io
❖ Yeoman - http://yeoman.io
❖ Grunt - http://gruntjs.com

Mais conteúdo relacionado

Mais procurados

Future development stack ~ MeteorJS
Future development stack ~ MeteorJSFuture development stack ~ MeteorJS
Future development stack ~ MeteorJSVictor Stan
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSM R Rony
 
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...Hariharan Ganesan
 
Part One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN StackPart One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN StackMongoDB
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?Balajihope
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)Steve Souders
 
Refactoring to a Single Page Application
Refactoring to a Single Page ApplicationRefactoring to a Single Page Application
Refactoring to a Single Page ApplicationCodemotion
 
Single Page Applications on JavaScript and ASP.NET MVC4
Single Page Applications on JavaScript and ASP.NET MVC4Single Page Applications on JavaScript and ASP.NET MVC4
Single Page Applications on JavaScript and ASP.NET MVC4Yuriy Shapovalov
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applicationsSC5.io
 
Client Vs. Server Rendering
Client Vs. Server RenderingClient Vs. Server Rendering
Client Vs. Server RenderingDavid Amend
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Noam Kfir
 
introduction to js
introduction to jsintroduction to js
introduction to jsSireesh K
 
single page application
single page applicationsingle page application
single page applicationRavindra K
 
Modern Web App Architectures
Modern Web App ArchitecturesModern Web App Architectures
Modern Web App ArchitecturesRaphael Stary
 
Modern web application devlopment workflow
Modern web application devlopment workflowModern web application devlopment workflow
Modern web application devlopment workflowHamdi Hmidi
 

Mais procurados (19)

Introduction to MERN
Introduction to MERNIntroduction to MERN
Introduction to MERN
 
Future development stack ~ MeteorJS
Future development stack ~ MeteorJSFuture development stack ~ MeteorJS
Future development stack ~ MeteorJS
 
MEAN Stack
MEAN Stack MEAN Stack
MEAN Stack
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJS
 
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
 
Part One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN StackPart One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN Stack
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
 
Refactoring to a Single Page Application
Refactoring to a Single Page ApplicationRefactoring to a Single Page Application
Refactoring to a Single Page Application
 
Single Page Applications on JavaScript and ASP.NET MVC4
Single Page Applications on JavaScript and ASP.NET MVC4Single Page Applications on JavaScript and ASP.NET MVC4
Single Page Applications on JavaScript and ASP.NET MVC4
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applications
 
Client Vs. Server Rendering
Client Vs. Server RenderingClient Vs. Server Rendering
Client Vs. Server Rendering
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6
 
introduction to js
introduction to jsintroduction to js
introduction to js
 
Keystone.js 101
Keystone.js 101Keystone.js 101
Keystone.js 101
 
single page application
single page applicationsingle page application
single page application
 
Modern Web App Architectures
Modern Web App ArchitecturesModern Web App Architectures
Modern Web App Architectures
 
Modern web application devlopment workflow
Modern web application devlopment workflowModern web application devlopment workflow
Modern web application devlopment workflow
 

Semelhante a The MEAN stack - SoCalCodeCamp - june 29th 2014

Introduction to angular | Concepts and Environment setup
Introduction to angular | Concepts and Environment setupIntroduction to angular | Concepts and Environment setup
Introduction to angular | Concepts and Environment setupAnsley Rodrigues
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendVlad Fedosov
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JSFestUA
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsPablo Godel
 
DCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDocker, Inc.
 
Angularjs 131211063348-phpapp01
Angularjs 131211063348-phpapp01Angularjs 131211063348-phpapp01
Angularjs 131211063348-phpapp01Arunangsu Sahu
 
Angular js 1.3 presentation for fed nov 2014
Angular js 1.3 presentation for fed   nov 2014Angular js 1.3 presentation for fed   nov 2014
Angular js 1.3 presentation for fed nov 2014Sarah Hudson
 
MEAN Stack Warm-up
MEAN Stack Warm-upMEAN Stack Warm-up
MEAN Stack Warm-upTroy Miles
 
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMS
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMSMagnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMS
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMSMagnolia
 
WebSDK - Switching between service providers
WebSDK - Switching between service providersWebSDK - Switching between service providers
WebSDK - Switching between service providersHotstar
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud DeploymentJim Kaskade
 
Angular4 getting started
Angular4 getting startedAngular4 getting started
Angular4 getting startedTejinderMakkar
 
Running MongoDB Enterprise on Kubernetes
Running MongoDB Enterprise on KubernetesRunning MongoDB Enterprise on Kubernetes
Running MongoDB Enterprise on KubernetesAriel Jatib
 
MongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless WorldMongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless WorldMongoDB
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakayaMbakaya Kwatukha
 

Semelhante a The MEAN stack - SoCalCodeCamp - june 29th 2014 (20)

Introduction to angular | Concepts and Environment setup
Introduction to angular | Concepts and Environment setupIntroduction to angular | Concepts and Environment setup
Introduction to angular | Concepts and Environment setup
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
DCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application Packages
 
AngularJs
AngularJsAngularJs
AngularJs
 
Angularjs 131211063348-phpapp01
Angularjs 131211063348-phpapp01Angularjs 131211063348-phpapp01
Angularjs 131211063348-phpapp01
 
Mean stack Magics
Mean stack MagicsMean stack Magics
Mean stack Magics
 
Angular js
Angular jsAngular js
Angular js
 
Angular js 1.3 presentation for fed nov 2014
Angular js 1.3 presentation for fed   nov 2014Angular js 1.3 presentation for fed   nov 2014
Angular js 1.3 presentation for fed nov 2014
 
MEAN Stack Warm-up
MEAN Stack Warm-upMEAN Stack Warm-up
MEAN Stack Warm-up
 
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMS
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMSMagnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMS
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMS
 
WebSDK - Switching between service providers
WebSDK - Switching between service providersWebSDK - Switching between service providers
WebSDK - Switching between service providers
 
GDG Ibadan #pwa
GDG Ibadan #pwaGDG Ibadan #pwa
GDG Ibadan #pwa
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud Deployment
 
Angular4 getting started
Angular4 getting startedAngular4 getting started
Angular4 getting started
 
Cloud Platform as a Service: Heroku
Cloud Platform as a Service: HerokuCloud Platform as a Service: Heroku
Cloud Platform as a Service: Heroku
 
Running MongoDB Enterprise on Kubernetes
Running MongoDB Enterprise on KubernetesRunning MongoDB Enterprise on Kubernetes
Running MongoDB Enterprise on Kubernetes
 
MongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless WorldMongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless World
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakaya
 

Último

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
[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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 

Último (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 

The MEAN stack - SoCalCodeCamp - june 29th 2014

  • 2. Full-stack JavaScript solution that helps you build fast, robust and maintainable production web applications using: WHAT DOES IT M.E.A.N.? express
  • 3. WHY M.E.A.N.? SAME LANGUAGE, SAME OBJECTS. {“_id”: ObjectId(“512638a28b799”), “username” : “symonny” } {“_id”: “512638a28b799”, “username” : “symonny” } {“_id”: “512638a28b799”, “username” : “symonny” }
  • 6. ❖ NoSQL cross-platform document-oriented database system ❖ JSON-like documents with dynamic schemas ❖ Easier & faster to send data between client and server (b/c data saved in JSON format) ❖ Local Install: ➡ MongoDB: http://www.mongodb.org/ ❖ MongoDB-as-a-Service: ➡ Modulus: https://modulus.io ➡ Mongolab: https://mongolab.com
  • 7. ❖ A lightweight framework used to build single and multi-page web applications in Node.JS ❖ Wrapper for the core Node.js HTTP module objects. ❖ Provides functions for everything you may need to build a modern web server ❖ Learn More: http://expressjs.com express
  • 8. ❖ Client-side MVC framework: http://angularjs.org ❖ Problem: Updating page without reload ❖ Solution: Angular.js declarative, 2-way data binding
  • 9. ❖ Server-side JavaScript platform built on V8 engine ❖ Helps building highly scalable and concurrent applications rapidly ❖ Makes multithreaded server easy ❖ Event based concurrency ❖ Easy to modify and maintains apps, due to piped modules ❖ Install from http://nodejs.org
  • 10. APPS SUITED FOR NODE.JS ❖ E-Commerce ❖ Payment Processing ❖ Social Media ❖ Realtime Services ❖ Media Applications ❖ Enterprise Services
  • 12. ❖ https://www.npmjs.org/ ❖ Over 80,000 packages ❖ To install a module: ➡ npm install [module-name] ➡ - g - flag for global A NodeJS Module Package Manager
  • 13. ❖ Grunt - used to build, preview and test a project, employing tasks curated by Yeoman and grunt-contrib. http://gruntjs.com ➡ npm install -g grunt-cli ❖ Bower - used for dependency management, allowing the download and management of front-end package. http://bower.io ➡ npm install -g bower MORE TOOLS
  • 14. ❖ Yeoman - used to build, preview and test a project. http://yeoman.io ➡ npm install -g yo ❖ Yeoman Generator - plugin used to scaffold complete projects or useful parts ➡ install generator: npm install -g [gener-name] ➡ run generator: yo [gener-name] [params] MORE TOOLS
  • 15. YEOMAN GENERATORS ❖ generator-angular-fullstack: AngularJS generator, integrated with support for Express with optional MongoDB integration ❖ generator-meanstack: MEAN stack generator, compatible with grunt-express ❖ generator-mean-seed: MEAN stack generator with batteries like Mongo, Express, Angular, Yeoman, Karma, and Protractor for automated testing.
  • 16. YEOMAN GENERATORS ❖ generator-klei - MEAN stack generator uses Mongoose and Stylus ❖ ultimate-seed-generator - MEAN stack generator with batteries like Passport and Browserify
  • 18. Angular Components: 1 of 3 ❖ Directives: allows you to extend HTML to answer the needs of web applications. Directives let you specify how your page should be structured for the data available in a given scope. ❖ Data Binding: allow defining the binding between the data in the scope and the content of the views. ❖ Filters: allow modifying the way data is displayed. ❖ Partial Views: used specially in single page applications.
  • 19. Angular Components: 2 of 3 ❖ Modules: Apps are structured in modules that can depend on other modules and can contain controllers, services, directives and filters ❖ Controllers contain the application behavior. Controllers populate the scope with all the necessary data for the view. Using proper separation of concerns, controllers should never contain anything related to the DOM. ❖ Scope is used to link the controllers and the views to which they are binded
  • 20. Angular Components: 3 of 3 ❖ Services: allow reusing code that should be abstracted from controller. Services can be injected in controllers or in other services. ❖ Dependency Injection: retrieves some elements of the application that should be configured when the module will be loaded ❖ Events: $broadcast and $emit
  • 23. ❖ https://mongolab.com ❖ https://github.com/angular-app/angular-app ❖ http://www.packtpub.com/angularjs-web-application-development/book ❖ https://www.nodejitsu.com/
  • 24. ❖ Node.js - http://nodejs.org ❖ MongoDB - http://mongodb.org ❖ MongoDB Training - http://education.10gen.com ❖ Mongoose - http://http://mongoosejs.com/ ❖ Express - http://expressjs.com ❖ AngularJS - http://angularjs.org ❖ Bower - http://bower.io ❖ Yeoman - http://yeoman.io ❖ Grunt - http://gruntjs.com