SlideShare uma empresa Scribd logo
1 de 83
Por Ismael Soares
1º Dia
Key Notes
Design de Software no
      Século 21
3 apresentações em 1

* Os Desafios do Desenvolvimento Mobile

* NoSQL


* Projeto de Software
Projeto de Software

Real necessidade de se fazer um projeto de
software



“Precisamos abrir mão da qualidade para
entregar mais na próxima release...”

Gerentes de projetos
Projeto de Software


“Empurrar o design é um pecado e que todas
as variáveis que indicam isso deveriam ir para
o inferno”

Uncle Bob
Fogo do Inferno Ágil
Projeto de Software

 Software com ótimo design custa caro!

 Temos que aceitar algumas dívidas, desde que
 elas valham a pena.

 Toda Dívida tem juros...

 Não seja imprudente! Paga a sua dívida o mais
 rápido possível!
o !
    teir
 alo
C
Performance e Tolerância
   a Falhas no NetFlix




      Ben Christensen
Atualmente...


- O NetFlix recebe mais de 1 bilhão de requisões por
dia.
- Estas requisições são processadas por dezenas de
sistemas internos.
- Como a API do NetFlix suporta diferentes tipos de
dispositivos e ainda permite que os fabricantes
otimizem de acordo com suas necessidades.
Merchandising...
Tracks
Métodos Ágeis: o que
folclore e o que real?




    Mauricio Aniche
Amar demais um método pode ser um
problema...

Precisamos ver as coisas como elas
realmente são!
Estudos e pesquisas
Não podemos acreditar em tudo que
dizem por ai...


        De 1996 trabalhos,
       só 36 possuem rigor
            científico
     (Dyba,T., Dingsoyr,T. Empirical studies of agile software
                development: A systematic review)
• Grande parte dos estudos feitos com XP
  (76%);
• Single-Case (39%) e Multiple-Case (33%)
• 73% dos estudos com iniciantes em agile; só
  12% com times maduros;
• 73% dos estudos com profissionais;
       (Dyba,T., Dingsoyr,T. Empirical studies of agile software
                  development: A systematic review)
Sem TDD,
seu código não terá
     qualidade
“... a prática de TDD não guia o
desenvolvedor para um bom projeto de
classes de forma automática”




 Aniche, Gerosa. Como a Prática de TDD Influencia o Projeto de Classes em Sistemas Orientados a
                    Objetos: Padrões de Feedback para o Desenvolvedor. 2012
Quando o Aniche não usa
TDD...

- Já tem bem claro o projeto da classe
que ele está trabalhando;

-É código que lida com infraestrutura
Quando o Aniche não usa
TDD...

- Já tem bem claro o projeto da classe
que ele está trabalhando;

-É código que lida com infraestrutura


   Mas ele testa sempre!
Programação em Par
   é obrigatório?
Quando usar PP

- tarefas complexas;

- Há conhecimento para ser
compartilhado.
Quando não usar PP

- tarefa simples e não conhecimento
para ser compartilhado;

- tarefas de estudo.
Documentação não serve
     para nada!
Várias formas de documentar

- através de conversas;
- através de UML (mesmo caipira);
- desenhos que o time criou durante o
planejamento;
- etc.
Correlação e Causa




http://www.slideshare.net/mauricioaniche/mtodos-geis-o-que-folclore-e-o-que-real-qcon-
                                        sp-2012
Kanban: aplicando melhoria
 contínua ao seu processo




       Rodrigo Yoshima
Complexo e complicado

Você só sabe se esta certo se
experimentar. Não dá para ter certezas
com antecedência.
Método Kanban

-   Comece como você está hoje
-   Visualize seu progresso
-   Melhore colaborativamente com técnicas científicas
-   Gerêncie o fluxo
-   Torne o processo explícito
Porque mudanças são tão
        difíceis?

-   CULTURA
-   MEDO
-   RISCO
-   CONTROLE
-   RESISTÊNCIA EMOCIONAL
                            as pessoas
                            resistem ser
                            mudadas
“Mude. Mas mude devagar,
porque a direção é mais
importante que a velocidade.”
Clarisse Lispector
http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processo
http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processo
http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processo
Visualização do Kanban
http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processo
Almoço
Construindo um avião em
       pleno Vôo




      Matheus Rossato
Empresa que trabalha com
              mineração de dados,
Caso de sucesso na
              personalização de E-commerce
     Chaordic com base no modelo
           Trabalham
              de ser viços SaaS
Desafio

Construir uma plataforma elástica,
escalável e disponível na Nuvem da
Amazon
Lições aprendidas


-   Itere rapidamente e em pequenos passos
-   Observe o que funciona
-   Debugue em produção
-   Mude com frequência
-   Aprenda a falhar e quebrar as coisas
-   Integração contínua ajuda evitar problemas
-   Cloud pode viabilizar seus negócios
Mega Scrum: Escalando o
 Scrum passo a passo




      Marden Neubert
Caso de estudo: UOL


Projeto de missão crítica (Pague Seguro) que
sofreu atrasos e precisou mudar a gestão.
Veio o crescimento que trouxe um enorme
backlog.
Crescimento do time

-   Melhorar a comunicação;
-   Garantir o retorno do investimento;
-   Organizar os times por backlog independentes;
-   Priorizar por temas;
-   Vários times uma só equipe.
Lições
-   Inclua novos Membros nos times produtivos;
-   Retire pessoas produtivas e forme outros times;
-   Não crie times só com pessoas novas;
-   Em time que esta ganhando e que e mexe;
-   Troque os membros constantemente;
-   Crie processos criteriosos de contratação; 
-   Use desenvolvedores nas entrevistas de contratação; 
-   O time da o feedback para novos integrantes.
Mega Scrum

