SlideShare uma empresa Scribd logo

TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch

Desenvolvendo um buscador com PHP e Elasticsearch

1 de 70
Baixar para ler offline
Desenvolvendo um buscador com
PHP e Elasticsearch
Fernando Silva
@FernandoDebrand
Sobre mim!
Eu sou Fernando Silva
Analista de Desenvolvimento
Visão Geral
◎ Comunidade
◎ Stack Elastic
◎ Elasticsearch
◉ Características
◉ Arquitetura
◉ Apache Lucene
◉ Cluster e Índice
◉ API RESTful / Clients
◎ Grandes projetos que usam
◎ Instalando e configurando
◎ Exemplos de utilização com PHP
◎ Ferramentas e frameworks
Comunidade Elastic
Comunidade Elastic
https://www.elastic.co/community
Forums | Meetups | Canais IRC Freenode
Comunidade Elastic

Recomendados

Autenticacao em APIs com SSL
Autenticacao em APIs com SSLAutenticacao em APIs com SSL
Autenticacao em APIs com SSLMarcelo Milhomem
 
Segurança de APIs HTTP, um guia sensato para desenvolvedores preocupados
Segurança de APIs HTTP, um guia sensato para desenvolvedores preocupadosSegurança de APIs HTTP, um guia sensato para desenvolvedores preocupados
Segurança de APIs HTTP, um guia sensato para desenvolvedores preocupadosLuis Cipriani
 
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014Tiago Marchetti Dolphine
 
APIs seguras com OAuth2
APIs seguras com OAuth2APIs seguras com OAuth2
APIs seguras com OAuth2Luiz Messias
 
TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2Rodrigo Cândido da Silva
 
OAuth 1.0 vs OAuth 2.0 - Principais diferenças e as razões para a criação de ...
OAuth 1.0 vs OAuth 2.0 - Principais diferenças e as razões para a criação de ...OAuth 1.0 vs OAuth 2.0 - Principais diferenças e as razões para a criação de ...
OAuth 1.0 vs OAuth 2.0 - Principais diferenças e as razões para a criação de ...Joao Alves
 
Bypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasilBypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasilWilliam Costa
 

Mais conteúdo relacionado

Mais procurados

JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2Rodrigo Cândido da Silva
 
Proteja sua aplicação com o zend framework 2
Proteja sua aplicação com o zend framework 2Proteja sua aplicação com o zend framework 2
Proteja sua aplicação com o zend framework 2Cyrille Grandval
 
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTJavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTRodrigo Cândido da Silva
 
Segurança & Ruby on Rails
Segurança & Ruby on RailsSegurança & Ruby on Rails
Segurança & Ruby on RailsJulio Monteiro
 

Mais procurados (6)

JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
 
"Hacking+PHP"
"Hacking+PHP""Hacking+PHP"
"Hacking+PHP"
 
Proteja sua aplicação com o zend framework 2
Proteja sua aplicação com o zend framework 2Proteja sua aplicação com o zend framework 2
Proteja sua aplicação com o zend framework 2
 
Seja um ninja em AWS IAM
Seja um ninja em AWS IAMSeja um ninja em AWS IAM
Seja um ninja em AWS IAM
 
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTJavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
 
Segurança & Ruby on Rails
Segurança & Ruby on RailsSegurança & Ruby on Rails
Segurança & Ruby on Rails
 

Destaque

JWT Authentication with AngularJS
JWT Authentication with AngularJSJWT Authentication with AngularJS
JWT Authentication with AngularJSrobertjd
 
Bigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoopBigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadooptdc-globalcode
 
Social Miner: Webinar people marketing em 30 min
Social Miner: Webinar people marketing em 30 minSocial Miner: Webinar people marketing em 30 min
Social Miner: Webinar people marketing em 30 minSocial Miner
 
Token Based Authentication Systems with AngularJS & NodeJS
Token Based Authentication Systems with AngularJS & NodeJSToken Based Authentication Systems with AngularJS & NodeJS
Token Based Authentication Systems with AngularJS & NodeJSHüseyin BABAL
 
Elasticsearch de dentro para fora
Elasticsearch de dentro para foraElasticsearch de dentro para fora
Elasticsearch de dentro para foraWaldemar Neto
 
