Alcançando Um Software Maduro
Alcançando Um Software Maduro
Sobre o Livro
Um software maduro é um software que é confiável, seguro, estável, flexível, robusto. Saber quais tecnologias escolher para determinado problema é essencial para alcançar um software maduro. Entretanto, para isso também é necessário conhecer vários conceitos, várias tecnologias, frameworks e etc.
Em resumo: ser um profissional cada vez melhor é o primeiro passo para conseguir o objetivo.
O profissional que está em constante aprendizado conhece soluções/ferramentas que resolvem melhor um problema. Princípios SOLID, Clean Code, TDD, Design Patterns, Frameworks, novos paradigmas e conceitos, entre outras coisas, são coisas que deveriam ser essenciais a todo programador.
Ao longo do ebook, pretendo comentar sobre essas e muitas outras técnicas, apresentar frameworks novos, frameworks que poderiam ser melhor aproveitados, dicas de programação e organização, entre outros. Esse livro não vai focar em tecnologias específicas ou frameworks específicos e sim no conceito do assunto, porém, quando necessário, os exemplos serão feitos em Java, mas a idéia é te dar tudo o que precisa para entender como alcançar um software maduro.
Sumário
I. O que é um software maduro?
Introdução
O que é um software maduro?
II. Conceitos Básicos
Controle de Versão
Build
Processo de Build (Java)
Compilação
Geração do JAR
O que é Maven?
Como o Maven funciona?
Apêndice: Maven com IDEs
Testes
Testes Funcionais
Testes não Funcionais
Visão Geral: Testes Funcionais
Unitário
Integração
Sistema
Aceitação
Modelo Ideal
Visão Geral: Testes Não-Funcionais
Carga
Performance
Estresse
O que é TDD?
Benefícios
Ciclo de Desenvolvimento
Apêndice: Cobertura de código
III. Arquitetura de Software
Integração Contínua
Principais Práticas Associadas
Principais Conceitos
Pré-requisitos para ter Integração Contínua
Benefícios
Desvantagens
ALM - Application Lifecycle Management
Por que usar ALM?
Cuidados com ALM
Apêndice: Minha suite de ALM
Banco de Dados
Diferenças SQL e No-SQL
- Divisões
- Foco
- Escalabilidade
Qual usar e quando usar?
Apêndice: NewSQL
IV. Arquitetura de Código
Clean Code - Código Limpo
Qual a importância do Clean Code?
Como escrever um código limpo?
Dicas
Design Patterns
Padrões GoF
Tipos de Design Patterns
Padrões de Criação
Padrões Estruturais
Padrões Comportamentais
Meus Design Patterns Preferidos
Quando usar
Por que usar
Paradigmas de Programação
Programação Orientada a Aspectos (AOP)
Programação Funcional
Programação Reativa
Domain-Driven Design (DDD)
Behavior-Driven Design (BDD)
Padrões Arquiteturais
MVC (Model-View-Controller)
MVVM (Model-View-ViewModel)
MVP (Model-View-Presenter)
MVW (Model-View-Whatever)
Princípios de Programação
SOLID
Single Responsibility
Open-Close
Liskov substitution
Interface Segregation
Dependency Inversion
DRY
KISS
WYSIWYG
YAGNI
V. Integração de Sistemas
Programação para Web
O que é HTTP?
Métodos HTTP
Status Codes
Headers
Autenticação
Cookies
Web Services
SOAP
REST
Segurança
SQL Injection
Cross-Site Request Forgery (CSRF)
Cross-Site Scripting (XSS)
Apêndice: Cloud Computing
Delivery Models
IaaS (Infrastructure as a Service)
PaaS (Platform as a Service)
SaaS (Software as a Service)
Outros
Notes
About the Author
A garantia Leanpub incondicional, sem riscos, de 100% de satisfação
Durante 60 dias da data de compra você pode solicitar o reembolso total de qualquer compra Leanpub, em dois cliques. Nós processamos os reembolsos manualmente, então eles podem demorar alguns dias para aparecer. Veja os termos completos.
Ganhe $8 em uma compra de $10 e $16 em uma compra de $20
Pagamos 80% de royalties em compras de $7,99 ou mais e 80% de royalties menos uma taxa fixa de 50 centavos em compras entre $0,99 e $7,98. Você ganha $8 em uma venda de $10 e $16 em uma venda de $20. Portanto, se vendermos 5000 cópias não reembolsadas do seu livro por $20, você ganhará $80,000.
(Sim, alguns autores já ganharam muito mais do que isso no Leanpub.)
Na verdade, os autores ganharammais de 13 milhões de dólares escrevendo, publicando e vendendo no Leanpub.
Saiba mais sobre escrever no Leanpub
Atualizações grauitas. Sem DRM.
Se você compra um livro da Leanpub, você recebe atualizações gratuitas enquanto o autor atualizar o livro! Muitos autores utilizam a Leanpub para publicar os seus livros em andamento, enquanto eles estão os escrevendo. Todos os leitores recebem atualizações gratuitas, não importa quando ou por quanto eles compraram o livro (até mesmo de graça).
A maioria dos livros Leanpub estão disponíveis em PDF (para computadores) e EPUB (para telefones, tablets, e Kindle). Os formatos que um livro inclui são exibidos no top direito dessa página.
Por último, livros Leapub não têm nenhuma proteção anti-cópias DRM sem sentido, então você pode facilmente lê-los em qualquer dispositivo suportado.
Aprenda mais sobre os formatos de ebook da Leanpub e aonde lê-los