- Sprints de 3 semanas para ajudar a sincronizar as
tarefas;
- Ambientes de homologação;
- Deploy automático;
- Mega planning com líderes técnicos P.O.
- Mega Stand-up (reunião diária) com a equipe
- Reevew e retrospectiva por equipe
- Pré planning (planning dos próximos realeses)
- Mega retrospectiva a cada 6 meses (identificar
problemas comuns entre as equipes e discutir soluções)
- Knowlogde Sharing
2º Dia
Key Notes
Para o infinito e além (Nasa)



       Tom Soderstrom
Apresentação


- Imagens de Marte
- Missões deste ano
- Robô que foi para Marte semana
passada
Mitos acerca de Cloud


      Não é Seguro!

     Não é Confiável!
Alguns cuidados

- Suba as coisas por etapa começando pelo menos
importante;
- Redunde os dados;
- Use criptografia
- Não guarde as chaves no Cloud
- Load Balance (várias zonas) do for importante
- Utilize backup automatizado e teste os backups
- Faça contratos
Escalando o GitHub




    Zach Holman
Início...

-> 4 Fases (Local, Networked, Network e GitRPC)
  - começou com Grit;
  - tiveram que refazê-lo para suportar o
  crescimento;
Networked

 - problemas com distribuição em rede
 - mudaram servidores
 - alteraram a implementação para distribuição
 em rede mas com a aplicação local (Grit)
 - latência muito grande
 - em resumo fizeram uma escalação horizontal
Network

 - problemas duplicação de dados no fork;
 - alto custo para manter os dados;
 - resolveram fazendo shard, mantendo os
 dados do projeto principal armazenado em
 outro lugar e os forks passaram a ser apenas
 ponteiros.
GitRPC

 - problemas com código bagunçado;
 - criaram uma implementação para acessar o
 Git via rede;
 - diminuiu a latência;
 - Cache Logic;
 - ainda estão migrando aos poucos.
Empresa Feliz

 - 108 funcionários a 5 anos  e ninguém nunca saiu;
 - diminua o motivo das saídas ;
 - uma pessoa que sai custa caro, porque uma pessoa nova
demora para começar a agregar valor;
 - as pessoas trabalham da maneira que eles gostam. Boa
parte trabalha remotamente aonde quiserem;
 - escolhem seu horário de trabalho, ferias, etc.
 - as pessoas trabalham a vontade sem stress.
Tracks
Responsive Web Design




     Eduardo Shiota
Conteúdo

- início do HTML em 1992
- uso de Design na Web
- CSS Zen Garden (site)
- aumento do uso de dispositivos móveis
- como suportar todos os dispositivos sem ter re-
trabalho?
- The Boston Globe foi o primeiro site a usar RWD
- Técnicas para ter um design flexível sem fixar os
tamanhos
Hibernate Efetivo: erros
  comuns e soluções




       Rafael Ponte
Lazy Initialization

- ocorre quando sessão é fechada antes de terminar
o acesso aos dados;
- Não faça Eager, pois trará problemas de
performance;
- Pattern Open Session In View ajuda quando
usamos uma mesma request.
Cache

- cache de primeiro nível;
- cada request tem uma session, causando muitas
consultas. Configure o cache de segundo nível;
- Caching Strategy (ehCache)
- cache 2nd não guarda hierarquias complexas;
- use o cache 2nd apenas para entidades que não
alteram com frequência;
- cache de consulta (Query Cache), onde a chave é
a consulta + os parâmetros.
N+1


- Eager + Join Fetch
- busca em lote (Batch size) é meio termo entre o
Eager e Lazy, porque faz uma adivinhação cega, um
chute;
- subselect.
Processamento em lote

 - a cada entidade inserida na memória, o Hibernate
 cria um foto e coloca no cache de primeiro nível;
- StatelessSession (session de baixo nível) não usa
cache;
 - Configurar o bach size no hibernate para ir menos
vezes ao banco.
Almoço
Arquitetura Facebook




    Rodrigo Schmidt