TDC2016POA | Trilha DevOps - DevOps Anti-Patterns
TDC2016POA | Trilha DevOps - DevOps Anti-PatternsTDC2016POA | Trilha DevOps - DevOps Anti-Patterns
TDC2016POA | Trilha DevOps - DevOps Anti-Patternstdc-globalcode
 
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELK
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELKTDC2016POA | Trilha DevOps - Monitoramento real-time com ELK
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELKtdc-globalcode
 
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...tdc-globalcode
 
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!tdc-globalcode
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...tdc-globalcode
 
TDC2016POA | Trilha Android - Firebase Cloud Messaging para Android e IoT
TDC2016POA | Trilha Android - Firebase Cloud Messaging para Android e IoTTDC2016POA | Trilha Android - Firebase Cloud Messaging para Android e IoT
TDC2016POA | Trilha Android - Firebase Cloud Messaging para Android e IoTtdc-globalcode
 
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?	TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra? tdc-globalcode
 
TDC2016POA | Trilha Arduino - A Prática do Arduino em Ensino: o Case de um La...
TDC2016POA | Trilha Arduino - A Prática do Arduino em Ensino: o Case de um La...TDC2016POA | Trilha Arduino - A Prática do Arduino em Ensino: o Case de um La...
TDC2016POA | Trilha Arduino - A Prática do Arduino em Ensino: o Case de um La...tdc-globalcode
 
TDC2016POA | Trilha Android - Monetização: conheça a rede de anúncios que pag...
TDC2016POA | Trilha Android - Monetização: conheça a rede de anúncios que pag...TDC2016POA | Trilha Android - Monetização: conheça a rede de anúncios que pag...
TDC2016POA | Trilha Android - Monetização: conheça a rede de anúncios que pag...tdc-globalcode
 
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...tdc-globalcode
 
TDC2016POA | Trilha Dinamica - Desenvolvimento de Ideias através de Brainwriting
TDC2016POA | Trilha Dinamica - Desenvolvimento de Ideias através de BrainwritingTDC2016POA | Trilha Dinamica - Desenvolvimento de Ideias através de Brainwriting
TDC2016POA | Trilha Dinamica - Desenvolvimento de Ideias através de Brainwritingtdc-globalcode
 
TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?
TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?
TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?tdc-globalcode
 
TDC 2016 |Trilha DevOps - Dissecando e entendendo pipelines de entrega de sof...
TDC 2016 |Trilha DevOps - Dissecando e entendendo pipelines de entrega de sof...TDC 2016 |Trilha DevOps - Dissecando e entendendo pipelines de entrega de sof...
TDC 2016 |Trilha DevOps - Dissecando e entendendo pipelines de entrega de sof...tdc-globalcode
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Androidtdc-globalcode
 
TDC2016POA | Trilha Android - Construa um app consciente com a Google Awarene...
TDC2016POA | Trilha Android - Construa um app consciente com a Google Awarene...TDC2016POA | Trilha Android - Construa um app consciente com a Google Awarene...
TDC2016POA | Trilha Android - Construa um app consciente com a Google Awarene...tdc-globalcode
 

Destaque (20)

JWT Authentication with AngularJS
JWT Authentication with AngularJSJWT Authentication with AngularJS
JWT Authentication with AngularJS
 
Bigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoopBigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoop
 
Social Miner: Webinar people marketing em 30 min
Social Miner: Webinar people marketing em 30 minSocial Miner: Webinar people marketing em 30 min
Social Miner: Webinar people marketing em 30 min
 
Token Based Authentication Systems with AngularJS & NodeJS
Token Based Authentication Systems with AngularJS & NodeJSToken Based Authentication Systems with AngularJS & NodeJS
Token Based Authentication Systems with AngularJS & NodeJS
 
Elasticsearch de dentro para fora
Elasticsearch de dentro para foraElasticsearch de dentro para fora
Elasticsearch de dentro para fora
 
TDC2016POA | Trilha DevOps - DevOps Anti-Patterns
TDC2016POA | Trilha DevOps - DevOps Anti-PatternsTDC2016POA | Trilha DevOps - DevOps Anti-Patterns
TDC2016POA | Trilha DevOps - DevOps Anti-Patterns
 
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELK
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELKTDC2016POA | Trilha DevOps - Monitoramento real-time com ELK
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELK
 
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...
 
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
 
