SlideShare a Scribd company logo
1 of 58
Download to read offline
angularjs services
boas práticas e reuso de código
@r_mdias
Rodolfo Dias
JavaScript Developer
at Inatel Competence Center
Recife
Recife
Recife
Recife
SRS
angularjs services
boas práticas e reuso de código
angularjs services/
Serviço-Definição
Definição
Serviço, do Latim Servitĭum
Substantivo utilizado para designar tarefa,
trabalho ou obra em execução, a ser executado
ou já realizado.
Serviços em aplicações
Serviços em aplicações - Por que usar?
- Modularização
- Organização
- Reutilização de lógica na aplicação
angularjs services/
Serviços no Angular
Serviços no Angular
$Provider
$Service
$Factory
$Constant e $Value
angularjs services/
Serviços no Angular - Cenário
<!—-index.html—->
<!DOCTYPE html>
<html lang="en" ng-app="heroesApp">
<head>
<meta charset="UTF-8">
<title>AngularJS Hero Services</title>
</head>
<body>
<div ng-controller="heroesController"></div>
<script src="angular.min.js"></script>
<script src="app.js"></script>
<script src="heroesController.js"></script>
<script src="components/heroes-provider.js"></script>
<script src="components/heroes-service.js"></script>
<script src="components/heroes-factory.js"></script>
<script src="components/heroes-constant.js"></script>
<script src="components/heroes-value.js"></script>
</body>
</html>
Serviços no Angular - Cenário
github.com/rmdias/AngularJS-Services
angularjs services/
Serviços no Angular - $provider
Serviços no Angular - $provider
//components/heroes-provider.js
'use strict';
angular
.module('heroesApp.heroesProvider', [])
.provider('heroesProvider', heroesProvider);
function heroesProvider(){
this.heroes = ['Superman', 'Flash', 'Spider Man'];
this.updateHeroes = function(newHeroes){
this.heroes = newHeroes;
}
this.$get = function() {
return this.heroes;
};
}
Serviços no Angular - $provider
//components/heroes-provider.js
'use strict';
angular
.module('heroesApp.heroesProvider', [])
.provider('heroesProvider', heroesProvider);
function heroesProvider(){
this.heroes = ['Superman', 'Flash', 'Spider Man'];
this.updateHeroes = function(newHeroes){
this.heroes = newHeroes;
}
this.$get = function() {
return this.heroes;
};
}
//components/heroes-provider.js
'use strict';
angular
.module('heroesApp.heroesProvider', [])
.provider('heroesProvider', heroesProvider);
function heroesProvider(){
this.heroes = ['Superman', 'Flash', 'Spider Man'];
this.updateHeroes = function(newHeroes){
this.heroes = newHeroes;
}
this.$get = function() {
return this.heroes;
};
}
Serviços no Angular - $provider
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesProvider']
function heroesController(heroesProvider){
console.log(heroesProvider)
};
// ['Super man', 'Flash', 'Spider Man']
Serviços no Angular - $provider
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesProvider']
function heroesController(heroesProvider){
console.log(heroesProvider)
};
// ['Super man', 'Flash', 'Spider Man']
Serviços no Angular - $provider
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesProvider']
function heroesController(heroesProvider){
console.log(heroesProvider)
};
// ['Super man', 'Flash', 'Spider Man']
Serviços no Angular - $provider
//components/heroes-provider.js
'use strict';
angular
.module('heroesApp.heroesProvider', [])
.provider('heroesProvider', heroesProvider);
function heroesProvider(){
this.heroes = ['Superman', 'Flash', 'Spider Man'];
this.updateHeroes = function(newHeroes){
this.heroes = newHeroes;
}
this.$get = function() {
return this.heroes;
};
}
Serviços no Angular - $provider
//components/heroes-provider.js
'use strict';
angular
.module('heroesApp.heroesProvider', [])
.provider('heroesProvider', heroesProvider);
function heroesProvider(){
this.heroes = ['Superman', 'Flash', 'Spider Man'];
this.updateHeroes = function(newHeroes){
this.heroes = newHeroes;
}
this.$get = function() {
return this.heroes;
};
}
Serviços no Angular - $provider
//app.js
'use strict';
angular
.module('heroesApp', [
'heroesApp.heroesProvider',
'heroesApp.heroesService',
'heroesApp.heroesFactory',
'heroesApp.heroesConstant',
'heroesApp.heroesValue',
'heroesApp.heroesController'
])
.config(function(heroesProviderProvider){
var newHeroes = ['Wesley Safadão', 'Batman', 'Captain America'];
heroesProviderProvider.updateHeroes(newHeroes);
});
Serviços no Angular - $provider
//app.js
'use strict';
angular
.module('heroesApp', [
'heroesApp.heroesProvider',
'heroesApp.heroesService',
'heroesApp.heroesFactory',
'heroesApp.heroesConstant',
'heroesApp.heroesValue',
'heroesApp.heroesController'
])
.config(function(heroesProviderProvider){
var newHeroes = ['Wesley Safadão', 'Batman', 'Captain America'];
heroesProviderProvider.updateHeroes(newHeroes);
});
Serviços no Angular - $provider
//app.js
'use strict';
angular
.module('heroesApp', [
'heroesApp.heroesProvider',
'heroesApp.heroesService',
'heroesApp.heroesFactory',
'heroesApp.heroesConstant',
'heroesApp.heroesValue',
'heroesApp.heroesController'
])
.config(function(heroesProviderProvider){
var newHeroes = ['Wesley Safadão', 'Batman', 'Captain America'];
heroesProviderProvider.updateHeroes(newHeroes);
});
Serviços no Angular - $provider
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesProvider']
function heroesController(heroesProvider){
console.log(heroesProvider)
};
// Vai Safadão, Vai Safadão!
Serviços no Angular - $provider
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesProvider']
function heroesController(heroesProvider){
console.log(heroesProvider)
};
// ['Wesley Safadão', 'Batman', 'Captain America']
Serviços no Angular - $provider
angularjs services/
Serviços no Angular - $service
Serviços no Angular - $service
//components/heroes-service.js
'use strict';
angular
.module('heroesApp.heroesService', [])
.service('heroesService', heroesService);
function heroesService(){
this.heroes = ['Wesley Safadão', 'Batman', 'Captain America'];
this.getHeroPower = function(hero) {
// getHeroPower o/
};
};
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesService']
function heroesController(heroesService){
console.log(heroesService)
};
// heroesService {heroes: Array[3]}
Serviços no Angular - $service
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesService']
function heroesController(heroesService){
console.log(heroesService)
};
// heroesService {heroes: Array[3]}
Serviços no Angular - $service
Serviços no Angular - $service
//components/heroes-service.js
'use strict';
angular
.module('heroesApp.heroesService', [])
.service('heroesService', heroesService);
function heroesService(){
this.heroes = ['Wesley Safadão', 'Batman', 'Captain America'];
this.getHeroPower = function(hero) {
// getHeroPower o/
};
};
Serviços no Angular - $service
//components/heroes-service.js
'use strict';
angular
.module('heroesApp.heroesService', [])
.service('heroesService', heroesService);
function heroesService(){
this.heroes = ['Wesley Safadão', 'Batman', 'Captain America'];
this.getHeroPower = function(hero) {
// getHeroPower o/
};
};
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesService']
function heroesController(heroesService){
console.log(heroesService)
};
// heroesService {heroes: Array[3], getHeroPower: function(hero)}
Serviços no Angular - $service
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesService']
function heroesController(heroesService){
console.log(heroesService)
};
// heroesService {heroes: Array[3], getHeroPower: function(hero)}
Serviços no Angular - $service
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesService']
function heroesController(heroesService){
heroesService.getHeroPower('Wesley Safadão');
};
// heroesService {heroes: Array[3], getHeroPower: function(hero)}
Serviços no Angular - $service
angularjs services/
Serviços no Angular - $factory
Serviços no Angular - $factory
//components/heroes-factory.js
angular
.module('heroesApp.heroesFactory', [])
.factory('heroesFactory', heroesFactory);
function heroesFactory(){
var heroes = ['Wesley Safadão', 'Batman', 'Captain America'];
return {
heroes : heroes
getHeroPower : getHeroPower
};
function getHeroPower(hero){
// getHeroPower o/
};
};
Serviços no Angular - $factory
//components/heroes-factory.js
angular
.module('heroesApp.heroesFactory', [])
.factory('heroesFactory', heroesFactory);
function heroesFactory(){
var heroes = ['Wesley Safadão', 'Batman', 'Captain America'];
return {
heroes : heroes
getHeroPower : getHeroPower
};
function getHeroPower(hero){
// getHeroPower o/
};
};
Serviços no Angular - $factory
//components/heroes-factory.js
angular
.module('heroesApp.heroesFactory', [])
.factory('heroesFactory', heroesFactory);
function heroesFactory(){
var heroes = ['Wesley Safadão', 'Batman', 'Captain America'];
return {
heroes : heroes
getHeroPower : getHeroPower
};
function getHeroPower(hero){
// getHeroPower o/
};
};
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesFactory']
function heroesController(heroesFactory){
console.log(heroesFactory)
};
// Object {heroes: Array[3]}
Serviços no Angular - $factory
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesFactory']
function heroesController(heroesFactory){
console.log(heroesFactory)
};
// Object {heroes: Array[3]}
Serviços no Angular - $factory
// h
'use strict';
angular
.module('heroesApp.heroesControll
.controller('heroesController', h
heroesController.$inject = ['hero
function heroesController(heroesS
console.log(heroesService)
};
// heroesService {heroes: Array[3
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesFactory']
function heroesController(heroesFactory){
console.log(heroesFactory)
};
// Object {heroes: Array[3]}
Serviços no Angular - $factory
Serviços no Angular - $factory
//components/heroes-factory.js
angular
.module('heroesApp.heroesFactory', [])
.factory('heroesFactory', heroesFactory);
function heroesFactory(){
var heroes = ['Wesley Safadão', 'Batman', 'Captain America'];
return {
heroes : heroes
getHeroPower : getHeroPower
};
function getHeroPower(hero){
// getHeroPower o/
};
};
Serviços no Angular - $factory
//components/heroes-factory.js
angular
.module('heroesApp.heroesFactory', [])
.factory('heroesFactory', heroesFactory);
function heroesFactory(){
var heroes = ['Wesley Safadão', 'Batman', 'Captain America'];
return {
heroes : heroes
getHeroPower : getHeroPower
};
function getHeroPower(hero){
// getHeroPower o/
};
};
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesFactory']
function heroesController(heroesFactory){
console.log(heroesFactory)
};
// Object {heroes: Array[3], getHeroPower: getHeroPower(hero)}
Serviços no Angular - $factory
// heroesController.js
'use strict';
angular
.module('heroesApp.heroesController', [])
.controller('heroesController', heroesController);
heroesController.$inject = ['heroesFactory']
function heroesController(heroesFactory){
heroesFactory.getHeroPower('Wesley Safadão');
};
// Object {heroes: Array[3], getHeroPower: getHeroPower(hero)}
Serviços no Angular - $factory
angularjs services/
Serviços no Angular - $constant
Serviços no Angular - $constant
//components/heroes-constant.js
'use strict';
angular
.module('heroesApp.heroesConstant', [])
.constant('heroesConstant', 'HERO!');
angularjs services/
Serviços no Angular - $value
Serviços no Angular - $value
//components/heroes-value.js
'use strict';
angular
.module('heroesApp.heroesValue', [])
.value('heroesValue', 'HERO!');
angularjs services/
Serviços no Angular
angularjs services: boas práticas e reuso de código /
obrigado

More Related Content

Viewers also liked

TDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital TransformationTDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital Transformationtdc-globalcode
 
TDC2016SP - Trilha Embarcados
TDC2016SP - Trilha EmbarcadosTDC2016SP - Trilha Embarcados
TDC2016SP - Trilha Embarcadostdc-globalcode
 
TDC2016SP - Trilha Embarcados
TDC2016SP - Trilha EmbarcadosTDC2016SP - Trilha Embarcados
TDC2016SP - Trilha Embarcadostdc-globalcode
 
TDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital TransformationTDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital Transformationtdc-globalcode
 
TDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital TransformationTDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital Transformationtdc-globalcode
 
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScriptTDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScripttdc-globalcode
 
TDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital TransformationTDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital Transformationtdc-globalcode
 
Schluchtensteig - Impressionen und Höhenprofile
Schluchtensteig - Impressionen und HöhenprofileSchluchtensteig - Impressionen und Höhenprofile
Schluchtensteig - Impressionen und Höhenprofilepweiland
 
C749GREENgradingESCONDIDObinder0001
C749GREENgradingESCONDIDObinder0001C749GREENgradingESCONDIDObinder0001
C749GREENgradingESCONDIDObinder0001Hector Lara, PE
 
20080905 Vv Bericht Jt
20080905 Vv Bericht Jt20080905 Vv Bericht Jt
20080905 Vv Bericht Jtsymchaotisch
 
Integrated Travel Destination Collaboration
Integrated Travel Destination CollaborationIntegrated Travel Destination Collaboration
Integrated Travel Destination CollaborationKC Yoon
 
Законы и государственные институты, регламентирующие внешнеэкономическую деят...
Законы и государственные институты, регламентирующие внешнеэкономическую деят...Законы и государственные институты, регламентирующие внешнеэкономическую деят...
Законы и государственные институты, регламентирующие внешнеэкономическую деят...BDA
 
TDC2016SP - Cross-Platform Development with C#
TDC2016SP - Cross-Platform Development with C#TDC2016SP - Cross-Platform Development with C#
TDC2016SP - Cross-Platform Development with C#tdc-globalcode
 
Pol 252 development_political_economy
Pol 252 development_political_economyPol 252 development_political_economy
Pol 252 development_political_economyatrantham
 
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...tdc-globalcode
 
TDC2016SP - Construindo Web APIs em Java na era do Big Data
TDC2016SP - Construindo Web APIs em Java na era do Big DataTDC2016SP - Construindo Web APIs em Java na era do Big Data
TDC2016SP - Construindo Web APIs em Java na era do Big Datatdc-globalcode
 

Viewers also liked (20)

TDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital TransformationTDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital Transformation
 
TDC2016SP - Trilha Embarcados
TDC2016SP - Trilha EmbarcadosTDC2016SP - Trilha Embarcados
TDC2016SP - Trilha Embarcados
 
TDC2016SP - Trilha Embarcados
TDC2016SP - Trilha EmbarcadosTDC2016SP - Trilha Embarcados
TDC2016SP - Trilha Embarcados
 
TDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital TransformationTDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital Transformation
 
TDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital TransformationTDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital Transformation
 
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScriptTDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScript
 
TDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital TransformationTDC2016SP - Trilha Digital Transformation
TDC2016SP - Trilha Digital Transformation
 
Schluchtensteig - Impressionen und Höhenprofile
Schluchtensteig - Impressionen und HöhenprofileSchluchtensteig - Impressionen und Höhenprofile
Schluchtensteig - Impressionen und Höhenprofile
 
C749GREENgradingESCONDIDObinder0001
C749GREENgradingESCONDIDObinder0001C749GREENgradingESCONDIDObinder0001
C749GREENgradingESCONDIDObinder0001
 
20080905 Vv Bericht Jt
20080905 Vv Bericht Jt20080905 Vv Bericht Jt
20080905 Vv Bericht Jt
 
127 Gardner St
127 Gardner St127 Gardner St
127 Gardner St
 
Integrated Travel Destination Collaboration
Integrated Travel Destination CollaborationIntegrated Travel Destination Collaboration
Integrated Travel Destination Collaboration
 
Законы и государственные институты, регламентирующие внешнеэкономическую деят...
Законы и государственные институты, регламентирующие внешнеэкономическую деят...Законы и государственные институты, регламентирующие внешнеэкономическую деят...
Законы и государственные институты, регламентирующие внешнеэкономическую деят...
 
Presentacion de blog
Presentacion de blogPresentacion de blog
Presentacion de blog
 
Tics en al educacion
Tics en al educacionTics en al educacion
Tics en al educacion
 
otakus
otakus otakus
otakus
 
TDC2016SP - Cross-Platform Development with C#
TDC2016SP - Cross-Platform Development with C#TDC2016SP - Cross-Platform Development with C#
TDC2016SP - Cross-Platform Development with C#
 
Pol 252 development_political_economy
Pol 252 development_political_economyPol 252 development_political_economy
Pol 252 development_political_economy
 
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
 
TDC2016SP - Construindo Web APIs em Java na era do Big Data
TDC2016SP - Construindo Web APIs em Java na era do Big DataTDC2016SP - Construindo Web APIs em Java na era do Big Data
TDC2016SP - Construindo Web APIs em Java na era do Big Data
 

More from tdc-globalcode

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadetdc-globalcode
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...tdc-globalcode
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucessotdc-globalcode
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPAtdc-globalcode
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinotdc-globalcode
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...tdc-globalcode
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicestdc-globalcode
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publicatdc-globalcode
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#tdc-globalcode
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocustdc-globalcode
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?tdc-globalcode
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golangtdc-globalcode
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QAtdc-globalcode
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciatdc-globalcode
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Servicetdc-globalcode
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETtdc-globalcode
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8tdc-globalcode
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...tdc-globalcode
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#tdc-globalcode
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Coretdc-globalcode
 

More from tdc-globalcode (20)

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 

Recently uploaded

Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmibookbahareshariat
 
مختصر علم احكام القرآن فقه القرآن وفق منهج العرض
مختصر علم احكام القرآن فقه القرآن وفق منهج العرضمختصر علم احكام القرآن فقه القرآن وفق منهج العرض
مختصر علم احكام القرآن فقه القرآن وفق منهج العرضأنور غني الموسوي
 
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmibookbahareshariat
 
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmibookbahareshariat
 
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...Nguyen Thanh Tu Collection
 
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaranFAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaransekolah233
 
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...Nguyen Thanh Tu Collection
 

Recently uploaded (9)

LAR MARIA MÃE DE ÁFRICA .
LAR MARIA MÃE DE ÁFRICA                 .LAR MARIA MÃE DE ÁFRICA                 .
LAR MARIA MÃE DE ÁFRICA .
 
Energy drink .
Energy drink                           .Energy drink                           .
Energy drink .
 
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
 
مختصر علم احكام القرآن فقه القرآن وفق منهج العرض
مختصر علم احكام القرآن فقه القرآن وفق منهج العرضمختصر علم احكام القرآن فقه القرآن وفق منهج العرض
مختصر علم احكام القرآن فقه القرآن وفق منهج العرض
 
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
 
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
 
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
 
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaranFAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
 
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
 

TDC2016SP - Trilha Frameworks JavaScript