Arquitetura
                                                                         Open Graph, é uma
                                                                         forma facilitar a
                                                                         integração entre
                                                                         páginas da web e o
                                                                         próprio facebook. Nas
                                                                         palavras deles, usando
                                                                         o Open Graph, você
                                                                         pode fazer qualquer
                                                                         página se comportar
 - 955 milhões de usuários                                               como um objeto do
 - grafo das conexões sociais                                            facebook, com direito a
                                                                         analytics e tudo.
 - esquema de metadados Open Graph
  (http://www.modelomental.com.br/web-semantica/conhecendo-o-facebook-open-graph-protocol)
 - MySQL (tabelas particionadas)
 - tabelas simples com poucos índices e os dados são
 armazenados em um array (Blob)
 - usam Mencache
 - multi-get (trazer tudo em paralelo)
 - Preparable
 - compilador foi feito em C por deficiência do PHP
Java EE Vs Spring




Nico Steppat e Guilherme Moreira
http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
Java EE

 - lutador experiente
 - mudou a tática no Java EE 5
 - ganhou confiança com CDI
 - perdeu peso para ser ágil
 - patrocinado pela Oracle, Red Hat,
 IBM and outros
Spring Framework

 -   sem derrota desde 2004
 -   nocauteou o J2EE
 -   luta em qualquer container
 -   golpes fortes com POJOs
 -   sabe explorar bem seu oponente
 -   patrocinado pela Spring Source
Estatísticas




      http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
Resultado




     http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
Referências
Martin Fowler: http://www.martinfowler.com/articles/multiMobile/

Netflix: https://speakerdeck.com/u/benjchristensen/p/performance-and-fault-
tolerance-for-the-netflix-api-qcon-sao-paulo

Mauricio Aniche: http://www.slideshare.net/mauricioaniche/mtodos-geis-o-
que-folclore-e-o-que-real-qcon-sp-2012

Rodrigo Yoshima: http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-
melhoria-contnua-do-seu-processo

Matheus Rossato: http://www.slideshare.net/matheusrossato/qconsp-2012-
construindo-um-avio-em-pleno-vo-na-nuvem
Nasa: http://prezi.com/5pt5hgflj3ah/to-infinity-and-beyond/?
auth_key=4433faf57961988041cfd419c2c27f9aaf579ad4

GitHub: http://zachholman.com/talk/how-to-build-a-github

Rafael Ponte: http://www.slideshare.net/rponte/hibernate-efetivo-qconsp2012

Caelum: http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
OBRIGADO

Mais conteúdo relacionado

Mais procurados

Uma introdução ao SCRUM
Uma introdução ao SCRUMUma introdução ao SCRUM
Uma introdução ao SCRUMelliando dias
 
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !Ari Amaral
 
Metodologia agil scrum x pmbok
Metodologia agil   scrum x pmbokMetodologia agil   scrum x pmbok
Metodologia agil scrum x pmbokMarisa Wittmann
 
Manual Detalhado de Instrução ao Basecamp
Manual Detalhado de Instrução ao BasecampManual Detalhado de Instrução ao Basecamp
Manual Detalhado de Instrução ao BasecampErickSerrat
 
Guia do Papel e Responsabilidade do Scrum Master
Guia do Papel e Responsabilidade do Scrum MasterGuia do Papel e Responsabilidade do Scrum Master
Guia do Papel e Responsabilidade do Scrum MasterPaulo Lomanto
 
Mais de 24 anos de Scrum - Ainda faz sentido usar?
Mais de 24 anos de Scrum - Ainda faz sentido usar?Mais de 24 anos de Scrum - Ainda faz sentido usar?
Mais de 24 anos de Scrum - Ainda faz sentido usar?Andrei Tognolo
 
Basecamp e gerenciamento de projetos
Basecamp e gerenciamento de projetosBasecamp e gerenciamento de projetos
Basecamp e gerenciamento de projetosRenzo Colnago
 
O Time Scrum e suas responsabilidades - Papéis do Scrum
O Time Scrum e suas responsabilidades - Papéis do ScrumO Time Scrum e suas responsabilidades - Papéis do Scrum
O Time Scrum e suas responsabilidades - Papéis do ScrumScrumHalf Tool
 
Porque devo usar Scrum em meus projetos
Porque devo usar Scrum em meus projetosPorque devo usar Scrum em meus projetos
Porque devo usar Scrum em meus projetosEamon Sousa, PMP
 
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...Marcelo Dieder
 
Apostila Scrum: Fundamentos do Scrum
Apostila Scrum: Fundamentos do ScrumApostila Scrum: Fundamentos do Scrum
Apostila Scrum: Fundamentos do ScrumMindMasterBrasil
 

Mais procurados (20)

Uma introdução ao SCRUM
Uma introdução ao SCRUMUma introdução ao SCRUM
Uma introdução ao SCRUM
 
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
 
Metodologia agil scrum x pmbok
Metodologia agil   scrum x pmbokMetodologia agil   scrum x pmbok
Metodologia agil scrum x pmbok
 
Scrum
ScrumScrum
Scrum
 
Agile SCRUM
Agile SCRUMAgile SCRUM
Agile SCRUM
 
Scrum em 1h.
Scrum em 1h.Scrum em 1h.
Scrum em 1h.
 
Scrum 8
Scrum 8Scrum 8
Scrum 8
 
Não São Apenas Sapatos
Não São Apenas SapatosNão São Apenas Sapatos
Não São Apenas Sapatos
 
Apresentacao artigo final
Apresentacao artigo finalApresentacao artigo final
Apresentacao artigo final
 
Manual Detalhado de Instrução ao Basecamp
Manual Detalhado de Instrução ao BasecampManual Detalhado de Instrução ao Basecamp
Manual Detalhado de Instrução ao Basecamp
 
ChatOps (ChatBots + DevOps)
ChatOps (ChatBots + DevOps) ChatOps (ChatBots + DevOps)
ChatOps (ChatBots + DevOps)
 
Guia do Papel e Responsabilidade do Scrum Master
Guia do Papel e Responsabilidade do Scrum MasterGuia do Papel e Responsabilidade do Scrum Master
Guia do Papel e Responsabilidade do Scrum Master
 
Mais de 24 anos de Scrum - Ainda faz sentido usar?
Mais de 24 anos de Scrum - Ainda faz sentido usar?Mais de 24 anos de Scrum - Ainda faz sentido usar?
Mais de 24 anos de Scrum - Ainda faz sentido usar?
 
Scrum em 15 minutos
Scrum em 15 minutosScrum em 15 minutos
Scrum em 15 minutos
 
Basecamp e gerenciamento de projetos
Basecamp e gerenciamento de projetosBasecamp e gerenciamento de projetos
Basecamp e gerenciamento de projetos
 
O Time Scrum e suas responsabilidades - Papéis do Scrum
O Time Scrum e suas responsabilidades - Papéis do ScrumO Time Scrum e suas responsabilidades - Papéis do Scrum
O Time Scrum e suas responsabilidades - Papéis do Scrum
 
Porque devo usar Scrum em meus projetos
Porque devo usar Scrum em meus projetosPorque devo usar Scrum em meus projetos
Porque devo usar Scrum em meus projetos
 
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
 
Apostila Scrum: Fundamentos do Scrum
Apostila Scrum: Fundamentos do ScrumApostila Scrum: Fundamentos do Scrum
Apostila Scrum: Fundamentos do Scrum
 
Pessoas Ou Processos
Pessoas Ou ProcessosPessoas Ou Processos
Pessoas Ou Processos
 

Destaque

Guia de sustentabilidade para o turismo, santander
Guia de sustentabilidade para o turismo, santanderGuia de sustentabilidade para o turismo, santander
Guia de sustentabilidade para o turismo, santanderEcoHospedagem
 
Criterios para correção textual
Criterios para correção textualCriterios para correção textual
Criterios para correção textualCidinha Medina
 
Macrosolutions Consultoria: Estruturação dos Processos de Comunicação em Proj...
Macrosolutions Consultoria: Estruturação dos Processos de Comunicação em Proj...Macrosolutions Consultoria: Estruturação dos Processos de Comunicação em Proj...
Macrosolutions Consultoria: Estruturação dos Processos de Comunicação em Proj...Macrosolutions SA
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGNeubio Ferreira
 
Projetos em Assessoria de Comunicação - Aula 02
Projetos em Assessoria de Comunicação - Aula 02Projetos em Assessoria de Comunicação - Aula 02
Projetos em Assessoria de Comunicação - Aula 02Fabricio Bazé
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Gabriel Rubens
 
Gestão e Processos para Desenvolvimento de Software
Gestão e Processos para Desenvolvimento de SoftwareGestão e Processos para Desenvolvimento de Software
Gestão e Processos para Desenvolvimento de SoftwareRafael Amaral
 
Inovação Tecnológica e Empreendedorismo
Inovação Tecnológica e EmpreendedorismoInovação Tecnológica e Empreendedorismo
Inovação Tecnológica e EmpreendedorismoGustavo Caetano
 
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...Felipe Nascimento
 
Perfil dos Parlamentares - Análise da Aluna Jalile Andrade Dias, n° 18, 1°CDB
Perfil dos Parlamentares - Análise da Aluna Jalile Andrade Dias, n° 18, 1°CDB Perfil dos Parlamentares - Análise da Aluna Jalile Andrade Dias, n° 18, 1°CDB
Perfil dos Parlamentares - Análise da Aluna Jalile Andrade Dias, n° 18, 1°CDB dialogosedebates
 
Repositório do Parque Tecnológico da PMSP
Repositório do Parque Tecnológico da PMSPRepositório do Parque Tecnológico da PMSP
Repositório do Parque Tecnológico da PMSPMário Januário Filho
 

Destaque (20)

Guia de sustentabilidade para o turismo, santander
Guia de sustentabilidade para o turismo, santanderGuia de sustentabilidade para o turismo, santander
Guia de sustentabilidade para o turismo, santander
 
Escrita Magnética
Escrita MagnéticaEscrita Magnética
Escrita Magnética
 
Criterios para correção textual
Criterios para correção textualCriterios para correção textual
Criterios para correção textual
 
Macrosolutions Consultoria: Estruturação dos Processos de Comunicação em Proj...
Macrosolutions Consultoria: Estruturação dos Processos de Comunicação em Proj...Macrosolutions Consultoria: Estruturação dos Processos de Comunicação em Proj...
Macrosolutions Consultoria: Estruturação dos Processos de Comunicação em Proj...
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
 
Guia%20de%20 fi is%20xp_janeiro.2013
Guia%20de%20 fi is%20xp_janeiro.2013Guia%20de%20 fi is%20xp_janeiro.2013
Guia%20de%20 fi is%20xp_janeiro.2013
 
Projetos em Assessoria de Comunicação - Aula 02
Projetos em Assessoria de Comunicação - Aula 02Projetos em Assessoria de Comunicação - Aula 02
Projetos em Assessoria de Comunicação - Aula 02
 
Artigo livia
Artigo liviaArtigo livia
Artigo livia
 
Fii apresentacao brasil-plural
Fii apresentacao brasil-pluralFii apresentacao brasil-plural
Fii apresentacao brasil-plural
 
Diário Oficial: 26-11-2015
Diário Oficial: 26-11-2015Diário Oficial: 26-11-2015
Diário Oficial: 26-11-2015
 
Ufg2dia2014
Ufg2dia2014Ufg2dia2014
Ufg2dia2014
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
 
Prova apmbb 2010
Prova apmbb 2010Prova apmbb 2010
Prova apmbb 2010
 
Princípios Ágeis
Princípios ÁgeisPrincípios Ágeis
Princípios Ágeis
 
Gestão e Processos para Desenvolvimento de Software
Gestão e Processos para Desenvolvimento de SoftwareGestão e Processos para Desenvolvimento de Software
Gestão e Processos para Desenvolvimento de Software
 
Inovação Tecnológica e Empreendedorismo
Inovação Tecnológica e EmpreendedorismoInovação Tecnológica e Empreendedorismo
Inovação Tecnológica e Empreendedorismo
 
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
 
Perfil dos Parlamentares - Análise da Aluna Jalile Andrade Dias, n° 18, 1°CDB
Perfil dos Parlamentares - Análise da Aluna Jalile Andrade Dias, n° 18, 1°CDB Perfil dos Parlamentares - Análise da Aluna Jalile Andrade Dias, n° 18, 1°CDB
Perfil dos Parlamentares - Análise da Aluna Jalile Andrade Dias, n° 18, 1°CDB
 
Apostila estatistica ii processos de ruína
Apostila estatistica ii   processos de ruínaApostila estatistica ii   processos de ruína
Apostila estatistica ii processos de ruína
 
Repositório do Parque Tecnológico da PMSP
Repositório do Parque Tecnológico da PMSPRepositório do Parque Tecnológico da PMSP
Repositório do Parque Tecnológico da PMSP
 

Semelhante a Design de Software no Século 21: Desafios e Soluções

Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceCarolina Karklis
 
Matando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaMatando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaJosé Roberto Araújo
 
Organizando a casa. o front end do jeitinho que a mamãe gosta
Organizando a casa. o front end do jeitinho que a mamãe gostaOrganizando a casa. o front end do jeitinho que a mamãe gosta
Organizando a casa. o front end do jeitinho que a mamãe gostaJohnathan Cardoso
 
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...Thiago Barros, PSM
 
Building Scalable Applications
Building Scalable ApplicationsBuilding Scalable Applications
Building Scalable Applicationsracx
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
 
Desenvolvimento Client-Side 2016 (BrazilJS)
Desenvolvimento Client-Side 2016 (BrazilJS)Desenvolvimento Client-Side 2016 (BrazilJS)
Desenvolvimento Client-Side 2016 (BrazilJS)Huge
 
XP & Scrum from the trenches @ LeroyMerlin Brazil
XP & Scrum from the trenches @ LeroyMerlin BrazilXP & Scrum from the trenches @ LeroyMerlin Brazil
XP & Scrum from the trenches @ LeroyMerlin BrazilGaëtan Belbéoc'h
 
Infraestrutura como código Terraform aws openshift Ansible
Infraestrutura como código Terraform aws openshift AnsibleInfraestrutura como código Terraform aws openshift Ansible
Infraestrutura como código Terraform aws openshift AnsibleClaudemir de Almeida Rosa
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkGiuseppe Lopes
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)André Dias
 