TDC2016POA | Trilha Android - Firebase Cloud Messaging para Android e IoT
TDC2016POA | Trilha Android - Firebase Cloud Messaging para Android e IoTTDC2016POA | Trilha Android - Firebase Cloud Messaging para Android e IoT
TDC2016POA | Trilha Android - Firebase Cloud Messaging para Android e IoT
 
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?	TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?
 
TDC2016POA | Trilha Arduino - A Prática do Arduino em Ensino: o Case de um La...
TDC2016POA | Trilha Arduino - A Prática do Arduino em Ensino: o Case de um La...TDC2016POA | Trilha Arduino - A Prática do Arduino em Ensino: o Case de um La...
TDC2016POA | Trilha Arduino - A Prática do Arduino em Ensino: o Case de um La...
 
TDC2016POA | Trilha Android - Monetização: conheça a rede de anúncios que pag...
TDC2016POA | Trilha Android - Monetização: conheça a rede de anúncios que pag...TDC2016POA | Trilha Android - Monetização: conheça a rede de anúncios que pag...
TDC2016POA | Trilha Android - Monetização: conheça a rede de anúncios que pag...
 
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
 
TDC2016POA | Trilha Dinamica - Desenvolvimento de Ideias através de Brainwriting
TDC2016POA | Trilha Dinamica - Desenvolvimento de Ideias através de BrainwritingTDC2016POA | Trilha Dinamica - Desenvolvimento de Ideias através de Brainwriting
TDC2016POA | Trilha Dinamica - Desenvolvimento de Ideias através de Brainwriting
 
TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?
TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?
TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?
 
TDC 2016 |Trilha DevOps - Dissecando e entendendo pipelines de entrega de sof...
TDC 2016 |Trilha DevOps - Dissecando e entendendo pipelines de entrega de sof...TDC 2016 |Trilha DevOps - Dissecando e entendendo pipelines de entrega de sof...
TDC 2016 |Trilha DevOps - Dissecando e entendendo pipelines de entrega de sof...
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
 
TDC2016POA | Trilha Android - Construa um app consciente com a Google Awarene...
TDC2016POA | Trilha Android - Construa um app consciente com a Google Awarene...TDC2016POA | Trilha Android - Construa um app consciente com a Google Awarene...
TDC2016POA | Trilha Android - Construa um app consciente com a Google Awarene...
 

Semelhante a TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch

TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...tdc-globalcode
 
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017Palestra Elasticsearch - The Developers Conference - São Paulo - 2017
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017Thiago Barradas
 
Novidades do elasticsearch 2.0 e como usá-lo com PHP
Novidades do elasticsearch 2.0 e como usá-lo com PHPNovidades do elasticsearch 2.0 e como usá-lo com PHP
Novidades do elasticsearch 2.0 e como usá-lo com PHPLuiz Henrique Zambom Santana
 
Monitoramento de Aplicações Web Modernas com Zabbix
Monitoramento de Aplicações Web Modernas com ZabbixMonitoramento de Aplicações Web Modernas com Zabbix
Monitoramento de Aplicações Web Modernas com ZabbixAndré Déo
 
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Erisvaldo Junior
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONAmbiente Livre
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONMarcio Junior Vieira
 
Um passo em frente com o Entity Framework - Henrry Pires
Um passo em frente com o Entity Framework - Henrry PiresUm passo em frente com o Entity Framework - Henrry Pires
Um passo em frente com o Entity Framework - Henrry PiresComunidade NetPonto
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSPledsifes
 
MongoDB - Performance e Escalabilidade para aplicações web
MongoDB - Performance e Escalabilidade para aplicações webMongoDB - Performance e Escalabilidade para aplicações web
MongoDB - Performance e Escalabilidade para aplicações webRafael Nunes
 
Como o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasComo o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasWaldemar Neto
 
Android DevConference - Elastic Search como ferramenta de busca em aplicações...
Android DevConference - Elastic Search como ferramenta de busca em aplicações...Android DevConference - Elastic Search como ferramenta de busca em aplicações...
Android DevConference - Elastic Search como ferramenta de busca em aplicações...iMasters
 
