Mostrando postagens com marcador arquitetura de software. Mostrar todas as postagens
Mostrando postagens com marcador arquitetura de software. Mostrar todas as postagens

sexta-feira, 18 de maio de 2018

Pluraridade: A palavra chave da nova arquitetura de software


#engenhariaDeSoftware #arquiteturaDeSoftware #microsserviços #sistemasReativos

Pluralidade! Sim! O novo software corporativo não pode mais ser chamado assim... Você desenvolve um software para sua empresa, compartilhando recursos com seus parceiros, fornecedores e até com o Governo. O software, hoje em dia, é mais "federativo" do que "corporativo", ou seja, você não cria software pensando só na sua plataforma.

Vou tentar explicar alguns dos "drivers" por trás dessa mudança...


sexta-feira, 11 de maio de 2018

Como estamos desatualizados!!!


#engenhariaDeSoftware #sistemasReativos #CQRS #EventSourcing

Cara, estamos muito, mas MUUUIIIITO desatualizados!

A engenharia de software está sofrendo uma verdadeira revolução, e nem todo mundo se deu conta. A maneira que modularizamos, componentizamos, implementamos comunicação e persistimos em nossos aplicativos mudou completamente.

quinta-feira, 3 de maio de 2018

Complexidade


#pensamentoDoDia
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare, Cientista da Computação e inventor do QuickSort.
("Há duas maneiras de construir um projeto de software: Uma maneira é faze-lo tão simples, que, obviamente, não existem deficiencias, e a outra é faze-lo tão complicado que não existem deficiências óbvias. A primeira maneira é muito mais difícil.")

Não acredite em mim! Sou apenas um Brasileiro...

#engenhariaDeSoftware #pelancas #oop #orm
Ok, você não precisa acreditar em mim, afinal, sou apenas um Brasileiro, não? Apesar de 40 anos de experiência, e quase 30 livros publicados, continuo sendo um Brasileiro.
Então, leia este artigo sobre #oop: http://www.smashcompany.com/technology/object-oriented-programming-is-an-expensive-disaster-which-must-end
E este artigo sobre #orm: https://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html. São antigos, mas vão direto ao ponto.
COMPLICAR É BENEFICIAR APENAS AOS FORNECEDORES DE SOFTWARE E HARDWARE!

quarta-feira, 2 de maio de 2018

Como calcular o percentual de gordura do seu software


Sim, você leu corretamente! O software que criamos tem muita coisa que serve para nada, ou seja: pelancas e gordura, mas que nós mesmos "enfiamos" nele por comodismo ou comprometimento.

Aqui vai uma fórmula simples para calcular o percentual de "gordura" e "pelanca" que nosso software tem, e também o quanto gastamos com isso. Se você é um engenheiro ou arquiteto de software, pode otimizar seu projeto com isto, se você é um cliente, pode cortar custos.


segunda-feira, 30 de abril de 2018

YAGNI e as pelancas do software corporativo

#engenhariaDeSoftware #complexidade

“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.”
Edsger W. Dijkstra
SOLID, OOP, ORM, Frameworks... São realmente necessários? Compare duas soluções para um mesmo problema, e tire suas conclusões.

https://www.linkedin.com/pulse/yagni-e-pelancas-do-software-corporativo-de-melo-junior

Interfaces e indireção: Os problemas da OOP e do SOLID!


Sem dúvida, qualquer bom Programador já leu ou ouviu falar dos princípios S.O.L.I.D. certo?

  • the Single responsibility principle (SRP),
  • the Open-closed principle (OCP),
  • the Liskov substitution principle (LSP),
  • the Interface segregation principle (ISP), and
  • the Dependency inversion principle (DIP).

OOP sem eles, é apenas uma confusão.

Porém, fica uma dúvida: Até onde são úteis? Sim, você me entendeu bem! Até quando devemos nos ater ferrenhamente aos princípios SOLID? Vale a pena em TODOS os casos?


sexta-feira, 27 de abril de 2018

Precisamos MESMO de Orientação a Objetos?


#engenhariaDeSoftware #OOP #reuso
A próxima discussão é essa: Precisamos mesmo de Orientação a Objetos? Suas promessas se cumpriram? O reúso está pagando o preço da complexidade?
Você reusa seu código? Você se beneficia dessa confusão de classes que cria? Acha mesmo que software deveria ser tão complexo?
Não seria melhor escrever software simples e descartável?
A discussão está só começando...
https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53

sexta-feira, 13 de abril de 2018

Arquitetura de microsserviços reduz complexidade e custo de TI


#software #microsserviços
Há três anos eu já pregava Arquitetura de Microsserviços como alternativa para reduzir custo e complexidade de TI.
Mas muita gente "dormiu de touca" e não prestou atenção. Agora, reclamam que tudo está mudando, que o Cliente não aceita mais pagar pelas "pelancas" advindas das soluções monolíticas... Gente, ainda dá tempo!
Leiam aqui um guia simples e prático:
http://www.obomprogramador.com/2015/03/micro-servicos-o-que-sao-e-para-que.html

segunda-feira, 2 de abril de 2018

Pare de colar postitis e aprenda a construir software moderno!


#software #negócios #tecnologia
Eu sempre gosto de ser coerente. Se eu prego que devemos gastar menos tempo "embelezando" software, também gosto de mostrar como podemos fazer isso. O VertX é uma das possibilidades:
https://vertx.io

sábado, 31 de dezembro de 2016

O Software no século XXI






Tenho falado muito sobre o "Século XXI", sobre as empresas, os negócios e os profissionais. Mas faltou falar sobre uma coisa: O Software!

Eu meto o "malho" na maneira como as pessoas e empresas pensam e constroem software hoje em dia, e tenho recebido algumas críticas, de pessoas que dizem que eu critico sem mostrar um caminho. Pois bem, de "presente" de Reveillon, aqui vai.

terça-feira, 23 de junho de 2015

Curadoria de micro serviços


Para nos beneficiarmos de uma arquitetura de micro serviços, várias práticas são importantes e necessárias, como: Entrega contínua, Gestão de processamento paralelo e distribuído, Infrastructure As Code etc. Além disso, devemos ser capazes de subir várias instâncias de cada um dos nossos micro serviços, cuidando para mantermos um bom fluxo de processamento, e baixo consumo de recursos. Isto é possível com a Escalabilidade Elástica, algo que parece surgido da ficção científica, que o Bom Programador mostra agora para você.

Todos esses conceitos formam a atividade de: Curadoria de micro serviços.


quarta-feira, 20 de maio de 2015

Javascript na mídia


A Revista Tema, do Serpro, tem uma matéria minha sobre Javascript, relacionada ao meu trabalho no Conserpro 2014. Aproveite para saber mais sobre o meu novo livro, e assista ao vídeo!

quinta-feira, 5 de março de 2015

Olha meu novo livro ai...





Eis a capa do meu novo livro: "Javascript de cabo a rabo", que está sendo publicado pela Ciência Moderna.

Nele, você vai aprender a desenvolver sistemas com Javascript isomórfico, usando Node.js, express.js e MongoDB. Também vai aprender como usar Javascript no cliente web, mobile e em aplicações IoT!

terça-feira, 9 de dezembro de 2014

Assista minha palestra no ConSerpro 2014


Eu apresentarei meu trabalho, um dos premiados no Congresso Serpro de Tecnologia e Gestão, cujo título é: “Javascript de ponta a ponta: Um modelo arquitetural para disponibilização de serviços, baseada na Web Aberta.”, na Quinta-feira, dia 11 de Dezembro de 2014, 09:50.

Não perca! O SERPRO disponibilizará videostreaming!

segunda-feira, 17 de novembro de 2014

1 minuto para convencer você sobre o Javascript





Eu sei que você ainda tem dúvidas sobre a aplicabilidade do Javascript em aplicações comerciais e corporativas. Afinal, quase duas décadas de marketing em torno da plataforma Java, devem ter um efeito forte sobre todas as pessoas. Porém, aqui vão alguns casos para te ajudar a pensar "fora da caixa".

quinta-feira, 22 de maio de 2014

Então, você tem problemas com Maven?




Então, você tem problemas com um projeto Maven?
Cara, o Maven é uma ferramenta de gestão de compilação muito estável e utilizada no mundo inteiro. Provavelmente, é você que fez algo errado. Assuma isso ANTES de culpar o Maven. Mas vou te dar umas dicas simples que poderão aliviar seu sofrimento...