[{"@context":"https:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/ivonascimento.com\/2015\/02\/20\/a-licao-da-letras-verdes-na-tela-preta\/#BlogPosting","mainEntityOfPage":"https:\/\/ivonascimento.com\/2015\/02\/20\/a-licao-da-letras-verdes-na-tela-preta\/","headline":"A li\u00e7\u00e3o das letras verdes na tela preta","name":"A li\u00e7\u00e3o das letras verdes na tela preta","description":"N\u00e3o tem muito tempo, os desenvolvedores pensavam o software como uma pe\u00e7a \u00fanica. Um codebase que abordava os detalhes de neg\u00f3cio de uma empresa na tentativa de ser visto como a silver bullet. O problema dessa abordagem era o conflito de representa\u00e7\u00e3o de conhecimento, reflexo da representa\u00e7\u00e3o de muitos dom\u00ednios e os conflitos de nome [&hellip;]","datePublished":"2015-02-20","dateModified":"2015-02-20","author":{"@type":"Person","@id":"https:\/\/ivonascimento.com\/author\/ivonascimento\/#Person","name":"Ivo Nascimento","url":"https:\/\/ivonascimento.com\/author\/ivonascimento\/","identifier":10240028,"image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/2305ea1f48319271d323c5e1c0aadd4cc45d10c4927dd8b3af083facb8c6f75f?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2305ea1f48319271d323c5e1c0aadd4cc45d10c4927dd8b3af083facb8c6f75f?s=96&d=identicon&r=g","height":96,"width":96}},"publisher":{"@type":"Person","name":"Ivo Nascimento"},"image":{"@type":"ImageObject","@id":"https:\/\/i0.wp.com\/ivonascimento.com\/wp-content\/uploads\/2015\/02\/m4yob.jpg?fit=615%2C461&ssl=1","url":"https:\/\/i0.wp.com\/ivonascimento.com\/wp-content\/uploads\/2015\/02\/m4yob.jpg?fit=615%2C461&ssl=1","height":461,"width":615},"url":"https:\/\/ivonascimento.com\/2015\/02\/20\/a-licao-da-letras-verdes-na-tela-preta\/","about":["texto de Bus\u00e3o"],"wordCount":540,"keywords":["cli"],"articleBody":"N\u00e3o tem muito tempo, os desenvolvedores pensavam o software como uma pe\u00e7a \u00fanica. Um codebase que abordava os detalhes de neg\u00f3cio de uma empresa na tentativa de ser visto como a silver bullet.O problema dessa abordagem era o conflito de representa\u00e7\u00e3o de conhecimento, reflexo da representa\u00e7\u00e3o de muitos dom\u00ednios e os conflitos de nome no dicion\u00e1rio de dom\u00ednio. Muitas das vezes um problema que aparenta estar solucionado quando se sobrecarrega o objeto de responsabilidades, claramente quebrando o principio de responsabildiade \u00fanica &#8211; SRP.Outro problema era a complexidade de manter todas as regras de neg\u00f3cio e relaciona-las de maneira controlada, algo que tamb\u00e9m \u00e9 reflexo de conflitos de dom\u00ednios. O pattern de strategy e outros tantos pareciam o\u00e1sis no deserto.E um \u00faltimo problema dos que selecionei para falar aqui, o isolamento do software em si. Havia o desejo do isolamento como pratica comercial e quem perdia era o cliente, impossibilitado de migrar caso o quisesse, ou tendo que encarar muita dificuldade para ter dois softwares colaborando num mesmo problema. Isso era poss\u00edvel, mas a um custo mais alto que o necess\u00e1rio, que o diga os integradores de software(eu fui um).Enquanto o mundo do software fechado se debatia e controlava os interesses dos clientes ao mesmo tempo em que SIM, resolvia os problemas deles, inclusive aqueles que n\u00e3o existiam antes de adotar a solu\u00e7\u00e3o, o mundo open source se desenvolvia consciente de outras praticas.No open source existe um software que alguns chamam de lugar (de tanto tempo que j\u00e1 passaram nele) e que apresenta\u00a0todas as caracter\u00edsticas que desejo abordar.O CLI, o terminal bash, zsh ou outros, e os softwares cli.SRPOs softwares desenvolvidos para cli no UNIX s\u00e3o criados a partir de bibliotecas de responsabilidade \u00fanica, de dom\u00ednio isolado, especialistas e por isso, reutiliz\u00e1veis. Algo que s\u00f3 \u00e9 poss\u00edvel por causa da filosofia open source, afinal, quem escreveria c\u00f3digo propriet\u00e1rio reutiliz\u00e1vel pelos concorrentes?Micro servi\u00e7osComo os softwares e bibliotecas seguiam SRP \u00e9 f\u00e1cil entender que eles poderiam ser utilizados para compor tarefas maiores. No terminal, por exemplo, ler um arquivo linha a linha, contar as ocorr\u00eancias de certas palavras e anotar o resultado num arquivo pode envolver 4 softwares ou apenas 1.Integra\u00e7\u00e3oQue carinhosamente podemos chamar de pipe e direcionadores das std (in, out, err). Eles padronizaram a maneira como se faz a integra\u00e7\u00e3o entre os software de cli. Esse \u00e9 um sonho da ind\u00fastria tornado real no UNIX com a simplicidade de alguns caracteres.Certo, mas por que falar disso?Al\u00e9m do claro sucesso dessas abordagens no mundo UNIX, todas elas, sem exce\u00e7\u00e3o, foram ou est\u00e3o sendo adotadas pela ind\u00fastria de software propriet\u00e1rio.Em especial o conceito de micro servi\u00e7o que v\u00eam apontando para a fun\u00e7\u00e3o do programador\/integrador como cada vez mais importante.Talvez a pr\u00f3xima grande onda de software esteja saindo do open source novamente, ou talvez elas sempre tenham nascido por l\u00e1, entre uma tela preta e outra.Compartilhe isso:\t\t\t\tImprimir(abre em nova janela)\t\t\t\tImprimir\t\t\tTweet\t\t\t\tCompartilhar no WhatsApp(abre em nova janela)\t\t\t\tWhatsApp\t\t\t"},{"@context":"https:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"2015","item":"https:\/\/ivonascimento.com\/2015\/#breadcrumbitem"},{"@type":"ListItem","position":2,"name":"02","item":"https:\/\/ivonascimento.com\/2015\/\/02\/#breadcrumbitem"},{"@type":"ListItem","position":3,"name":"20","item":"https:\/\/ivonascimento.com\/2015\/\/02\/\/20\/#breadcrumbitem"},{"@type":"ListItem","position":4,"name":"A li\u00e7\u00e3o das letras verdes na tela preta","item":"https:\/\/ivonascimento.com\/2015\/02\/20\/a-licao-da-letras-verdes-na-tela-preta\/#breadcrumbitem"}]}]