Fluent NHibernate - Baby Steps
Fluent NHibernate - Baby StepsFluent NHibernate - Baby Steps
Fluent NHibernate - Baby StepsAndré Agostinho
 

Semelhante a TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch (20)

Primeiros Passos Com Elasticsearch
Primeiros Passos Com ElasticsearchPrimeiros Passos Com Elasticsearch
Primeiros Passos Com Elasticsearch
 
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...
 
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017Palestra Elasticsearch - The Developers Conference - São Paulo - 2017
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
 
Novidades do elasticsearch 2.0 e como usá-lo com PHP
Novidades do elasticsearch 2.0 e como usá-lo com PHPNovidades do elasticsearch 2.0 e como usá-lo com PHP
Novidades do elasticsearch 2.0 e como usá-lo com PHP
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Construindo um Data Lake na AWS
Construindo um Data Lake na AWSConstruindo um Data Lake na AWS
Construindo um Data Lake na AWS
 
Monitoramento de Aplicações Web Modernas com Zabbix
Monitoramento de Aplicações Web Modernas com ZabbixMonitoramento de Aplicações Web Modernas com Zabbix
Monitoramento de Aplicações Web Modernas com Zabbix
 
Arquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXIArquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXI
 
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Um passo em frente com o Entity Framework - Henrry Pires
Um passo em frente com o Entity Framework - Henrry PiresUm passo em frente com o Entity Framework - Henrry Pires
Um passo em frente com o Entity Framework - Henrry Pires
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 
Palestra
PalestraPalestra
Palestra
 
MongoDB - Performance e Escalabilidade para aplicações web
MongoDB - Performance e Escalabilidade para aplicações webMongoDB - Performance e Escalabilidade para aplicações web
MongoDB - Performance e Escalabilidade para aplicações web
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
Como o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasComo o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscas
 
Android DevConference - Elastic Search como ferramenta de busca em aplicações...
Android DevConference - Elastic Search como ferramenta de busca em aplicações...Android DevConference - Elastic Search como ferramenta de busca em aplicações...
Android DevConference - Elastic Search como ferramenta de busca em aplicações...
 
Fluent NHibernate - Baby Steps
Fluent NHibernate - Baby StepsFluent NHibernate - Baby Steps
Fluent NHibernate - Baby Steps
 

Mais de 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
 

Mais de 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
 

Último

Domínio da Linguagem Oral Classificação Sílaba Inicial
Domínio da Linguagem  Oral Classificação Sílaba InicialDomínio da Linguagem  Oral Classificação Sílaba Inicial
Domínio da Linguagem Oral Classificação Sílaba InicialTeresaCosta92
 
Ficha de trabalho | EURO - 25 anos do lançamento da moeda única
Ficha de trabalho | EURO - 25 anos do lançamento da moeda únicaFicha de trabalho | EURO - 25 anos do lançamento da moeda única
Ficha de trabalho | EURO - 25 anos do lançamento da moeda únicaCentro Jacques Delors
 
1) Cálculo completo e o resultado da densidade corporal da Carolina. Utilize ...
1) Cálculo completo e o resultado da densidade corporal da Carolina. Utilize ...1) Cálculo completo e o resultado da densidade corporal da Carolina. Utilize ...
1) Cálculo completo e o resultado da densidade corporal da Carolina. Utilize ...azulassessoriaacadem3
 
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...azulassessoriaacadem3
 
Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...
Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...
Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...azulassessoriaacadem3
 
Ainda nessa perspectiva, mencione ao menos três desafios associados à aplicaç...
Ainda nessa perspectiva, mencione ao menos três desafios associados à aplicaç...Ainda nessa perspectiva, mencione ao menos três desafios associados à aplicaç...
Ainda nessa perspectiva, mencione ao menos três desafios associados à aplicaç...apoioacademicoead
 
01. Considerando as informações da imagem acima, explique de formas simples e...
01. Considerando as informações da imagem acima, explique de formas simples e...01. Considerando as informações da imagem acima, explique de formas simples e...
01. Considerando as informações da imagem acima, explique de formas simples e...azulassessoriaacadem3
 
5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...
5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...
5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...azulassessoriaacadem3
 
Atividade O homem mais rico da Babilônia.pdf
Atividade O homem mais rico da Babilônia.pdfAtividade O homem mais rico da Babilônia.pdf
Atividade O homem mais rico da Babilônia.pdfRuannSolza
 
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...azulassessoriaacadem3
 
