O documento apresenta os princípios S.O.L.I.D de desenvolvimento de software, explicando cada um deles com exemplos. São apresentados também padrões de projeto como Composite, Strategy e Observer, além de tópicos como Dependency Injection e Inversion of Control.
Apresentação da ideia de padronização no desenvolvimento de softwares, focando a codificação. Padrões já existem e também podem ser criados. O importante é que sejam aplicados e seguidos em prol do desenvolvimento ágil e eficiente.
Uma reflexão sobre desenvolvimento de software, qualidade e como o TDD pode nos ajudar a melhorar em tudo isso.
A versão em PPT, que possui comentários adicionais para cada Slide, pode ser baixada no Google Drive: https://drive.google.com/folderview?id=0B4k-4pdeaM58SEpYcHZSbFdoS0E&usp=sharing
Para maiores informações sobre a palaestra, acesse: http://luizricardo.org/2014/10/pensando-tdd/
Apresentação sobre testes em ambiente ágil, abordando o manifesto do teste e seus princípios.
Nos testes ágeis usamos os quadrantes de teste como um guia para ajudar a cobertura de todos os tipos de testes.
Diferença entre teste ágil e tradicional e também os níveis de testes ágeis.
Automação de testes dividido para os níveis de UI, Service e Unit.
Métrica de testes.
TDD - Test Drive Development
Apresentação da ideia de padronização no desenvolvimento de softwares, focando a codificação. Padrões já existem e também podem ser criados. O importante é que sejam aplicados e seguidos em prol do desenvolvimento ágil e eficiente.
Uma reflexão sobre desenvolvimento de software, qualidade e como o TDD pode nos ajudar a melhorar em tudo isso.
A versão em PPT, que possui comentários adicionais para cada Slide, pode ser baixada no Google Drive: https://drive.google.com/folderview?id=0B4k-4pdeaM58SEpYcHZSbFdoS0E&usp=sharing
Para maiores informações sobre a palaestra, acesse: http://luizricardo.org/2014/10/pensando-tdd/
Apresentação sobre testes em ambiente ágil, abordando o manifesto do teste e seus princípios.
Nos testes ágeis usamos os quadrantes de teste como um guia para ajudar a cobertura de todos os tipos de testes.
Diferença entre teste ágil e tradicional e também os níveis de testes ágeis.
Automação de testes dividido para os níveis de UI, Service e Unit.
Métrica de testes.
TDD - Test Drive Development
Nessa palestra relato minha experiência não como um desenvolvedor de software altamente sinistro com duzentos anos de experiência e mil livros publicados - mas sim como um "mero mortal", um desenvolvedor "de verdade", do "mundo real" aplicando a teoria que aprendeu do TDD.
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Daniel Carvalhinho
Veremos como uma pessoa ou time dedicado ao controle de qualidade pode trabalhar com o gerente do projeto e/ou líder técnico/arquiteto para garantir uma melhor cobertura de casos de usos e testes em múltiplos projetos, e como isso impactará a entrega final. Além disso, também precisamos ensinar os clientes que essa estratégia é importante e devemos investir dinheiro nisso cedo para evitar grandes perdas depois Já passou o momento de levarmos controle de qualidade mais a sério.
Apresentação sobre testes na Campus Party 2014 no dia 20/01/2014 no palco Pitágora apresentando, de uma maneira simplificada, que podemos testar em qualquer parte do desenvolvimento de um software.
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
Com uma infinidade de opções disponíveis, qual caminho seguir? Como se tornar um desenvolvedor melhor? Em qual tecnologia se especializar? Quais tecnologias utilizar em seus projetos? “A Carreira de Desenvolvedor: Do Jr ao Sênior” apresenta uma visão pessoal do atual mercado de trabalho e das tecnologias comumente utilizadas.
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
A palestra inicialmente abordará os princípios do Teste de Software como o que é teste de software, níveis de teste, tipos de teste, como testar um software, gestão de testes, gestão de defeitos, certificações entre outros. Durante a palestra serão mostradas as principais ferramentas que auxiliam os testadores e qual a funcionalidade de cada uma. E por fim será discutido sobre a carreira e os papéis em relação ao mercado atual.
Boas práticas no desenvolvimento de softwareFelipe
Um pequeno conjunto de boas práticas para o desenvolvimento de software. O conteúdo é recomendado para desenvolvedores iniciantes ou intermediários. O foco é em desenvolvimento Web, baseado em Sistemas de Informação, com uma linguagem fracamente tipada. Os exemplos são dados na linguagem PHP.
Seus testes estão gritando. Você está ouvindo?lucashungaro
Dicas e técnicas para aplicação de alguns princípios do SOLID através de BDD.
Muito já se falou sobre testes e, aos poucos, fala-se mais sobre OOP e SOLID. Como juntar essas coisas para conseguir benefícios na prática?
Nessa palestra relato minha experiência não como um desenvolvedor de software altamente sinistro com duzentos anos de experiência e mil livros publicados - mas sim como um "mero mortal", um desenvolvedor "de verdade", do "mundo real" aplicando a teoria que aprendeu do TDD.
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Daniel Carvalhinho
Veremos como uma pessoa ou time dedicado ao controle de qualidade pode trabalhar com o gerente do projeto e/ou líder técnico/arquiteto para garantir uma melhor cobertura de casos de usos e testes em múltiplos projetos, e como isso impactará a entrega final. Além disso, também precisamos ensinar os clientes que essa estratégia é importante e devemos investir dinheiro nisso cedo para evitar grandes perdas depois Já passou o momento de levarmos controle de qualidade mais a sério.
Apresentação sobre testes na Campus Party 2014 no dia 20/01/2014 no palco Pitágora apresentando, de uma maneira simplificada, que podemos testar em qualquer parte do desenvolvimento de um software.
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
Com uma infinidade de opções disponíveis, qual caminho seguir? Como se tornar um desenvolvedor melhor? Em qual tecnologia se especializar? Quais tecnologias utilizar em seus projetos? “A Carreira de Desenvolvedor: Do Jr ao Sênior” apresenta uma visão pessoal do atual mercado de trabalho e das tecnologias comumente utilizadas.
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
A palestra inicialmente abordará os princípios do Teste de Software como o que é teste de software, níveis de teste, tipos de teste, como testar um software, gestão de testes, gestão de defeitos, certificações entre outros. Durante a palestra serão mostradas as principais ferramentas que auxiliam os testadores e qual a funcionalidade de cada uma. E por fim será discutido sobre a carreira e os papéis em relação ao mercado atual.
Boas práticas no desenvolvimento de softwareFelipe
Um pequeno conjunto de boas práticas para o desenvolvimento de software. O conteúdo é recomendado para desenvolvedores iniciantes ou intermediários. O foco é em desenvolvimento Web, baseado em Sistemas de Informação, com uma linguagem fracamente tipada. Os exemplos são dados na linguagem PHP.
Seus testes estão gritando. Você está ouvindo?lucashungaro
Dicas e técnicas para aplicação de alguns princípios do SOLID através de BDD.
Muito já se falou sobre testes e, aos poucos, fala-se mais sobre OOP e SOLID. Como juntar essas coisas para conseguir benefícios na prática?
Desenvolver um projeto não se trata apenas de escrever código funcional. Legibilidade, modularização, acoplamento, portabilidade, complexidade e documentação são todas métricas importantíssimas para se produzir código de qualidade. Respondendo perguntas como:
Como organizar os arquivos no projeto?
Quais bibliotecas podem ajudar a tormar sua aplicação mais robusta e melhorar seu código?
Como organizar seu ambiente de desenvolvimento, staging e produção?
O que são boas e más práticas de desenvolvimento?
vamos debater como e quais ferramentas e padrões podem nos ajudar a desenvolver código de qualidade, sem que seja preciso muito esforço.
Uma coletânea de anti-padrões sobre DevOps em 2018. Uma pequena viagem sobre empregos, micro-serviços, containers, virtualização, cloud e algumas boas práticas
Revisa conceitos de Orientação a Objetos. Revisa conceitos de Padrões de Projeto.
Apresenta um breve histórico da evolução da arquitetura de software. Mostra a importância que a escolha do padrão arquitetural exerce na construção de software. Demonstra de maneira prática e em forma de experimento, um projeto de software Java que tenha sido aplicado os padrões arquiteturais adotados no mercado de trabalho, habilitando os alunos a definirem e utilizarem os padrões arquiteturais.
Palestra com foco na introdução ao desenvolvimento orientado à testes, passando em temas como: Design OO; Domain-Driven Design; Modelo Anêmico; Refabricação do código legado; Design Patterns; Princípios OO e boas práticas.
Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...Klederson Bueno
Nos dias de hoje, da programação moderna, dos padroes de projetos, da orientação a objetos, scrum, startups, agilidade, etc, nos vemos cercados de pessoas dizendo quais sao as boas práticas e como fazer.
No fundo, a verdade (e a sabe quem tem chão, tempo de mercado) é que tudo é uma questão de equilibrio e que o fanatismo por padrões ou o desleixo completo do seu código podem ser a razão da sua ruina, das noites viradas no escritorio, de bufixes para consertar hotfixes, etc.
Com isso gostaria de compartilhar minha experiencia ao longo de 16 anos pra tentar elucidar um pouco o Porque e o Quando. Iremos falar sobre cases por onde ja trabalhei envolvendo Mobile, Frontend, Serviços, etc...
Softwares que Duram: Uma abordagem ArquitetônicaHugo Seabra
Por que estudar e desenvolver um bom design de software é importante? Por que é importante adotar padrões de design e como isto irá afetar diretamente a vida do profissional? Estas perguntas e várias dicas de leitura e reflexão serão abordadas nesta palestra.
Como TDD pode influenciar na construção do seu Produto?Raphael Paiva
Mostra as vantagens que o Test Driven Development trás para o design de sua aplicação, além do aprendizadoque ele trouxe no desenvolvimento do JTrace, uma biblioteca de computação gráfica.
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
Slides do mini-curso apresentado em 10.06.2011 no X Simpósio Brasileiro em Qualidade de Software (Curitiba-PR).
Mais informações em http://bit.ly/eyYo8Y
A nossa linguagem preferida evolui e o nosso código deve então seguir o mesmo passo. PHP 7 oferece novas funcionalidades que permitem simplificar, melhorar e aumentar o desempenho do seu código. Nessa palestra, apresentarei os conceitos SOLID e Object Calisthenics e como aplica-los e combina-los com as novas funcionalidades dessa sétima versão. Nossa atualização deve ser constante e do nosso código também.
Greenbar - Testes automatizados na sua empresaRafael Ponte
Experiência de quase 2 anos tentando inserir e manter a cultura de testes automatizados numa empresa. Desafios e as barreiras enfrentadas ao adotar a cultura de testes automatizados nesta empresa, onde acertamos e onde erramos, como a equipe (e isso inclui os gerentes) responderam a mudança e como isso impactou nos sprints e entrega de software.
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).
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.
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.
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
4. “Se você está tendo um problema
no desenvolvimento, você não
está sozinho. Outro já passou
pelo mesmo problema e já deve
ter solução para o problema.
10. × Classes devem poder extender seu
comportamento, facilmente, seja por herança,
interface ou composição.
× Temos de ter boas abstrações.
Open Closed
12. Liskov Substitution
× Herança é bom.
× Cuidado com a herança.
× Projeto por contrato.
× Estabelece regras para uso
× Pré condições - não podem ser mais fortes
que a super-classe.
× Pós condições - não podem ser
enfraquecidas
Eventualmente desenvolvedor escolhe herança
14. Liskov Substitution
Exemplo de problemas com o uso de herança:
× Properties não deveria ser uma Hashtable, pois tem o put(object,
object) se for usado pode causar problemas.
× Vector é sincronizado, todas as stacks deveriam ser
sincronizadas?
15. Liskov Substitution
Exemplo de problemas com o uso de herança:
× CEP você busca do correios
× CEP deveria pode salvar ou
remover?
21. Padrões de Projeto - Principios de design
Princípios
Dependency Injection
Inversion of Control
22. Inversion of control
× Princípio de Hollywood, “Não ligue para nós, nós ligamos para
você.”
× Controle das chamadas é invertido não é determinado pelo
programador.
× Controle é delegado a uma infraestrutura, container.
31. Dependency Injection
Melhor Padrão
× Injeção no construtor, good citizen (bom cidadão)
× Tudo que a classe precisa é passado no construtor.
× Garantia de inicialização somente quando atendido as
dependências.
Nem tudo são flores
× Não são todos os frameworks de IOC/DI que implementam
32. Padrões de Projeto
× Solução para um problema frequente
× Reusavéis
Padrões de projeto dizem respeito a como
organizar o código.
33. “GOF - Gang of
Four”
Padrões a serem conhecidos
34. Padrões de Projeto - Categorias
Criacionais
Factory Method
Abstract Method
Builder
Prototype
Singleton
Estruturais
Composite
Adapter
Bridge
Decorator
Facade
Proxy
Flyweight
Comportamentais
Strategy
Template Method
Observer
Mediator
Command
Chain of Responsability
State
Visitor
...
35. Padrões de Projeto - Categorias
Criacionais
Factory Method
Abstract Method
Builder
Prototype
Singleton
Estruturais
Composite
Adapter
Bridge
Decorator
Facade
Proxy
Flyweight
Comportamentais
Strategy
Template Method
Observer
Mediator
Command
Chain of Responsability
State
Visitor
...