O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroiMasters
Banco de dados sem schema não precisa de modelo de dados!” Se você acredita nisso, seu projeto começou a falhar antes de começar! Vamos conversar sobre como modelar seu banco de dados NoSQL sem perder a flexibilidade e sem perder o controle sobre seus dados.
Postgres: wanted, beloved or dreaded? - Fabio TellesiMasters
O PostgreSQL começou a ser desenvolvido em 1986 e tem ganhado bastante destaque nos últimos anos, como o banco de dados que mais cresce no mercado. Conheça as vantagens e desvantagens em se utilizar o banco de dados Open Source mais avançado do mundo.
Por que minha query esta lenta? - Suellen MoraesiMasters
Durante os anos de experiencia percebi que grande parte dos desenvolvedores possuem dificuldade em iniciar o troubleshooting de suas queries, muitas vezes sobrecarregando o DBA em muitos dos casos com queries simples. O intuito desta palestrar é mostrar o "caminho das pedras" para despertar nos desenvolvedores a necessidade de se conhecer o funcionamento da ferramenta utilizada e visando os desenvolvimentos futuros tendo como foco o pensamento em performance do código escrito e dicas de melhores códigos.
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...iMasters
"essa sessão iremos abordar os principais problemas arquiteturais, e suas soluções, que encontro nas mais diversas corporações brasileiras. Desde bancos de dados recebendo 100% de querys Adhoc, CPDs inundados, até servidores que foram metralhados e não possuiam backup.
Falaremos sobre arquitetura de dados, boas práticas de backup, alta disponibilidade, disaster recovery, performance, boas práticas de configuraçao e etc."
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesiMasters
Com a evolução dos aplicativos nascem novas técnicas, frameworks, linguagens de programação, porém, existe um fato consolidado dentro da arquitetura de software corporativo que é a integração com alguma tecnologia necessária para armazenar as informações inerentes ao sistema. Seja SQL ou NoSQL um ponto importante é que o paradigma das linguagens difere da tecnologia do banco de dados. Com o intuito de facilitar o desenvolvimento surgem as ferramentas que realizam a interpretação entre a camada da aplicação e os bancos. Assim, aparecem grandes desafios: como lidar com essa lacuna multiparadigma? Como favorecer o desenvolvimento sem impactar a performance e a modelagem no banco de dados? O objetivo dessa palestra é falar um pouco desses pontos para que, finalmente, os programadores e os DBAs conseguam viver em paz e harmonia.
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...iMasters
Neste bate papo vamos discutir quais as vantagens de cada banco de dados no mundo real. Quando devemos utilizar o NoSQL ao invés do SQL ou vice-versa comparando os principais bancos de dados open source de cada segmento, o MongoDB e o MySQL
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroiMasters
Banco de dados sem schema não precisa de modelo de dados!” Se você acredita nisso, seu projeto começou a falhar antes de começar! Vamos conversar sobre como modelar seu banco de dados NoSQL sem perder a flexibilidade e sem perder o controle sobre seus dados.
Postgres: wanted, beloved or dreaded? - Fabio TellesiMasters
O PostgreSQL começou a ser desenvolvido em 1986 e tem ganhado bastante destaque nos últimos anos, como o banco de dados que mais cresce no mercado. Conheça as vantagens e desvantagens em se utilizar o banco de dados Open Source mais avançado do mundo.
Por que minha query esta lenta? - Suellen MoraesiMasters
Durante os anos de experiencia percebi que grande parte dos desenvolvedores possuem dificuldade em iniciar o troubleshooting de suas queries, muitas vezes sobrecarregando o DBA em muitos dos casos com queries simples. O intuito desta palestrar é mostrar o "caminho das pedras" para despertar nos desenvolvedores a necessidade de se conhecer o funcionamento da ferramenta utilizada e visando os desenvolvimentos futuros tendo como foco o pensamento em performance do código escrito e dicas de melhores códigos.
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...iMasters
"essa sessão iremos abordar os principais problemas arquiteturais, e suas soluções, que encontro nas mais diversas corporações brasileiras. Desde bancos de dados recebendo 100% de querys Adhoc, CPDs inundados, até servidores que foram metralhados e não possuiam backup.
Falaremos sobre arquitetura de dados, boas práticas de backup, alta disponibilidade, disaster recovery, performance, boas práticas de configuraçao e etc."
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesiMasters
Com a evolução dos aplicativos nascem novas técnicas, frameworks, linguagens de programação, porém, existe um fato consolidado dentro da arquitetura de software corporativo que é a integração com alguma tecnologia necessária para armazenar as informações inerentes ao sistema. Seja SQL ou NoSQL um ponto importante é que o paradigma das linguagens difere da tecnologia do banco de dados. Com o intuito de facilitar o desenvolvimento surgem as ferramentas que realizam a interpretação entre a camada da aplicação e os bancos. Assim, aparecem grandes desafios: como lidar com essa lacuna multiparadigma? Como favorecer o desenvolvimento sem impactar a performance e a modelagem no banco de dados? O objetivo dessa palestra é falar um pouco desses pontos para que, finalmente, os programadores e os DBAs conseguam viver em paz e harmonia.
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...iMasters
Neste bate papo vamos discutir quais as vantagens de cada banco de dados no mundo real. Quando devemos utilizar o NoSQL ao invés do SQL ou vice-versa comparando os principais bancos de dados open source de cada segmento, o MongoDB e o MySQL
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsiMasters
Diante das novas regulamentações externas (GDPR), e a nova legislação Brasileira sobre Proteção de Dados Pessoais (LGPD), o que fazer para se adequar? Por Onde começar? O que Fazer? E o que não fazer? Para que serve a Governança de Dados e como ela pode ajudar sua empresa no processo de adequação/conformidade a padrões internacionais de Privacidade e Segurança da Informação? Diante de tantos caminhos e desafios, um overview do que se trata, por onde começar o caminho, algumas armadilhas a evitar, e algumas boas práticas para não apenas se proteger, mas evitar futuros problemas.
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...iMasters
Esta palestra vai abordar qual é o papel do DBA no cenário atual onde processos de machine learning estão cada vez mais presentes nas empresas. O conteúdo discutirá tópicos que tocam em temas como o relacionamento entre o DBA e o cientistas de dados, a gestão dos dados, integração de tecnologias, reciclagem de profissionais e outros fatores que devem ser levados em consideração pelo DBA atual, uma vez que as empresas cada vez mais investem em projetos de machine learning.
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudiMasters
Juliana Chahoud - Consultora, ThoughtWorks
Com tantas empresas adotando a estratégia "Mobile-First" (dispositivos móveis em primeiro), uma das grandes decisões que um time de desenvolvimento precisa tomar é: qual tech stack usar para mobile?
Diversas tecnologias e linguagens podem ser adotadas, como Swift, Java, Kotlin, React Native, Flutter, Progressive Web App, criação de sites responsivos, etc...
No entanto, com tantas variáveis a serem consideradas, essa decisão passou a ser não trivial e que pode trazer grandes consequências a longo prazo e até mesmo inviabilizar um projeto.
Nessa palestra serão discutidos os prós e contras de diversas abordagens, para que você possa ter um guia para tomar decisões mais corretas no uso dessas tecnologias
Palestra apresentada no InterCon 2018 - https://eventos.imasters.com.br/intercon
Use MDD e faça as máquinas trabalharem para você - Andreza LeiteiMasters
Andrêza Leite - Professora - UFRPE
Model Driven Development(MDD) está se tornando um tópico quente (novamente!). Mas por que MDD?
Quais são as vantagens de MDD, MDE, MDA e outros acrônimos relacionados a model-driven?
Nesta palestra tentarei responder essa questão listando algumas vantagens e perigos do desenvolvimento orientado a modelos, alinhados ao uso prático destas técnicas para geração de código e esquemas de bancos de dados.
Palestra realizada no InterCon 2018 - https://eventos.imasters.com.br/intercon
Backend performático além do "coloca mais máquina lá" - Diana ArnosiMasters
Trabalhar a performance no backend vai muito além de simplesmente ""colocar mais máquinas atrás do loadbalancer""
. Vamos apontar alguns gargalos comuns que podem ser tratados ou evitados desde o começo do desenvolvimento, já que não dependem da tecnologia utilizada.
Dicas para uma maior performance em APIs REST - Renato GroffeiMasters
Renato Groffe - Engenheiro de Software, Canal .NET
O que posso fazer em termos de bancos de dados para obter APIs que executem seu trabalho de forma otimizada e com maior velocidade?
Que soluções para cache podem ser empregadas? E que tal tratar os retornos destas APIs, reduzindo o volume dos dados trafegados?
E quanto a problemas de performance, o que utilizar para facilitar a detecção destes tipos de ocorrências? Acompanhe esta apresentação para obter respostas a estas questões durante o desenvolvimento de APIs REST.
Palestra realizada no InterCon 2018 - https://eventos.imasters.com.br/intercon
7 dicas de desempenho que equivalem por 21 - Danielle MonteiroiMasters
Danielle Monteiro - Arquiteta de Dados, WDB Consulting
"Não pisque, respire somente se necessário...
1 dica por minuto e seus bancos de dados serão muito melhores "
Palestra apresentada no InterCon 2018 - https://eventos.imasters.com.br/intercon
Quem se importa com acessibilidade Web? - Mauricio MaujoriMasters
Maurício Maujor - Divulgador dos Padrões Web, Maujor.com
A acessibilidade é essencial para desenvolvedores e organizações que desejam criar websites e aplicações web de alta qualidade e não excluir pessoas do uso de seus produtos e serviços. Nesta palestra Maujor aborda alguns conceitos de acessibilidade com o objetivo de motivar e conscientizar para a importância de se projetar web com foco em acessibilidade.
Palestra apresentada no InterCon 2018 - https://eventos.imasters.com.br/intercon
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaiMasters
Wellington Figueira da Silva - Sysadmin de Códigos, Easy
Com a popularidade dos contêineres ficou mais fácil criar microserviços e mais ágil construir aplicações distribuídas, porém a gerência desses serviços fica muito mais complicada.
Mostraremos a ferramenta chamada Istio que nos ajuda com service discovery, com a distribuição de carga, com as rotas, com a detecção e tratamento de falhas, com controle de acesso entre aplicações dentre muitas outras funcionalidades disponíveis.
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiiMasters
Augusto Pascutti - Developer, Creditas
Para o quê eles servem e como usá-los de forma mais eficiente, seja através de integrações com outras ferramentas ou só seguindo receitas de como as mensagens de erro devem ser geradas e compostas.
Apresentado no InterCon 2018: https://eventos.imasters.com.br/intercon
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...iMasters
Rubens Guimarães - CEO, e-Seth
Como projetar e colocar em prática bancos de dados inteligentes SQL e NoSQL em ambientes de alto consumo de dados.
Técnicas de sharding, tunning, elasticidade automatizada em ambientes cloud e outros recursos.
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
Construindo aplicações mais confiantes - Carolina KarklisiMasters
Carolina Karklis - Software developer, Magnetis
O hype da orientação a objetos passou e com ele precisamos rever algumas práticas.
Até mesmo o codebase mais limpo pode ter mensagens de erro precárias, checagens de tipo de dado em excesso, e uso dispensável de variáveis nulas.
Nessa talk vou refatorar um sistema frágil e mostrar estratégias dentro do paradigma de orientação a objetos para escrever código de forma mais simples e confiante.
No processo, vamos ver padrões de arquitetura de software que podemos usar, como melhorar mensagens para cenários de input inesperado e remover todas as variáveis nulas possíveis do nosso código.
Monitoramento de Aplicações - Felipe RegalgoiMasters
Felipe Regalgo - Especialista em Desenvolvimento de Software, Mercado Livre
Mostraremos como o Mercado Livre monitora suas aplicações para identificar Bugs, Anomalias e comportamentos fora de padrão esperado.
Falaremos sobre sistemas como NewRelic, DataDog, Kibana, OpsGenie e demais ferramentas internas que temos para facilitar e identificar problemas nas centenas de micro-serviços que temos antes mesmo deles chegarem até o usuário final.
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
Elton Minetto - CTO, CodeNation
Em seu livro "Clean Architecture: A Craftsman's Guide to Software Structure and Design" o famoso autor Robert "Uncle Bob" Martin apresenta uma arquitetura com alguns pontos importantes como testabilidade e independência de frameworks, bancos de dados e interfaces.
Nesta apresentação vou mostrar exemplos de como aplicar estes conceitos em projetos escritos em Golang e PHP
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...iMasters
Letticia Nicoli - Desenvolvedora, Lambda3
Entenda como a cultura DevOps no mundo Mobile pode nos ajudar a antecipar problemas e alcançar uma melhoria contínua desde o desenvolvimento até após o lançamento do seu aplicativo.
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
A nova geração de persistência de dados com grafos - Otávio SantanaiMasters
Otávio Santana - Software Engineer, Tomitribe
A tecnologia NoSQL tem se popularizado nas mais diversas áreas e com diferentes usos, o que inclui casos de sucesso com bancos de grafos.
Os bancos de dados de grafos possuem uma estrutura bastante diferente da base de dados relacional e o seu uso ficou bastante forte, sobretudo com sistema de recomendação.
Com esse grande poder e funcionalidade, atualmente, existem cerca de sessenta tipos de bancos de dados do tipo grafos e com essa diversidade surge um problema: para cada banco é necessário aprender uma nova linguagem.
Essa palestra terá como objetivo cobrir um pouco mais sobre esse tipo de banco além de iniciar a pergunta: Já está na hora de falarmos de padrões para os bancos de dados NoSQL?
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
Navegadores por de baixo dos panos - Ana Luiza BastosiMasters
Ana Luiza Bastos - Fullstack Developer, Quanto
Como funciona o passo a passo da renderização de elementos do navegador do request ao website funcional e como otimizar a performance para garantir uma melhor experiência de usuário.
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
Samanta Cicilia - Manager de QA, Concrete
No meu último projeto me deparei com o desafio de automatizar testes para gráficos onde as cores, formatos e detalhes eram muito importantes para a funcionalidade.
A solução foi aplicar Visual Regression Testing e garantir que esses aspectos visuais estavam de acordo com o esperado.
Nessa palestra vamos ver o que é Visual Regression Testing e exemplos de como automatizar usando algumas ferramentas de mercado (Percy, Lineup, Visual Review, AppliTools, GalenFramework) e também que é possível implementar a sua própria.
Palestra apresentada no InterCon 2018 - https://eventos.imasters.com.br/intercon
Design UX - Quanto isso influencia seu projeto - Guilherme Sester AraujoiMasters
Design UX. O que é e para que serve? Como utilizar no seu projeto e o quanto influencia. Boas práticas na criação de um site.
Nesta palestra, o Guilherme irá mostrar exemplos práticos e irá exercitar o conceito de UX em diversos momentos (da concepção à entrega do produto final).
De uma maneira leve e até bem humorada, a ideia é desmistificar esse conceito e trazer maneiras de utilizar técnicas de UX no dia a dia.
Será abordado ainda, design para desktop x mobile, como projetar um PWA otimizado e também diferenciação entre UX e UI.
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsiMasters
Diante das novas regulamentações externas (GDPR), e a nova legislação Brasileira sobre Proteção de Dados Pessoais (LGPD), o que fazer para se adequar? Por Onde começar? O que Fazer? E o que não fazer? Para que serve a Governança de Dados e como ela pode ajudar sua empresa no processo de adequação/conformidade a padrões internacionais de Privacidade e Segurança da Informação? Diante de tantos caminhos e desafios, um overview do que se trata, por onde começar o caminho, algumas armadilhas a evitar, e algumas boas práticas para não apenas se proteger, mas evitar futuros problemas.
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...iMasters
Esta palestra vai abordar qual é o papel do DBA no cenário atual onde processos de machine learning estão cada vez mais presentes nas empresas. O conteúdo discutirá tópicos que tocam em temas como o relacionamento entre o DBA e o cientistas de dados, a gestão dos dados, integração de tecnologias, reciclagem de profissionais e outros fatores que devem ser levados em consideração pelo DBA atual, uma vez que as empresas cada vez mais investem em projetos de machine learning.
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudiMasters
Juliana Chahoud - Consultora, ThoughtWorks
Com tantas empresas adotando a estratégia "Mobile-First" (dispositivos móveis em primeiro), uma das grandes decisões que um time de desenvolvimento precisa tomar é: qual tech stack usar para mobile?
Diversas tecnologias e linguagens podem ser adotadas, como Swift, Java, Kotlin, React Native, Flutter, Progressive Web App, criação de sites responsivos, etc...
No entanto, com tantas variáveis a serem consideradas, essa decisão passou a ser não trivial e que pode trazer grandes consequências a longo prazo e até mesmo inviabilizar um projeto.
Nessa palestra serão discutidos os prós e contras de diversas abordagens, para que você possa ter um guia para tomar decisões mais corretas no uso dessas tecnologias
Palestra apresentada no InterCon 2018 - https://eventos.imasters.com.br/intercon
Use MDD e faça as máquinas trabalharem para você - Andreza LeiteiMasters
Andrêza Leite - Professora - UFRPE
Model Driven Development(MDD) está se tornando um tópico quente (novamente!). Mas por que MDD?
Quais são as vantagens de MDD, MDE, MDA e outros acrônimos relacionados a model-driven?
Nesta palestra tentarei responder essa questão listando algumas vantagens e perigos do desenvolvimento orientado a modelos, alinhados ao uso prático destas técnicas para geração de código e esquemas de bancos de dados.
Palestra realizada no InterCon 2018 - https://eventos.imasters.com.br/intercon
Backend performático além do "coloca mais máquina lá" - Diana ArnosiMasters
Trabalhar a performance no backend vai muito além de simplesmente ""colocar mais máquinas atrás do loadbalancer""
. Vamos apontar alguns gargalos comuns que podem ser tratados ou evitados desde o começo do desenvolvimento, já que não dependem da tecnologia utilizada.
Dicas para uma maior performance em APIs REST - Renato GroffeiMasters
Renato Groffe - Engenheiro de Software, Canal .NET
O que posso fazer em termos de bancos de dados para obter APIs que executem seu trabalho de forma otimizada e com maior velocidade?
Que soluções para cache podem ser empregadas? E que tal tratar os retornos destas APIs, reduzindo o volume dos dados trafegados?
E quanto a problemas de performance, o que utilizar para facilitar a detecção destes tipos de ocorrências? Acompanhe esta apresentação para obter respostas a estas questões durante o desenvolvimento de APIs REST.
Palestra realizada no InterCon 2018 - https://eventos.imasters.com.br/intercon
7 dicas de desempenho que equivalem por 21 - Danielle MonteiroiMasters
Danielle Monteiro - Arquiteta de Dados, WDB Consulting
"Não pisque, respire somente se necessário...
1 dica por minuto e seus bancos de dados serão muito melhores "
Palestra apresentada no InterCon 2018 - https://eventos.imasters.com.br/intercon
Quem se importa com acessibilidade Web? - Mauricio MaujoriMasters
Maurício Maujor - Divulgador dos Padrões Web, Maujor.com
A acessibilidade é essencial para desenvolvedores e organizações que desejam criar websites e aplicações web de alta qualidade e não excluir pessoas do uso de seus produtos e serviços. Nesta palestra Maujor aborda alguns conceitos de acessibilidade com o objetivo de motivar e conscientizar para a importância de se projetar web com foco em acessibilidade.
Palestra apresentada no InterCon 2018 - https://eventos.imasters.com.br/intercon
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaiMasters
Wellington Figueira da Silva - Sysadmin de Códigos, Easy
Com a popularidade dos contêineres ficou mais fácil criar microserviços e mais ágil construir aplicações distribuídas, porém a gerência desses serviços fica muito mais complicada.
Mostraremos a ferramenta chamada Istio que nos ajuda com service discovery, com a distribuição de carga, com as rotas, com a detecção e tratamento de falhas, com controle de acesso entre aplicações dentre muitas outras funcionalidades disponíveis.
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiiMasters
Augusto Pascutti - Developer, Creditas
Para o quê eles servem e como usá-los de forma mais eficiente, seja através de integrações com outras ferramentas ou só seguindo receitas de como as mensagens de erro devem ser geradas e compostas.
Apresentado no InterCon 2018: https://eventos.imasters.com.br/intercon
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...iMasters
Rubens Guimarães - CEO, e-Seth
Como projetar e colocar em prática bancos de dados inteligentes SQL e NoSQL em ambientes de alto consumo de dados.
Técnicas de sharding, tunning, elasticidade automatizada em ambientes cloud e outros recursos.
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
Construindo aplicações mais confiantes - Carolina KarklisiMasters
Carolina Karklis - Software developer, Magnetis
O hype da orientação a objetos passou e com ele precisamos rever algumas práticas.
Até mesmo o codebase mais limpo pode ter mensagens de erro precárias, checagens de tipo de dado em excesso, e uso dispensável de variáveis nulas.
Nessa talk vou refatorar um sistema frágil e mostrar estratégias dentro do paradigma de orientação a objetos para escrever código de forma mais simples e confiante.
No processo, vamos ver padrões de arquitetura de software que podemos usar, como melhorar mensagens para cenários de input inesperado e remover todas as variáveis nulas possíveis do nosso código.
Monitoramento de Aplicações - Felipe RegalgoiMasters
Felipe Regalgo - Especialista em Desenvolvimento de Software, Mercado Livre
Mostraremos como o Mercado Livre monitora suas aplicações para identificar Bugs, Anomalias e comportamentos fora de padrão esperado.
Falaremos sobre sistemas como NewRelic, DataDog, Kibana, OpsGenie e demais ferramentas internas que temos para facilitar e identificar problemas nas centenas de micro-serviços que temos antes mesmo deles chegarem até o usuário final.
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
Elton Minetto - CTO, CodeNation
Em seu livro "Clean Architecture: A Craftsman's Guide to Software Structure and Design" o famoso autor Robert "Uncle Bob" Martin apresenta uma arquitetura com alguns pontos importantes como testabilidade e independência de frameworks, bancos de dados e interfaces.
Nesta apresentação vou mostrar exemplos de como aplicar estes conceitos em projetos escritos em Golang e PHP
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...iMasters
Letticia Nicoli - Desenvolvedora, Lambda3
Entenda como a cultura DevOps no mundo Mobile pode nos ajudar a antecipar problemas e alcançar uma melhoria contínua desde o desenvolvimento até após o lançamento do seu aplicativo.
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
A nova geração de persistência de dados com grafos - Otávio SantanaiMasters
Otávio Santana - Software Engineer, Tomitribe
A tecnologia NoSQL tem se popularizado nas mais diversas áreas e com diferentes usos, o que inclui casos de sucesso com bancos de grafos.
Os bancos de dados de grafos possuem uma estrutura bastante diferente da base de dados relacional e o seu uso ficou bastante forte, sobretudo com sistema de recomendação.
Com esse grande poder e funcionalidade, atualmente, existem cerca de sessenta tipos de bancos de dados do tipo grafos e com essa diversidade surge um problema: para cada banco é necessário aprender uma nova linguagem.
Essa palestra terá como objetivo cobrir um pouco mais sobre esse tipo de banco além de iniciar a pergunta: Já está na hora de falarmos de padrões para os bancos de dados NoSQL?
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
Navegadores por de baixo dos panos - Ana Luiza BastosiMasters
Ana Luiza Bastos - Fullstack Developer, Quanto
Como funciona o passo a passo da renderização de elementos do navegador do request ao website funcional e como otimizar a performance para garantir uma melhor experiência de usuário.
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
Samanta Cicilia - Manager de QA, Concrete
No meu último projeto me deparei com o desafio de automatizar testes para gráficos onde as cores, formatos e detalhes eram muito importantes para a funcionalidade.
A solução foi aplicar Visual Regression Testing e garantir que esses aspectos visuais estavam de acordo com o esperado.
Nessa palestra vamos ver o que é Visual Regression Testing e exemplos de como automatizar usando algumas ferramentas de mercado (Percy, Lineup, Visual Review, AppliTools, GalenFramework) e também que é possível implementar a sua própria.
Palestra apresentada no InterCon 2018 - https://eventos.imasters.com.br/intercon
Design UX - Quanto isso influencia seu projeto - Guilherme Sester AraujoiMasters
Design UX. O que é e para que serve? Como utilizar no seu projeto e o quanto influencia. Boas práticas na criação de um site.
Nesta palestra, o Guilherme irá mostrar exemplos práticos e irá exercitar o conceito de UX em diversos momentos (da concepção à entrega do produto final).
De uma maneira leve e até bem humorada, a ideia é desmistificar esse conceito e trazer maneiras de utilizar técnicas de UX no dia a dia.
Será abordado ainda, design para desktop x mobile, como projetar um PWA otimizado e também diferenciação entre UX e UI.
Quando falamos de Prototypes estamos falando diretamente de Herança, um dos pilares da orientação a objetos. Terminar com QUAIS SÃO OS PILARES DA ORIENTAÇÃO A OBJETOS?
O primeiro pilar, tem uma definição formal mas basicamente é a capacidade de restringir acesso a métodos e propriedades, não é bonito no JS mas é possível
Um exemplo seria encapsular um nome, no Javascript brincamos muito com o contexto para fazer isso possível
O Javascript não possui o encapsulamento nativo
O segundo pilar, possibilidade de objetos compartilharem comportamentos e sobrescreverem esses comportamentos de acordo com a necessidade
Para falar disso vamos ter que notar duas coisas
Arrow functions vão trocar o contexto para o contexto imediatamente superior (no nosso caso, Window) e esse contexto não tem os atributos, vai dar undefined em tudo
O que é isso?
Agora estamos chegando aonde queremos. O terceiro pilar, capacidade de objetos acessarem propriedades de outros objetos sem instancia-los
A herança é o que permite que utilizemos métodos específicos de um Array sem que a gente tenha implementado eles.
Nunca definimos nenhuma propriedade Map, ela deve estar vindo de algum lugar
Essa é uma pergunta que a gente deveria fazer mais.
Você já se perguntou quais são os tipos básicos do Javascript?
O Javascript tem 3 tipos base de onde a maioria das coisas são geradas: O Array, o Object e o Function
Quando criamos arrays, a notação literal é igual a notação de classe, e tudo isso vem de um objeto global Array
O mesmo vale para funções
Para objetos, a coisa é um pouco diferente, visto que se você colocar uma string em um new Object ele dará uma string com todas as propriedades da string
Isto acontece porque TUDO deriva de Object, dependendo do parâmetro passado. Os contrutores são apenas funções que chamam new Object() e ele devolve valores baseados nos tipos primitivos
Como esse objeto funciona? Como podemos usar uma função em um array e não em uma string?
A questão é, como eu posso fazer .map em um array mas não em uma string?
o dunder proto é uma implementação não oficial que foi criada para colocar as implementações do JS para cada navegador. É a referencia para o objeto acima da cadeia, enquanto o prototype é a referencia par ao objeto atual.
Terminar com “Então é daí que vem a herança? O que a gente faz com isso?”
Não podemos mexer nisso porque é um objeto de referência para outro objeto, alterar suas propriedade vai alterar a propriedade global do objeto no JS, ele foi criado só para questões de compatibilidade
O __proto__ é referencia para outro objeto diferente, que é o prototype do objeto superior, onde de fato as implementações estão
O objeto prototype só existe em funções para os casos quando você quer usar essas funções como construtores com o new
E o que é o new então?
Vamos imaginar que temos o mesmo código de antes e vamos criar uma instancia dessa função
Quando usamos new, um objeto vazio é criado e colocado em prototype, depois ele é associado ao this e, por consequencia, o this.__proto__ é o Object.prototype (porque o this é um objeto)
Se printarmos o prototype da instancia, ele será undefined, porque a instancia não é uma função e não pode ser usado como construtor
Mas se printarmos o prototype do construtor, ele existe
E se usarmos o __proto__ ele vai apontar para o prototype da funçao acima
Dar definição de herança prototípica falando da forma de bolo, que você tem alguma coisa que pode virar o bolo mas vc precisa de uma forma para aquilo
Da mesma forma criar um array vai colocar o objeto em uma “forma” de array com todas as propriedades
Você pode fazer isso com qualquer tipo primitivo. Então como vamos usar essas propriedades? Como o JS sabe onde um método está?
Herança no JS nada mais é do que uma propriedade passada entre objetos
Analogia da escola:
Imagine que você tem uma prova para fazer mas não tem caneta. Você pede para um amigo se ele tem uma caneta, mas ele também não tem, então ele pede para o amigo dele, e este amigo tem uma caneta que é passada para você.
Na analogia, o __proto__ é como o JS sabe que você é amigo da outra pessoa e o prototype é o que você tem disponível
Falar sobre a função hasOwnProperty que diz se o próprio objeto possui um método e não sua cadeia de protótipos
PROXIMO SLIDE TEM O EXEMPLO
O __proto__ sempre aponta para o prototype do objeto de cima da cadeia e o __proto__ deste aponta para o outro acima e assim vai
Aqui é aonde a herança aparece, se chamarmos George.hello() vamos procurar o método em outro objeto que não é o nosso
Fazer a pergunta: Se eu fizer isso para os Arrays e Functions, vou obter o mesmo resultado?
Não, o Array e Function são construtores assim como todos os outros métodos String, Boolean e etc, eles tem a forma no Object
E como o Extends funciona?
Quando fazemos a notação de extends, essencialmente estamos dizendo que a classe filha é protótipo do pai
Que é essencialmente isto que estamos fazendo
Um exemplo com uma classe real
Quando damos “class x extends null” criamos uma classe que não estende o Object.prototype
Métodos que podem ser sobrescritos. A chave está na linha 7, aqui podemos usar o exemplo que Printer é o driver genérico enquanto Epson é o driver proprietário
O problema com overloads é sobrescritas de objetos globais como Array e Object
Fazer isso em sistemas grandes pode quebrar completamente tudo (dar exemplo do facebook)
FALAR SOBRE O ARTIGO SMOOSHGATE
Criar métodos locais criará cópias do mesmo método para todas as instancias do objeto.
Dizer que TALVEZ NÃO SEJA O MELHOR EXEMPLO, falar sobre usuários
Voltando para o que explicamos antes, o this é um objeto vazio que é criado todas as vezes
O que fazemos aqui é instanciar 5 milhões de métodos print iguais em 5 milhões de objetos diferentes, cada um apontando para um endereço de memória, o que pode causar um memory leak
O ganho não é tanto no tempo, mas sim na performance de memória