Aprenda a ser um webmaster
Aprenda a ser um webmasterAprenda a ser um webmaster
Aprenda a ser um webmasterJeferson Souza
 
Primeiros passos para estruturar uma equipe front-end
Primeiros passos para estruturar uma equipe front-endPrimeiros passos para estruturar uma equipe front-end
Primeiros passos para estruturar uma equipe front-endDiego Eis
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilRebecca Betwel
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento4Soft
 

Semelhante a Design de Software no Século 21: Desafios e Soluções (20)

Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
 
Matando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaMatando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejista
 
Organizando a casa. o front end do jeitinho que a mamãe gosta
Organizando a casa. o front end do jeitinho que a mamãe gostaOrganizando a casa. o front end do jeitinho que a mamãe gosta
Organizando a casa. o front end do jeitinho que a mamãe gosta
 
Modelagem Ágil
Modelagem ÁgilModelagem Ágil
Modelagem Ágil
 
Java com Excelência
Java com ExcelênciaJava com Excelência
Java com Excelência
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
Apresentação do Projeto PRIME SCRUM. trabalho final do curso de Análise e Des...
 
Building Scalable Applications
Building Scalable ApplicationsBuilding Scalable Applications
Building Scalable Applications
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
 
Desenvolvimento Client-Side 2016 (BrazilJS)
Desenvolvimento Client-Side 2016 (BrazilJS)Desenvolvimento Client-Side 2016 (BrazilJS)
Desenvolvimento Client-Side 2016 (BrazilJS)
 
