Workflow para desenvolvimento Web & Mobile usando grunt.js

Davidson Fellipe
Davidson FellipeSenior Front-end Engineer
WORKFLOW PARA 
DESENVOLVIMENTO 
MOBILE USANDO 
GRUNT.JS 
davidson fellipe 
senior front-end engineer na globo.com
me 
html desde 2001 
senior front-end engineer 
globo.com ~ 2010 
mais em fellipe.com
POR QUE 
AUTOMATIZAMOS?
GRANDES 
PROBLEMAS PARA 
RESOLVER
Workflow para desenvolvimento Web & Mobile usando grunt.js
PREGUIÇOSO 
!== 
EFICIENTE
GESTÃO DE DEPENDÊNCIAS, 
FRAMEWORKS MVC, TESTES, 
ANALISADORES DE QUALIDADE 
DE CÓDIGO, TASK RUNNERS, 
PERFORMANCE
TASK RUNNERS
VAMOS DE GRUNT?
Workflow para desenvolvimento Web & Mobile usando grunt.js
GRUNT NÃO 
É O ÚNICO
MAKE 
ANT 
RAKE 
CAKE 
GULP 
SHELL 
JAVA 
RUBY 
COFFEE 
JS
ANT 
<cotamprgielet ">n ame="js-compile-all" description="Compile JavaScript files with Closure" unless="skip-js- 
<echo>Compiling JS files in ${input.scripts.dir} in closure...</echo> 
<apply executable="java" dest="${output.scripts.dir}"> 
<arg value="-jar"/> 
<arg path="${jar.lib.dir}/closure-compiler.jar"/> 
<arg line="--js"/> 
<srcfile/> 
<arg line="--js_output_file"/> 
<targetfile/> 
<fileset dir="${output.scripts.dir}" includes="**/*-main.debug.js" /> 
<mapper type="glob" from="*-main.debug.js" to="*-main.min.js"/> 
</apply> 
<echo>Finished compiling JS files</echo> 
MAKEFILE 
</target> xml 
http://mechanics.flite.com/blog/2012/06/19/why-we-use-node-dot-js-and-grunt-to-build-javascript/
http://i1-news.softpedia-static.com/images/news2/Three-of-the-Windows-Users-Fears-and-Misconceptions-About-Linux-427770-2.jpg
<3
grunt.js 
fácil de usar 
grande número de plugins 
imensa comunidade open source 
via linha de comando 
usa node.js
tasks 
testes 
pré-processadores 
jshint/csslint 
criar sprites 
concatenação 
otimização de imagens
https://github.com/gruntjs/grunt 
8420 STARS 
967 FORKS
http://npm-stat.vorba.ch/charts.html?package=grunt 
downloads 
600k 
400k 
200k 
oct nov dec jan feb mar apr may jun jul aug
COMO 
COMEÇAR ?
instalação node+npm 
$ npm install -g grunt-cli
configurar node?
$ make grunt-config 
grunt-config: 
@brew install node; #node 
@sudo curl https://npmjs.org/install.sh -k|sh;#npm 
@sudo npm install -g grunt-cli; #grunt 
@npm i --save-dev #dependencias 
MAKEFILE 
make
package 
.json { 
"name": "poll", 
"version": "0.0.1", 
"devDependencies": { 
"grunt": "~0.4.2", 
"grunt-contrib-watch": "~0.5.3", 
"load-grunt-tasks": "~0.2.0", 
"grunt-shell": “~0.6.1" 
} 
} 
js
instale com -- save-dev 
$ npm install nome-pacote --save-dev 
MAKEFILE 
terminal
.gitignore 
MAKEFILE 
.DS_Store 
... 
node_modules
Gruntfile 
.json 
module.exports = function(grunt) { 
grunt.initConfig({ 
pkg: grunt.file.readJSON('package.json'), 
pathSrc: 'src/', 
pathBuild: 'build/', 
compass: {}, 
shell: {} 
}); 
! 
grunt.loadNpmTasks(‘grunt-contrib-compass’); 
grunt.loadNpmTasks(‘grunt-contrib-shell’); 
grunt.loadNpmTasks(‘grunt-contrib-uglify’); 
grunt.registerTask('build', ['compass:min', 
'shell']); 
! 
}; 
js
INSTALE O 
LOAD-GRUNT-TASKS 
$ npm install load-grunt-tasks --save-dev
Gruntfile 
.json 
module.exports = function(grunt) { 
grunt.initConfig({ 
pkg: grunt.file.readJSON('package.json'), 
pathBase: 'static/poll/', 
compass: {}, 
minify: {}, 
uglify: {}, 
shell: {} 
}); 
// Load all tasks 
require('load-grunt-tasks')(grunt); 
grunt.registerTask('build', ['compass:min', 
'uglify', 
'shell']); 
}; 
js
$ grunt concat 
MAKEFILE 
concat:{ 
dist: { 
src: ['js/*.js'], 
dest: 'js/all.js' 
} 
}; 
js
grunt-contrib-compass 
a.scss 
e.scss 
i.scss 
o.scss 
u.scss 
vogais.css
grunt-contrib-compass 
$ npm install grunt-contrib-compass --save-dev 
MAKEFILE 
terminal
$ grunt compass:dev 
MAKEFILE 
grunt.initConfig({ 
compass: { 
dev: { 
options: { 
sassDir: 'src/scss', 
cssDir: 'build/css', 
imagesDir: 'src/img', 
generatedImagesDir: 'build/img' 
} 
}, 
prod: { /* ... */ } 
}}); js
$ grunt compass:prod 
MAKEFILE 
grunt.initConfig({ 
compass: { 
dev: { /* ... */ }, 
prod: { 
options: { 
sassDir: 'src/scss', 
cssDir: 'build/css', 
imagesDir: 'src/img', 
generatedImagesDir: 'build/img', 
outputStyle: 'compressed', 
noLineComments: true 
}}}}); js
executando 
$ grunt compass:dev 
$ grunt compass:prod
grunt-contrib-watch 
watch 
widget.scss widget.css
$ grunt watch 
MAKEFILE 
grunt.initConfig({ 
watch: { 
build: { 
files: [‘src/**/*.{scss, sass, js}'], 
tasks: [ 
'compass:dev', 'concat', 'uglify' 
] 
} 
} 
}); js
WATCH APENAS 
ARQUIVOS 
MODIFICADOS
newer:nomeDaTask 
MAKEFILE 
grunt.initConfig({ 
watch: { 
build: { 
files: [‘src/**/*.{scss, sass, js}'], 
tasks: [ 
'newer:compass:dev', 'newer:concat', 'newer:uglify' 
] 
} 
} 
}); js
$ grunt csslint 
MAKEFILE 
csslint:{ 
lax: { 
options: { 
csslintrc: '.csslintrc' 
}, 
src: ['css/*.css'] 
} 
}; js
$ grunt jshint 
MAKEFILE 
jshint: { 
options: { 
jshintrc: '.jshintrc' 
}, 
all: ['js/*.js'] 
}; 
js
$ grunt uglify 
MAKEFILE 
uglify: { 
dist: { 
files: { 
'js/all.min.js': ['js/all.js'] 
} 
} 
}; js
$ grunt imagemin 
MAKEFILE 
imagemin: { 
dist: { 
files: [{ 
expand: true, 
cwd: 'img', 
src: '{,*/}*.{png,jpg,jpeg}', 
dest: 'img' 
}]}}; js
$ grunt complexity 
MAKEFILE 
complexity: { 
src: ['<%= path %>js/*.js’], 
options: { 
breakOnErrors: true, 
errorsOnly: false, 
cyclomatic: [4, 8, 12], 
halstead: [10, 15, 20], 
maintainability: 100, 
hideComplexFunctions: false 
}} js
$ grunt complexity 
Running "complexity:generic" (complexity) task 
✗ src/js/c.js ███ 82.923 
✗ src/js/c.js:11 - <anonymous>.init is too complicated 
Cyclomatic: 21 
Halstead: 105.1875 
| Effort: 1.5177e+5 
| Volume: 1442.9 
| Vocabulary: 17 
MAKEFILE 
✓ src/js/b.js ███████ 141.28 js
https://github.com/vigetlabs/grunt-complexity
$ grunt concurrent 
imagemin:{ 
join: ['newer:sass:dev', 'newer:concat'], 
lint: ['newer:jshint', 'newer:csslint'], 
optim: ['newer:uglify', 'newer:imagemin'] 
}; 
MAKEFILE 
js
GRUNT.JS 
+ 
PHONEGAP
Workflow para desenvolvimento Web & Mobile usando grunt.js
grunt-phonegap 
npm install phonegap -g 
wrapping para Phonegap 3.0 CLI 
https://github.com/logankoester/grunt-phonegap
$ grunt phonegap 
MAKEFILE 
phonegap: { 
config: { 
root: 'www', 
config: 'www/config.xml', 
cordova: '.cordova', 
html : 'index.html', // (Optional) You may change this to any other.html 
path: 'phonegap', 
cleanBeforeBuild: true // when false the build path doesn't get regenerated 
plugins: ['/local/path/to/plugin', 'http://example.com/path/to/plugin.git'], 
platforms: ['android'], 
maxBuffer: 200, // You may need to raise this for iOS. 
verbose: false, 
releases: 'releases', 
releaseName: function(){ 
var pkg = grunt.file.readJSON('package.json'); 
return(pkg.name + '-' + pkg.version); 
} 
debuggable: false, js
features 
App Icons 
versionCode 
Android Debugging 
splash screen 
permissões 
credenciais do build.phonegap.com 
mais em http://goo.gl/ozi4pf
Workflow para desenvolvimento Web & Mobile usando grunt.js
https://github.com/davidsonfellipe/grunt-workflow
obrigado 
fellipe.com/talks 
github.com/davidsonfellipe 
twitter.com/davidsonfellipe
1 of 55

Recommended

Practical guide for front-end development for django devs by
Practical guide for front-end development for django devsPractical guide for front-end development for django devs
Practical guide for front-end development for django devsDavidson Fellipe
2.1K views62 slides
[wvbcn] Adaptive Images in Responsive Web Design by
[wvbcn] Adaptive Images in Responsive Web Design[wvbcn] Adaptive Images in Responsive Web Design
[wvbcn] Adaptive Images in Responsive Web DesignChristopher Schmitt
2.4K views165 slides
AFUP Lorraine - Symfony Webpack Encore by
AFUP Lorraine - Symfony Webpack EncoreAFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack EncoreEngineor
356 views52 slides
[peachpit] Adaptive Images in Responsive Web Design by
[peachpit] Adaptive Images in Responsive Web Design[peachpit] Adaptive Images in Responsive Web Design
[peachpit] Adaptive Images in Responsive Web DesignChristopher Schmitt
2K views168 slides
Catching-up web technologies - an endless story by
Catching-up web technologies - an endless storyCatching-up web technologies - an endless story
Catching-up web technologies - an endless storyCleber Jorge Amaral
14 views37 slides
Desktop, Web e Mobile by
Desktop, Web e MobileDesktop, Web e Mobile
Desktop, Web e MobilePaulo Moura
161 views17 slides

More Related Content

What's hot

Tooling per il tema in Drupal 8 by
Tooling per il tema in Drupal 8Tooling per il tema in Drupal 8
Tooling per il tema in Drupal 8DrupalDay
400 views46 slides
Dev tools by
Dev toolsDev tools
Dev toolsAna Coimbra Gomes
137 views47 slides
[convergese] Adaptive Images in Responsive Web Design by
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web DesignChristopher Schmitt
4.8K views90 slides
Nahlédněte za oponu VersionPressu by
Nahlédněte za oponu VersionPressuNahlédněte za oponu VersionPressu
Nahlédněte za oponu VersionPressuJan Voracek
4.7K views48 slides
[wcatx] Adaptive Images in Responsive Web Design by
[wcatx] Adaptive Images in Responsive Web Design[wcatx] Adaptive Images in Responsive Web Design
[wcatx] Adaptive Images in Responsive Web DesignChristopher Schmitt
1.9K views132 slides
CSS Regression Tests by
CSS Regression TestsCSS Regression Tests
CSS Regression TestsKaloyan Kosev
2.5K views19 slides

What's hot(19)

Tooling per il tema in Drupal 8 by DrupalDay
Tooling per il tema in Drupal 8Tooling per il tema in Drupal 8
Tooling per il tema in Drupal 8
DrupalDay400 views
[convergese] Adaptive Images in Responsive Web Design by Christopher Schmitt
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
Christopher Schmitt4.8K views
Nahlédněte za oponu VersionPressu by Jan Voracek
Nahlédněte za oponu VersionPressuNahlédněte za oponu VersionPressu
Nahlédněte za oponu VersionPressu
Jan Voracek4.7K views
[wcatx] Adaptive Images in Responsive Web Design by Christopher Schmitt
[wcatx] Adaptive Images in Responsive Web Design[wcatx] Adaptive Images in Responsive Web Design
[wcatx] Adaptive Images in Responsive Web Design
Christopher Schmitt1.9K views
How to create 360 Image/panorama & share with WebVR? by Fred Lin
How to create  360 Image/panorama & share with WebVR?How to create  360 Image/panorama & share with WebVR?
How to create 360 Image/panorama & share with WebVR?
Fred Lin1K views
[D2 오픈세미나]2.모바일웹디버깅 by NAVER D2
[D2 오픈세미나]2.모바일웹디버깅[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅
NAVER D212.7K views
Bower & Grunt - A practical workflow by Riccardo Coppola
Bower & Grunt - A practical workflowBower & Grunt - A practical workflow
Bower & Grunt - A practical workflow
Riccardo Coppola5.8K views
Netpie.io Generate MQTT Credential by Nat Weerawan
Netpie.io Generate MQTT CredentialNetpie.io Generate MQTT Credential
Netpie.io Generate MQTT Credential
Nat Weerawan3.6K views
Introduction à AngularJS by Nicolas PENNEC
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
Nicolas PENNEC2.2K views
2015 - Basta! 2015, DE: JavaScript und build by Daniel Fisher
2015 - Basta! 2015, DE: JavaScript und build2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build
Daniel Fisher819 views
JavaScript Performance (at SFJS) by Steve Souders
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
Steve Souders22.8K views
Javascript revolution front end to back end by Caesar Chi
Javascript revolution front end to back endJavascript revolution front end to back end
Javascript revolution front end to back end
Caesar Chi654 views
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers. by Nat Weerawan
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
Nat Weerawan3.9K views
Speak The Web: The HTML5 Experiments by guestd427df
Speak The Web: The HTML5 ExperimentsSpeak The Web: The HTML5 Experiments
Speak The Web: The HTML5 Experiments
guestd427df701 views
フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜 by Koji Ishimoto
フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜
フロントエンドエンジニア(仮) 〜え、ちょっとフロントやること多すぎじゃない!?〜
Koji Ishimoto39.2K views

Viewers also liked

O meu Workflow by
O meu WorkflowO meu Workflow
O meu WorkflowMarco Pereirinha
274 views27 slides
Como distribuir responsabilidades com Workflow by
Como distribuir responsabilidades com WorkflowComo distribuir responsabilidades com Workflow
Como distribuir responsabilidades com WorkflowVenki
931 views24 slides
Apresentação ECM by You Workflow/BPM Resumida by
Apresentação ECM by You Workflow/BPM ResumidaApresentação ECM by You Workflow/BPM Resumida
Apresentação ECM by You Workflow/BPM Resumidaguest9e2f3
1.3K views22 slides
AAB304 - Windows Workflow Foundation - wcamb by
AAB304 - Windows Workflow Foundation - wcambAAB304 - Windows Workflow Foundation - wcamb
AAB304 - Windows Workflow Foundation - wcambMicrosoft Brasil
727 views31 slides
Encontro ágeis - ECM e GED no gerenciamento de projetos by
Encontro ágeis - ECM e GED no gerenciamento de projetosEncontro ágeis - ECM e GED no gerenciamento de projetos
Encontro ágeis - ECM e GED no gerenciamento de projetosRenato Rodrigues, PMP, ITIL, Cobit, MBA
250 views23 slides
BRAVA KIT - Helpdesk TI by
BRAVA KIT - Helpdesk TIBRAVA KIT - Helpdesk TI
BRAVA KIT - Helpdesk TIBRAVA Tecnologia
215 views1 slide

Viewers also liked(15)

Como distribuir responsabilidades com Workflow by Venki
Como distribuir responsabilidades com WorkflowComo distribuir responsabilidades com Workflow
Como distribuir responsabilidades com Workflow
Venki931 views
Apresentação ECM by You Workflow/BPM Resumida by guest9e2f3
Apresentação ECM by You Workflow/BPM ResumidaApresentação ECM by You Workflow/BPM Resumida
Apresentação ECM by You Workflow/BPM Resumida
guest9e2f31.3K views
AAB304 - Windows Workflow Foundation - wcamb by Microsoft Brasil
AAB304 - Windows Workflow Foundation - wcambAAB304 - Windows Workflow Foundation - wcamb
AAB304 - Windows Workflow Foundation - wcamb
Microsoft Brasil727 views
Palestra Digitalizacao e Preservacao Digital: uma introdução / relato de caso by SIBiUSP
Palestra Digitalizacao e Preservacao Digital: uma introdução / relato de casoPalestra Digitalizacao e Preservacao Digital: uma introdução / relato de caso
Palestra Digitalizacao e Preservacao Digital: uma introdução / relato de caso
SIBiUSP1.5K views
Amadurecendo o workflow do projeto com práticas do Kanban by Rodrigo Branas
Amadurecendo o workflow do projeto com práticas do KanbanAmadurecendo o workflow do projeto com práticas do Kanban
Amadurecendo o workflow do projeto com práticas do Kanban
Rodrigo Branas1.1K views
Workflow, Business Intelligence e Ferramentas Colaborativas by igorc2
Workflow, Business Intelligence e Ferramentas ColaborativasWorkflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas Colaborativas
igorc2446 views
Marketing digital planejamento by Cesar Pallares
Marketing digital planejamentoMarketing digital planejamento
Marketing digital planejamento
Cesar Pallares14.1K views
Noções de Arquivologia by Charlley Luz
Noções de ArquivologiaNoções de Arquivologia
Noções de Arquivologia
Charlley Luz9.9K views

Similar to Workflow para desenvolvimento Web & Mobile usando grunt.js

Get Grulping with JavaScript Task Runners (Matt Gifford) by
Get Grulping with JavaScript Task Runners (Matt Gifford)Get Grulping with JavaScript Task Runners (Matt Gifford)
Get Grulping with JavaScript Task Runners (Matt Gifford)Future Insights
2.2K views130 slides
Javascript is your (Auto)mate by
Javascript is your (Auto)mateJavascript is your (Auto)mate
Javascript is your (Auto)mateCodemotion
1.1K views63 slides
Let Grunt do the work, focus on the fun! by
Let Grunt do the work, focus on the fun!Let Grunt do the work, focus on the fun!
Let Grunt do the work, focus on the fun!Dirk Ginader
5.8K views64 slides
Continuous Integration for front-end JavaScript by
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptLars Thorup
6.4K views15 slides
Grunt & Front-end Workflow by
Grunt & Front-end WorkflowGrunt & Front-end Workflow
Grunt & Front-end WorkflowPagepro
739 views58 slides
Jeroen Vloothuis Bend Kss To Your Will by
Jeroen Vloothuis   Bend Kss To Your WillJeroen Vloothuis   Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your WillVincenzo Barone
949 views31 slides

Similar to Workflow para desenvolvimento Web & Mobile usando grunt.js(20)

Get Grulping with JavaScript Task Runners (Matt Gifford) by Future Insights
Get Grulping with JavaScript Task Runners (Matt Gifford)Get Grulping with JavaScript Task Runners (Matt Gifford)
Get Grulping with JavaScript Task Runners (Matt Gifford)
Future Insights2.2K views
Javascript is your (Auto)mate by Codemotion
Javascript is your (Auto)mateJavascript is your (Auto)mate
Javascript is your (Auto)mate
Codemotion1.1K views
Let Grunt do the work, focus on the fun! by Dirk Ginader
Let Grunt do the work, focus on the fun!Let Grunt do the work, focus on the fun!
Let Grunt do the work, focus on the fun!
Dirk Ginader5.8K views
Continuous Integration for front-end JavaScript by Lars Thorup
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScript
Lars Thorup6.4K views
Grunt & Front-end Workflow by Pagepro
Grunt & Front-end WorkflowGrunt & Front-end Workflow
Grunt & Front-end Workflow
Pagepro739 views
Jeroen Vloothuis Bend Kss To Your Will by Vincenzo Barone
Jeroen Vloothuis   Bend Kss To Your WillJeroen Vloothuis   Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your Will
Vincenzo Barone949 views
A few good JavaScript development tools by Simon Kim
A few good JavaScript development toolsA few good JavaScript development tools
A few good JavaScript development tools
Simon Kim624 views
Let Grunt do the work, focus on the fun! [Open Web Camp 2013] by Dirk Ginader
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
Let Grunt do the work, focus on the fun! [Open Web Camp 2013]
Dirk Ginader20.7K views
How to replace rails asset pipeline with webpack? by Tomasz Bak
How to replace rails asset pipeline with webpack?How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?
Tomasz Bak1.6K views
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5) by Igor Bronovskyy
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
Igor Bronovskyy410 views
Security testing of YUI powered applications by dimisec
Security testing of YUI powered applicationsSecurity testing of YUI powered applications
Security testing of YUI powered applications
dimisec2.9K views
Npm scripts by 정윤 김
Npm scriptsNpm scripts
Npm scripts
정윤 김1.5K views
Gradle: The Build system you have been waiting for by Corneil du Plessis
Gradle: The Build system you have been waiting forGradle: The Build system you have been waiting for
Gradle: The Build system you have been waiting for
Django + Vue, JavaScript de 3ª generación para modernizar Django by Javier Abadía
Django + Vue, JavaScript de 3ª generación para modernizar DjangoDjango + Vue, JavaScript de 3ª generación para modernizar Django
Django + Vue, JavaScript de 3ª generación para modernizar Django
Javier Abadía4.6K views
Get Grulping with JavaScript Task Runners by Matt Gifford
Get Grulping with JavaScript Task RunnersGet Grulping with JavaScript Task Runners
Get Grulping with JavaScript Task Runners
Matt Gifford1.4K views
Hitchhiker's guide to the front end development by 정윤 김
Hitchhiker's guide to the front end developmentHitchhiker's guide to the front end development
Hitchhiker's guide to the front end development
정윤 김2.2K views
[Coscup 2012] JavascriptMVC by Alive Kuo
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC
Alive Kuo1.3K views
Railsconf2011 deployment tips_for_slideshare by tomcopeland
Railsconf2011 deployment tips_for_slideshareRailsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshare
tomcopeland1.4K views

More from Davidson Fellipe

O melhor da monitoração de web performance by
O melhor da monitoração de web performanceO melhor da monitoração de web performance
O melhor da monitoração de web performanceDavidson Fellipe
2.7K views68 slides
Guia do Front-end das Galáxias by
Guia do Front-end das GaláxiasGuia do Front-end das Galáxias
Guia do Front-end das GaláxiasDavidson Fellipe
17.6K views115 slides
Como é trabalhar na globocom? by
Como é trabalhar na globocom?Como é trabalhar na globocom?
Como é trabalhar na globocom?Davidson Fellipe
2.5K views52 slides
Guia prático de desenvolvimento front-end para django devs by
Guia prático de desenvolvimento front-end para django devsGuia prático de desenvolvimento front-end para django devs
Guia prático de desenvolvimento front-end para django devsDavidson Fellipe
2.6K views62 slides
Esse cara é o grunt by
Esse cara é o gruntEsse cara é o grunt
Esse cara é o gruntDavidson Fellipe
2.4K views60 slides
It's Javascript Time by
It's Javascript TimeIt's Javascript Time
It's Javascript TimeDavidson Fellipe
1.5K views99 slides

More from Davidson Fellipe(19)

O melhor da monitoração de web performance by Davidson Fellipe
O melhor da monitoração de web performanceO melhor da monitoração de web performance
O melhor da monitoração de web performance
Davidson Fellipe2.7K views
Guia do Front-end das Galáxias by Davidson Fellipe
Guia do Front-end das GaláxiasGuia do Front-end das Galáxias
Guia do Front-end das Galáxias
Davidson Fellipe17.6K views
Guia prático de desenvolvimento front-end para django devs by Davidson Fellipe
Guia prático de desenvolvimento front-end para django devsGuia prático de desenvolvimento front-end para django devs
Guia prático de desenvolvimento front-end para django devs
Davidson Fellipe2.6K views
Frontend Engineers: passado, presente e futuro by Davidson Fellipe
Frontend Engineers: passado, presente e futuroFrontend Engineers: passado, presente e futuro
Frontend Engineers: passado, presente e futuro
Davidson Fellipe1.4K views
Turbinando seu workflow para o desenvolvimento de webapps by Davidson Fellipe
Turbinando seu workflow para o desenvolvimento de webappsTurbinando seu workflow para o desenvolvimento de webapps
Turbinando seu workflow para o desenvolvimento de webapps
Davidson Fellipe2K views
Workflow Open Source para Frontend Developers by Davidson Fellipe
Workflow Open Source para Frontend DevelopersWorkflow Open Source para Frontend Developers
Workflow Open Source para Frontend Developers
Davidson Fellipe1.7K views
Os segredos dos front end engineers by Davidson Fellipe
Os segredos dos front end engineersOs segredos dos front end engineers
Os segredos dos front end engineers
Davidson Fellipe1.4K views
RioJS - Apresentação sobre o grupo by Davidson Fellipe
RioJS - Apresentação sobre o grupoRioJS - Apresentação sobre o grupo
RioJS - Apresentação sobre o grupo
Davidson Fellipe1.1K views
Tutorial Crição De Imagens Panoramicas Hugin by Davidson Fellipe
Tutorial Crição De Imagens Panoramicas HuginTutorial Crição De Imagens Panoramicas Hugin
Tutorial Crição De Imagens Panoramicas Hugin
Davidson Fellipe996 views
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC by Davidson Fellipe
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Davidson Fellipe23.3K views
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC by Davidson Fellipe
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Davidson Fellipe6.2K views

Recently uploaded

DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema by
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDeltares
12 views13 slides
How to Install and Activate Email-Researcher by
How to Install and Activate Email-ResearcherHow to Install and Activate Email-Researcher
How to Install and Activate Email-ResearchereGrabber
19 views8 slides
Roadmap y Novedades de producto by
Roadmap y Novedades de productoRoadmap y Novedades de producto
Roadmap y Novedades de productoNeo4j
43 views33 slides
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon by
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDeltares
11 views43 slides
Unleash The Monkeys by
Unleash The MonkeysUnleash The Monkeys
Unleash The MonkeysJacob Duijzer
7 views28 slides
Advanced API Mocking Techniques by
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking TechniquesDimpy Adhikary
18 views11 slides

Recently uploaded(20)

DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
Deltares12 views
How to Install and Activate Email-Researcher by eGrabber
How to Install and Activate Email-ResearcherHow to Install and Activate Email-Researcher
How to Install and Activate Email-Researcher
eGrabber19 views
Roadmap y Novedades de producto by Neo4j
Roadmap y Novedades de productoRoadmap y Novedades de producto
Roadmap y Novedades de producto
Neo4j43 views
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon by Deltares
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
Deltares11 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary18 views
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... by Deltares
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
Deltares9 views
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... by Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views
Applying Platform Engineering Thinking to Observability.pdf by Natan Yellin
Applying Platform Engineering Thinking to Observability.pdfApplying Platform Engineering Thinking to Observability.pdf
Applying Platform Engineering Thinking to Observability.pdf
Natan Yellin12 views
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023 by Icinga
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Icinga36 views
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea... by Safe Software
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Safe Software391 views
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares10 views
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... by HCLSoftware
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
HCLSoftware6 views
Les nouveautés produit Neo4j by Neo4j
 Les nouveautés produit Neo4j Les nouveautés produit Neo4j
Les nouveautés produit Neo4j
Neo4j27 views
Tridens DevOps by Tridens
Tridens DevOpsTridens DevOps
Tridens DevOps
Tridens9 views
Software testing company in India.pptx by SakshiPatel82
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptx
SakshiPatel827 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller35 views

Workflow para desenvolvimento Web & Mobile usando grunt.js