1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...
1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...
1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...azulassessoriaacadem3
 
Quiz | EURO - 25 anos do lançamento da moeda única
Quiz | EURO - 25 anos do lançamento da moeda únicaQuiz | EURO - 25 anos do lançamento da moeda única
Quiz | EURO - 25 anos do lançamento da moeda únicaCentro Jacques Delors
 
2. Considerando todas as informações que você obteve, descritas acima, sabend...
2. Considerando todas as informações que você obteve, descritas acima, sabend...2. Considerando todas as informações que você obteve, descritas acima, sabend...
2. Considerando todas as informações que você obteve, descritas acima, sabend...azulassessoriaacadem3
 
c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...
c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...
c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...azulassessoriaacadem3
 
Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...
Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...
Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...manoelaarmani
 
CRUZADINA E CAÇA-PALAVRAS SOBRE PATRIMONIO HISTÓRICO.docx
CRUZADINA  E CAÇA-PALAVRAS SOBRE PATRIMONIO HISTÓRICO.docxCRUZADINA  E CAÇA-PALAVRAS SOBRE PATRIMONIO HISTÓRICO.docx
CRUZADINA E CAÇA-PALAVRAS SOBRE PATRIMONIO HISTÓRICO.docxJean Carlos Nunes Paixão
 
004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd
004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd
004820000101011 (15).pdffdfdfddddddddddddddddddddddddddddddddddddRenandantas16
 
1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...
1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...
1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...azulassessoriaacadem3
 
a. Cite e explique os três princípios básicos da progressão do treinamento de...
a. Cite e explique os três princípios básicos da progressão do treinamento de...a. Cite e explique os três princípios básicos da progressão do treinamento de...
a. Cite e explique os três princípios básicos da progressão do treinamento de...excellenceeducaciona
 
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...azulassessoriaacadem3
 

Último (20)

Domínio da Linguagem Oral Classificação Sílaba Inicial
Domínio da Linguagem  Oral Classificação Sílaba InicialDomínio da Linguagem  Oral Classificação Sílaba Inicial
Domínio da Linguagem Oral Classificação Sílaba Inicial
 
Ficha de trabalho | EURO - 25 anos do lançamento da moeda única
Ficha de trabalho | EURO - 25 anos do lançamento da moeda únicaFicha de trabalho | EURO - 25 anos do lançamento da moeda única
Ficha de trabalho | EURO - 25 anos do lançamento da moeda única
 
1) Cálculo completo e o resultado da densidade corporal da Carolina. Utilize ...
1) Cálculo completo e o resultado da densidade corporal da Carolina. Utilize ...1) Cálculo completo e o resultado da densidade corporal da Carolina. Utilize ...
1) Cálculo completo e o resultado da densidade corporal da Carolina. Utilize ...
 
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
 
Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...
Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...
Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...
 
Ainda nessa perspectiva, mencione ao menos três desafios associados à aplicaç...
Ainda nessa perspectiva, mencione ao menos três desafios associados à aplicaç...Ainda nessa perspectiva, mencione ao menos três desafios associados à aplicaç...
Ainda nessa perspectiva, mencione ao menos três desafios associados à aplicaç...
 
01. Considerando as informações da imagem acima, explique de formas simples e...
01. Considerando as informações da imagem acima, explique de formas simples e...01. Considerando as informações da imagem acima, explique de formas simples e...
01. Considerando as informações da imagem acima, explique de formas simples e...
 
5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...
5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...
5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...
 
Atividade O homem mais rico da Babilônia.pdf
Atividade O homem mais rico da Babilônia.pdfAtividade O homem mais rico da Babilônia.pdf
Atividade O homem mais rico da Babilônia.pdf
 
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
 
1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...
1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...
1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...
 
Quiz | EURO - 25 anos do lançamento da moeda única
Quiz | EURO - 25 anos do lançamento da moeda únicaQuiz | EURO - 25 anos do lançamento da moeda única
Quiz | EURO - 25 anos do lançamento da moeda única
 
2. Considerando todas as informações que você obteve, descritas acima, sabend...
2. Considerando todas as informações que você obteve, descritas acima, sabend...2. Considerando todas as informações que você obteve, descritas acima, sabend...
2. Considerando todas as informações que você obteve, descritas acima, sabend...
 