XP & Scrum from the trenches @ LeroyMerlin Brazil
XP & Scrum from the trenches @ LeroyMerlin BrazilXP & Scrum from the trenches @ LeroyMerlin Brazil
XP & Scrum from the trenches @ LeroyMerlin Brazil
 
Infraestrutura como código Terraform aws openshift Ansible
Infraestrutura como código Terraform aws openshift AnsibleInfraestrutura como código Terraform aws openshift Ansible
Infraestrutura como código Terraform aws openshift Ansible
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do framework
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 
Aprenda a ser um webmaster
Aprenda a ser um webmasterAprenda a ser um webmaster
Aprenda a ser um webmaster
 
Primeiros passos para estruturar uma equipe front-end
Primeiros passos para estruturar uma equipe front-endPrimeiros passos para estruturar uma equipe front-end
Primeiros passos para estruturar uma equipe front-end
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 

Mais de Ismael

TDC 2020 - Trilha de Management 3.0 e Gestão Ágil
TDC 2020 - Trilha de Management 3.0 e Gestão ÁgilTDC 2020 - Trilha de Management 3.0 e Gestão Ágil
TDC 2020 - Trilha de Management 3.0 e Gestão ÁgilIsmael
 
Introducao ao Pensamento Sistemico
Introducao ao Pensamento SistemicoIntroducao ao Pensamento Sistemico
Introducao ao Pensamento SistemicoIsmael
 
Testes de unidade alem do basico
Testes de unidade alem do basicoTestes de unidade alem do basico
Testes de unidade alem do basicoIsmael
 
Bluesoft Culture
Bluesoft CultureBluesoft Culture
Bluesoft CultureIsmael
 
Como dar e receber feedbacks
Como dar e receber feedbacksComo dar e receber feedbacks
Como dar e receber feedbacksIsmael
 
