Enviar pesquisa
Carregar
Tools that get you laid
•
Transferir como KEY, PDF
•
1 gostou
•
1,045 visualizações
Swizec Teller
Seguir
Tecnologia
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 30
Baixar agora
Recomendados
Object Oriented Programing in JavaScript
Object Oriented Programing in JavaScript
Akshay Mathur
Javascript first-class citizenery
Javascript first-class citizenery
toddbr
【前端Mvc】之豆瓣说实践
【前端Mvc】之豆瓣说实践
taobao.com
Getting Started with Javascript
Getting Started with Javascript
Akshay Mathur
Simple blog wall creation on Java
Simple blog wall creation on Java
Max Titov
J query resh
J query resh
Resh Mahtani
Backbonejs for beginners
Backbonejs for beginners
Divakar Gu
BackboneJS and friends
BackboneJS and friends
Scott Cowan
Recomendados
Object Oriented Programing in JavaScript
Object Oriented Programing in JavaScript
Akshay Mathur
Javascript first-class citizenery
Javascript first-class citizenery
toddbr
【前端Mvc】之豆瓣说实践
【前端Mvc】之豆瓣说实践
taobao.com
Getting Started with Javascript
Getting Started with Javascript
Akshay Mathur
Simple blog wall creation on Java
Simple blog wall creation on Java
Max Titov
J query resh
J query resh
Resh Mahtani
Backbonejs for beginners
Backbonejs for beginners
Divakar Gu
BackboneJS and friends
BackboneJS and friends
Scott Cowan
SproutCore and the Future of Web Apps
SproutCore and the Future of Web Apps
Mike Subelsky
Workshop 12: AngularJS Parte I
Workshop 12: AngularJS Parte I
Visual Engineering
Laravel 8 export data as excel file with example
Laravel 8 export data as excel file with example
Katy Slemon
Jqueryppt (1)
Jqueryppt (1)
AndreaSmile06
Converting a Rails application to Node.js
Converting a Rails application to Node.js
Matt Sergeant
jQuery Effects
jQuery Effects
Adelon Zeta
Managing JavaScript Dependencies With RequireJS
Managing JavaScript Dependencies With RequireJS
Den Odell
Backbone
Backbone
Glenn De Backer
AngularJS - a radically different way of building Single Page Apps
AngularJS - a radically different way of building Single Page Apps
jivkopetiov
Mobile services on windows azure (part2)
Mobile services on windows azure (part2)
Radu Vunvulea
jQuery - Chapter 1 - Introduction
jQuery - Chapter 1 - Introduction
WebStackAcademy
Simpler Core Data with RubyMotion
Simpler Core Data with RubyMotion
Stefan Haflidason
Angularjs architecture
Angularjs architecture
Michael He
Angular js 1.0-fundamentals
Angular js 1.0-fundamentals
Venkatesh Narayanan
AngularJS intro
AngularJS intro
dizabl
AngularJS Beginners Workshop
AngularJS Beginners Workshop
Sathish VJ
Dynamic Application Development by NodeJS ,AngularJS with OrientDB
Dynamic Application Development by NodeJS ,AngularJS with OrientDB
Apaichon Punopas
JavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de Datos
philogb
Single Page Apps with Drupal 8
Single Page Apps with Drupal 8
Chris Tankersley
Introducing AngularJS
Introducing AngularJS
Loc Nguyen
Introducing the Seneca MVP framework for Node.js
Introducing the Seneca MVP framework for Node.js
Richard Rodger
20120816 nodejsdublin
20120816 nodejsdublin
Richard Rodger
Mais conteúdo relacionado
Mais procurados
SproutCore and the Future of Web Apps
SproutCore and the Future of Web Apps
Mike Subelsky
Workshop 12: AngularJS Parte I
Workshop 12: AngularJS Parte I
Visual Engineering
Laravel 8 export data as excel file with example
Laravel 8 export data as excel file with example
Katy Slemon
Jqueryppt (1)
Jqueryppt (1)
AndreaSmile06
Converting a Rails application to Node.js
Converting a Rails application to Node.js
Matt Sergeant
jQuery Effects
jQuery Effects
Adelon Zeta
Managing JavaScript Dependencies With RequireJS
Managing JavaScript Dependencies With RequireJS
Den Odell
Backbone
Backbone
Glenn De Backer
AngularJS - a radically different way of building Single Page Apps
AngularJS - a radically different way of building Single Page Apps
jivkopetiov
Mobile services on windows azure (part2)
Mobile services on windows azure (part2)
Radu Vunvulea
jQuery - Chapter 1 - Introduction
jQuery - Chapter 1 - Introduction
WebStackAcademy
Simpler Core Data with RubyMotion
Simpler Core Data with RubyMotion
Stefan Haflidason
Angularjs architecture
Angularjs architecture
Michael He
Angular js 1.0-fundamentals
Angular js 1.0-fundamentals
Venkatesh Narayanan
AngularJS intro
AngularJS intro
dizabl
AngularJS Beginners Workshop
AngularJS Beginners Workshop
Sathish VJ
Dynamic Application Development by NodeJS ,AngularJS with OrientDB
Dynamic Application Development by NodeJS ,AngularJS with OrientDB
Apaichon Punopas
JavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de Datos
philogb
Single Page Apps with Drupal 8
Single Page Apps with Drupal 8
Chris Tankersley
Introducing AngularJS
Introducing AngularJS
Loc Nguyen
Mais procurados
(20)
SproutCore and the Future of Web Apps
SproutCore and the Future of Web Apps
Workshop 12: AngularJS Parte I
Workshop 12: AngularJS Parte I
Laravel 8 export data as excel file with example
Laravel 8 export data as excel file with example
Jqueryppt (1)
Jqueryppt (1)
Converting a Rails application to Node.js
Converting a Rails application to Node.js
jQuery Effects
jQuery Effects
Managing JavaScript Dependencies With RequireJS
Managing JavaScript Dependencies With RequireJS
Backbone
Backbone
AngularJS - a radically different way of building Single Page Apps
AngularJS - a radically different way of building Single Page Apps
Mobile services on windows azure (part2)
Mobile services on windows azure (part2)
jQuery - Chapter 1 - Introduction
jQuery - Chapter 1 - Introduction
Simpler Core Data with RubyMotion
Simpler Core Data with RubyMotion
Angularjs architecture
Angularjs architecture
Angular js 1.0-fundamentals
Angular js 1.0-fundamentals
AngularJS intro
AngularJS intro
AngularJS Beginners Workshop
AngularJS Beginners Workshop
Dynamic Application Development by NodeJS ,AngularJS with OrientDB
Dynamic Application Development by NodeJS ,AngularJS with OrientDB
JavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de Datos
Single Page Apps with Drupal 8
Single Page Apps with Drupal 8
Introducing AngularJS
Introducing AngularJS
Semelhante a Tools that get you laid
Introducing the Seneca MVP framework for Node.js
Introducing the Seneca MVP framework for Node.js
Richard Rodger
20120816 nodejsdublin
20120816 nodejsdublin
Richard Rodger
Build web application by express
Build web application by express
Shawn Meng
ReactJS for Beginners
ReactJS for Beginners
Oswald Campesato
REST APIs in Laravel 101
REST APIs in Laravel 101
Samantha Geitz
Intro to node and mongodb 1
Intro to node and mongodb 1
Mohammad Qureshi
Understanding backbonejs
Understanding backbonejs
Nick Lee
Emberjs building-ambitious-web-applications
Emberjs building-ambitious-web-applications
ColdFusionConference
MVS: An angular MVC
MVS: An angular MVC
David Rodenas
Single Page Applications on JavaScript and ASP.NET MVC4
Single Page Applications on JavaScript and ASP.NET MVC4
Yuriy Shapovalov
Real World MVC
Real World MVC
James Johnson
jQuery Objects
jQuery Objects
Steve Wells
JS Essence
JS Essence
Uladzimir Piatryka
JavaScript!
JavaScript!
RTigger
Cache, Workers, and Queues
Cache, Workers, and Queues
Jason McCreary
Heroku pop-behind-the-sense
Heroku pop-behind-the-sense
Ben Lin
React js
React js
Oswald Campesato
Writing robust Node.js applications
Writing robust Node.js applications
Tom Croucher
Javascript Frameworks for Well Architected, Immersive Web Apps
Javascript Frameworks for Well Architected, Immersive Web Apps
dnelson-cs
Wider than rails
Wider than rails
Alexey Nayden
Semelhante a Tools that get you laid
(20)
Introducing the Seneca MVP framework for Node.js
Introducing the Seneca MVP framework for Node.js
20120816 nodejsdublin
20120816 nodejsdublin
Build web application by express
Build web application by express
ReactJS for Beginners
ReactJS for Beginners
REST APIs in Laravel 101
REST APIs in Laravel 101
Intro to node and mongodb 1
Intro to node and mongodb 1
Understanding backbonejs
Understanding backbonejs
Emberjs building-ambitious-web-applications
Emberjs building-ambitious-web-applications
MVS: An angular MVC
MVS: An angular MVC
Single Page Applications on JavaScript and ASP.NET MVC4
Single Page Applications on JavaScript and ASP.NET MVC4
Real World MVC
Real World MVC
jQuery Objects
jQuery Objects
JS Essence
JS Essence
JavaScript!
JavaScript!
Cache, Workers, and Queues
Cache, Workers, and Queues
Heroku pop-behind-the-sense
Heroku pop-behind-the-sense
React js
React js
Writing robust Node.js applications
Writing robust Node.js applications
Javascript Frameworks for Well Architected, Immersive Web Apps
Javascript Frameworks for Well Architected, Immersive Web Apps
Wider than rails
Wider than rails
Último
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Juan lago vázquez
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Orbitshub
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Zilliz
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Deepika Singh
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
apidays
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Bhuvaneswari Subramani
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Dropbox
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
Christopher Logan Kennedy
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
WSO2
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
apidays
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Sandro Moreira
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Khushali Kathiriya
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
apidays
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
johnbeverley2021
Último
(20)
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Elevate Developer Efficiency & build GenAI Application with Amazon Q
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
Tools that get you laid
1.
Tools that get
you laid webcamplj 2011 @swizec
2.
The issue • want
shiny HTML app • RESTful API’s are expected • need speed and clean code • I might want to add features (fast)
3.
Thin server fat
client • server is a fancy database • servers are not free • more users? = more computing power!
4.
The tools • express.js •
underscore.js • backbone.js • ejs, ejs
5.
Express.js
6.
Idea • lovely routing •
request rendering • response rendering • kill callback soup (middleware)
7.
The model • not
quite MVC • more like VC
8.
Lovely routing • app.get(‘/a/path’,
a_function) • app.post(‘/a/path’, a_function) • app.put( ... • app.delete( ...
9.
Request rendering (old) •
it’s just a socket • manually parse query • manually fetch body ...
10.
Request rendering (new) •
app.post(‘/path:id’, req, res) • req is easy to use object • req.params is get parameters • req.body is post parameters
11.
Middleware (old) app.get('/user/:id', function(req,
res, next){ loadUser(req.params.id, function(err, user){ if (err) return next(err); res.send('Viewing user ' + user.name); }); });
12.
Middleware (new) function loadUser(req,
res, next) { var user = users[req.params.id]; if (user) { req.user = user; next(); } else { next(new Error('Failed to load user ' + req.params.id)); } } app.get('/user/:id', loadUser, function(req, res){ res.send('Viewing user ' + req.user.name); });
13.
Response rendering • res.send() •
res.send({some: ‘json’}) • res.render(‘index’, {some: ‘data’}) • res.download(‘/a/file.png’, ‘pic.png’)
14.
underscore.js
15.
A toolbelt • convenience
functions • just use _.<something> • reverts to native if possible
16.
The important parts •
map, reduce, select, any, groupBy etc. • first, last, rest ... • bind, memoize, wrap ... • keys, values, functions, extend ...
17.
backbone.js
18.
MVC! • client-side MVC •
javascriptMVC, extJS, knockout.js ...
19.
Idea • kill callback
soup • easy event binding • fuck the ‘this’ • magically bind data to representation
20.
Result • data stored
in objects • change data, view reacts
21.
Where data? • models:
var Book = Backbone.Model.extend({urlRoot : '/book'}); • collections: var Notes = Backbone.Collection.extend({url: '/notes'});
22.
Magical REST • model.save() •
model.update() • collection.fetch() • etc.
23.
Events (old) • $(“#fancyselector”).click(function
.. • $(“#form”).submit(function ..
24.
Events (new) • events:
{ ‘click #fancyselector’: “func” • ‘this’ magically bound perfectly
25.
Views • make a
render function • this.model.bind(“change”, this.render) • model.set(“foo”, “bar”) --> renders!
26.
ejs, ejs
27.
ejs, ejs? • two
tools, same name • node.js • client-side • “embeddable javascript”
28.
Idea • embed some
JS in your HTML • <% .. %> • a bunch of convenience functions
29.
Ejs-client • it’s actually
more powerful • img_tag, textarea, etc. helpers • many ways to get a template
30.
Questions? Btw, go to
http://postme.me
Notas do Editor
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Baixar agora