Planejamento de Capacidade Técnicas e Ferramentasluanrjesus
O documento discute técnicas e ferramentas para planejamento de capacidade. Apresenta métricas de desempenho comuns, modelos de filas de espera e ferramentas open source populares como Nagios, Zabbix, Collectd e Cacti para monitoramento de sistemas e geração de métricas.
O documento discute como automatizar sistemas legados utilizando ferramentas de DevOps. Primeiro, descreve as características problemáticas dos sistemas legados e a necessidade de tratá-los da melhor forma possível. Em seguida, apresenta como a HypeFlame/Agibank modularizou seu sistema legado, escolheu ferramentas adequadas e implementou pipelines de integração e entrega contínuas para tratá-lo de forma semelhante a microsserviços.
História dos Sistemas - Por que estamos fazendo desse jeitoLeo Lorieri
1. O documento descreve a história dos sistemas computacionais, desde os primeiros computadores elétricos até os sistemas distribuídos modernos.
2. Os principais desenvolvimentos incluem a era dos mainframes, a popularização dos PCs, a era client-servidor com a ascensão da Internet, e os desafios atuais de sistemas distribuídos e acesso a dados.
3. O autor, um veterano administrador de sistemas, pretende ajudar novos profissionais mostrando como velhas tecnologias foram
O documento apresenta um professor de informática e seu currículo. Ele ensinará conceitos básicos de informática e software para um curso de saúde bucal. O documento inclui detalhes sobre componentes de hardware, sistemas operacionais, e softwares de escritório como Microsoft Office e LibreOffice.
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.
Informatica Básica Aplicada no Contexto das Desigualdades sociaisRICARDO81499
- O documento introduz conceitos básicos de informática, incluindo hardware, software e tipos de computadores. Discute componentes de um computador como processador, memória e periféricos. Também define termos como dados, informação e programa.
- O objetivo do curso é introduzir conceitos básicos de informática e ensinar ferramentas computacionais para uso das tecnologias da informação. A metodologia inclui aulas expositivas e práticas individuais e em grupo.
- Os tópicos abordados são: introdução e conceitos
- O documento introduz conceitos básicos de informática, incluindo hardware, software e tipos de computadores. Discute componentes de um computador como processador, memória e entrada/saída. Também apresenta tópicos como sistemas operacionais, linguagens de programação e utilitários.
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...Mario Guedes
Nessa palestra, José Mario Silva Guedes mostra a migração da abordagem Cliente Servidor para Multi Camadas passando pelo SOA (Soap) até chegar no ROA (Rest), por intermédio de uma linha do tempo do uso das linguagens VB, Delphi, Java chegando no Python, bem como, da evolução do banco de dados relacional para abordagem noSQL e suas variantes. Por fim, será abordado o cenário atual, mostrando a adoção de Machine Learning e tecnologias cognitivas, como por exemplo a adoção de Bots para o atendimento
Planejamento de Capacidade Técnicas e Ferramentasluanrjesus
O documento discute técnicas e ferramentas para planejamento de capacidade. Apresenta métricas de desempenho comuns, modelos de filas de espera e ferramentas open source populares como Nagios, Zabbix, Collectd e Cacti para monitoramento de sistemas e geração de métricas.
O documento discute como automatizar sistemas legados utilizando ferramentas de DevOps. Primeiro, descreve as características problemáticas dos sistemas legados e a necessidade de tratá-los da melhor forma possível. Em seguida, apresenta como a HypeFlame/Agibank modularizou seu sistema legado, escolheu ferramentas adequadas e implementou pipelines de integração e entrega contínuas para tratá-lo de forma semelhante a microsserviços.
História dos Sistemas - Por que estamos fazendo desse jeitoLeo Lorieri
1. O documento descreve a história dos sistemas computacionais, desde os primeiros computadores elétricos até os sistemas distribuídos modernos.
2. Os principais desenvolvimentos incluem a era dos mainframes, a popularização dos PCs, a era client-servidor com a ascensão da Internet, e os desafios atuais de sistemas distribuídos e acesso a dados.
3. O autor, um veterano administrador de sistemas, pretende ajudar novos profissionais mostrando como velhas tecnologias foram
O documento apresenta um professor de informática e seu currículo. Ele ensinará conceitos básicos de informática e software para um curso de saúde bucal. O documento inclui detalhes sobre componentes de hardware, sistemas operacionais, e softwares de escritório como Microsoft Office e LibreOffice.
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.
Informatica Básica Aplicada no Contexto das Desigualdades sociaisRICARDO81499
- O documento introduz conceitos básicos de informática, incluindo hardware, software e tipos de computadores. Discute componentes de um computador como processador, memória e periféricos. Também define termos como dados, informação e programa.
- O objetivo do curso é introduzir conceitos básicos de informática e ensinar ferramentas computacionais para uso das tecnologias da informação. A metodologia inclui aulas expositivas e práticas individuais e em grupo.
- Os tópicos abordados são: introdução e conceitos
- O documento introduz conceitos básicos de informática, incluindo hardware, software e tipos de computadores. Discute componentes de um computador como processador, memória e entrada/saída. Também apresenta tópicos como sistemas operacionais, linguagens de programação e utilitários.
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...Mario Guedes
Nessa palestra, José Mario Silva Guedes mostra a migração da abordagem Cliente Servidor para Multi Camadas passando pelo SOA (Soap) até chegar no ROA (Rest), por intermédio de uma linha do tempo do uso das linguagens VB, Delphi, Java chegando no Python, bem como, da evolução do banco de dados relacional para abordagem noSQL e suas variantes. Por fim, será abordado o cenário atual, mostrando a adoção de Machine Learning e tecnologias cognitivas, como por exemplo a adoção de Bots para o atendimento
O documento fornece uma visão geral de várias áreas relacionadas à carreira de desenvolvimento de software, incluindo frontend, backend, DevOps, soft skills e considerações sociais. Ele discute os principais tópicos em cada área, como estruturas de dados, versionamento, arquitetura de projetos, cloud computing e inclusão. O documento enfatiza a importância contínua de aprendizado e compartilhamento de conhecimento.
O documento discute a importância dos testes de software para garantir a qualidade e evitar falhas caras e potencialmente catastróficas. Ele fornece dez exemplos históricos de desastres causados por bugs de software que poderiam ter sido evitados com testes adequados, e argumenta que a automação e integração dos testes no ciclo de desenvolvimento de software pode melhorar a qualidade e reduzir os riscos.
Quer conhecer mais sobre o Android da Goolge? Confira nesses slides:
- O que é Android?
- Quais as vantagens de desenvolver para android
- A plataforma
- A arquitetura
- O mercado
- Ambiente de desenvolvimento
- Minha Primeira App Android – Criando um exemplo
- Publicando sua aplicação
- Conceitos básicos
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...Adolfo Guimaraes
O documento apresenta uma palestra sobre extração de informações do Twitter utilizando a biblioteca NLTK. Resume os principais conceitos de mineração de dados e processamento de linguagem natural e demonstra como classificar tweets usando técnicas como classificação Bayesiana no NLTK.
performance para qualidade de desenvolvimento de softwareAntonio Lobato
O documento introduz o teste de desempenho, discutindo a motivação, o limite da paciência do usuário, o que é desempenho, habilidades necessárias, conceitos, processos, resultados, ferramentas e conclusões.
Escalando infra em ops em um ambiente de hiper crescimentoRenan Capaverde
O documento descreve a jornada da Nubank na escalada de sua infraestrutura e operações para acompanhar o hipercrescimento da empresa. Apresenta os desafios enfrentados no início com poucos engenheiros e a evolução para equipes maiores e novas estruturas com o Spotify model e tribos. Também destaca a ênfase contínua em melhorar a confiabilidade, desempenho e escalabilidade dos serviços.
Este documento fornece diretrizes sobre planejamento de desastres para sistemas de tecnologia da informação. Ele discute a importância de arquiteturas distribuídas e redundantes, os diferentes níveis de disponibilidade de componentes, e como um único ponto de falha pode comprometer todo o sistema. Também fornece recomendações sobre comunicação, escalonamento de equipes e análise pós-mortem durante incidentes.
O documento discute o DevOps e como o Application Insights pode ser usado para monitorar aplicações. Ele explica o que é DevOps, sua importância, ferramentas como o Application Insights e demonstra como ele fornece dashboards e métricas para monitorar o desempenho e saúde de aplicações.
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
O documento discute a importância dos testes de software para garantir a qualidade e evitar bugs caros. Ele explica que testes devem ser realizados em três momentos: antes do desenvolvimento, durante o desenvolvimento e depois que o software é implantado. O documento também fornece exemplos de como práticas ágeis e testes automatizados podem melhorar a qualidade e reduzir custos.
O documento fornece informações sobre a história e o crescimento de uma empresa de tecnologia ao longo de 15 anos, desde o lançamento da primeira versão de seu framework Java EE até investimentos, clientes, certificações e presença geográfica atual.
O documento discute a diferença entre homens e meninos no desenvolvimento de sistemas para o mundo real. Homens não se preocupam apenas com a estética do código, mas também com aspectos como realidade, administrabilidade, disponibilidade, debugabilidade, escalabilidade e performance no runtime. Falhas inevitavelmente ocorrerão e sistemas precisam ser projetados para lidar com elas.
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...Gleicon Moraes
O documento discute os desafios da entrega contínua à medida que sistemas crescem em complexidade. Apresenta falácias comuns em sistemas distribuídos e como requisitos não funcionais são esquecidos, levando a problemas. Sugere focar em métricas, testes robustos, cache, banco de dados e introdução segura de novas features para evitar problemas.
O documento discute a arquitetura da plataforma DeskMetrics, que fornece informações sobre o uso de softwares em tempo real. A plataforma usa Python e MongoDB no backend, com Python sendo usado para quase toda a lógica de negócios devido à sua facilidade de uso, e MongoDB armazenando os dados de forma desnormalizada para melhor desempenho. A infraestrutura é hospedada na nuvem do Rackspace e enfrenta desafios de desempenho relacionados à memória e disco.
O documento discute o impacto do computador na sociedade, como ele substituiu o trabalho humano e como é usado na educação. Ele também descreve os principais componentes internos de um computador e softwares populares. Finalmente, discute tecnologias de acesso remoto como Wi-Fi, TV a cabo e telefonia celular.
Introdução ao Windows Azure - Sessão 1 (mais teórica)Giovanni Bassi
O documento apresenta Giovanni Bassi, arquiteto de software, e seu seminário sobre Windows Azure. O seminário é dividido em duas sessões, a primeira sobre o que é computação na nuvem e Azure, e a segunda sobre os serviços do Azure como hosting, armazenamento e service bus.
Manutenção e Outsourcing de Informatica, ganhe um tablet!!!Monique Cabral
A AFR Soluções em Informática, com mais de 7 anos de experiência no segmento, atendendo micros, pequenas e médias empresas, vem oferecer soluções práticas e justas com excelente custo-benefício.
Atendendo em domícilio em toda Grande BH, oferecemos conforto e praticidade aos nossos clientes, ainda assim dispondo de uma equipe técnica para receber demandas na hora com um serviço eficiente e expresso.
Não cobramos tarifas para orçamento, oferecemos o diagnóstico gratuitamente seja por telefone ou por atendimento no local.
Oferecemos uma gama de serviços completos para que seu computador ou sua empresa nunca parem de funcionar para que assim você possa produzir cada vez mais.
MONTE O SEU CONTRATO DE MANUTENÇÃO CONOSCO E GANHE UM TABLET!!
Vantagens:
Reduz tempo e dinheiro para contratar, treinar e manter suporte especializado.
Metodologia especialmente projetada para manter, apoiar e solucionar problemas de redes extensas e complexas para empresas de grande escala.
Garantia de Suporte
Permite que sua empresa se concentre nas principais atividades do seu negócio e tenha sua própria equipe de informática sempre atualizada.
Aumenta a qualidade do serviço, pois o gerenciamento do processo é feito por pessoal com experiência em diversas áreas.
Inexistência de passivos trabalhistas, pois isso é assumido pela AFR Soluções.
E ainda:
•Circuito Fechado de TV (CFTV)
•Criação e gerenciamento de sites e fan-pages,
•Interatividade do seu site com redes sociais,
•Mobile Marketing,
•Criação e otimização de sites.
•Backup em nuvem
Entre em contato que entraremos com soluções.
O documento discute os desafios de gerenciamento e recuperação de dados em ambientes corporativos modernos. Apresenta o IBM Tivoli Storage Manager Fastback como uma solução capaz de reduzir o tempo de recuperação, melhorar a disponibilidade de aplicações e fornecer backup e restauração para escritórios remotos e pequenas empresas de maneira eficiente.
1) O documento discute como empresas como Google, Yahoo e LinkedIn usaram Big Data para resolver problemas de armazenamento e processamento de grandes volumes de dados não estruturados e criar novas soluções.
2) Também apresenta como empresas como Facebook, Amazon e Netflix usam Big Data para personalizar recomendações e melhorar a experiência do usuário.
3) Por fim, explica como o Sebrae pretende implementar soluções de Big Data para entender melhor seus mercados e clientes e aprimorar o atendimento.
Essa palestra é para empresas de pequeno e médio porte que querem aumentar a velocidade sem perder a qualidade! Entregando sempre o maior valor agregado ao seu clientes.
Serão apresentadas também ferramentas .NET para apoio as práticas de XP
Mais conteúdo relacionado
Semelhante a Armadilhas no Desenvolvimento de Software
O documento fornece uma visão geral de várias áreas relacionadas à carreira de desenvolvimento de software, incluindo frontend, backend, DevOps, soft skills e considerações sociais. Ele discute os principais tópicos em cada área, como estruturas de dados, versionamento, arquitetura de projetos, cloud computing e inclusão. O documento enfatiza a importância contínua de aprendizado e compartilhamento de conhecimento.
O documento discute a importância dos testes de software para garantir a qualidade e evitar falhas caras e potencialmente catastróficas. Ele fornece dez exemplos históricos de desastres causados por bugs de software que poderiam ter sido evitados com testes adequados, e argumenta que a automação e integração dos testes no ciclo de desenvolvimento de software pode melhorar a qualidade e reduzir os riscos.
Quer conhecer mais sobre o Android da Goolge? Confira nesses slides:
- O que é Android?
- Quais as vantagens de desenvolver para android
- A plataforma
- A arquitetura
- O mercado
- Ambiente de desenvolvimento
- Minha Primeira App Android – Criando um exemplo
- Publicando sua aplicação
- Conceitos básicos
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...Adolfo Guimaraes
O documento apresenta uma palestra sobre extração de informações do Twitter utilizando a biblioteca NLTK. Resume os principais conceitos de mineração de dados e processamento de linguagem natural e demonstra como classificar tweets usando técnicas como classificação Bayesiana no NLTK.
performance para qualidade de desenvolvimento de softwareAntonio Lobato
O documento introduz o teste de desempenho, discutindo a motivação, o limite da paciência do usuário, o que é desempenho, habilidades necessárias, conceitos, processos, resultados, ferramentas e conclusões.
Escalando infra em ops em um ambiente de hiper crescimentoRenan Capaverde
O documento descreve a jornada da Nubank na escalada de sua infraestrutura e operações para acompanhar o hipercrescimento da empresa. Apresenta os desafios enfrentados no início com poucos engenheiros e a evolução para equipes maiores e novas estruturas com o Spotify model e tribos. Também destaca a ênfase contínua em melhorar a confiabilidade, desempenho e escalabilidade dos serviços.
Este documento fornece diretrizes sobre planejamento de desastres para sistemas de tecnologia da informação. Ele discute a importância de arquiteturas distribuídas e redundantes, os diferentes níveis de disponibilidade de componentes, e como um único ponto de falha pode comprometer todo o sistema. Também fornece recomendações sobre comunicação, escalonamento de equipes e análise pós-mortem durante incidentes.
O documento discute o DevOps e como o Application Insights pode ser usado para monitorar aplicações. Ele explica o que é DevOps, sua importância, ferramentas como o Application Insights e demonstra como ele fornece dashboards e métricas para monitorar o desempenho e saúde de aplicações.
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
O documento discute a importância dos testes de software para garantir a qualidade e evitar bugs caros. Ele explica que testes devem ser realizados em três momentos: antes do desenvolvimento, durante o desenvolvimento e depois que o software é implantado. O documento também fornece exemplos de como práticas ágeis e testes automatizados podem melhorar a qualidade e reduzir custos.
O documento fornece informações sobre a história e o crescimento de uma empresa de tecnologia ao longo de 15 anos, desde o lançamento da primeira versão de seu framework Java EE até investimentos, clientes, certificações e presença geográfica atual.
O documento discute a diferença entre homens e meninos no desenvolvimento de sistemas para o mundo real. Homens não se preocupam apenas com a estética do código, mas também com aspectos como realidade, administrabilidade, disponibilidade, debugabilidade, escalabilidade e performance no runtime. Falhas inevitavelmente ocorrerão e sistemas precisam ser projetados para lidar com elas.
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...Gleicon Moraes
O documento discute os desafios da entrega contínua à medida que sistemas crescem em complexidade. Apresenta falácias comuns em sistemas distribuídos e como requisitos não funcionais são esquecidos, levando a problemas. Sugere focar em métricas, testes robustos, cache, banco de dados e introdução segura de novas features para evitar problemas.
O documento discute a arquitetura da plataforma DeskMetrics, que fornece informações sobre o uso de softwares em tempo real. A plataforma usa Python e MongoDB no backend, com Python sendo usado para quase toda a lógica de negócios devido à sua facilidade de uso, e MongoDB armazenando os dados de forma desnormalizada para melhor desempenho. A infraestrutura é hospedada na nuvem do Rackspace e enfrenta desafios de desempenho relacionados à memória e disco.
O documento discute o impacto do computador na sociedade, como ele substituiu o trabalho humano e como é usado na educação. Ele também descreve os principais componentes internos de um computador e softwares populares. Finalmente, discute tecnologias de acesso remoto como Wi-Fi, TV a cabo e telefonia celular.
Introdução ao Windows Azure - Sessão 1 (mais teórica)Giovanni Bassi
O documento apresenta Giovanni Bassi, arquiteto de software, e seu seminário sobre Windows Azure. O seminário é dividido em duas sessões, a primeira sobre o que é computação na nuvem e Azure, e a segunda sobre os serviços do Azure como hosting, armazenamento e service bus.
Manutenção e Outsourcing de Informatica, ganhe um tablet!!!Monique Cabral
A AFR Soluções em Informática, com mais de 7 anos de experiência no segmento, atendendo micros, pequenas e médias empresas, vem oferecer soluções práticas e justas com excelente custo-benefício.
Atendendo em domícilio em toda Grande BH, oferecemos conforto e praticidade aos nossos clientes, ainda assim dispondo de uma equipe técnica para receber demandas na hora com um serviço eficiente e expresso.
Não cobramos tarifas para orçamento, oferecemos o diagnóstico gratuitamente seja por telefone ou por atendimento no local.
Oferecemos uma gama de serviços completos para que seu computador ou sua empresa nunca parem de funcionar para que assim você possa produzir cada vez mais.
MONTE O SEU CONTRATO DE MANUTENÇÃO CONOSCO E GANHE UM TABLET!!
Vantagens:
Reduz tempo e dinheiro para contratar, treinar e manter suporte especializado.
Metodologia especialmente projetada para manter, apoiar e solucionar problemas de redes extensas e complexas para empresas de grande escala.
Garantia de Suporte
Permite que sua empresa se concentre nas principais atividades do seu negócio e tenha sua própria equipe de informática sempre atualizada.
Aumenta a qualidade do serviço, pois o gerenciamento do processo é feito por pessoal com experiência em diversas áreas.
Inexistência de passivos trabalhistas, pois isso é assumido pela AFR Soluções.
E ainda:
•Circuito Fechado de TV (CFTV)
•Criação e gerenciamento de sites e fan-pages,
•Interatividade do seu site com redes sociais,
•Mobile Marketing,
•Criação e otimização de sites.
•Backup em nuvem
Entre em contato que entraremos com soluções.
O documento discute os desafios de gerenciamento e recuperação de dados em ambientes corporativos modernos. Apresenta o IBM Tivoli Storage Manager Fastback como uma solução capaz de reduzir o tempo de recuperação, melhorar a disponibilidade de aplicações e fornecer backup e restauração para escritórios remotos e pequenas empresas de maneira eficiente.
1) O documento discute como empresas como Google, Yahoo e LinkedIn usaram Big Data para resolver problemas de armazenamento e processamento de grandes volumes de dados não estruturados e criar novas soluções.
2) Também apresenta como empresas como Facebook, Amazon e Netflix usam Big Data para personalizar recomendações e melhorar a experiência do usuário.
3) Por fim, explica como o Sebrae pretende implementar soluções de Big Data para entender melhor seus mercados e clientes e aprimorar o atendimento.
Essa palestra é para empresas de pequeno e médio porte que querem aumentar a velocidade sem perder a qualidade! Entregando sempre o maior valor agregado ao seu clientes.
Serão apresentadas também ferramentas .NET para apoio as práticas de XP
Semelhante a Armadilhas no Desenvolvimento de Software (20)
2. Quem sou eu
• Natalense
• Engenheiro de Computação – UFRN 98
• 10+ de programação
• Clipper, Pascal, C, C++, Delphi, PHP, Perl, C#, Java, Ruby, Python...
• IBMista a ~1 ano
• Desenvolvimento do Maximo Scheduler+
• Grupo de CD e Unit Tests
3. Computação Ontem e Hoje
Console do operador do IBM 701, autor da foto: Dan (Flicker)
Emulador de dBase:
https://archive.org/details/msdos_shareware_fb_DR
EPORT
4. Computação Ontem e Hoje
Fonte:
http://www.informatio
nisbeautiful.net/visualiz
ations/million-lines-of-
code/
7. O que são essas armadilhas
1. Público ignorado
2. Procedimentos
1. Não priorizados durante o planejamento
2. ignorados durante o desenvolvimento
3. Por que é uma armadilha:
• Complexidade de desenvolvimento aumenta
• Não vende
• Maior esforço de testes
• Maior Infraestrutura
• Apoio especializado
• Não está no radar das pessoas envolvidas
Retrabalho
8. O que vou falar
• Baseadas em experiência e ensinamentos
• Não são verdade absolutas
• Ponto de vista para consideração
• Dicas do que ficar de olho
9. Acessibilidade
• Dados do IBGE revelam que 6,2% da população brasileira tem algum
tipo de deficiência. (~12,4 milhões de pessoas)
• Dentre os tipos de deficiência pesquisados, a visual é a mais
representativa e atinge 3,6% dos brasileiros, sendo mais comum entre
as pessoas com mais de 60 anos (11,5%).
Fonte: http://www.ebc.com.br/noticias/2015/08/ibge-62-da-populacao-tem-algum-tipo-de-deficiencia
11. Acessibilidade
• O que fazer?
• Conheça as deficiências e como elas podem afetar o uso de aplicações
• Empresas especializadas
• Suporte de Sistemas Operacionais, HTML, iOS, Android, ...
• Testes de acessibilidades
• Usuários alpha, beta com deficiências
12. Internacionalização
• Que língua seus usuários falam?
• Aplicações são globais
• Sua aplicação suporta uma mudança de idioma?
• E escritas com diferentes direcionalidades?
13. Internacionalização
• O que fazer?
• Serviços de tradutores
• Bateria de testes em diferentes idiomas
• Testem as mensagens de erro
• Conheça o suporte das plataformas utilizadas
15. Baixa Conectividade
• Como sua aplicação se comporta no mundo real?
• Ambiente de desenvolvimento x mão do usuário
• 3G, Edge, GPRS...
• Conexão intermitente
• Não estamos mais programando apenas para computadores de mesa
16. Baixa Conectividade
• O que fazer?
• Não deixe sua aplicação travar
• Tratamentos de chamadas assíncronas: Promises, Futures
• Dê opção de cancelamento da requisição
• Realize testes com baixa conectividade
• Carregue os dados por partes
• O mais importante, antes
• Cache offline, salve para mais tarde
17. Baixa Conectividade
Enviar
A operação está
levando mais tempo
do que deveria.
Cancelar
Suas informações foram
salvas para serem enviadas
mais tarde.
EnviarEnviar
Salvando dados
Cancelar
18. Massa de Dados
O caso da página que levava 20 minutos para abrir
19. Massa de Dados
• Qual a ordem de magnitude da quantidade de dados sua aplicação
suporta?
• 10 registros, 100 registros, 10000 registros
• Se não há limites, quer dizer que há um limite e você não sabe qual é
20. Massa de Dados
• O que fazer?
• Além das dicas de Baixa Conectividade.
• Não comece otimizando.
• Esteja ciente da necessidade.
• Teste de carga com dados falsos.
• Questione quanto de dados determinada tela ou funcionalidade vai precisar
processar.
• Ninguém vai saber responder, então estime ordem de magnitude.
22. Refatoração
• Ninguém é perfeito na primeira iteração
• O mundo muda e os requisitos também
• Não existe código perfeito
• Não existe dono do código
23. Refatoração
• O que fazer?
• Revise o seu código
• Revise o código do parceiro
• Programe em pares
• Revise em pares
• Fique atento ao code smells
• Sugira mudanças
• Use ferramentas de análise de código, trace objetivos
• Abra tickets para futuros refatoramentos
25. Testes automatizados
• Quantos testes automatizados existem na sua aplicação?
• Prova que funciona
• Melhora seu design
• Documentação
• Traz paz de espirito durante o refatoramento
26. Testes automatizados
• O que fazer?
• Conheça as técnicas
• TDD
• Red-Green-Refactor
• Aplique no seu dia a dia
• Não precisa de aprovação gerencial
• O tempo usado na criação dos testes vai ser recuperado no futuro
28. Logs e Relatórios
• O que sua aplicação faz quando falha catastroficamente?
• Sua aplicação vai quebrar em produção
• O usuário vai fazer um fluxo inesperado
• A sua aplicação vai fechar na cara do seu usuário
• Falhe com elegância
29. Logs e Relatórios
• O que fazer?
• Tenha uma forma de habilitar criação de log
• Gere relatórios com os erros
• Tem que ser amigável
31. Privacidade
• Como sua aplicação trata os dados de seus usuários?
• Manipulamos dados sensíveis
• Ética e Responsabilidade são necessários
• Como a informação é enviada, recebida e armazenada?
• Você realmente precisa de todas essas informações?
• Como você armazena senhas? Como elas são recuperadas?
• Você realmente precisa da localização? E do acesso as fotos?
32. Privacidade
• O que fazer?
• Trabalhe perto da equipe de segurança da informação
• Criptografe dados sensíveis (ou melhor, nem guarde)
• Use embaralhadores de dados
• Seja claro quando pedir algum tipo de acesso: Porquê? Por quanto tempo?
• Tenha claro e sucinto a política de uso de dados sensíveis.
33. Conclusão
• Mundo real é mais complicado
• Sempre existirão concessões
• Planejamento de um projeto é um cabo de guerra
Perguntas?
Contato:
Email: jraposo@br.ibm.com
Twitter: @jamersonlima
Notas do Editor
Calculos de funções matemáticas
Relatórios
Uma caixinha no processo
Poucos privilegiados
Numero de linhas de codigo
Coisas com software hoje em dia
TV com update
Nespresso com conexão bluetooth
Carro com recall de update
Marcapasso hackeado
Numero de linhas de codigo
Coisas com software hoje em dia
TV com update
Nespresso com conexão bluetooth
Carro com recall de update
Marcapasso hackeado
Numero de linhas de codigo
Coisas com software hoje em dia
TV com update
Nespresso com conexão bluetooth
Carro com recall de update
Marcapasso hackeado
Não sou especialistas nos assuntos
Mas gerar discussão e trazer os especialistas
Não sou especialistas nos assuntos
Mas gerar discussão e trazer os especialistas
População envelhece & Adoção da tecnologia aumenta: Porcentagem tende a aumentar
Voce pode perder usuários que desenvolvem deficiencias permanentes ou temporárias
Voce pode perder usuários para concorrentes acessíveis
Sempre negligenciada nas estimativas, sempre no futuro
População envelhece & Adoção da tecnologia aumenta: Porcentagem tende a aumentar
Voce pode perder usuários que desenvolvem deficiencias permanentes ou temporárias
Voce pode perder usuários para concorrentes acessíveis
Sempre negligenciada nas estimativas, sempre no futuro
Pode aumentar letras?
Contraste de cor
Leitor de tela
Tags nas imagens
Maximo e guidelines
Aplicações globais não são que falam só inglês
Tradutores: não só pessoas que conheçam as línguas
Mobile permite ter várias línguas, permite identificar a direcionalidade da língua
Exemplo: Lider de venda de Smart TV, producao de aplicações
Linguas: Ingles e Japones
Aplicações globais não são que falam só inglês
Por pior que você ache seu ambiente de dev, o usuario sempre vai ser pior
Desktop com banda larga estável x Cabo de rede, wifi, conexão de dados
Falta de banda largar, no máximo 3g, normalmente edge
Conexao itermitente
Por pior que você ache seu ambiente de dev, o usuario sempre vai ser pior
Falta de banda largar, no máximo 3g, normalmente edge
Conexao itermitente
Uso de proxies
iOS permite selecionar a velocidade de conexão
Novos browsers possuem db local nativo
Exemplo: Sistema de gestão de ads, banners offlines, comunicacao sem travar
Por pior que você ache seu ambiente de dev, o usuario sempre vai ser pior
Falta de banda largar, no máximo 3g, normalmente edge
Conexao itermitente
Uso de proxies
iOS permite selecionar a velocidade de conexão
Novos browsers possuem db local nativo
Exemplo de sistema de gestão de tickets, dados fake, 5 a 20 min carregando uma página
Exemplo de sistema de gestão de tickets, dados fake, 5 a 20 min carregando uma página
Advinhar onde vai precisar ser otimizado é um tiro no pé
O começo do projeto muita coisa ainda está em definição
Mas sempre mantenha a preocupação no fundo da cabeça
Ninguem vai saber responder a não ser que seja uma app q substitui uma já online
Advinhar onde vai precisar ser otimizado é um tiro no pé
O começo do projeto muita coisa ainda está em definição
Mas sempre mantenha a preocupação no fundo da cabeça
Ninguem vai saber responder a não ser que seja uma app q substitui uma já online
Exemplo Europa Sprint com historia de refatoracao
Exemplo Europa Sprint com historia de refatoracao
Ferramentas de naálise de código
Não a toa vem depois de refatoramento
Não a toa vem depois de refatoramento
Amigável no sentido de que o usuário não deve fazer vários passos para conseguir enviar o log
Exemplo de várias apps que travam e perguntam se querem que envie relatório. Chrome?
Caso do Chaos Monkey da Netflix
Amigável no sentido de que o usuário não deve fazer vários passos para conseguir enviar o log
Exemplo de várias apps que travam e perguntam se querem que envie relatório. Chrome?
Caso do Chaos Monkey da Netflix
Caso do Uber capturando localizacao todo o tempo
Caso do Uber capturando localizacao todo o tempo
Escrever para leigo entender