Eficiencia de fluxo
Eficiencia de fluxoEficiencia de fluxo
Eficiencia de fluxoIsmael
 
Como você testa seu software TDC 2017
Como você testa seu software  TDC 2017Como você testa seu software  TDC 2017
Como você testa seu software TDC 2017Ismael
 
Como ter Entregas Frequentes
Como ter Entregas FrequentesComo ter Entregas Frequentes
Como ter Entregas FrequentesIsmael
 
JUnit 5 vs JUnit 4
JUnit 5 vs JUnit 4JUnit 5 vs JUnit 4
JUnit 5 vs JUnit 4Ismael
 
Conceitos por trás do Ágil
Conceitos por trás do ÁgilConceitos por trás do Ágil
Conceitos por trás do ÁgilIsmael
 
Boas Praticas de Testes, Bad Smell e Outros Macetes
Boas Praticas de Testes, Bad Smell e Outros MacetesBoas Praticas de Testes, Bad Smell e Outros Macetes
Boas Praticas de Testes, Bad Smell e Outros MacetesIsmael
 
8 passos para mudança de John Kotter
8 passos para mudança de John Kotter8 passos para mudança de John Kotter
8 passos para mudança de John KotterIsmael
 
Curva da Mudança Kubler-Ross
Curva da Mudança Kubler-RossCurva da Mudança Kubler-Ross
Curva da Mudança Kubler-RossIsmael
 
DevCamp 2016
DevCamp 2016DevCamp 2016
DevCamp 2016Ismael
 
7 Caracteristicas de um bom Lider Agil
7 Caracteristicas de um bom Lider Agil7 Caracteristicas de um bom Lider Agil
7 Caracteristicas de um bom Lider AgilIsmael
 
Law of demeter
Law of demeterLaw of demeter
Law of demeterIsmael
 
Junit Lambda
Junit LambdaJunit Lambda
Junit LambdaIsmael
 
Feedback dos Testes
Feedback dos TestesFeedback dos Testes
Feedback dos TestesIsmael
 
Refactoring Databases - Estrategias
Refactoring Databases - EstrategiasRefactoring Databases - Estrategias
Refactoring Databases - EstrategiasIsmael
 
Refactoring Databases - parte 1
Refactoring Databases - parte 1Refactoring Databases - parte 1
Refactoring Databases - parte 1Ismael
 

Mais de Ismael (20)

TDC 2020 - Trilha de Management 3.0 e Gestão Ágil
TDC 2020 - Trilha de Management 3.0 e Gestão ÁgilTDC 2020 - Trilha de Management 3.0 e Gestão Ágil
TDC 2020 - Trilha de Management 3.0 e Gestão Ágil
 
Introducao ao Pensamento Sistemico
Introducao ao Pensamento SistemicoIntroducao ao Pensamento Sistemico
Introducao ao Pensamento Sistemico
 
Testes de unidade alem do basico
Testes de unidade alem do basicoTestes de unidade alem do basico
Testes de unidade alem do basico
 
Bluesoft Culture
Bluesoft CultureBluesoft Culture
Bluesoft Culture
 
Como dar e receber feedbacks
Como dar e receber feedbacksComo dar e receber feedbacks
Como dar e receber feedbacks
 
Eficiencia de fluxo
Eficiencia de fluxoEficiencia de fluxo
Eficiencia de fluxo
 
Como você testa seu software TDC 2017
Como você testa seu software  TDC 2017Como você testa seu software  TDC 2017
Como você testa seu software TDC 2017
 
Como ter Entregas Frequentes
Como ter Entregas FrequentesComo ter Entregas Frequentes
Como ter Entregas Frequentes
 
JUnit 5 vs JUnit 4
JUnit 5 vs JUnit 4JUnit 5 vs JUnit 4
JUnit 5 vs JUnit 4
 
Conceitos por trás do Ágil
Conceitos por trás do ÁgilConceitos por trás do Ágil
Conceitos por trás do Ágil
 
Boas Praticas de Testes, Bad Smell e Outros Macetes
Boas Praticas de Testes, Bad Smell e Outros MacetesBoas Praticas de Testes, Bad Smell e Outros Macetes
Boas Praticas de Testes, Bad Smell e Outros Macetes
 
8 passos para mudança de John Kotter
8 passos para mudança de John Kotter8 passos para mudança de John Kotter
8 passos para mudança de John Kotter
 
Curva da Mudança Kubler-Ross
Curva da Mudança Kubler-RossCurva da Mudança Kubler-Ross
Curva da Mudança Kubler-Ross
 
DevCamp 2016
DevCamp 2016DevCamp 2016
DevCamp 2016
 
7 Caracteristicas de um bom Lider Agil
7 Caracteristicas de um bom Lider Agil7 Caracteristicas de um bom Lider Agil
7 Caracteristicas de um bom Lider Agil
 
Law of demeter
Law of demeterLaw of demeter
Law of demeter
 
Junit Lambda
Junit LambdaJunit Lambda
Junit Lambda
 
Feedback dos Testes
Feedback dos TestesFeedback dos Testes
Feedback dos Testes
 
Refactoring Databases - Estrategias
Refactoring Databases - EstrategiasRefactoring Databases - Estrategias
Refactoring Databases - Estrategias
 
Refactoring Databases - parte 1
Refactoring Databases - parte 1Refactoring Databases - parte 1
Refactoring Databases - parte 1
 

