O documento discute as ações tomadas por uma grande varejista para modernizar sua plataforma WebForms legada e manter a compatibilidade, enquanto garante o negócio. Eles migraram parcialmente para uma nova plataforma, mas tiveram problemas de desempenho que exigiram rollbacks. Análises posteriores identificaram problemas de arquitetura e código, como uso inadequado de recursos e paralelismo. Estratégias como Redis e cache melhoraram o desempenho após correções.
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensPaulino Michelazzo
O documento fornece dicas para melhorar o desempenho do Drupal, incluindo reduzir arquivos JavaScript, CSS e imagens, usar cache para código e banco de dados, e configurar parâmetros do servidor como realpath_cache_size e query_cache_size.
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Taller Negócio Digitais
O documento discute como a Natura vem diminuindo seu custo total de operação com Drupal. Ele explica como calcular o custo total de posse de um software, os benefícios do open source, PaaS/SaaS e Drupal nesse cálculo, e apresenta casos de sucesso da Natura com Drupal que reduziram custos e melhoraram desempenho e experiência do usuário.
O documento discute como o Cloud Computing e plataformas como nuvem (PaaS) podem ajudar a transformar ideias em aplicações de forma rápida e escalável, poupando tempo e dinheiro. Apresenta os desafios tradicionais no desenvolvimento de aplicações e como o OpenShift oferece uma solução ao fornecer recursos gerenciados na nuvem para codificar, testar, implantar e escalar aplicações facilmente. Demonstra o uso do OpenShift por meio de exemplos de aplicações Java, mobile e WordPress implantadas na plataforma
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...Taller Negócio Digitais
Este documento apresenta uma proposta de arquitetura de referência para Drupal 7 e 8 desenvolvida pela Natura e Taller para a comunidade. Ele discute os benefícios de se ter uma arquitetura colaborativa e intencional e como a comunidade pode contribuir para seu desenvolvimento e manutenção.
Este documento discute como desacoplar uma aplicação Drupal 8 da interface do usuário construída com React. Ele sugere uma abordagem parcial onde a interface do usuário é tratada como um tema, enquanto o Drupal ainda controla autenticação, rotas e APIs. Isso permite inovar com menor risco ao aproveitar as melhores partes de cada tecnologia.
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensPaulino Michelazzo
O documento fornece dicas para melhorar o desempenho do Drupal, incluindo reduzir arquivos JavaScript, CSS e imagens, usar cache para código e banco de dados, e configurar parâmetros do servidor como realpath_cache_size e query_cache_size.
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Taller Negócio Digitais
O documento discute como a Natura vem diminuindo seu custo total de operação com Drupal. Ele explica como calcular o custo total de posse de um software, os benefícios do open source, PaaS/SaaS e Drupal nesse cálculo, e apresenta casos de sucesso da Natura com Drupal que reduziram custos e melhoraram desempenho e experiência do usuário.
O documento discute como o Cloud Computing e plataformas como nuvem (PaaS) podem ajudar a transformar ideias em aplicações de forma rápida e escalável, poupando tempo e dinheiro. Apresenta os desafios tradicionais no desenvolvimento de aplicações e como o OpenShift oferece uma solução ao fornecer recursos gerenciados na nuvem para codificar, testar, implantar e escalar aplicações facilmente. Demonstra o uso do OpenShift por meio de exemplos de aplicações Java, mobile e WordPress implantadas na plataforma
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...Taller Negócio Digitais
Este documento apresenta uma proposta de arquitetura de referência para Drupal 7 e 8 desenvolvida pela Natura e Taller para a comunidade. Ele discute os benefícios de se ter uma arquitetura colaborativa e intencional e como a comunidade pode contribuir para seu desenvolvimento e manutenção.
Este documento discute como desacoplar uma aplicação Drupal 8 da interface do usuário construída com React. Ele sugere uma abordagem parcial onde a interface do usuário é tratada como um tema, enquanto o Drupal ainda controla autenticação, rotas e APIs. Isso permite inovar com menor risco ao aproveitar as melhores partes de cada tecnologia.
Nós desenvolvedores muitas vezes temos ideias de negócios milionários e de grande impacto, mas normalmente temos dificuldade em definir qual tecnologia utilizar para tirar essas ideias do papel. Um conceito muito utilizado no meio de startups é o MVP, ou Minimo Produto Viável. Basicamente, você cria o menor produto possível da sua grande ideia, ou seja, um protótipo. Assim, você consegue identificar e corrigir os problemas rapidamente ou descartar o modelo caso necessário. Nesta palestra, apresento formas de utilizar o UpStream de tecnologias como Micro Services, DDD, TDD e REST para construir APIs escaláveis de MVP. Se você tomar a decisão certa no início, dificilmente precisará trocar seu framework ou tecnologia utilizada pra atender à evolução.
Este documento contém uma retrospectiva mensal da empresa Bluesoft no ano de 2008, destacando eventos, projetos, clientes e atividades realizadas pela equipe ao longo do ano. Inclui detalhes sobre adoção de novas tecnologias, participação em eventos e conferências, capacitações, parcerias estabelecidas e objetivos para 2009.
Técnicas de frontend para aplicações django - PythonBrasil[9]Rael Max
Este documento fornece dicas sobre técnicas de frontend para aplicações Django, incluindo como melhorar o desempenho, manutenção e escalabilidade através de menos requisições, arquivos menores e organização do código. Além disso, fornece dicas sobre templates, ferramentas de prototipagem e desempenho como Django Compressor, GruntJS e otimização de imagens.
O documento discute o desenvolvimento de aplicações web com PHP e MySQL. Aborda os tópicos: 1) A linguagem PHP, incluindo porque usá-la e o conjunto LAMP; 2) Programando em PHP, com detalhes sobre sintaxe, variáveis, vetores e outros; 3) Banco de dados MySQL, conexão e queries.
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...minastestingconference
Em nossa busca diária de forçar a web a fazer cada dia mais, acabamos diante de alguns problemas, dentre eles: Performance!
Aplicações web são bem mais robustas do que jamais imaginamos e se tornaram mais demandantes de recursos de dispositivos e até mesmo de internet.
Nessa talk vamos conhecer algumas formas e ferramentas para avaliar e sugerir melhorias de performance de aplicações web principalmente na perspectiva de um usuário.
Veremos o que é importante avaliar e como isso impacta em um site responsivo, desenvolvido para funcionar em vários dispositivos (smartphone, tablet, notebooks, etc).
O documento lista diversas áreas que um desenvolvedor de software (DEV) pode atuar, como front-end, back-end, mobile, DevOps, banco de dados, ciência de dados e testes, e descreve de forma geral o que cada área envolve e o conhecimento desejável.
Agile Brazil 2014 - Visual Regression Testing com PhantomCSSStefan Teixeira
Este documento apresenta o PhantomCSS, uma ferramenta para teste de regressão visual usando o CasperJS, PhantomJS e Resemble.js. O PhantomCSS captura screenshots de páginas web e compara com imagens de referência para identificar alterações visuais. Exemplos demonstram como configurar e executar testes de regressão visual com o PhantomCSS.
Com o ASP.NET SignalR passamos a ter o poder da comunicação em real-time através de mecanismos de push. O SignalR utiliza um conjunto de tecnologias e técnicas para permitir que o servidor envie informação para um ou mais clientes. Estes clientes podem ser tão diferentes quanto um cliente HTML + Javascript, uma aplicação WPF ou mesmo uma app a ser executada no iOS.
Vamos explorar estas potencialidades em um conjunto de exemplos práticos onde poderemos perceber:
Quais as técnicas e tecnologias que suportam o SignalR;
Quão simples é criar um cliente capaz de fazer comunicação em real-time;
Quais plataformas já suportam o SignalR;
Além disso poderemos discutir quais as áreas de aplicabilidade desta tecnologia.
Apresentação sobre o sistema de gestão de tarefas - Optimus. Copyright Diagnosys Informática. Entre em contato conosco: (24) 2233-2028 / (24) 2237-6295
O documento descreve um treinamento sobre performance e tunagem de ambientes Linux. Ele detalha a pesquisa realizada, os objetivos do treinamento, pré-requisitos, conteúdo e carga horária. O treinamento abordará tópicos como distribuições Linux para performance, gerenciamento de processos, sistemas de arquivos, ferramentas de monitoramento, benchmarking, tunagem para aplicações, virtualização e Docker.
O documento apresenta a ferramenta SaltStack para gerenciamento de infraestrutura como código (IaC). O SaltStack permite executar comandos remotamente em hosts, funciona em diferentes arquiteturas e oferece versionamento, testes e outras funcionalidades de desenvolvimento de software. Além disso, o documento discute como o SaltStack pode ser usado para gerenciar o Zabbix de forma declarativa.
TDC2018FLN | Trilha Ruby - Como turbinamos nossa sua suite de testes Rails em...tdc-globalcode
O documento descreve como a suíte de testes do aplicativo web JobScore foi aprimorada para rodar mais de 600% mais rápido. O problema era que os testes levavam mais de uma hora para rodar. A solução foi dividir os testes em ambientes Docker isolados e executá-los em paralelo usando a ferramenta Buildbot em vez do Jenkins. Isso reduziu o tempo de teste para entre 3-10 minutos. Monitoramento contínuo e melhorias adicionais reduziram ainda mais o tempo.
Apresentação sobre algumas ferramentas que facilitam o dia-a-dia dos developers que trabalham com SQL Server, e permitem alcançar maior produtividade. Comparar estruturas de dados e gerar scripts com as diferenças para manter diferentes ambientes, sincronismo de dados de tabelas em diferentes bases de dados, utilização de um plugin para utilização de um mecanismo de Intellisense mais completo, documentação da base de dados, entre outras coisas, na 9ª reunião presencial da comunidade NetPonto
1) Uélerson pede à equipe de desenvolvimento para implantar um novo artefato no ambiente de produção.
2) As instruções e artefatos estão anexados em um arquivo PDF.
3) A equipe de desenvolvimento está realizando o deploy no ambiente de produção.
Além do MVP com PHP - TDC Floripa 2016Romeu Mattos
Romeu Mattos apresenta sobre sua trajetória como desenvolvedor PHP e estratégias para construir um MVP (Produto Mínimo Viável) usando frameworks PHP. Ele discute como começou no desenvolvimento web com ASP e posteriormente migrou para PHP, e como escolher entre frameworks full stack ou microframeworks dependendo dos requisitos e escopo do projeto. Mattos também fornece dicas sobre boas práticas como TDD, DDD e uso de bibliotecas como Doctrine e Composer.
O documento descreve a jornada do autor com programação funcional ao longo de 2017, desde seus primeiros passos com Elm até adotar cada vez mais uma abordagem funcional em Ruby. Ele experimentou diferentes tecnologias, leu livros, organizou e participou de eventos e contribuiu com projetos open source, aprofundando seu entendimento sobre programação funcional.
O documento discute aprender a aprender, valorizar a geração e entendimento de detalhes e frameworks web como Java. Também menciona MVP, mudança de paradigma para solução de problemas de usuários, hipóteses versus fatos e o Lean Canvas.
O documento apresenta Rodrigo Campos, diretor de operações da walmart.com, que falará sobre como DevOps pode melhorar as relações entre desenvolvimento e operações nas empresas de tecnologia. Ele discute conceitos como cultura DevOps, novos papéis como desenvolvedores de infraestrutura e gestão de sistemas, métricas como capacidade e velocidade de entrega, e desafios como segurança da informação e conformidade com normas.
O documento discute como construir aplicações escaláveis usando AngularJS sem depender de um único backend. Apresenta NodeJS como uma alternativa para construir backends leves e escaláveis, explorando suas vantagens como event loop e I/O não bloqueante. Também discute como AngularJS e outras tecnologias front-end podem se comunicar com backends em NodeJS usando Redis como cache entre as camadas.
O documento discute como construir aplicações escaláveis sem depender de um único pipeline tecnológico. Ele propõe um conceito "agnóstico" onde a camada front-end solicita dados de forma independente da camada back-end através de REST, e uma camada middle-tier não depende da tecnologia back-end. O documento também apresenta Node.js como uma alternativa para o desenvolvimento back-end e discute suas vantagens como event loop e thread única.
Nós desenvolvedores muitas vezes temos ideias de negócios milionários e de grande impacto, mas normalmente temos dificuldade em definir qual tecnologia utilizar para tirar essas ideias do papel. Um conceito muito utilizado no meio de startups é o MVP, ou Minimo Produto Viável. Basicamente, você cria o menor produto possível da sua grande ideia, ou seja, um protótipo. Assim, você consegue identificar e corrigir os problemas rapidamente ou descartar o modelo caso necessário. Nesta palestra, apresento formas de utilizar o UpStream de tecnologias como Micro Services, DDD, TDD e REST para construir APIs escaláveis de MVP. Se você tomar a decisão certa no início, dificilmente precisará trocar seu framework ou tecnologia utilizada pra atender à evolução.
Este documento contém uma retrospectiva mensal da empresa Bluesoft no ano de 2008, destacando eventos, projetos, clientes e atividades realizadas pela equipe ao longo do ano. Inclui detalhes sobre adoção de novas tecnologias, participação em eventos e conferências, capacitações, parcerias estabelecidas e objetivos para 2009.
Técnicas de frontend para aplicações django - PythonBrasil[9]Rael Max
Este documento fornece dicas sobre técnicas de frontend para aplicações Django, incluindo como melhorar o desempenho, manutenção e escalabilidade através de menos requisições, arquivos menores e organização do código. Além disso, fornece dicas sobre templates, ferramentas de prototipagem e desempenho como Django Compressor, GruntJS e otimização de imagens.
O documento discute o desenvolvimento de aplicações web com PHP e MySQL. Aborda os tópicos: 1) A linguagem PHP, incluindo porque usá-la e o conjunto LAMP; 2) Programando em PHP, com detalhes sobre sintaxe, variáveis, vetores e outros; 3) Banco de dados MySQL, conexão e queries.
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...minastestingconference
Em nossa busca diária de forçar a web a fazer cada dia mais, acabamos diante de alguns problemas, dentre eles: Performance!
Aplicações web são bem mais robustas do que jamais imaginamos e se tornaram mais demandantes de recursos de dispositivos e até mesmo de internet.
Nessa talk vamos conhecer algumas formas e ferramentas para avaliar e sugerir melhorias de performance de aplicações web principalmente na perspectiva de um usuário.
Veremos o que é importante avaliar e como isso impacta em um site responsivo, desenvolvido para funcionar em vários dispositivos (smartphone, tablet, notebooks, etc).
O documento lista diversas áreas que um desenvolvedor de software (DEV) pode atuar, como front-end, back-end, mobile, DevOps, banco de dados, ciência de dados e testes, e descreve de forma geral o que cada área envolve e o conhecimento desejável.
Agile Brazil 2014 - Visual Regression Testing com PhantomCSSStefan Teixeira
Este documento apresenta o PhantomCSS, uma ferramenta para teste de regressão visual usando o CasperJS, PhantomJS e Resemble.js. O PhantomCSS captura screenshots de páginas web e compara com imagens de referência para identificar alterações visuais. Exemplos demonstram como configurar e executar testes de regressão visual com o PhantomCSS.
Com o ASP.NET SignalR passamos a ter o poder da comunicação em real-time através de mecanismos de push. O SignalR utiliza um conjunto de tecnologias e técnicas para permitir que o servidor envie informação para um ou mais clientes. Estes clientes podem ser tão diferentes quanto um cliente HTML + Javascript, uma aplicação WPF ou mesmo uma app a ser executada no iOS.
Vamos explorar estas potencialidades em um conjunto de exemplos práticos onde poderemos perceber:
Quais as técnicas e tecnologias que suportam o SignalR;
Quão simples é criar um cliente capaz de fazer comunicação em real-time;
Quais plataformas já suportam o SignalR;
Além disso poderemos discutir quais as áreas de aplicabilidade desta tecnologia.
Apresentação sobre o sistema de gestão de tarefas - Optimus. Copyright Diagnosys Informática. Entre em contato conosco: (24) 2233-2028 / (24) 2237-6295
O documento descreve um treinamento sobre performance e tunagem de ambientes Linux. Ele detalha a pesquisa realizada, os objetivos do treinamento, pré-requisitos, conteúdo e carga horária. O treinamento abordará tópicos como distribuições Linux para performance, gerenciamento de processos, sistemas de arquivos, ferramentas de monitoramento, benchmarking, tunagem para aplicações, virtualização e Docker.
O documento apresenta a ferramenta SaltStack para gerenciamento de infraestrutura como código (IaC). O SaltStack permite executar comandos remotamente em hosts, funciona em diferentes arquiteturas e oferece versionamento, testes e outras funcionalidades de desenvolvimento de software. Além disso, o documento discute como o SaltStack pode ser usado para gerenciar o Zabbix de forma declarativa.
TDC2018FLN | Trilha Ruby - Como turbinamos nossa sua suite de testes Rails em...tdc-globalcode
O documento descreve como a suíte de testes do aplicativo web JobScore foi aprimorada para rodar mais de 600% mais rápido. O problema era que os testes levavam mais de uma hora para rodar. A solução foi dividir os testes em ambientes Docker isolados e executá-los em paralelo usando a ferramenta Buildbot em vez do Jenkins. Isso reduziu o tempo de teste para entre 3-10 minutos. Monitoramento contínuo e melhorias adicionais reduziram ainda mais o tempo.
Apresentação sobre algumas ferramentas que facilitam o dia-a-dia dos developers que trabalham com SQL Server, e permitem alcançar maior produtividade. Comparar estruturas de dados e gerar scripts com as diferenças para manter diferentes ambientes, sincronismo de dados de tabelas em diferentes bases de dados, utilização de um plugin para utilização de um mecanismo de Intellisense mais completo, documentação da base de dados, entre outras coisas, na 9ª reunião presencial da comunidade NetPonto
1) Uélerson pede à equipe de desenvolvimento para implantar um novo artefato no ambiente de produção.
2) As instruções e artefatos estão anexados em um arquivo PDF.
3) A equipe de desenvolvimento está realizando o deploy no ambiente de produção.
Além do MVP com PHP - TDC Floripa 2016Romeu Mattos
Romeu Mattos apresenta sobre sua trajetória como desenvolvedor PHP e estratégias para construir um MVP (Produto Mínimo Viável) usando frameworks PHP. Ele discute como começou no desenvolvimento web com ASP e posteriormente migrou para PHP, e como escolher entre frameworks full stack ou microframeworks dependendo dos requisitos e escopo do projeto. Mattos também fornece dicas sobre boas práticas como TDD, DDD e uso de bibliotecas como Doctrine e Composer.
O documento descreve a jornada do autor com programação funcional ao longo de 2017, desde seus primeiros passos com Elm até adotar cada vez mais uma abordagem funcional em Ruby. Ele experimentou diferentes tecnologias, leu livros, organizou e participou de eventos e contribuiu com projetos open source, aprofundando seu entendimento sobre programação funcional.
O documento discute aprender a aprender, valorizar a geração e entendimento de detalhes e frameworks web como Java. Também menciona MVP, mudança de paradigma para solução de problemas de usuários, hipóteses versus fatos e o Lean Canvas.
O documento apresenta Rodrigo Campos, diretor de operações da walmart.com, que falará sobre como DevOps pode melhorar as relações entre desenvolvimento e operações nas empresas de tecnologia. Ele discute conceitos como cultura DevOps, novos papéis como desenvolvedores de infraestrutura e gestão de sistemas, métricas como capacidade e velocidade de entrega, e desafios como segurança da informação e conformidade com normas.
O documento discute como construir aplicações escaláveis usando AngularJS sem depender de um único backend. Apresenta NodeJS como uma alternativa para construir backends leves e escaláveis, explorando suas vantagens como event loop e I/O não bloqueante. Também discute como AngularJS e outras tecnologias front-end podem se comunicar com backends em NodeJS usando Redis como cache entre as camadas.
O documento discute como construir aplicações escaláveis sem depender de um único pipeline tecnológico. Ele propõe um conceito "agnóstico" onde a camada front-end solicita dados de forma independente da camada back-end através de REST, e uma camada middle-tier não depende da tecnologia back-end. O documento também apresenta Node.js como uma alternativa para o desenvolvimento back-end e discute suas vantagens como event loop e thread única.
A apresentação discute como Redis pode ser usado para escalar o desempenho de aplicações ASP.NET, descrevendo suas principais características como armazenamento de dados em memória chave-valor, suporte a estruturas de dados complexas e operações atômicas. Também mostra exemplos de como usar pipelines e pub/sub no Redis.
O documento apresenta uma visão geral do ASP.NET Identity, incluindo sua história, versões, classes principais e recursos como autenticação de dois fatores. Apresenta também recomendações de segurança e demonstrações de funcionalidades como confirmação de conta e login externo usando provedores como Facebook.
DDD na prática :: Implementação tática – Entidades vs Objeto de ValorJosé Roberto Araújo
O documento discute conceitos de Domain Driven Design como entidades, objetos de valor e bounded context. Ele fornece diretrizes sobre como identificar objetos de valor e preferi-los a entidades para concentrar as regras de negócio, e como entidades geralmente encapsulam objetos de valor.
Pangea - Plataforma digital com Google Cloud PlatformAndré Paulovich
O documento apresenta os benefícios da plataforma Google Cloud Platform, incluindo escalabilidade ilimitada, disponibilidade, desempenho garantido e preços competitivos. Apresenta também exemplos de como usar serviços como Compute Engine, Datastore e Cloud Storage para desenvolver aplicações de forma escalável e econômica na nuvem.
O documento fornece uma introdução sobre automação de testes de software com Selenium e BDD, focando no front-end. Ele discute conceitos como ágil, TDD, BDD, frameworks para teste end-to-end, HTML, CSS, XPath, e dá instruções sobre como configurar o ambiente de desenvolvimento com Node.js, TypeScript, Git e navegadores.
1. O documento descreve uma demonstração técnica de um projeto universitário desenvolvido por estudantes utilizando várias tecnologias como PHP, MySQL, CSS, JavaScript e Google Maps.
2. A aplicação está alojada em um servidor externo e comunica com uma base de dados criada no MySQL Workbench.
3. A demonstração técnica mostra o funcionamento do registro de usuários, streaming de vídeo, mapa e calendário.
1) O documento descreve uma demonstração técnica de um projeto universitário desenvolvido por estudantes utilizando várias tecnologias da web.
2) Foi criado um protótipo de site com arquitetura server-side em PHP e banco de dados MySQL hospedado em servidor externo.
3) A demonstração mostrou funcionalidades como login de usuário, streaming de vídeo, mapa e calendário utilizando tecnologias como PHP, CSS, JavaScript e API do Google Maps.
Big Data, Performance, Posix, RTB no mercado de publicidade onlineTiago Peczenyj
Tiago Peczenyj apresenta sobre propaganda na web, incluindo técnicas como retargeting, real time bidding e uso de big data para segmentar audiências e melhorar a performance de campanhas online. Ele também discute desafios de escalabilidade em sistemas de publicidade e ferramentas como Redis e Riak para armazenamento e processamento de grandes volumes de dados.
O documento discute arquitetura web e desenvolvimento para a web. Ele apresenta três evoluções na abordagem de desenvolvimento, começando por separar a lógica da apresentação, depois introduzindo o padrão MVC, e finalmente focando no Domain-Driven Design. O documento também discute tecnologias como Java EE, EJB, JPA e JSF que podem ser usadas para implementar uma arquitetura web robusta.
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
Apresentado para o Pop-ES e NPD da Ufes. Conheça o significado de DevOps e como ele pode apoiar entregas mais rápidas de software por meio da mudança de cultura, automatização entre outras...
O documento discute como escalar aplicações para suportar altos volumes de tráfego e usuários. Apresenta quatro fases de crescimento de uma aplicação de sucesso, desde a fase inicial com poucos servidores até fases posteriores onde é necessário adicionar mais recursos e redesenhar a arquitetura para lidar com a demanda crescente de forma eficiente e resiliente.
O documento discute programação reativa e serverless no Azure. Na primeira parte, fornece contexto histórico sobre a evolução dos sistemas e mudanças nos paradigmas de programação. A segunda parte explica conceitos de programação reativa e como ela se relaciona com programação funcional. A terceira parte introduz o tópico de serverless e discute seu espectro de uso na nuvem.
O documento apresenta um tutorial sobre como criar uma aplicação web simples utilizando o framework Ruby on Rails, abordando tópicos como criação de projeto, banco de dados, layout e componentes front-end.
O documento resume as apresentações de um evento sobre design de software no século 21. As três principais apresentações discutiram os desafios do desenvolvimento mobile, bancos de dados NoSQL e projeto de software. Outros tópicos incluíram performance na Netflix, métodos ágeis, programação em par, documentação, arquitetura do Facebook e frameworks Java.
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
Nesta sessão abordamos a performance de Sistemas de Informação desenvolvidos na plataforma ASP.NET com recurso a SQL Server com SGBD. Iremos explicar como surgem os problemas de performance em sistemas com alguns anos de existência e qual a abordagem a tomar, quando temos utilizadores insatisfeitos.
Abordaremos também alguns casos de sucesso no mercado a nível de sistemas de alta disponibilidade e como o mercado tem evoluído. De uma forma geral, pretendemos demonstrar técnicas de análise/tuning de performance em ASP.NET e sua evolução ao longo das várias versões, como também algumas técnicas de requisitos para obtenção e estruturação da informação.
Finalmente, o objetivo passa por divulgar procedimentos, técnicas e ferramentas que sirvam como uma referência que possam ser úteis caso surjam problemas de performance nos nossos sistemas de futuro, entre os quais : Do’s & Dont’s, Systematic Tuning, ASP.NET Trace, VS Profiling Tools, SQL Profiler entre outros.
O documento discute os desafios de transformar ideias em aplicações e como o Cloud Computing e plataformas como PaaS (Plataforma como Serviço) podem ajudar a superar esses desafios de forma rápida e barata. Ele apresenta o que é Cloud Computing, SaaS, PaaS e IaaS e demonstra como o OpenShift permite desenvolver e implantar aplicações na nuvem de forma simples.
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...tdc-globalcode
O documento discute os benefícios da versionamento da infraestrutura usando ferramentas de orquestração como Chef e Ansible, incluindo a redução de riscos de falhas, menos dependência de pessoas e melhor monitoramento. É apresentada a experiência da empresa Rivendel na implantação de cultura DevOps e na migração de clientes para ambientes na nuvem.
O documento discute como as práticas do Extreme Programming (XP) se tornaram menos populares ao longo dos anos, apesar de serem consideradas importantes para a construção de software de qualidade. Apresenta possíveis razões para isso, como a ênfase maior em gestão do que em engenharia e a dificuldade de mudança cultural. Defende que equipes ágeis devem concentrar-se mais nas disciplinas técnicas do XP e trazer essas práticas de volta.
O documento apresenta uma introdução à plataforma Openshift como serviço de plataforma como serviço (PaaS) na nuvem. O palestrante explica o que são nuvem, PaaS e SaaS e porque usar o Openshift. Ele demonstra como criar aplicações no Openshift usando diferentes linguagens e bancos de dados, além de ferramentas de desenvolvimento e como a plataforma configura, gerencia e escala as aplicações.
O documento analisa criticamente o NoSQL, questionando se ele é realmente novo e se é tão fácil e rápido quanto afirma. Também levanta dúvidas sobre se o NoSQL é a melhor opção para armazenamento de big data a longo prazo e se é sempre mais barato que bancos de dados tradicionais.
O documento discute práticas ágeis de desenvolvimento de software, como DevOps. Apresenta casos em que equipes de desenvolvimento e operações precisam trabalhar juntas para resolver problemas. Também discute os benefícios de automação, integração e entrega contínuas para melhorar a velocidade e qualidade do trabalho.
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra
Este documento apresenta o PHP no modelo de desenvolvimento ágil Scrum. Resume que o PHP é adequado para o Scrum devido à sua capacidade de entregar resultados rapidamente através de frameworks. O Scrum organiza o desenvolvimento em sprints curtos para entregas frequentes, o que combina bem com a produtividade do PHP. Juntos, o PHP e o Scrum podem formar times eficientes.
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...iMasters
Do jQuery aos microfrontends: os desafios de manter uma aplicação web - Luiz Fernando Rodrigues, ContaAzul
[JS EXPERIENCE 2018] - 5 de julho de 2018
São Paulo/SP
Semelhante a Matando web forms e modernizando um grande varejista (20)
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
4. O Grande Desafio...
Inovar o ecommerce, mantendo
conversão de clientes e vendas
Aumentar performance, sem aumentar o
consume de vCPUs, Memória e I/O de
disco e Rede
Reutilizar o checkout? Usaram Api, Não?
Não!!! Aumento da curva de aprendizado
do time !!!
Backoffice, onde fica nisso tudo?
Inovar aplicando os conceitos web de
SEO, WPO (Web Presentation Optimized)
Estratégia da Convivência
5. Como estava o cenário?
Cenário caótico e com várias definições
de negócio divergentes
Aplicação com várias falhas de
desenvolvimento e lógica
Descrédito sobre a utilização do REDIS.
Porquê? Qual foi a outra solução?
Não havia servidores de Testes
integrados e Staging (Pré-Produção)
Tudo baseado no AspNet Cache, serviço
windows, entreypoint único para
atualização do cache, tudo num único
Application Pool
NGINX desatualizado e mal configurado
Sem Rumo = CAOS
6. Ações planejadas
TDD + MTM
DDD ? Sim, para alguns casos!
Entityframework? Sim, usamos !
Implementação de técnicas de WPO
Implementação de carregamento assincrono dos Assets: Javascript e
CSS
Implementação de recomendações de SEO
Continuar com AspNet Cache? Porquê? Quais ganhos? Quais
perdas?
Grande inclinação para utilizar o REDIS
Servidores de Testes e Staging
Teste de Carga
Atualização do Nginx e Revisão de suas configurações
Refatoração e adequação do Backoffice
Colocando cada coisa em seu lugar…
7. Migrar 100% não seria o caminho?
Esse seria o caminho…
Não daria para entregar o
projeto completo, em tempo
hábil. (4 meses)
Morte do Projeto e Desgaste dos Desenvolvedores
10. O que aconteceu ao subir as novidades da
Nova Plataforma?
ROLLBACK por 3X
Porquê?
Consumo altíssimo das vCPUs
Consumo altíssimo de Memória
Alto indice de I/O nos Web Servers
Mas onde estavam os problemas? Ação HARD...
E…
Só tinhamos mais uma chance, final de
Setembro/2015! E fizemos um novo Deploy
11. Nem tudo são flores…
Lock de objetos implementados inadequadamente
Implementação LINQ utilizando vários .Includes
Stored Procedures mal implementadas Lockando registros
Paralelismo utilizado inadequadamente
Problemas de performance na aplicação REDIS, pagando o
preço por estrégias inadequadas
Tivemos que abrir mão dos testes de unidade já iniciados
(Diante de alguns rollbacks, não tinhamos tempo para
“desperdiçar” com TDD – Doce ilusão)
Retorno do filho pródigo: AspNet Cache !!!
12. O que houve com o Redis?
Armazenamento mal planejado
Estratégia das chaves-valor sem lógica e fora
dos padrões recomendados
Throughput muito alto de rede (Tráfego de
um grande volume de objetos em
requisições simples)
Mas o REDIS não resolve cenários de alta
performance?
Retorna, assim, o AspNet Cache!!!
Vejo sinais de Code Smell
14. Como ficou ao de subir as novas
implementações da Nova Plataforma?
15. Overload de CPU?
107% em algumas CPUs
O que levou a esse cenário?
Utilização de recursos de programação de forma inadequada
Paralelismo em consultas LINQ
Lock em blocos de código, segurando outras requests a executarem o código
Pagamento da dívida de ter removido os Testes de Unidade
Várias requests e consultas sendo executadas pela aplicação, para a mesma informação
Iterações em 10k+ registros aplicando operações com strings com Regex
16. O que tivemos que analisar?
Dump de memória de Produção e Homologação
Aplicação de filtros e indicadores para análise de performance através do PerfMon
Aplicação do Dump de memória ao Debug Diagnostic Tools
21. Estratégias utilizadas
Análise do fluxo do negócio
Análise sobre a utilização das informações e grau de mudança das informações no site
Levantamento sobre qual navegabilidade o usuário esperava do portal
Chaveamento das informações por departamento, dentro do portal
Aplicação do conceito Get-Fetch (Buscar e Carregar)
Aplicação de filtros de dados dentro nas estruturas de dados no Redis
Implementação dos servidores do Redis no mesmo barramento de Rede dos WebServers
28. Conclusão
1. Realize SEMPRE uma Análise sobre as expectativas do seu cliente.
Frustra-las será seu pior fracasso.
2. Busque SEMPRE inovar, com MODERAÇÃO.
NÃO utilize tudo de novo que o Mercado oferece, nem tudo se encaixa com suas necessidades.
3. Entenda o perfil do seu time.
Você será o principal fator para seu time performar
4. Mesmo tomando todos os cuidados, tenha ferramentas, estratégias e conhecimento para sanar os problemas.
Caso contrário, um pequeno ponto no código poderá levar seu projeto ao fracasso.
5. Fique sempre antenado no Mercado e busque aplicar as melhores práticas.
Elas normalmente te encaminharam para o sucesso do seu projeto, motivação do seu time e garantia de um cenário mais
controlado.
6. Trabalhem bem sua arquitetura, NUNCA a Negligencie.
O preço dela é ALTÍSSIMO, a conta chega e o pagamento, as na maioria das vezes não é tão trivial. Gerando cenários
nocivos ao seu negócio.
Um site com mais de 10 anos, usando AspNet 2.0
WebForms
JS sendo servido e montado no lado servidor
CSS fora dos novos padrões web
Baixa responsividade no site principal
Todo o Sistema dependia de Stored Procedure (Baixa escalabilidade)
Migrar o front-end do ecommerce, mantendo conversão de clientes e vendas
Melhorar a performance do site anterior sem consumir muitos recursos de servidor
Integrar com o checkout legado? Podemos colocar API? Depende, a curva de aprendizado seria grande para o time que tinhamos!!!
Backoffice como fica nesse emaranhado de código legado?
Como inovar a arquitetura da aplicação sem "engessar" o negócio que está em operação há mais de 15 anos? (WPO, SEO, Cache e outros ingredientes)
- Turnover muito alto no time
- Pouco tempo para grandes melhorias
- Cenário CAÓTICO com grandes divergências de definições
- Equipe desmotivada após 3 rollbacks
- Descrença sobre o funcionamento do Redis
- Porque descrença? E o que apontaram como solução?
- Sem Test Stage
- Tudo baseado em AspNet Cache, um serviço windows para atualizar os caches, um entrypoint em cada web server para atualizar o cache do Application Pool- NGINX mal configurado
TDD, Utilização de ferramentas para mapear e aplicar roteiros de teste
DDD ???
Entityframework? Sim, Usamos!
Utilização técnicas de WPO
Implementação de recomendações para aplicação do SEO
Continuar com AspNet Cache? Porque? Quais ganhos? Quais Perdas?
Adquirir servidores para Test Stages
Criação de ambientes pre-produção
Medições e métricas aplicadas através do Newrelic
Teste de Carga
Revisão sobre as configurações do NGINX (Log storage in separated partition, Cache Lock (Serve stale), Cache Purge, Assets rentantion timeout, Reverse Proxy)
Refatoração e adequação do Backoffice (Agendamento, Monitoramento, Log de erros melhorados, Separação dos serviços, SEQ + Quartz)
Consumo absurdo das vCPUs e Memória (claro tudo estava com base no AspNet Cache)
Dentre outros problemas que tiveram que ser analisado em modo HARD (Deep Diagnostic)
Paralelismos sendo usado de forma inadequada
Problemas de performance nos primeiros testes de carga (Redis mal dimensionado e com várias falhas de estratégia de chave e armazenamento)
O que tivemos que abdicar no meio das implementações de correção e melhoria? Testes de unidade , sim mais uma vez o argumento de que o tempo era curto e precisavamos entregar a nova plataforma antes da blackfriday (High Level Pressure)
Retorno do AspNet Cache (Bad signal…)
Sim, usamos tudo isso em uma estrutura da Locaweb
Mal planejamento da estratégia de armazenamento
Estratégia de chaves completamente fora de lógica e padronização recomendada pela Redis
Alto throughput de rede (volume de dados altíssimo trafegando na rede)
Mas espera um pouco: O Redis não é para ambientes de alta performance? Sim, mas se não for bem dimensionados os dados, quem paga é o meio físico - Rede!!!
E volta o cão arependido… AspNet Cache
Consumo absurdo das vCPUs e Memória (claro tudo estava com base no AspNet Cache)
Dentre outros problemas que tiveram que ser analisado em modo HARD (Deep Diagnostic)
Consumo absurdo das vCPUs e Memória (claro tudo estava com base no AspNet Cache)
Dentre outros problemas que tiveram que ser analisado em modo HARD (Deep Diagnostic)
- Não tem como comprovar em gráfico, mas pode-se mostrar o trecho de código que ocasionou tudo isso- Apresentar que nem tudo que há de mais modern em código, tecnologia pode ser aplicado sem ter a noção do quão nocivo pode ser para uma aplicação com acessos simultaneos
- Dump de memória do servidor de homologação + Debug Diagnostic Tools
- PerfMon e algumas métricas
- Para maiores detalhes, meu post no meu blog: http://www.jrobertoaraujo.net/2015/11/16/como-otimizar-a-performance-das-vcpus-de-um-e-commerce/
- Várias chamadas de métodos equivocadamente
- Aplicação de Regex em loops que recebiam várias chamadas simultaneas
- Parceiros bombardeando a aplicação
- Dump de memória do servidor de homologação + Debug Diagnostic Tools
- PerfMon e algumas métricas
- Para maiores detalhes, meu post no meu blog: http://www.jrobertoaraujo.net/2015/11/16/como-otimizar-a-performance-das-vcpus-de-um-e-commerce/
- Várias chamadas de métodos equivocadamente
- Aplicação de Regex em loops que recebiam várias chamadas simultaneas
- Parceiros bombardeando a aplicação
- Dump de memória do servidor de homologação + Debug Diagnostic Tools
- PerfMon e algumas métricas
- Para maiores detalhes, meu post no meu blog: http://www.jrobertoaraujo.net/2015/11/16/como-otimizar-a-performance-das-vcpus-de-um-e-commerce/
- Várias chamadas de métodos equivocadamente
- Aplicação de Regex em loops que recebiam várias chamadas simultaneas
- Parceiros bombardeando a aplicação