Alcançando Um Software Maduro
Grátis!
With Membership
$7.99
Minimum paid price

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.

Sobre o Autor

Raphael Amoedo
Raphael Amoedo
  • Graduated in Computer Science - UVA-RJ
  • Post-graduated in Software Engineering with JEE. - SENAC-RJ
  • Working with Java since 2011, but I like other languages such as Python and Javascript
  • I try to help the community whenever possible
  • Active user of Stackoverflow, Github and IT groups on Telegram
  • Currently writing e-books to the future and soon writing on magazines

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

Escreva e Publique na Leanpub

Autores e editoras usam a Leanpub para publicar incríveis livros em andamento e completos como esse aqui. Você pode usar a Leanpub para escrever, publicar e vender o seu livro também! A Leanpub é uma plataforma poderosa para autores sérios, combinando fluxos de trabalho simples e elegantes para escrita e publicação, com uma loja focada em vender livros em andamento. A Leanpub é uma máquina de escrever mágica para autores: simplesmente escreva em texto simples e, para publicar o seu ebook, apenas aperte um botão. É realmente fácil assim.

Aprenda sobre como escrever na Leanpub