Design de Software no Século 21: Desafios e Soluções

  • 4. Design de Software no Século 21
  • 5. 3 apresentações em 1 * Os Desafios do Desenvolvimento Mobile * NoSQL * Projeto de Software
  • 6. Projeto de Software Real necessidade de se fazer um projeto de software “Precisamos abrir mão da qualidade para entregar mais na próxima release...” Gerentes de projetos
  • 7. Projeto de Software “Empurrar o design é um pecado e que todas as variáveis que indicam isso deveriam ir para o inferno” Uncle Bob
  • 9. Projeto de Software Software com ótimo design custa caro! Temos que aceitar algumas dívidas, desde que elas valham a pena. Toda Dívida tem juros... Não seja imprudente! Paga a sua dívida o mais rápido possível!
  • 10. o ! teir alo C
  • 11. Performance e Tolerância a Falhas no NetFlix Ben Christensen
  • 12. Atualmente... - O NetFlix recebe mais de 1 bilhão de requisões por dia. - Estas requisições são processadas por dezenas de sistemas internos. - Como a API do NetFlix suporta diferentes tipos de dispositivos e ainda permite que os fabricantes otimizem de acordo com suas necessidades.
  • 14.
  • 16. Métodos Ágeis: o que folclore e o que real? Mauricio Aniche
  • 17. Amar demais um método pode ser um problema... Precisamos ver as coisas como elas realmente são!
  • 18. Estudos e pesquisas Não podemos acreditar em tudo que dizem por ai... De 1996 trabalhos, só 36 possuem rigor científico (Dyba,T., Dingsoyr,T. Empirical studies of agile software development: A systematic review)
  • 19. • Grande parte dos estudos feitos com XP (76%); • Single-Case (39%) e Multiple-Case (33%) • 73% dos estudos com iniciantes em agile; só 12% com times maduros; • 73% dos estudos com profissionais; (Dyba,T., Dingsoyr,T. Empirical studies of agile software development: A systematic review)
  • 20. Sem TDD, seu código não terá qualidade
  • 21. “... a prática de TDD não guia o desenvolvedor para um bom projeto de classes de forma automática” Aniche, Gerosa. Como a Prática de TDD Influencia o Projeto de Classes em Sistemas Orientados a Objetos: Padrões de Feedback para o Desenvolvedor. 2012
  • 22. Quando o Aniche não usa TDD... - Já tem bem claro o projeto da classe que ele está trabalhando; -É código que lida com infraestrutura
  • 23. Quando o Aniche não usa TDD... - Já tem bem claro o projeto da classe que ele está trabalhando; -É código que lida com infraestrutura Mas ele testa sempre!
  • 24. Programação em Par é obrigatório?
  • 25. Quando usar PP - tarefas complexas; - Há conhecimento para ser compartilhado.
  • 26. Quando não usar PP - tarefa simples e não conhecimento para ser compartilhado; - tarefas de estudo.
  • 28. Várias formas de documentar - através de conversas; - através de UML (mesmo caipira); - desenhos que o time criou durante o planejamento; - etc.
  • 30. Kanban: aplicando melhoria contínua ao seu processo Rodrigo Yoshima
  • 31. Complexo e complicado Você só sabe se esta certo se experimentar. Não dá para ter certezas com antecedência.
  • 32. Método Kanban - Comece como você está hoje - Visualize seu progresso - Melhore colaborativamente com técnicas científicas - Gerêncie o fluxo - Torne o processo explícito
  • 33. Porque mudanças são tão difíceis? - CULTURA - MEDO - RISCO - CONTROLE - RESISTÊNCIA EMOCIONAL as pessoas resistem ser mudadas
  • 34. “Mude. Mas mude devagar, porque a direção é mais importante que a velocidade.” Clarisse Lispector
  • 41. Construindo um avião em pleno Vôo Matheus Rossato
  • 42. Empresa que trabalha com mineração de dados, Caso de sucesso na personalização de E-commerce Chaordic com base no modelo Trabalham de ser viços SaaS
  • 43. Desafio Construir uma plataforma elástica, escalável e disponível na Nuvem da Amazon
  • 44. Lições aprendidas - Itere rapidamente e em pequenos passos - Observe o que funciona - Debugue em produção - Mude com frequência - Aprenda a falhar e quebrar as coisas - Integração contínua ajuda evitar problemas - Cloud pode viabilizar seus negócios
  • 45. Mega Scrum: Escalando o Scrum passo a passo Marden Neubert
  • 46. Caso de estudo: UOL Projeto de missão crítica (Pague Seguro) que sofreu atrasos e precisou mudar a gestão. Veio o crescimento que trouxe um enorme backlog.
  • 47. Crescimento do time - Melhorar a comunicação; - Garantir o retorno do investimento; - Organizar os times por backlog independentes; - Priorizar por temas; - Vários times uma só equipe.
  • 48. Lições - Inclua novos Membros nos times produtivos; - Retire pessoas produtivas e forme outros times; - Não crie times só com pessoas novas; - Em time que esta ganhando e que e mexe; - Troque os membros constantemente; - Crie processos criteriosos de contratação;  - Use desenvolvedores nas entrevistas de contratação;  - O time da o feedback para novos integrantes.
  • 49. Mega Scrum - Sprints de 3 semanas para ajudar a sincronizar as tarefas; - Ambientes de homologação; - Deploy automático; - Mega planning com líderes técnicos P.O. - Mega Stand-up (reunião diária) com a equipe - Reevew e retrospectiva por equipe - Pré planning (planning dos próximos realeses) - Mega retrospectiva a cada 6 meses (identificar problemas comuns entre as equipes e discutir soluções) - Knowlogde Sharing
  • 52. Para o infinito e além (Nasa) Tom Soderstrom
  • 53. Apresentação - Imagens de Marte - Missões deste ano - Robô que foi para Marte semana passada
  • 54. Mitos acerca de Cloud Não é Seguro! Não é Confiável!
  • 55. Alguns cuidados - Suba as coisas por etapa começando pelo menos importante; - Redunde os dados; - Use criptografia - Não guarde as chaves no Cloud - Load Balance (várias zonas) do for importante - Utilize backup automatizado e teste os backups - Faça contratos
  • 56. Escalando o GitHub Zach Holman
  • 57. Início... -> 4 Fases (Local, Networked, Network e GitRPC) - começou com Grit; - tiveram que refazê-lo para suportar o crescimento;
  • 58. Networked - problemas com distribuição em rede - mudaram servidores - alteraram a implementação para distribuição em rede mas com a aplicação local (Grit) - latência muito grande - em resumo fizeram uma escalação horizontal
  • 59. Network - problemas duplicação de dados no fork; - alto custo para manter os dados; - resolveram fazendo shard, mantendo os dados do projeto principal armazenado em outro lugar e os forks passaram a ser apenas ponteiros.
  • 60. GitRPC - problemas com código bagunçado; - criaram uma implementação para acessar o Git via rede; - diminuiu a latência; - Cache Logic; - ainda estão migrando aos poucos.
  • 61. Empresa Feliz - 108 funcionários a 5 anos  e ninguém nunca saiu; - diminua o motivo das saídas ; - uma pessoa que sai custa caro, porque uma pessoa nova demora para começar a agregar valor; - as pessoas trabalham da maneira que eles gostam. Boa parte trabalha remotamente aonde quiserem; - escolhem seu horário de trabalho, ferias, etc. - as pessoas trabalham a vontade sem stress.
  • 63. Responsive Web Design Eduardo Shiota
  • 64. Conteúdo - início do HTML em 1992 - uso de Design na Web - CSS Zen Garden (site) - aumento do uso de dispositivos móveis - como suportar todos os dispositivos sem ter re- trabalho? - The Boston Globe foi o primeiro site a usar RWD - Técnicas para ter um design flexível sem fixar os tamanhos
  • 65. Hibernate Efetivo: erros comuns e soluções Rafael Ponte
  • 66. Lazy Initialization - ocorre quando sessão é fechada antes de terminar o acesso aos dados; - Não faça Eager, pois trará problemas de performance; - Pattern Open Session In View ajuda quando usamos uma mesma request.
  • 67. Cache - cache de primeiro nível; - cada request tem uma session, causando muitas consultas. Configure o cache de segundo nível; - Caching Strategy (ehCache) - cache 2nd não guarda hierarquias complexas; - use o cache 2nd apenas para entidades que não alteram com frequência; - cache de consulta (Query Cache), onde a chave é a consulta + os parâmetros.
  • 68. N+1 - Eager + Join Fetch - busca em lote (Batch size) é meio termo entre o Eager e Lazy, porque faz uma adivinhação cega, um chute; - subselect.
  • 69. Processamento em lote - a cada entidade inserida na memória, o Hibernate cria um foto e coloca no cache de primeiro nível; - StatelessSession (session de baixo nível) não usa cache; - Configurar o bach size no hibernate para ir menos vezes ao banco.
  • 71. Arquitetura Facebook Rodrigo Schmidt
  • 72. Arquitetura Open Graph, é uma forma facilitar a integração entre páginas da web e o próprio facebook. Nas palavras deles, usando o Open Graph, você pode fazer qualquer página se comportar - 955 milhões de usuários como um objeto do - grafo das conexões sociais facebook, com direito a analytics e tudo. - esquema de metadados Open Graph (http://www.modelomental.com.br/web-semantica/conhecendo-o-facebook-open-graph-protocol) - MySQL (tabelas particionadas) - tabelas simples com poucos índices e os dados são armazenados em um array (Blob) - usam Mencache - multi-get (trazer tudo em paralelo) - Preparable - compilador foi feito em C por deficiência do PHP
  • 73. Java EE Vs Spring Nico Steppat e Guilherme Moreira
  • 74.
  • 76. Java EE - lutador experiente - mudou a tática no Java EE 5 - ganhou confiança com CDI - perdeu peso para ser ágil - patrocinado pela Oracle, Red Hat, IBM and outros
  • 77. Spring Framework - sem derrota desde 2004 - nocauteou o J2EE - luta em qualquer container - golpes fortes com POJOs - sabe explorar bem seu oponente - patrocinado pela Spring Source
  • 78. Estatísticas http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
  • 79. Resultado http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
  • 81. Martin Fowler: http://www.martinfowler.com/articles/multiMobile/ Netflix: https://speakerdeck.com/u/benjchristensen/p/performance-and-fault- tolerance-for-the-netflix-api-qcon-sao-paulo Mauricio Aniche: http://www.slideshare.net/mauricioaniche/mtodos-geis-o- que-folclore-e-o-que-real-qcon-sp-2012 Rodrigo Yoshima: http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd- melhoria-contnua-do-seu-processo Matheus Rossato: http://www.slideshare.net/matheusrossato/qconsp-2012- construindo-um-avio-em-pleno-vo-na-nuvem
  • 82. Nasa: http://prezi.com/5pt5hgflj3ah/to-infinity-and-beyond/? auth_key=4433faf57961988041cfd419c2c27f9aaf579ad4 GitHub: http://zachholman.com/talk/how-to-build-a-github Rafael Ponte: http://www.slideshare.net/rponte/hibernate-efetivo-qconsp2012 Caelum: http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n