c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...
c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...
c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...
 
Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...
Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...
Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...
 
CRUZADINA E CAÇA-PALAVRAS SOBRE PATRIMONIO HISTÓRICO.docx
CRUZADINA  E CAÇA-PALAVRAS SOBRE PATRIMONIO HISTÓRICO.docxCRUZADINA  E CAÇA-PALAVRAS SOBRE PATRIMONIO HISTÓRICO.docx
CRUZADINA E CAÇA-PALAVRAS SOBRE PATRIMONIO HISTÓRICO.docx
 
004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd
004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd
004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd
 
1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...
1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...
1. Solicitar ao entrevistado uma breve apresentação da organização, mencionan...
 
a. Cite e explique os três princípios básicos da progressão do treinamento de...
a. Cite e explique os três princípios básicos da progressão do treinamento de...a. Cite e explique os três princípios básicos da progressão do treinamento de...
a. Cite e explique os três princípios básicos da progressão do treinamento de...
 
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
 

TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch

  • 1. Desenvolvendo um buscador com PHP e Elasticsearch Fernando Silva @FernandoDebrand
  • 2. Sobre mim! Eu sou Fernando Silva Analista de Desenvolvimento
  • 3. Visão Geral ◎ Comunidade ◎ Stack Elastic ◎ Elasticsearch ◉ Características ◉ Arquitetura ◉ Apache Lucene ◉ Cluster e Índice ◉ API RESTful / Clients ◎ Grandes projetos que usam ◎ Instalando e configurando ◎ Exemplos de utilização com PHP ◎ Ferramentas e frameworks
  • 10. Elasticsearch Elasticsearch é uma ferramenta de busca e análise de dados em tempo real, de código aberto (open source), projetada para escalabilidade horizontal, confiável e de fácil gerenciamento. Combinando velocidade de pesquisa e poder de análise, através de uma linguagem sofisticada de consulta e amigável para o desenvolvedor.
  • 11. Elasticsearch - Características ● Pesquisa e análise em tempo real ● Distribuída, escalável e alta disponibilidade ● Multitenancy - Múltiplos clientes ● Full-Text Search - Pesquisa de texto completo ● Orientado a documentos ● Schema-Free - Detecta automaticamente estrutura de dados ● API RESTful - Amigável para o desenvolvedor ● Segurança de dados, logs de transação ● Disponível sob Apache 2 Open Source License ● Construído em cima do Apache Lucene
  • 13. O Apache Lucene, ou simplesmente Lucene, é um software de busca escrito em Java. É de código aberto (open source) da Apache Software Foundation, licenciado sob Apache 2 Open Source License. ● Escalável e de alto desempenho de indexação ○ Mais de 150GB/hora ● Poderoso, preciso e eficiente algoritmos de pesquisa ○ Classificação de pesquisa ○ Múltiplos índices ○ Permite atualização e pesquisa simultânea ● Multi-plataforma
  • 15. Existem alguns conceitos que são fundamentais para Elasticsearch. Entender esses conceitos desde o ínicio facilitará no processo de aprendizagem. ● Near Realtime (NRT) ● Cluster ● Node ● Index ● Type ● Document ● Shards & Replicas Conceitos Básicos
  • 16. Elasticsearch é uma plataforma de busca em tempo real, podendo ter uma pequena latência(normalmente um segundo). Near Realtime (NRT)
  • 17. Cluster é uma coleção de um ou mais nós (servidores) que juntos detém os seus dados inteiros e fornece recursos de indexação e pesquisa. Cluster
  • 18. Node é um servidor único que é parte do seu cluster, armazena seus dados, e participa da indexação e pesquisa. Node
  • 19. Um índice é um conjunto de documentos. Por exemplo, pode se ter um índice para dados de cliente, outro para catálogo de produtos. Index
  • 20. Dentro de um índice, você pode definir um ou mais tipos. Um tipo é uma categoria/partição lógica do seu índice. Type
  • 21. Fragmentos são utilizados quando se tem uma grande quantidade de documentos, possibilitando subdividir o seu índice em pedaços. Réplicas são importantes por duas principais razões: ● Permite dividir horizontalmente o volume de conteúdo ● Permite distribuir e paralelizar as operações, aumentando assim o desempenho Shards & Replicas
  • 24. Utiliza banco de dados não relacional (NoSQL), assim é armazenada entidades complexas no Elasticsearch, como documentos JSON estruturados. Todos os campos são indexados por padrão, e todos os índices podem ser usados em uma consulta, para retornar facilmente resultados complexos em uma velocidade incrível. Orientado a documentos
  • 25. { "curso": { "codigo": "69212", "nome": "ANÁLISE E DESENVOLVIMENTO DE SISTEMAS", "modalidade": "Educação Presencial", "grau": "Tecnológico", "enade": "3", "cpc": "3", "cc": "3", "periodicidade_integralizacao": "Semestral (6.0)", "carga_horaria_minima": "2232 horas", "vagas_autorizadas": "300", "coordenador": "GUILHERME BERTONI MACHADO", "situacao_funcionamento": "Em atividade", "endereco": "Rua Coronel Genuíno 130", "cep": "90010-150", "municipio": "Porto Alegre", "uf": "RS" } } Orientado a documentos
  • 26. API RESTful / Clients
  • 27. API RESTful Elasticsearch disponibiliza uma API. Quase que qualquer ação pode ser executada usando API RESTful, usando JSON através de HTTP. Bibliotecas Client estão disponíveis para várias linguagens de programação.
  • 28. Clients ● Java API ● Java REST Client ● JavaScript API ● Groovy API ● .NET API ● PHP API ● Perl API ● Python API ● Ruby API ● E mais clients desenvolvidos pela comunidade
  • 30. Terminologias Elasticsearch MySQL Index Database Type Table Document Row Field Column Mapping Schema Shard Partition
  • 32. Grandes projetos que usam Elasticsearch
  • 33. Message Analytics, armazena dados de todos os canais de comunicação. Cases Busca de notícias, vídeos e fotos, com mais 180 consultas por segundo. Servindo 4 milhões de vendedores, com garantia de escalabilidade. https://www.elastic.co/use-cases Indexação de mais de 8 milhões de repositórios. 24 mil pesquisas por segundos no MSN e utilizados em outros produtos como, Listening Social e Azure Search. Já utiliza a 3 anos, para mais de 40 ferramentas, com mais de 60 milhões de consultas por dia.
  • 34. O que já vimos até aqui ◎ Comunidade ◎ Stack Elastic ◎ Elasticsearch ◉ Características ◉ Arquitetura ◉ Apache Lucene ◉ Cluster e Índice ◉ API RESTful / Clients ◎ Grandes projetos que usam ◎ Instalando e configurando ◎ Exemplos de utilização com PHP ◎ Ferramentas e frameworks
  • 36. Instalação Faz o download em https://www.elastic.co/downloads/elasticsearch, descompacta o zip. Execute bin/elasticsearch em Unix ou bin/elasticsearch.bat no Windows. Teste executando: $ curl -i -XGET 'localhost:9200/' https://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html
  • 38. Utilizando Docker Baixe a imagem e executa o container: $ docker run -d -p 9200:9200 -p 9300:9300 elasticsearch Testa se o Elasticsearch está executando: $ curl -i -XGET 'localhost:9200/' https://hub.docker.com/_/elasticsearch/
  • 41. Instalando Pacote Elasticsearch para PHP Crie um diretório “elastic_php”, cria um arquivo composer.json com o seguinte conteúdo. { "require": { "elasticsearch/elasticsearch": "~2.0" } } $ composer install
  • 42. Conectando Elasticsearch com PHP Crie um arquivo index.php dentro do diretório “elastic_php” e adicione o seguinte código. <?php require 'vendor/autoload.php'; $client = ElasticsearchClientBuilder::create()->build(); if ($client) { echo 'conectado'; }
  • 43. Indexação de dados no Elasticsearch Já estamos conectados ao Elasticsearch. Vamos criar um índice com alguns dados. <?php require 'vendor/autoload.php'; $client = ElasticsearchClientBuilder::create()->build(); $params = [ 'index' => 'meu_indice', 'type' => 'meu_tipo', 'id' => 'meu_id2', 'body' => [ 'primeiro campo' => 'Adicionando meu primeiro campo no Elasticsearch' ], ]; $response = $client->index($params); echo $response['created'];
  • 44. Obtendo dados do Elasticsearch Já temos um índice criado, vamos obter os dados a partir dele. <?php require 'vendor/autoload.php'; $client = ElasticsearchClientBuilder::create()->build(); $params = [ 'index' => 'meu_indice', 'type' => 'meu_tipo', 'id' => 'meu_id2', ]; $response = $client->get($params); echo $response['_source']['primeiro campo'];
  • 45. Pesquisando em Elasticsearch <?php require 'vendor/autoload.php'; $client = ElasticsearchClientBuilder::create()->build(); $params = [ 'index' => 'meu_indice', 'type' => 'meu_indice', 'body' => [ 'query' => [ 'match' => [ 'primeiro campo' => 'meu primeiro campo' ], ], ], ];
  • 46. Pesquisando em Elasticsearch $response = $client->search($params); $hits = count($response['hits']['hits']); $result = null; $i = 0; while ($i < $hits) { $result[$i] = $response['hits']['hits'][$i]['_source']; $i++; } foreach ($result as $key => $value) { echo $value['primeiro campos'] . "<br>"; } https://gist.github.com/fernandodebrando/030445cc05b862086ca706150f049e13
  • 49. Objetivos Sistema web para possibilitar o planejamento acadêmico, através da centralização de informações sobre cursos, podendo assim auxiliar os futuros acadêmicos em suas escolhas.
  • 51. Sistema de acesso público que facilite a busca de cursos e instituições registradas no MEC, podendo visualizar informações dos cursos e efetuar comparação. Solução
  • 56. JSON - Índice { "instituicao": { "codigo": "3804", "nome": " FACULDADE SENAC PORTO ALEGRE - FSPOA - SENAC/RS", "endereco": "Rua Coronel Genuíno", "numero": "130", "complemento": "", "cep": "90010-150 ", "bairro": "Centro", "municipio": "Porto Alegre", "uf": "RS", "telefone": "(051) 3284 1900", "fax": "(051) 3284 1902", "organizacao_academica": "Faculdade", "site": "www.senacrs.com.br", "categoria_administrativa": "Privada sem fins lucrativos", "email": "ikaspary@senacrs.com.br ", "ci_conceito_institucional": { "valor": "3", "ano": "2014" }, "igc_indice_geral_cursos": { "valor": "3", "ano": "2014" }, "igc_continuo": { "valor": "2.6664", "ano": "2014" } },
  • 57. JSON - Índice "curso": { "codigo": "69212", "nome": "ANÁLISE E DESENVOLVIMENTO DE SISTEMAS", "modalidade": "Educação Presencial", "grau": "Tecnológico", "enade": "3", "cpc": "3", "cc": "3", "data_inicio_funcionamento": "05/04/2004", "periodicidade_integralizacao": "Semestral (6.0)", "carga_horaria_minima": "2232 horas", "vagas_autorizadas": "300", "coordenador": "GUILHERME BERTONI MACHADO", "situacao_funcionamento": "Em atividade", "endereco": "Rua Coronel Genuíno 130", "cep": "90010-150", "municipio": "Porto Alegre", "uf": "RS" } }
  • 61. Home Buscador Possibilidade de buscar por nome de curso ou instituição.
  • 62. Busca Avançada Possibilidade de buscar por nome, grau e modalidade de curso e nome, município e UF da instituição.
  • 68. Referências ◎ Client Elasticsearch-PHP (https://www.elastic.co/guide/en/elasticsearch/client/php-api/curren t/index.html) ◎ Client Elasticsearch (https://www.elastic.co/guide/en/elasticsearch/client/index.html) ◎ Guia Elasticsearch (https://www.elastic.co/guide/en/elasticsearch/guide/current/index. html) ◎ Guia Elastic Stack (https://www.elastic.co/guide/index.html)
  • 69. Obrigado! Alguma pergunta? Você pode me encontrar em @FernandoDebrand. Apresentação em: https://speakerdeck.com/fernandodebrando. Participe da comunidade PHPRS. phprs.com.br rselephants @phprs phprs.slack.com meetup.com/php-rs
  • 70. PHPinga Pós TDC A partir das 19hs Malvadeza Pub Tv. do Carmo, 76 - Cidade Baixa, Porto Alegre - RS