Este documento fornece uma visão geral de como desenvolver um buscador com PHP e Elasticsearch. Ele discute a comunidade Elasticsearch, as tecnologias da stack Elastic, características e arquitetura do Elasticsearch, conceitos básicos de cluster, índice e documentos, instalação e configuração do Elasticsearch, e exemplos de uso do cliente Elasticsearch para PHP.
Palestra da phpx2016 que fala sobre como utilizar certificados no lado do cliente. Exemplo de aplicação em Mobile e os benefícios que o certificado provê.
Segurança de APIs HTTP, um guia sensato para desenvolvedores preocupadosLuis Cipriani
O documento fornece diretrizes para implementar segurança em APIs HTTP, discutindo esquemas de autenticação como OAuth, SSL e assinaturas digitais. Ele também aborda tópicos como rate limiting, auditoria, conteúdo sensível e modelos de permissão para proteger recursos de acordo com seu nível de sensibilidade. A mensagem central é que os desenvolvedores devem escolher um esquema de autenticação equilibrando segurança e facilidade de implementação de acordo com os riscos envolvidos em cada caso.
JWT (Json Web Token) é um padrão aberto para transmitir informações de forma segura entre partes como um objeto JSON. Um token JWT consiste em três partes separadas por pontos que contêm cabeçalho, carga útil e assinatura. A carga útil normalmente inclui informações como emissor, data de emissão e expiração que são usadas para validar o token.
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014Tiago Marchetti Dolphine
OAuth2 é um protocolo que permite aplicações acessarem APIs de forma segura no lugar do usuário. Ele centraliza a autenticação e define papéis claros como proprietário do recurso, servidor de recursos, cliente e servidor de autorização. Os fluxos de autorização como código de autorização, implícito e credenciais do cliente permitem que aplicações obtenham tokens de acesso de forma segura para acessar APIs protegidas.
O documento apresenta os conceitos e fluxos de autorização do OAuth2, incluindo o uso de tokens de acesso para autorizar clientes a acessarem recursos de um servidor de recursos. Explica os principais fluxos de autorização como Authorization Code e Resource Owner Credentials, além de Refresh Tokens e Client Credentials. Enfatiza a importância da segurança com SSL/TLS.
O documento resume os principais pontos sobre segurança em APIs RESTful utilizando OAuth2. Aborda as limitações da autenticação básica HTTP e segurança de rede, apresentando o OAuth2 como alternativa que permite acesso seguro a recursos por aplicações de terceiros sem compartilhamento de senhas. Detalha os conceitos-chave do OAuth2 como grant types, tokens e fluxos de autorização, e discute implementações como Spring Security OAuth e Jersey.
Bypass de token csrf na pratica secure brasilWilliam Costa
O documento discute três formas de bypass de tokens CSRF em diferentes sistemas, mostrando como explorar vulnerabilidades XSS para roubar tokens e realizar ataques CSRF sem o consentimento do usuário.
Palestra da phpx2016 que fala sobre como utilizar certificados no lado do cliente. Exemplo de aplicação em Mobile e os benefícios que o certificado provê.
Segurança de APIs HTTP, um guia sensato para desenvolvedores preocupadosLuis Cipriani
O documento fornece diretrizes para implementar segurança em APIs HTTP, discutindo esquemas de autenticação como OAuth, SSL e assinaturas digitais. Ele também aborda tópicos como rate limiting, auditoria, conteúdo sensível e modelos de permissão para proteger recursos de acordo com seu nível de sensibilidade. A mensagem central é que os desenvolvedores devem escolher um esquema de autenticação equilibrando segurança e facilidade de implementação de acordo com os riscos envolvidos em cada caso.
JWT (Json Web Token) é um padrão aberto para transmitir informações de forma segura entre partes como um objeto JSON. Um token JWT consiste em três partes separadas por pontos que contêm cabeçalho, carga útil e assinatura. A carga útil normalmente inclui informações como emissor, data de emissão e expiração que são usadas para validar o token.
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014Tiago Marchetti Dolphine
OAuth2 é um protocolo que permite aplicações acessarem APIs de forma segura no lugar do usuário. Ele centraliza a autenticação e define papéis claros como proprietário do recurso, servidor de recursos, cliente e servidor de autorização. Os fluxos de autorização como código de autorização, implícito e credenciais do cliente permitem que aplicações obtenham tokens de acesso de forma segura para acessar APIs protegidas.
O documento apresenta os conceitos e fluxos de autorização do OAuth2, incluindo o uso de tokens de acesso para autorizar clientes a acessarem recursos de um servidor de recursos. Explica os principais fluxos de autorização como Authorization Code e Resource Owner Credentials, além de Refresh Tokens e Client Credentials. Enfatiza a importância da segurança com SSL/TLS.
O documento resume os principais pontos sobre segurança em APIs RESTful utilizando OAuth2. Aborda as limitações da autenticação básica HTTP e segurança de rede, apresentando o OAuth2 como alternativa que permite acesso seguro a recursos por aplicações de terceiros sem compartilhamento de senhas. Detalha os conceitos-chave do OAuth2 como grant types, tokens e fluxos de autorização, e discute implementações como Spring Security OAuth e Jersey.
Bypass de token csrf na pratica secure brasilWilliam Costa
O documento discute três formas de bypass de tokens CSRF em diferentes sistemas, mostrando como explorar vulnerabilidades XSS para roubar tokens e realizar ataques CSRF sem o consentimento do usuário.
O documento apresenta uma introdução ao protocolo OAuth2 para segurança em APIs RESTful, descrevendo seus principais conceitos como tokens, grant types e fluxos. Também discute implementações Java como Spring Security OAuth, Jersey e Apache Oltu, mostrando como OAuth2 pode fornecer autenticação e autorização sem compartilhamento de senhas.
Este documento resume as principais técnicas de segurança do Zend Framework 2, incluindo filtragem de entrada, validação de dados, escape de saída, criptografia, controle de acesso e preparação de consultas para proteger aplicações PHP.
O documento discute como usar o AWS Identity and Access Management (IAM) de forma efetiva para refinar permissões e garantir o princípio do menor privilégio. Ele apresenta conceitos-chave do IAM como usuários, grupos, políticas e roles, e fornece exemplos práticos de como aplicá-los para controlar o acesso a recursos da AWS.
Spring Data REST oferece uma customização no topo do projeto Spring Data que exporta os repositórios automaticamente como serviços REST. Implementa conceitos e boas práticas em arquiteturas REST, como RESTful, ALPS, HATEOAS, permitindo os clientes encontrarem e explorarem as funcionalidades expostas de uma maneira fácil e organizada.
Esta palestra irá abordar como desenvolver rapidamente uma API de microservicos REST utilizando Spring Boot e Spring Data REST. Será principalmente orientada a exemplos de código demonstrando a implementação destas tecnologias.
O documento discute vários tópicos relacionados à segurança em aplicações Ruby on Rails, incluindo sessões, roubo de sessão, ataques de replay, session fixation, armazenamento de sessões, CSRF, injeções, XSS e dicas para interface administrativa.
This document discusses using JSON Web Tokens (JWT) for authentication with AngularJS. It begins with an overview of JWT, explaining that they are composed of a header, payload, and signature. The payload contains claims about the user like ID, expiration, and scope. JWTs can be issued by a server and verified by the signature without needing a database lookup. The document then discusses storing and transmitting JWTs securely in cookies rather than local storage due to cross-site scripting vulnerabilities. It provides examples of using JWTs to determine if a user is logged in and if they have access to a particular view in Angular using resolves, events, and checking the token payload.
Bigdata na pratica: Resolvendo problemas de performance com hadooptdc-globalcode
O Apache Hadoop tem se tornado o framework padrão para processamento de Big Data. Com ele, podemos processar grandes volumes de dados utilizando hardware de baixo custo de forma paralela e distribuída. Essas características podem ser úteis no cotidiano do desenvolvedor, otimizando a execução de rotinas batch e geração de relatórios, por exemplo. Nesta palestra serão mostrados os passos para desenvolver uma solução utilizando algumas ferramentas que fazem parte do ecossistema do Hadoop: MapReduce, HDFS e HBase.
Elasticsearch é um mecanismo de busca distribuído baseado no Lucene que fornece pesquisa de texto completo em documentos JSON de forma escalável. Ele indexa documentos sem esquema e fornece uma interface RESTful para pesquisas.
Fernando Ike provides a document discussing DevOps anti-patterns, what DevOps is and is not, and best practices. The document includes sections on DevOps training topics, common misconceptions about DevOps roles, and advice for developers, operations, and managers implementing DevOps processes and culture. Anti-patterns discussed include using buzzwords to sell products/services, treating DevOps as only tools or processes, and prioritizing experience over problem-solving skills in hiring.
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELKtdc-globalcode
Este documento discute o uso da plataforma ELK (Elasticsearch, Logstash e Kibana) para monitoramento em tempo real, análise de logs e visualização de métricas. Ele descreve os componentes principais da plataforma ELK e como eles se integram para coletar, indexar e exibir dados. Além disso, fornece exemplos de como a plataforma ELK pode ser usada para monitoramento de serviços, APIs e detecção de anomalias de negócios.
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...tdc-globalcode
O documento discute a importância do monitoramento contínuo da infraestrutura de aplicações na nuvem para fornecer visibilidade sobre o uso de recursos e desempenho, permitindo tomadas de decisão proativas sobre capacidade e melhorias. Ele explica como identificar os recursos e tecnologias usados, configurar testes de carga e desempenho, gerar gráficos e alertas para tomar ações preventivas com base em dados, em vez de reagir a problemas inesperados.
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!tdc-globalcode
O documento discute o uso da ferramenta StatsD para coleta e monitoramento de métricas de aplicações. Ele explica como o StatsD funciona enviando métricas como contadores, tempos e medidores para bancos de dados como Graphite ou InfluxDB. Também fornece exemplos de métricas comuns como logins, pedidos e exemplos de código para enviar métricas em Python.
O documento discute a revitalização de aplicações Windows legadas usando tecnologias web como Cef/CefGlue, message bus e React.JS. As decisões de arquitetura incluíram dividir a aplicação monolítica em microserviços, usar message bus para integrá-los e estado imutável com Redux para melhor gerenciamento de estado no frontend.
TDC2016POA | Trilha Android - Firebase Cloud Messaging para Android e IoTtdc-globalcode
A empresa anunciou um novo produto que combina hardware e software para fornecer uma solução completa para clientes. O produto oferece recursos avançados de inteligência artificial e aprendizado de máquina para ajudar os usuários a automatizar tarefas complexas. Analistas esperam que o produto ajude a empresa a crescer em novos mercados e aumentar sua receita nos próximos anos.
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra? tdc-globalcode
O documento discute as habilidades necessárias para facilitadores de grupos, incluindo a criação de um ambiente de confiança e colaboração, a capacidade de direcionar discussões para diferentes estágios do processo de grupo, e técnicas como fazer perguntas para envolver participantes e chegar a consensos.
TDC2016POA | Trilha Arduino - A Prática do Arduino em Ensino: o Case de um La...tdc-globalcode
O documento descreve o uso de placas Arduino em um laboratório de engenharia química na Universidade Federal do Rio Grande para ensinar controle e automação de processos. Projetos incluem uma geladeira Peltier e um sensor de nível capacitivo. O objetivo é fornecer experiências práticas para estudantes aprenderem sobre dinâmica de sistemas e controle de processos.
TDC2016POA | Trilha Android - Monetização: conheça a rede de anúncios que pag...tdc-globalcode
Este documento fornece orientações sobre como os desenvolvedores podem aumentar sua receita de monetização de aplicativos móveis. Ele discute várias opções de monetização, como anúncios, compras no aplicativo e assinaturas. O documento também descreve as vantagens de usar uma rede de anúncios especializada como a In Loco Media, que pode fornecer taxas de clique mais altas e pagamentos melhores do que redes generalistas.
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...tdc-globalcode
O documento discute a importância de tratar bancos de dados como código e gerenciá-los no ciclo de vida de desenvolvimento de aplicações usando ferramentas como SQL Server Data Tools. Apresenta duas abordagens: Code First, onde o código vem primeiro e gera o banco de dados, e Database First, onde o banco de dados já existe e o código é gerado a partir dele. Defende a abordagem Database First usando SSDT para versionamento declarativo e implantação contínua de bancos de dados.
O documento apresenta uma introdução ao protocolo OAuth2 para segurança em APIs RESTful, descrevendo seus principais conceitos como tokens, grant types e fluxos. Também discute implementações Java como Spring Security OAuth, Jersey e Apache Oltu, mostrando como OAuth2 pode fornecer autenticação e autorização sem compartilhamento de senhas.
Este documento resume as principais técnicas de segurança do Zend Framework 2, incluindo filtragem de entrada, validação de dados, escape de saída, criptografia, controle de acesso e preparação de consultas para proteger aplicações PHP.
O documento discute como usar o AWS Identity and Access Management (IAM) de forma efetiva para refinar permissões e garantir o princípio do menor privilégio. Ele apresenta conceitos-chave do IAM como usuários, grupos, políticas e roles, e fornece exemplos práticos de como aplicá-los para controlar o acesso a recursos da AWS.
Spring Data REST oferece uma customização no topo do projeto Spring Data que exporta os repositórios automaticamente como serviços REST. Implementa conceitos e boas práticas em arquiteturas REST, como RESTful, ALPS, HATEOAS, permitindo os clientes encontrarem e explorarem as funcionalidades expostas de uma maneira fácil e organizada.
Esta palestra irá abordar como desenvolver rapidamente uma API de microservicos REST utilizando Spring Boot e Spring Data REST. Será principalmente orientada a exemplos de código demonstrando a implementação destas tecnologias.
O documento discute vários tópicos relacionados à segurança em aplicações Ruby on Rails, incluindo sessões, roubo de sessão, ataques de replay, session fixation, armazenamento de sessões, CSRF, injeções, XSS e dicas para interface administrativa.
This document discusses using JSON Web Tokens (JWT) for authentication with AngularJS. It begins with an overview of JWT, explaining that they are composed of a header, payload, and signature. The payload contains claims about the user like ID, expiration, and scope. JWTs can be issued by a server and verified by the signature without needing a database lookup. The document then discusses storing and transmitting JWTs securely in cookies rather than local storage due to cross-site scripting vulnerabilities. It provides examples of using JWTs to determine if a user is logged in and if they have access to a particular view in Angular using resolves, events, and checking the token payload.
Bigdata na pratica: Resolvendo problemas de performance com hadooptdc-globalcode
O Apache Hadoop tem se tornado o framework padrão para processamento de Big Data. Com ele, podemos processar grandes volumes de dados utilizando hardware de baixo custo de forma paralela e distribuída. Essas características podem ser úteis no cotidiano do desenvolvedor, otimizando a execução de rotinas batch e geração de relatórios, por exemplo. Nesta palestra serão mostrados os passos para desenvolver uma solução utilizando algumas ferramentas que fazem parte do ecossistema do Hadoop: MapReduce, HDFS e HBase.
Elasticsearch é um mecanismo de busca distribuído baseado no Lucene que fornece pesquisa de texto completo em documentos JSON de forma escalável. Ele indexa documentos sem esquema e fornece uma interface RESTful para pesquisas.
Fernando Ike provides a document discussing DevOps anti-patterns, what DevOps is and is not, and best practices. The document includes sections on DevOps training topics, common misconceptions about DevOps roles, and advice for developers, operations, and managers implementing DevOps processes and culture. Anti-patterns discussed include using buzzwords to sell products/services, treating DevOps as only tools or processes, and prioritizing experience over problem-solving skills in hiring.
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELKtdc-globalcode
Este documento discute o uso da plataforma ELK (Elasticsearch, Logstash e Kibana) para monitoramento em tempo real, análise de logs e visualização de métricas. Ele descreve os componentes principais da plataforma ELK e como eles se integram para coletar, indexar e exibir dados. Além disso, fornece exemplos de como a plataforma ELK pode ser usada para monitoramento de serviços, APIs e detecção de anomalias de negócios.
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...tdc-globalcode
O documento discute a importância do monitoramento contínuo da infraestrutura de aplicações na nuvem para fornecer visibilidade sobre o uso de recursos e desempenho, permitindo tomadas de decisão proativas sobre capacidade e melhorias. Ele explica como identificar os recursos e tecnologias usados, configurar testes de carga e desempenho, gerar gráficos e alertas para tomar ações preventivas com base em dados, em vez de reagir a problemas inesperados.
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!tdc-globalcode
O documento discute o uso da ferramenta StatsD para coleta e monitoramento de métricas de aplicações. Ele explica como o StatsD funciona enviando métricas como contadores, tempos e medidores para bancos de dados como Graphite ou InfluxDB. Também fornece exemplos de métricas comuns como logins, pedidos e exemplos de código para enviar métricas em Python.
O documento discute a revitalização de aplicações Windows legadas usando tecnologias web como Cef/CefGlue, message bus e React.JS. As decisões de arquitetura incluíram dividir a aplicação monolítica em microserviços, usar message bus para integrá-los e estado imutável com Redux para melhor gerenciamento de estado no frontend.
TDC2016POA | Trilha Android - Firebase Cloud Messaging para Android e IoTtdc-globalcode
A empresa anunciou um novo produto que combina hardware e software para fornecer uma solução completa para clientes. O produto oferece recursos avançados de inteligência artificial e aprendizado de máquina para ajudar os usuários a automatizar tarefas complexas. Analistas esperam que o produto ajude a empresa a crescer em novos mercados e aumentar sua receita nos próximos anos.
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra? tdc-globalcode
O documento discute as habilidades necessárias para facilitadores de grupos, incluindo a criação de um ambiente de confiança e colaboração, a capacidade de direcionar discussões para diferentes estágios do processo de grupo, e técnicas como fazer perguntas para envolver participantes e chegar a consensos.
TDC2016POA | Trilha Arduino - A Prática do Arduino em Ensino: o Case de um La...tdc-globalcode
O documento descreve o uso de placas Arduino em um laboratório de engenharia química na Universidade Federal do Rio Grande para ensinar controle e automação de processos. Projetos incluem uma geladeira Peltier e um sensor de nível capacitivo. O objetivo é fornecer experiências práticas para estudantes aprenderem sobre dinâmica de sistemas e controle de processos.
TDC2016POA | Trilha Android - Monetização: conheça a rede de anúncios que pag...tdc-globalcode
Este documento fornece orientações sobre como os desenvolvedores podem aumentar sua receita de monetização de aplicativos móveis. Ele discute várias opções de monetização, como anúncios, compras no aplicativo e assinaturas. O documento também descreve as vantagens de usar uma rede de anúncios especializada como a In Loco Media, que pode fornecer taxas de clique mais altas e pagamentos melhores do que redes generalistas.
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...tdc-globalcode
O documento discute a importância de tratar bancos de dados como código e gerenciá-los no ciclo de vida de desenvolvimento de aplicações usando ferramentas como SQL Server Data Tools. Apresenta duas abordagens: Code First, onde o código vem primeiro e gera o banco de dados, e Database First, onde o banco de dados já existe e o código é gerado a partir dele. Defende a abordagem Database First usando SSDT para versionamento declarativo e implantação contínua de bancos de dados.
TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?tdc-globalcode
O documento discute valores individuais e de equipe, definindo valores como o que motiva alguém e o que justifica suas ações. Ele lista valores como comunicação, simplicidade e respeito, e diferencia valores naturais de desejáveis, que requerem esforço. O documento sugere conhecer as pessoas com quem se trabalha e que o comportamento de uma organização depende do comportamento dos indivíduos.
TDC 2016 |Trilha DevOps - Dissecando e entendendo pipelines de entrega de sof...tdc-globalcode
O documento discute os conceitos e práticas de pipelines de entrega de software, incluindo: (1) a importância de pipelines poderem ser executadas localmente pelos desenvolvedores, (2) as diferentes etapas de um pipeline como checagem de sintaxe, teste unitário, compilação e teste funcional e (3) a distinção entre testes funcionais, não funcionais, de integração e manuais.
TDC2016POA | Trilha Android - Testes no Androidtdc-globalcode
O documento discute testes no Android, abordando conceitos como mocks, frameworks de teste, organização de testes e como testar dependências externas. Ele também fornece dicas sobre por onde começar a escrever testes e como garantir uma execução tranquila.
TDC2016POA | Trilha Android - Construa um app consciente com a Google Awarene...tdc-globalcode
The document discusses Google's Awareness API which allows apps to access contextual signals like location, activity, and weather to provide more intelligent and helpful experiences. It notes that combining signals from multiple sensors can improve an app's awareness of the user's context without needing complex code or draining battery life. Examples are given of how the Awareness API could be used to build music recommendation or running apps that are aware of the user's current activity and location.
Este documento apresenta os principais conceitos do Elasticsearch, incluindo sua arquitetura orientada a documentos, indexação, buscas, failover e escalabilidade. Demonstra também a instalação, interação via API e indexação de documentos no Elasticsearch.
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...tdc-globalcode
O documento apresenta um resumo sobre o Elasticsearch, incluindo seus principais conceitos como documentos, índices, tipos, clusters e shards. Também aborda tópicos como instalação, mapeamento e analisadores, consultas, CRUD, documentação, SDKs, backup e a suíte Elastic Stack composta por Logstash, Beats, Kibana e X-Pack.
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017Thiago Barradas
Palestra apresentado no The Developers Conference - São Paulo de 2017, um evento que aborda diversas tecnologias. A palestra foi uma apresentação sobre a tecnologia Elasticsearch na versão 5.X abordando pequenas questões arquiteturais do cluster e da sua utilização.
Palestra feito na PHPConf - 2016
Apresento uma estrutra de escabilidade, passando pelos passos de crescimento de um software web.
Conceitos como cache, concorrências, storage para arquivos estáticos, servidores de busca, sessões em memória e afins.
O documento apresenta uma visão geral do Elasticsearch 2.0 e como usá-lo com PHP. As principais seções incluem: (1) visão geral do Elasticsearch, sua arquitetura e uso, (2) desenvolvimento com o Elasticsearch, incluindo indexação, busca e agregações, (3) uso do cliente PHP para interagir com o Elasticsearch, realizando operações como indexação, busca e sugestão.
Este documento introduz o Elasticsearch, descrevendo-o como uma base de dados orientada a documentos que permite armazenar e buscar grandes volumes de dados em tempo real de forma altamente escalável. Explica como o Elasticsearch funciona através de clusters, índices e shards, e compara sua estrutura com bancos de dados relacionais. Por fim, fornece exemplos práticos de como enviar e buscar registros no Elasticsearch.
O documento descreve como criar um data lake na AWS para armazenar e analisar dados de forma flexível e de baixo custo. Os principais componentes discutidos incluem armazenamento em larga escala na AWS S3, processamento de dados em streaming com Kinesis, catálogo e busca de metadados com DynamoDB e Lambda, e sistema de permissões com IAM."
Monitoramento de Aplicações Web Modernas com ZabbixAndré Déo
Demonstrar que com os recursos nativos da ferramenta, atrelados à desenvolvedores integrados com a equipe de operações (DevOps) é possível monitorar aplicações web modernas, que utilizam recursos como APIs, REST e JSON.
1) O documento discute arquiteturas de software para o século 21 e como a AWS pode ajudar empresas a construí-las de forma escalável e com baixo custo.
2) Apresenta diversos serviços da AWS como computação em nuvem, armazenamento, bancos de dados e ferramentas para desenvolvedores.
3) Discutem exemplos reais de como empresas usam a AWS para dar suporte a milhões de usuários de forma automatizada e com economias de até 71% nos custos.
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Erisvaldo Junior
O documento discute o uso do BackupManager no Android para armazenar dados na nuvem sem necessidade de banco de dados externo. Explica como usar o BackupManager com SharedPreferences para armazenar configurações e informações simples na nuvem e garantir que os dados não sejam perdidos mesmo após reinstalação do aplicativo. Também aborda brevemente o uso de banco de dados SQLite no Android.
Criando e consumindo webservice REST com PHP e JSONAmbiente Livre
O documento apresenta uma palestra sobre criação e consumo de web services RESTful utilizando PHP e JSON. Aborda conceitos como protocolo HTTP, métodos GET e POST, arquitetura REST, URIs, JSON versus XML e como disponibilizar e consumir dados em formato JSON através de PHP.
O documento apresenta uma palestra sobre criação e consumo de web services RESTful utilizando PHP e JSON. Explica conceitos como protocolo HTTP, métodos GET e POST, arquitetura REST, URIs e JSON, e demonstra como disponibilizar e consumir dados em formato JSON através de PHP.
O documento apresenta o Entity Framework, descrevendo o que é e como funciona este framework de mapeamento objeto-relacional para .NET. Apresenta exemplos de queries LINQ e compara o EF com o NHibernate, destacando as vantagens do EF como mapeamento visual, integração com ferramentas .NET e centralização no data context.
Este documento discute Servlets e JSPs, incluindo por que usá-los, o que fazem clientes e servidores web, e como eles se comunicam usando HTML e HTTP. Também explica como containers mapeiam requisições para servlets usando um deployment descriptor.
O documento resume as principais características do framework Easy Framework: 1) É um framework MVC para PHP que facilita a construção de aplicações robustas e seguras; 2) Utiliza padrões como ORM e permite fácil integração com bancos de dados; 3) Fornece recursos como cache, segurança, internacionalização e suporte a aplicações RESTful.
MongoDB - Performance e Escalabilidade para aplicações webRafael Nunes
O documento discute como o MongoDB fornece escalabilidade e desempenho para aplicações web. Ele descreve MongoDB como um banco de dados orientado a documentos que armazena objetos JSON/BSON de forma dinâmica e fornece alta performance em leituras e escritas através de replicação e sharding automático. O documento também discute como o MongoDB se compara ao modelo relacional tradicional e fornece exemplos de empresas que usam MongoDB.
O documento discute Big Data, casos e oportunidades. Ele apresenta conceitos como Big Data, Business Intelligence, cientista de dados e ferramentas como Hadoop, Spark e Kafka. Também apresenta exemplos de uso em empresas como Netflix, Facebook e casos de sucesso como House of Cards.
Como o elasticsearch salvou minhas buscasWaldemar Neto
O documento discute como o Elasticsearch salvou as buscas do autor ao fornecer um mecanismo de pesquisa de texto completo escalável e em tempo real que permitiu indexar e buscar milhares de documentos com tempos de resposta baixos. O autor também aborda como integrou com segurança o Elasticsearch em seu sistema usando proxies e autenticação para proteger o servidor.
Android DevConference - Elastic Search como ferramenta de busca em aplicações...iMasters
Thiago Barradas e Brunelli Cupello, MundiPagg, falam sobre Elastic Search como ferramenta de busca em aplicações Android no Android DevConference 2016. Saiba mais em:http://androidconference.com.br/
O documento discute ORM (Object Relational Mapping), definindo-o como uma técnica para mapear objetos e dados relacionais. Ele descreve o problema de mapear tipos não escalares de linguagens orientadas a objetos para tipos escalares de SQL. Em seguida, apresenta Hibernate, NHibernate e Fluent NHibernate como soluções ORM para .NET, e fornece instruções passo a passo para começar a usar Fluent NHibernate em um projeto C#.
Semelhante a TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch (20)
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadetdc-globalcode
O documento discute o uso de visão computacional e inteligência artificial para aplicações médicas e industriais. Ele descreve como CPUs, GPUs e VPUs podem processar IA localmente e com baixo custo usando ferramentas como OpenVINO. Isso permitiria diagnósticos médicos remotos em tempo real com baixo consumo de energia.
TDC2019 Intel Software Day - ACATE - Cases de Sucessotdc-globalcode
O documento fornece um panorama geral da tecnologia e inovação em Santa Catarina, destacando:
1) O setor representa 5,6% da economia catarinense, com faturamento de R$15,53 bilhões;
2) As cidades de Florianópolis e Blumenau são os dois polos com maior crescimento de faturamento no estado;
3) Santa Catarina tem a maior proporção de startups no país, com 19,95% do total nacional.
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPAtdc-globalcode
The document discusses Intel Graphics Performance Analyzers (Intel GPA), a suite of graphics performance tools created by Intel to optimize games and real-time graphics applications. It describes Intel GPA's profiling workflow which involves analyzing frames to identify bottlenecks, determining if issues are CPU or GPU bound, and identifying hotspots. It then provides overviews of the tools in Intel GPA like the System Analyzer, Trace Analyzer, Frame Analyzer and their capabilities for profiling graphics performance.
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinotdc-globalcode
O documento apresenta uma palestra sobre detecção de objetos em tempo real utilizando redes neurais convolucionais e o framework OpenVINO da Intel. É discutido o algoritmo YOLO para detecção de objetos em imagens e sua implementação no Intel AI Dev Cloud para treinamento. Também é mostrado como otimizar modelos de deep learning utilizando o OpenVINO para inferência em tempo real.
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...tdc-globalcode
O documento apresenta uma palestra sobre OpenCV, biblioteca de código aberto para visão computacional. Aborda os fundamentos da visão computacional e aplicações da OpenCV, incluindo processamento de imagens, reconhecimento de padrões e diretrizes para melhor desempenho em processadores Intel. Também discute tópicos como aprendizado de máquina profundo, YOLO e conformidade com leis de privacidade como o GDPR.
TDC2019 Intel Software Day - Inferencia de IA em edge devicestdc-globalcode
This document discusses Intel's compiler optimizations and how they may differ depending on the microprocessor. It notes that:
- Intel's compilers may optimize differently for non-Intel microprocessors, including optimizations for SSE2, SSE3, and SSSE3 instruction sets.
- Intel does not guarantee the availability, functionality, or effectiveness of any optimization on non-Intel microprocessors.
- Microprocessor-dependent optimizations are intended for use with Intel microprocessors only. Certain non-Intel specific optimizations are also reserved for Intel microprocessors.
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publicatdc-globalcode
O documento discute a aplicação de bancos de dados orientados a grafos para análise de vínculos na segurança pública. Esses bancos permitem modelar dados de crimes e suspeitos como vértices e arestas em um grafo, possibilitando correlacionar informações de forma mais eficiente do que bancos relacionais. Isso pode identificar proximidades entre suspeitos e verificar vínculos de diferentes perspectivas em tempo real, auxiliando investigações criminais.
O documento apresenta os principais conceitos da programação funcional usando a linguagem F#, como imutabilidade, funções como valores, composição de funções, type providers e features como Option e unidades de medida. O objetivo é mostrar como F# oferece um paradigma diferente de programação e como seus recursos podem ser usados no desenvolvimento .NET.
This document summarizes the development of an API for addresses in Go. It describes using Beego and pure Go for scalability. It implemented middlewares for routing, error handling, authentication, and logging. It also integrated New Relic for metrics. The API routes and controllers are chained through the middleware handlers. In conclusion, the API was able to successfully provide address functionality and insights through integration of middlewares and third-party services.
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?tdc-globalcode
O documento discute a importância da personalização e da relevância na web. Defende que sites devem entender os usuários individuais e fornecer experiências adaptadas às necessidades e desejos únicos de cada pessoa. Explica como o web mining, logs de servidor e clientes podem ser usados para analisar o comportamento dos usuários e melhorar a usabilidade e a relevância dos sites.
TDC2018SP | Trilha Go - Clean architecture em Golangtdc-globalcode
O documento descreve os princípios da arquitetura limpa em Go, dividindo o código em 4 camadas: entidades, casos de uso, controladores e frameworks/drivers. A arquitetura promove independência de frameworks, teste, interface gráfica e bancos de dados, além de permitir testes por camada. Um exemplo completo está disponível em um repositório no GitHub.
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QAtdc-globalcode
O documento discute as vantagens de usar a linguagem Go para testes de software, apresentando diversas ferramentas para testes com Go, como Godog para testes de aceitação baseados em BDD, Gomega para testes unitários e Ginkgo para execução de testes. Também cita empresas que usam Go em produção como Uber, Docker e Dropbox.
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciatdc-globalcode
O documento discute (1) a tokenização como método seguro de armazenar dados de cartão, (2) as integrações com as APIs do Google Pay e Apple Pay para permitir pagamentos móveis dentro de aplicativos, e (3) a crescente tendência dos pagamentos digitais em carteiras móveis em todo o mundo.
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Servicetdc-globalcode
O documento discute o Azure SignalR Service, um serviço gerenciado pela Microsoft que permite escalar aplicações em tempo real sem gerenciar a infraestrutura subjacente. O serviço oferece fallback automático entre protocolos de comunicação e permite 1000 conexões por unidade com SLA de 99,9%. O documento também fornece instruções sobre como adicionar o serviço a uma aplicação ASP.NET Core.
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETtdc-globalcode
O documento discute a evolução do .NET, desde seu foco inicial em aplicativos empresariais para Windows até se tornar uma pilha multiplataforma de código aberto. Também compara o .NET Framework e o .NET Core, explicando quando cada um é mais adequado, e demonstra o SQL Server rodando no Linux.
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8tdc-globalcode
This document discusses new features in C# 7 and 8, including pattern matching, tuples, out variables, discards, ref returns and locals, expression-bodied members, numeric literals, local functions, generalized async returns, default literals, non-trailing named arguments, leading separators for numeric literals, private protected access, reference semantics with value types using in, ref, and ref readonly. It also provides links to documentation and proposals for each feature.
1) A apresentação introduz Fernando Mendes e Mikaeri Ohana, arquiteto de software e desenvolvedor de software respectivamente, e descreve o tópico da palestra sobre obter métricas com TDD utilizando build automatizado e deploy no Azure. 2) A palestra discute os benefícios dos testes unitários, TDD e cobertura de código e faz uma demonstração. 3) As ferramentas xUnit, OpenCover e ReportGenerator são apresentadas para testes, cobertura e relatórios.
TDC2018SP | Trilha .Net - .NET funcional com F#tdc-globalcode
O documento apresenta a linguagem de programação funcional F# como parte do .NET, destacando que é fortemente tipada e permite programação funcional "impura" com interoperabilidade com o ecossistema .NET. Também menciona o apoio da Microsoft à linguagem e exemplos de onde ela pode ser usada.
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Coretdc-globalcode
O documento descreve o Blazor, um projeto experimental que permite criar SPAs usando C# e WebAssembly. Ele explica que o WebAssembly é um novo formato para compilação web e lista algumas vantagens do Blazor, como ser estável e usar ferramentas da indústria. Também menciona pré-requisitos para usar o Blazor e dicas de hospedagem.
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 12, CPAD, A Bendita Esperança: A Marca do Cristão, 2Tr24, Pr Henrique, EBD NA TV, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
Slides Lição 12, Central Gospel, O Milênio, 1Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
Slideshare Lição 12, Central Gospel, O Milênio, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
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
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
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'];
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
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