Leanpub Header

Skip to main content

Alcançando Um Software Maduro

Pretendo comentar sobre várias técnicas, apresentar alguns frameworks, dicas de programação e organização, etc. 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 dar tudo o que precisa para alcançar um software maduro.

Free With Membership

With Membership

Free!

$7.99

You pay

$0.00

Author earns

$0.00
$

...Or Buy With Credits!

You can get credits monthly with a Reader Membership
PDF
EPUB
104
Readers
About

About

About the Book

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.

Author

About the Author

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

Contents

Table of Contents

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

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub