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

quinta-feira, 26 de julho de 2018

Os 10 mandamentos do Bom Programador

#engenhariaDeSoftware
Os 10 mandamentos do software:
1) Dividirás teu software em pedaços descartáveis;
2) Não te apegarás ao código-fonte;
3) Entenderás que a função é mais importante que a elegância;
4) Privilegiarás a simplicidade em vez da engenhosidade;
5) Usarás indireção com parcimônia e sabedoria;
6) Achatatás a hierarquia das tuas classes e funções;
7) Codificarás de maneira óbvia e explícita;
8 ) Respeitarás a imutabilidade das interfaces;
9) Não deixarás código comentado em tua codebase;
10) Escreverás testes antes mesmo de escrever os componentes.
Praticais isto e serás eternamente feliz, assim como teus clientes!

terça-feira, 12 de junho de 2018

Como escolher sua próxima linguagem de programação


#engenhariaDeSoftware #linguagens

Há muitas alternativas... Como hoje utilizamos quase 100% de componentes e bibliotecas Open Source (o chamado "ecossistema" que suporta o uso da linguagem de programação), uma boa fonte é o Github. E o site de estatísticas GitHut pode nos dar vários insights. Por exemplo, as 3 primeiras, no critério de atividade dos repositórios, são: Javascript, Java e Python.


segunda-feira, 28 de maio de 2018

Pare de Mi-Mi-Mi porque está sem gasolina! Estude Angular vs React!

#engenhariaDeSoftware
Yes, nós temos tutoriais de Angular e React: 
Que tal estudar as diferenças e semelhanças? Ou prefere ficar de Mi-Mi-Mi porque está sem gasolina?

Angular ou React?

#softwareReativo #angular #react
Veja que interessante essas estatísticas sobre Angular vs React: https://w3techs.com/technologies/comparison/js-angularjs,js-react

Angular e React são usados em poucos sites, mas todos de alto tráfego!

quinta-feira, 24 de maio de 2018

Você sabe o que é "Segregação de testes"? Não?


#engenhariaDeSoftware #negócios #testes
Entenda a importância dos Testes de Software e sua segregação! Vamos falar sobre Software:
http://falandosobre.software/testes/

terça-feira, 22 de maio de 2018

Moço, quanto custa o quilo de pelanca?

#engenhariaDeSoftware #pelancas
Você chega no açougue e pergunta: "Moço, quanto custa o quilo de pelanca?" Não?  Então, tente perguntar isso ao seu fornecedor de software...
https://www.linkedin.com/pulse/yagni-e-pelancas-do-software-corporativo-de-melo-junior/

Ser reativo ou não? Eis a questão...


#engenhariaDeSoftware #programaçãoReativa #microsserviços #softwareReativo #inovação

E aí? Ainda pensando nas bobagens que eu venho postando? É claro... Aposto que esses artigos viraram piada no chope, não? Mas eu não ligo. Pelo menos, a semente foi plantada.

Ainda quer aprender o que é software reativo? Leia o Manifesto: https://www.reactivemanifesto.org/pt-BR.

Depois, veja o que é Programação Reativahttps://en.wikipedia.org/wiki/Reactive_programming

Agora, veja só o que as startups mais inovadoras estão usado... Como estão criando software:

How one company improved developer productivity by 700% with reactive programming: https://www.techrepublic.com/article/how-one-company-improved-developer-productivity-by-700-with-reactive-programming/

Should Early Stage Startups Adopt Microservices? https://hackernoon.com/should-early-stage-startups-adopt-microservices-50280c77603a

Quando finalmente estiver a fim de um papo sério sobre nova arquitetura e como o software pode alavancar sua empresa, voltaremos a conversar...

Quer fazer software reativo?


#softwareReativo #sistemasReativos #engenhariaDeSoftware #negócios
Quer aprender na prática a fazer software reativo? Que tal começar com REACT + REDUX + python?
http://reactdontpanic.com/redux_form/

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...


quinta-feira, 17 de maio de 2018

Seja reativo! Estude "Observables"


#engenhariaDeSoftware #softwareReativo #RxJS #Observables
Um primeiro passo para desenvolver sistemas reativos é estudar um framework. Eu recomendo começar pelo RxJS, utilizado pelo Angular 2+. Entender "Observables", "Events", "State Stores" vai lhe dar uma visão melhor sobre essa evolução tecnológica, sem caô de vendedor. 
Em vez de ouvir os outros falarem em "disrupção" e "transformação digital", disrompa o discurso deles!

quarta-feira, 16 de maio de 2018

Quer fazer software reativo? Abra sua mente!


#frontend #backend #web #rest #microsserviços #javascript #react #redux #flask #python
Só no meu blog: "reactdontpanic.com" você encontra isso!
Aprenda a criar uma app simples, porém completa, usando React + Redux + Redux-form + Flask(python).

Entre no mundo do software reativo de cabeça!

http://reactdontpanic.com/redux_form/

Você faz software reativo?


#reactiveSoftware #engenhariaDeSoftware
Sabe o que são sistemas reativos? Já leu o "Manifesto Reativo"? Não? Bom, que tal aprender REACT, o framework frontend mais REATIVO do mundo?
http://reactdontpanic.com

terça-feira, 15 de maio de 2018

Desacople sua API REST!

#engenhariaDeSoftware #REST #API

Tenho visto muitos problemas com APIs REST, mas há um que é extremamente grave e as pessoas não se dão conta: Acoplamento entre Cliente e Servidor da API.

Neste breve artigo, procurarei mostrar quais são os problemas e as alternativas a esta prática.


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.

terça-feira, 8 de maio de 2018

Por que não "go"?


#engenhariaDeSoftware #go Uma das maiores síndromes em engenharia de software é o "acoplamento de ferramenta", quando as equipes são "viciadas" em uma só linguagem ou plataforma. Você já experimentou a linguagem "Go", da Google? Seu foco é em programação concorrente e não tem as idiossincrasias típicas das linguagens dos anos 80, excessivamente focadas em OOP (como se fosse uma "benção"). Tente!

https://golang.org

Gestão de configuração precisa ser uma dor de cabeça?


#engenhariaDeSoftware #projeto #ti #negócios #falandosobresoftware
Você sabe o que é gestão de configuração? http://falandosobre.software/gestao_configuracao/

segunda-feira, 7 de maio de 2018

Python em quarto lugar em popularidade


#engenhariaDeSoftware #linguagens
Python em quarto lugar em popularidade na Lista TIOBE!
https://www.tiobe.com/tiobe-index/

ORM é um atoleiro?


#engenhariaDeSoftware #oop #pelancas
"falandosobre.software"
“ORM represents a quagmire which starts well, gets more complicated as time passes, and before long entraps its users in a commitment that has no clear demarcation point, no clear win conditions, and no clear exit strategy.”
("ORM representa um atoleiro que começa bem, fica mais complicado à medida que o tempo passa e, em pouco tempo, aprisiona seus usuários em um compromisso que não tem um ponto de demarcação claro, condições de vitória claras e nenhuma estratégia de saída clara.")

Esta definição, que está citada no excelente artigo de Mark Rickerby, é uma visão perfeita do que acontece quando embarcamos nessa tragédia do software corporativo.

https://maetl.net/talks/rise-and-fall-of-orm

OOP é um passo em falso?


#engenhariaDeSoftware #oop #pelancas
"falandosobre.software"
"Object-oriented programming languages are a major misstep; a tortuous detour that computer scientists should never have taken" - Ben Lynn, Phd.
("Linguagens de programação orientadas a objetos são um grande passo em falso; um desvio tortuoso que os cientistas da computação nunca deveriam tomar")

Agora, com o tempo e a sabedoria, tenho certeza que sim! OOP é um erro gigantesco, que leva tudo ao caos... Ainda mais se associada a frameworks e patterns "malucos", cujo objetivo final é nebuloso. Mas não precisa acreditar em mim. Leia o artigo de Ben Lynn.

http://crypto.stanford.edu/~blynn/c/object.html